示例#1
0
        private void LoadFromJObject(TypeScriptEnumerationMember member, JObject jobject)
        {
            if (jobject.TryGetValue("name", out var nameToken))
            {
                member.Name = nameToken.ToObject <string>();
            }

            if (jobject.TryGetValue("defaultValue", out var defValToken))
            {
                member.DefaultValue = defValToken.ToObject <string>();
            }

            if (jobject.TryGetValue("comment", out var commentToken))
            {
                member.Comment = new TypeScriptComment();
                LoadFromJObject(member.Comment, commentToken.ToObject <JObject>());
            }
        }
示例#2
0
        private void LoadFromJObject(TypeScriptEnumeration @enum, JObject jobject)
        {
            if (jobject.TryGetValue("id", out var idToken))
            {
                @enum.Id = idToken.ToObject <int>();
            }

            if (jobject.TryGetValue("name", out var nameToken))
            {
                @enum.Name = nameToken.ToObject <string>();
            }

            if (jobject.TryGetValue("flags", out var flagsToken))
            {
                var flagsObj = flagsToken.ToObject <JObject>();

                if (flagsObj.TryGetValue("isExported", out var isExportedToken))
                {
                    @enum.IsExported = isExportedToken.ToObject <bool>();
                }
            }

            if (jobject.TryGetValue("children", out var childrenToken))
            {
                var children = childrenToken.ToObject <List <JObject> >();

                foreach (var child in children)
                {
                    var member = new TypeScriptEnumerationMember();
                    LoadFromJObject(member, child);
                    @enum.Members.Add(member);
                }
            }

            if (jobject.TryGetValue("comment", out var commentToken))
            {
                @enum.Comment = new TypeScriptComment();
                LoadFromJObject(@enum.Comment, commentToken.ToObject <JObject>());
            }
        }