コード例 #1
0
 public void Expand(Dictionary <string, ApiReferenceBuildOutput> references, string[] supportedLanguages)
 {
     if (!_isExpanded)
     {
         Type        = ApiBuildOutputUtility.GetReferenceViewModel(Type?.Uid, references, supportedLanguages);
         _isExpanded = true;
     }
 }
コード例 #2
0
        private static string GetCompositeName(SpecViewModel svm)
        {
            // If href does not exists, return full name
            if (string.IsNullOrEmpty(svm.Uid))
            {
                return(StringHelper.HtmlEncode(svm.FullName));
            }

            // If href exists, return name with href
            return(ApiBuildOutputUtility.GetXref(svm.Uid, svm.FullName, svm.Name));
        }
コード例 #3
0
 public void Expand(Dictionary <string, ApiReferenceBuildOutput> references, string[] supportedLanguages)
 {
     if (!_isExpanded)
     {
         Inheritance = Inheritance?.Select(i => ApiBuildOutputUtility.GetReferenceViewModel(i.Uid, references, supportedLanguages)).ToList();
         Syntax?.Expand(references, supportedLanguages);
         SeeAlsos?.ForEach(e => e.Expand(references, supportedLanguages));
         Sees?.ForEach(e => e.Expand(references, supportedLanguages));
         Exceptions?.ForEach(e => e.Expand(references, supportedLanguages));
         _isExpanded = true;
     }
 }
コード例 #4
0
 private static List <ApiReferenceBuildOutput> GetReferenceList(List <string> uids,
                                                                Dictionary <string, ApiReferenceBuildOutput> references,
                                                                string[] supportedLanguages,
                                                                bool extractIndex = false)
 {
     if (extractIndex)
     {
         return(uids?.Select((u, i) => ApiBuildOutputUtility.GetReferenceViewModel(u, references, supportedLanguages, i)).ToList());
     }
     else
     {
         return(uids?.Select(u => ApiBuildOutputUtility.GetReferenceViewModel(u, references, supportedLanguages)).ToList());
     }
 }
コード例 #5
0
        public static ApiCrefInfoBuildOutput FromModel(CrefInfo model, Dictionary <string, ApiReferenceBuildOutput> references, string[] supportedLanguages)
        {
            if (model == null)
            {
                return(null);
            }

            return(new ApiCrefInfoBuildOutput
            {
                Type = ApiBuildOutputUtility.GetReferenceViewModel(model.Type, references, supportedLanguages),
                Description = model.Description,
                _isExpanded = true,
            });
        }
コード例 #6
0
        public static ApiParameterBuildOutput FromModel(ApiParameter model, Dictionary <string, ApiReferenceBuildOutput> references, string[] supportedLanguages)
        {
            if (model == null)
            {
                return(null);
            }

            return(new ApiParameterBuildOutput
            {
                Name = model.Name,
                Type = ApiBuildOutputUtility.GetReferenceViewModel(model.Type, references, supportedLanguages),
                Description = model.Description,
            });
        }
コード例 #7
0
        public static ApiReferenceBuildOutput FromModel(ItemViewModel vm)
        {
            if (vm == null)
            {
                return(null);
            }

            return(new ApiReferenceBuildOutput
            {
                Uid = vm.Uid,
                Id = XrefDetails.GetHtmlId(vm.Uid),
                Parent = vm.Parent,
                IsExternal = false,
                Href = vm.Href,
                Name = ApiBuildOutputUtility.TransformToLanguagePairList(vm.Name, vm.Names, vm.SupportedLanguages),
                FullName = ApiBuildOutputUtility.TransformToLanguagePairList(vm.FullName, vm.FullNames, vm.SupportedLanguages),
                Spec = GetSpecNames(ApiBuildOutputUtility.GetXref(vm.Uid, vm.FullName, vm.Name), vm.SupportedLanguages),
                Type = vm.Type,
                Summary = vm.Summary,
                Platform = vm.Platform,
                Source = vm.Source,
                Documentation = vm.Documentation,
                AssemblyNameList = vm.AssemblyNameList,
                NamespaceName = vm.NamespaceName,
                Remarks = vm.Remarks,
                Examples = vm.Examples,
                Overridden = vm.Overridden,
                SeeAlsos = vm.SeeAlsos?.Select(s => ApiCrefInfoBuildOutput.FromModel(s)).ToList(),
                Sees = vm.Sees?.Select(s => ApiCrefInfoBuildOutput.FromModel(s)).ToList(),
                Inheritance = vm.Inheritance?.Select(i => FromUid(i)).ToList(),
                Implements = vm.Implements,
                InheritedMembers = vm.InheritedMembers,
                Modifiers = vm.Modifiers,
                Conceptual = vm.Conceptual,
                Metadata = vm.Metadata,
                Syntax = ApiSyntaxBuildOutput.FromModel(vm.Syntax, vm.SupportedLanguages),
                Exceptions = vm.Exceptions?.Select(s => ApiCrefInfoBuildOutput.FromModel(s)).ToList(),
            });
        }
