Ejemplo n.º 1
0
        public SchemaDataModel(JToken data)
        {
            this._data = data as JArray;

            Enumerations = _data
                           .Where(i => GetItemParentFor(i) == "http://schema.org/Enumeration")
                           .Cast <JObject>()
                           .ToList();

            var enumerationIds = Enumerations
                                 .Select(i => i["@id"]?.ToObject <string>())
                                 .Where(i => !String.IsNullOrWhiteSpace(i))
                                 .ToList();

            EnumerationMembers = _data
                                 .Where(i => GetItemTypes(i).Any(t => enumerationIds.Contains(t)))
                                 .Cast <JObject>()
                                 .ToList();

            Models = _data
                     .Where(i => GetItemTypes(i).Contains("rdfs:Class"))
                     .Cast <JObject>()
                     .Except(Enumerations)
                     .ToList();

            ModelProperties = _data
                              .Where(i => GetItemTypes(i).Contains("rdf:Property"))
                              .Cast <JObject>()
                              .ToList();
        }
Ejemplo n.º 2
0
        public string ToTSString()
        {
            var declarestring = IsDeclared ? " declare " : "export";
            var formats       = declarestring + " module {0} {{"
                                + Settings.EndOfLine
                                + "{1}" + Settings.EndOfLine
                                + "{2}" + Settings.EndOfLine
                                + "{3}" + Settings.EndOfLine
                                + "}}"
                                + Settings.EndOfLine;

            var indentedEOL   = Settings.EndOfLine + Settings.Indentation;
            var allInterfaces = string.Join(Settings.EndOfLine, Interfaces.Where(i => !Settings.IgnoreInterfaces.Contains(i.InterFaceName)).Select(i => i.ToTSString())).Replace(Settings.EndOfLine, indentedEOL);
            var allenums      = string.Join(Settings.EndOfLine, Enumerations.Select(e => e.ToTSString())).Replace(Settings.EndOfLine, indentedEOL);
            var submods       = string.Join(Settings.EndOfLine, SubModules.Select(m => m.ToTSString())).Replace(Settings.EndOfLine, indentedEOL);

            return(string.Format(formats, Name, allenums, allInterfaces, submods).Replace(Settings.EndOfLine, indentedEOL));
        }