Example #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;
        }
Example #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;
        }