コード例 #8
0
        private static ApiBuildOutput FromModel(ItemViewModel model, Dictionary <string, ApiReferenceBuildOutput> references, Dictionary <string, object> metadata)
        {
            if (model == null)
            {
                return(null);
            }

            return(new ApiBuildOutput
            {
                Uid = model.Uid,
                Id = XrefDetails.GetHtmlId(model.Uid),
                Parent = ApiBuildOutputUtility.GetReferenceViewModel(model.Parent, references, model.SupportedLanguages),
                Children = GetReferenceList(model.Children, references, model.SupportedLanguages),
                Href = model.Href,
                SupportedLanguages = model.SupportedLanguages,
                Name = ApiBuildOutputUtility.TransformToLanguagePairList(model.Name, model.Names, model.SupportedLanguages),
                FullName = ApiBuildOutputUtility.TransformToLanguagePairList(model.FullName, model.FullNames, model.SupportedLanguages),
                Type = model.Type,
                Source = model.Source,
                Documentation = model.Documentation,
                AssemblyNameList = model.AssemblyNameList,
                NamespaceName = ApiBuildOutputUtility.GetReferenceViewModel(model.NamespaceName, references, model.SupportedLanguages),
                Summary = model.Summary,
                Remarks = model.Remarks,
                Examples = model.Examples,
                Syntax = ApiSyntaxBuildOutput.FromModel(model.Syntax, references, model.SupportedLanguages),
                Overridden = ApiBuildOutputUtility.GetReferenceViewModel(model.Overridden, references, model.SupportedLanguages),
                Exceptions = GetCrefInfoList(model.Exceptions, references, model.SupportedLanguages),
                SeeAlsos = GetCrefInfoList(model.SeeAlsos, references, model.SupportedLanguages),
                Sees = GetCrefInfoList(model.Sees, references, model.SupportedLanguages),
                Inheritance = GetReferenceList(model.Inheritance, references, model.SupportedLanguages, true),
                Implements = GetReferenceList(model.Implements, references, model.SupportedLanguages),
                InheritedMembers = GetReferenceList(model.InheritedMembers, references, model.SupportedLanguages),
                Conceptual = model.Conceptual,
                Platform = model.Platform,
                Metadata = metadata.Concat(model.Metadata.Where(p => !metadata.Keys.Contains(p.Key))).ToDictionary(p => p.Key, p => p.Value),
            });
        }
コード例 #9
0
        public static ApiReferenceBuildOutput FromModel(ReferenceViewModel vm, string[] supportedLanguages)
        {
            if (vm == null)
            {
                return(null);
            }

            return(new ApiReferenceBuildOutput
            {
                Uid = vm.Uid,
                Id = XrefDetails.GetHtmlId(vm.Uid),
                Parent = vm.Parent,
                Definition = vm.Definition,
                IsExternal = vm.IsExternal,
                Href = vm.Href,
                Name = ApiBuildOutputUtility.TransformToLanguagePairList(vm.Name, vm.NameInDevLangs, supportedLanguages),
                FullName = ApiBuildOutputUtility.TransformToLanguagePairList(vm.FullName, vm.FullNameInDevLangs, supportedLanguages),
                Spec = GetSpecNames(ApiBuildOutputUtility.GetXref(vm.Uid, vm.FullName, vm.Name), supportedLanguages, vm.Specs),
                Type = vm.Type,
                Summary = vm.Summary,
                Platform = vm.Platform,
                Syntax = ApiSyntaxBuildOutput.FromModel(vm.Syntax, supportedLanguages),
            });
        }