Esempio n. 1
0
        private RequireBundles GetBundles(XElement root)
        {
            var bundles = new RequireBundles();

            bundles.BundleEntries = new List <RequireBundle>();
            var bundlesEl = root.Element("bundles");

            if (bundlesEl != null)
            {
                bundles.BundleEntries = root.Descendants("bundle").Select(this.BundleEntryReader).ToList();
            }

            return(bundles);
        }
Esempio n. 2
0
        private RequireBundles GetBundles(JObject document)
        {
            var bundles = new RequireBundles();

            bundles.BundleEntries = new List <RequireBundle>();
            if (document != null && document["bundles"] != null)
            {
                bundles.BundleEntries = document["bundles"].Select(
                    r =>
                {
                    var bundle  = new RequireBundle();
                    var prop    = (JProperty)r;
                    bundle.Name = prop.Name;
                    if (prop.Value is JArray)
                    {
                        bundle.IsVirtual   = false;
                        var arr            = prop.Value as JArray;
                        bundle.BundleItems = arr.Select(x => new BundleItem {
                            ModuleName = x.ToString()
                        }).ToList();
                    }
                    else if (prop.Value is JObject)
                    {
                        var obj           = prop.Value as JObject;
                        bundle.OutputPath = obj["outputPath"] != null ? obj["outputPath"].ToString() : null;
                        var inclArr       = obj["includes"] as JArray;
                        if (inclArr != null)
                        {
                            bundle.Includes = inclArr.Select(x => x.ToString()).ToList();
                        }

                        var itemsArr = obj["items"] as JArray;
                        if (itemsArr != null)
                        {
                            bundle.BundleItems = itemsArr.Select(
                                x =>
                            {
                                var result = new BundleItem();
                                if (x is JObject)
                                {
                                    result.ModuleName      = x["path"] != null ? x["path"].ToString() : null;
                                    result.CompressionType = x["compression"] != null ? x["compression"].ToString() : null;
                                }
                                else if (x is JValue && x.Type == JTokenType.String)
                                {
                                    result.ModuleName = x.ToString();
                                }

                                return(result);
                            }).ToList();
                        }

                        var isVirtual    = obj["virtual"];
                        bundle.IsVirtual = isVirtual is JValue &&
                                           isVirtual.Type == JTokenType.Boolean &&
                                           (bool)((JValue)isVirtual).Value;
                    }

                    return(bundle);
                })
                                        .ToList();
            }

            return(bundles);
        }
Esempio n. 3
0
        private RequireBundles GetBundles(JObject document)
        {
            var bundles = new RequireBundles();

            bundles.BundleEntries = new List <RequireBundle>();
            string parseSection = "bundles";

            if (document != null && document[parseSection] != null)
            {
                JToken bundlesParent = JsonParseOrThrow <JObject>(document[parseSection], parseSection, Path, null);
                bundles.BundleEntries = bundlesParent.Select(
                    r =>
                {
                    var bundle              = new RequireBundle();
                    var prop                = (JProperty)r;
                    bundle.Name             = prop.Name;
                    string parseSectionHint = $"{parseSection}.{prop.Name}";
                    if (prop.Value is JArray)
                    {
                        bundle.IsVirtual   = false;
                        JArray arr         = JsonParseOrThrow <JArray>(prop.Value, parseSectionHint, Path, null);
                        bundle.BundleItems = arr.Select(x => new BundleItem {
                            ModuleName = x.ToString()
                        }).ToList();
                    }
                    else if (prop.Value is JObject)
                    {
                        var obj           = prop.Value as JObject;
                        bundle.OutputPath = JsonParseStringOrThrow(obj, "outputPath", parseSectionHint, Path);
                        JArray inclArr    = JsonParseArrayOrThrow(obj, "includes", parseSectionHint, Path);
                        if (inclArr != null)
                        {
                            bundle.Includes = inclArr.Select(x => x.ToString()).ToList();
                        }

                        JArray itemsArr = JsonParseArrayOrThrow(obj, "items", parseSectionHint, Path);
                        if (itemsArr != null)
                        {
                            string parseSectionHint2 = $"{parseSectionHint}.items";
                            bundle.BundleItems       = itemsArr.Select(
                                x =>
                            {
                                var result = new BundleItem();
                                if (x is JObject)
                                {
                                    result.ModuleName      = JsonParseStringOrThrow(x as JObject, "path", parseSectionHint2, Path);
                                    result.CompressionType = JsonParseStringOrThrow(x as JObject, "compression", parseSectionHint2, Path);
                                }
                                else if (x is JValue && x.Type == JTokenType.String)
                                {
                                    result.ModuleName = x.ToString();
                                }

                                return(result);
                            }).ToList();
                        }

                        var isVirtual = obj["virtual"];
                        if (isVirtual != null && !(isVirtual is JValue))
                        {
                            throw new JsonReaderException($"Element 'virtual' in {parseSectionHint} is expected to be 'JValue'; found instead: '{isVirtual.GetType()}'. Value: {isVirtual}");
                        }
                        bundle.IsVirtual = isVirtual is JValue &&
                                           isVirtual.Type == JTokenType.Boolean &&
                                           (bool)((JValue)isVirtual).Value;
                    }

                    return(bundle);
                })
                                        .ToList();
            }

            return(bundles);
        }