@shaclmate/compiler 4.0.18 → 4.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/ast/AbstractCollectionType.d.ts +10 -0
  2. package/dist/ast/AbstractCollectionType.js +6 -0
  3. package/dist/ast/AbstractCompoundType.d.ts +0 -1
  4. package/dist/ast/AbstractCompoundType.js +0 -3
  5. package/dist/ast/AbstractContainerType.d.ts +9 -1
  6. package/dist/ast/AbstractContainerType.js +5 -2
  7. package/dist/ast/AbstractLazyObjectType.d.ts +154 -1
  8. package/dist/ast/AbstractLazyObjectType.js +6 -2
  9. package/dist/ast/AbstractTermType.d.ts +41 -1
  10. package/dist/ast/AbstractTermType.js +8 -2
  11. package/dist/ast/AbstractType.d.ts +13 -1
  12. package/dist/ast/AbstractType.js +14 -0
  13. package/dist/ast/DefaultValueType.d.ts +25 -0
  14. package/dist/ast/DefaultValueType.js +7 -0
  15. package/dist/ast/LiteralType.d.ts +107 -1
  16. package/dist/ast/LiteralType.js +12 -2
  17. package/dist/ast/ObjectType.d.ts +74 -1
  18. package/dist/ast/ObjectType.js +30 -3
  19. package/dist/ast/SetType.d.ts +11 -0
  20. package/dist/ast/SetType.js +6 -0
  21. package/dist/ast/UnionType.d.ts +12 -0
  22. package/dist/ast/UnionType.js +11 -0
  23. package/dist/ast/termToJson.d.ts +18 -0
  24. package/dist/ast/termToJson.js +18 -0
  25. package/dist/generators/AstJsonGenerator.d.ts +6 -0
  26. package/dist/generators/AstJsonGenerator.js +11 -0
  27. package/dist/generators/Cx2Generator.d.ts +10 -0
  28. package/dist/generators/Cx2Generator.js +140 -0
  29. package/dist/generators/LabeledPropertyGraph.d.ts +42 -0
  30. package/dist/generators/LabeledPropertyGraph.js +2 -0
  31. package/dist/generators/index.d.ts +4 -2
  32. package/dist/generators/index.js +4 -2
  33. package/dist/generators/transformAstToLabeledPropertyGraph.d.ts +4 -0
  34. package/dist/generators/transformAstToLabeledPropertyGraph.js +76 -0
  35. package/dist/index.d.ts +1 -4
  36. package/dist/index.js +1 -3
  37. package/package.json +2 -4
  38. package/dist/generators/json/AstJsonGenerator.d.ts +0 -6
  39. package/dist/generators/json/AstJsonGenerator.js +0 -144
  40. package/dist/generators/json/index.d.ts +0 -2
  41. package/dist/generators/json/index.js +0 -2
  42. package/dist/generators/ts/index.d.ts +0 -2
  43. package/dist/generators/ts/index.js +0 -2
@@ -12,6 +12,16 @@ export declare abstract class AbstractCollectionType<ItemTypeT extends AbstractC
12
12
  mutable: boolean;
13
13
  } & ConstructorParameters<typeof AbstractContainerType<ItemTypeT>>[0]);
14
14
  equals(other: AbstractCollectionType<ItemTypeT>): boolean;
15
+ toJSON(): {
16
+ mutable: boolean | undefined;
17
+ itemType: any;
18
+ comment: string | undefined;
19
+ kind: string;
20
+ label: string | undefined;
21
+ name: string | undefined;
22
+ recursive: boolean | undefined;
23
+ shapeIdentifier: string;
24
+ };
15
25
  }
16
26
  export declare namespace AbstractCollectionType {
17
27
  type ItemType = AbstractContainerType.ItemType;
@@ -20,6 +20,12 @@ export class AbstractCollectionType extends AbstractContainerType {
20
20
  }
21
21
  return true;
22
22
  }
23
+ toJSON() {
24
+ return {
25
+ ...super.toJSON(),
26
+ mutable: this.mutable ? true : undefined,
27
+ };
28
+ }
23
29
  }
24
30
  (function (AbstractCollectionType) {
25
31
  AbstractCollectionType.isItemType = AbstractContainerType.isItemType;
@@ -31,7 +31,6 @@ export declare abstract class AbstractCompoundType<MemberT extends AbstractCompo
31
31
  get tsFeatures(): ReadonlySet<TsFeature>;
32
32
  addMember(member: MemberT): void;
33
33
  equals(other: AbstractCompoundType<MemberT, MemberTypeT>): boolean;
34
- toString(): string;
35
34
  }
36
35
  export declare namespace AbstractCompoundType {
37
36
  interface Member<TypeT extends MemberType> {
@@ -80,9 +80,6 @@ export class AbstractCompoundType extends AbstractType {
80
80
  // Don't recurse
81
81
  return this.shapeIdentifier.equals(other.shapeIdentifier);
82
82
  }
83
- toString() {
84
- return `${this.kind}(memberTypes=[${this.members.map((memberType) => memberType.toString()).join(", ")}])`;
85
- }
86
83
  }
87
84
  __decorate([
88
85
  Memoize()
@@ -27,7 +27,15 @@ export declare abstract class AbstractContainerType<ItemTypeT extends AbstractCo
27
27
  get nodeKinds(): ReadonlySet<NodeKind>;
28
28
  get recursive(): boolean;
29
29
  equals(other: AbstractContainerType<ItemTypeT>): boolean;
30
- toString(): string;
30
+ toJSON(): {
31
+ itemType: any;
32
+ comment: string | undefined;
33
+ kind: string;
34
+ label: string | undefined;
35
+ name: string | undefined;
36
+ recursive: boolean | undefined;
37
+ shapeIdentifier: string;
38
+ };
31
39
  }
32
40
  export declare namespace AbstractContainerType {
33
41
  type ItemType = BlankNodeType | IdentifierType | IntersectionType | IriType | ListType | LiteralType | ObjectType | TermType | UnionType;
@@ -29,8 +29,11 @@ export class AbstractContainerType extends AbstractType {
29
29
  }
30
30
  return true;
31
31
  }
32
- toString() {
33
- return `${this.kind}(itemType=${this.itemType})`;
32
+ toJSON() {
33
+ return {
34
+ ...super.toJSON(),
35
+ itemType: this.itemType.toJSON(),
36
+ };
34
37
  }
35
38
  }
36
39
  (function (AbstractContainerType) {
@@ -18,7 +18,160 @@ export declare abstract class AbstractLazyObjectType<PartialTypeT extends Abstra
18
18
  get nodeKinds(): ReadonlySet<NodeKind>;
19
19
  get recursive(): boolean;
20
20
  equals(other: AbstractLazyObjectType<PartialTypeT, ResolveTypeT>): boolean;
21
- toString(): string;
21
+ toJSON(): {
22
+ partialType: {
23
+ fromRdfType: string | undefined;
24
+ identifierMintingStrategy: "blankNode" | "sha256" | "uuidv4" | undefined;
25
+ identifierType: {
26
+ hasValues: ({
27
+ termType: "BlankNode";
28
+ value: string;
29
+ datatype?: undefined;
30
+ language?: undefined;
31
+ } | {
32
+ datatype: string;
33
+ language: string;
34
+ termType: "Literal";
35
+ value: string;
36
+ } | {
37
+ termType: "NamedNode";
38
+ value: string;
39
+ datatype?: undefined;
40
+ language?: undefined;
41
+ })[] | undefined;
42
+ in: ({
43
+ termType: "BlankNode";
44
+ value: string;
45
+ datatype?: undefined;
46
+ language?: undefined;
47
+ } | {
48
+ datatype: string;
49
+ language: string;
50
+ termType: "Literal";
51
+ value: string;
52
+ } | {
53
+ termType: "NamedNode";
54
+ value: string;
55
+ datatype?: undefined;
56
+ language?: undefined;
57
+ })[] | undefined;
58
+ nodeKinds: NodeKind[];
59
+ comment: string | undefined;
60
+ kind: string;
61
+ label: string | undefined;
62
+ name: string | undefined;
63
+ recursive: boolean | undefined;
64
+ shapeIdentifier: string;
65
+ };
66
+ parentObjectTypes: string[] | undefined;
67
+ synthetic: boolean | undefined;
68
+ toRdfTypes: string[] | undefined;
69
+ comment: string | undefined;
70
+ kind: string;
71
+ label: string | undefined;
72
+ name: string | undefined;
73
+ recursive: boolean | undefined;
74
+ shapeIdentifier: string;
75
+ } | {
76
+ members: {
77
+ discriminantValue: string | number | undefined;
78
+ type: any;
79
+ }[] | undefined;
80
+ comment: string | undefined;
81
+ kind: string;
82
+ label: string | undefined;
83
+ name: string | undefined;
84
+ recursive: boolean | undefined;
85
+ shapeIdentifier: string;
86
+ } | {
87
+ itemType: any;
88
+ comment: string | undefined;
89
+ kind: string;
90
+ label: string | undefined;
91
+ name: string | undefined;
92
+ recursive: boolean | undefined;
93
+ shapeIdentifier: string;
94
+ };
95
+ resolveType: {
96
+ fromRdfType: string | undefined;
97
+ identifierMintingStrategy: "blankNode" | "sha256" | "uuidv4" | undefined;
98
+ identifierType: {
99
+ hasValues: ({
100
+ termType: "BlankNode";
101
+ value: string;
102
+ datatype?: undefined;
103
+ language?: undefined;
104
+ } | {
105
+ datatype: string;
106
+ language: string;
107
+ termType: "Literal";
108
+ value: string;
109
+ } | {
110
+ termType: "NamedNode";
111
+ value: string;
112
+ datatype?: undefined;
113
+ language?: undefined;
114
+ })[] | undefined;
115
+ in: ({
116
+ termType: "BlankNode";
117
+ value: string;
118
+ datatype?: undefined;
119
+ language?: undefined;
120
+ } | {
121
+ datatype: string;
122
+ language: string;
123
+ termType: "Literal";
124
+ value: string;
125
+ } | {
126
+ termType: "NamedNode";
127
+ value: string;
128
+ datatype?: undefined;
129
+ language?: undefined;
130
+ })[] | undefined;
131
+ nodeKinds: NodeKind[];
132
+ comment: string | undefined;
133
+ kind: string;
134
+ label: string | undefined;
135
+ name: string | undefined;
136
+ recursive: boolean | undefined;
137
+ shapeIdentifier: string;
138
+ };
139
+ parentObjectTypes: string[] | undefined;
140
+ synthetic: boolean | undefined;
141
+ toRdfTypes: string[] | undefined;
142
+ comment: string | undefined;
143
+ kind: string;
144
+ label: string | undefined;
145
+ name: string | undefined;
146
+ recursive: boolean | undefined;
147
+ shapeIdentifier: string;
148
+ } | {
149
+ members: {
150
+ discriminantValue: string | number | undefined;
151
+ type: any;
152
+ }[] | undefined;
153
+ comment: string | undefined;
154
+ kind: string;
155
+ label: string | undefined;
156
+ name: string | undefined;
157
+ recursive: boolean | undefined;
158
+ shapeIdentifier: string;
159
+ } | {
160
+ itemType: any;
161
+ comment: string | undefined;
162
+ kind: string;
163
+ label: string | undefined;
164
+ name: string | undefined;
165
+ recursive: boolean | undefined;
166
+ shapeIdentifier: string;
167
+ };
168
+ comment: string | undefined;
169
+ kind: string;
170
+ label: string | undefined;
171
+ name: string | undefined;
172
+ recursive: boolean | undefined;
173
+ shapeIdentifier: string;
174
+ };
22
175
  }
23
176
  export declare namespace AbstractLazyObjectType {
24
177
  type ObjectTypeConstraint = ObjectType | ObjectUnionType;
@@ -29,8 +29,12 @@ export class AbstractLazyObjectType extends AbstractType {
29
29
  }
30
30
  return true;
31
31
  }
32
- toString() {
33
- return `${this.kind}(partialType=${this.partialType}, resolveType=${this.resolveType})`;
32
+ toJSON() {
33
+ return {
34
+ ...super.toJSON(),
35
+ partialType: this.partialType.toJSON(),
36
+ resolveType: this.resolveType.toJSON(),
37
+ };
34
38
  }
35
39
  }
36
40
  //# sourceMappingURL=AbstractLazyObjectType.js.map
@@ -18,6 +18,46 @@ export declare abstract class AbstractTermType<ConstantTermT extends Literal | N
18
18
  in_: readonly ConstantTermT[];
19
19
  } & ConstructorParameters<typeof AbstractType>[0]);
20
20
  equals(other: AbstractTermType<ConstantTermT, _RuntimeTermT>): boolean;
21
- toString(): string;
21
+ toJSON(): {
22
+ hasValues: ({
23
+ termType: "BlankNode";
24
+ value: string;
25
+ datatype?: undefined;
26
+ language?: undefined;
27
+ } | {
28
+ datatype: string;
29
+ language: string;
30
+ termType: "Literal";
31
+ value: string;
32
+ } | {
33
+ termType: "NamedNode";
34
+ value: string;
35
+ datatype?: undefined;
36
+ language?: undefined;
37
+ })[] | undefined;
38
+ in: ({
39
+ termType: "BlankNode";
40
+ value: string;
41
+ datatype?: undefined;
42
+ language?: undefined;
43
+ } | {
44
+ datatype: string;
45
+ language: string;
46
+ termType: "Literal";
47
+ value: string;
48
+ } | {
49
+ termType: "NamedNode";
50
+ value: string;
51
+ datatype?: undefined;
52
+ language?: undefined;
53
+ })[] | undefined;
54
+ nodeKinds: import("@shaclmate/shacl-ast").NodeKind[];
55
+ comment: string | undefined;
56
+ kind: string;
57
+ label: string | undefined;
58
+ name: string | undefined;
59
+ recursive: boolean | undefined;
60
+ shapeIdentifier: string;
61
+ };
22
62
  }
23
63
  //# sourceMappingURL=AbstractTermType.d.ts.map
@@ -1,5 +1,6 @@
1
1
  import { AbstractType } from "./AbstractType.js";
2
2
  import { arrayEquals, setEquals, strictEquals, termEquals } from "./equals.js";
3
+ import { termToJson } from "./termToJson.js";
3
4
  /**
4
5
  * Abstract base class of term types (BlankNodeType, IdentifierType, LiteralType, IriType, TermType).
5
6
  *
@@ -35,8 +36,13 @@ export class AbstractTermType extends AbstractType {
35
36
  }
36
37
  return true;
37
38
  }
38
- toString() {
39
- return `${this.kind}(nodeKinds=${[...this.nodeKinds].join(" | ")})`;
39
+ toJSON() {
40
+ return {
41
+ ...super.toJSON(),
42
+ hasValues: this.hasValues.length > 0 ? this.hasValues.map(termToJson) : undefined,
43
+ in: this.in_.length > 0 ? this.in_.map(termToJson) : undefined,
44
+ nodeKinds: [...this.nodeKinds],
45
+ };
40
46
  }
41
47
  }
42
48
  //# sourceMappingURL=AbstractTermType.js.map
@@ -9,6 +9,10 @@ export declare abstract class AbstractType {
9
9
  * Documentation comment from rdfs:comment.
10
10
  */
11
11
  readonly comment: Maybe<string>;
12
+ /**
13
+ * Type discriminant
14
+ */
15
+ abstract readonly kind: string;
12
16
  /**
13
17
  * Human-readable label from rdfs:label.
14
18
  */
@@ -38,6 +42,14 @@ export declare abstract class AbstractType {
38
42
  shapeIdentifier: BlankNode | NamedNode;
39
43
  });
40
44
  equals(other: AbstractType): boolean;
41
- abstract toString(): string;
45
+ toJSON(): {
46
+ comment: string | undefined;
47
+ kind: string;
48
+ label: string | undefined;
49
+ name: string | undefined;
50
+ recursive: boolean | undefined;
51
+ shapeIdentifier: string;
52
+ };
53
+ toString(): string;
42
54
  }
43
55
  //# sourceMappingURL=AbstractType.d.ts.map
@@ -1,3 +1,4 @@
1
+ import { Resource } from "@rdfx/resource";
1
2
  import { Maybe } from "purify-ts";
2
3
  import { maybeEquals, strictEquals } from "./equals.js";
3
4
  /**
@@ -35,5 +36,18 @@ export class AbstractType {
35
36
  }
36
37
  return true;
37
38
  }
39
+ toJSON() {
40
+ return {
41
+ comment: this.comment.extract(),
42
+ kind: this.kind,
43
+ label: this.label.extract(),
44
+ name: this.name.extract(),
45
+ recursive: this.recursive ? true : undefined,
46
+ shapeIdentifier: Resource.Identifier.toString(this.shapeIdentifier),
47
+ };
48
+ }
49
+ toString() {
50
+ return JSON.stringify(this.toJSON());
51
+ }
38
52
  }
39
53
  //# sourceMappingURL=AbstractType.js.map
@@ -17,6 +17,31 @@ export declare class DefaultValueType<ItemTypeT extends DefaultValueType.ItemTyp
17
17
  defaultValue: Literal | NamedNode;
18
18
  });
19
19
  equals(other: DefaultValueType<ItemTypeT>): boolean;
20
+ toJSON(): {
21
+ defaultValue: {
22
+ termType: "BlankNode";
23
+ value: string;
24
+ datatype?: undefined;
25
+ language?: undefined;
26
+ } | {
27
+ datatype: string;
28
+ language: string;
29
+ termType: "Literal";
30
+ value: string;
31
+ } | {
32
+ termType: "NamedNode";
33
+ value: string;
34
+ datatype?: undefined;
35
+ language?: undefined;
36
+ };
37
+ itemType: any;
38
+ comment: string | undefined;
39
+ kind: string;
40
+ label: string | undefined;
41
+ name: string | undefined;
42
+ recursive: boolean | undefined;
43
+ shapeIdentifier: string;
44
+ };
20
45
  }
21
46
  export declare namespace DefaultValueType {
22
47
  type ItemType = Exclude<AbstractContainerType.ItemType, BlankNodeType>;
@@ -1,5 +1,6 @@
1
1
  import { AbstractContainerType } from "./AbstractContainerType.js";
2
2
  import { termEquals } from "./equals.js";
3
+ import { termToJson } from "./termToJson.js";
3
4
  /**
4
5
  * A type with an sh:defaultValue.
5
6
  *
@@ -30,6 +31,12 @@ export class DefaultValueType extends AbstractContainerType {
30
31
  }
31
32
  return true;
32
33
  }
34
+ toJSON() {
35
+ return {
36
+ ...super.toJSON(),
37
+ defaultValue: termToJson(this.defaultValue),
38
+ };
39
+ }
33
40
  }
34
41
  (function (DefaultValueType) {
35
42
  function isItemType(type) {
@@ -19,6 +19,112 @@ export declare class LiteralType extends AbstractTermType<Literal, Literal> {
19
19
  minInclusive: Maybe<Literal>;
20
20
  } & Omit<ConstructorParameters<typeof AbstractTermType<Literal, Literal>>[0], "nodeKinds">);
21
21
  equals(other: AbstractTermType<Literal, Literal>): boolean;
22
- toString(): string;
22
+ toJSON(): {
23
+ datatype: string | undefined;
24
+ languageIn: readonly string[] | undefined;
25
+ maxExclusive: {
26
+ termType: "BlankNode";
27
+ value: string;
28
+ datatype?: undefined;
29
+ language?: undefined;
30
+ } | {
31
+ datatype: string;
32
+ language: string;
33
+ termType: "Literal";
34
+ value: string;
35
+ } | {
36
+ termType: "NamedNode";
37
+ value: string;
38
+ datatype?: undefined;
39
+ language?: undefined;
40
+ } | undefined;
41
+ maxInclusive: {
42
+ termType: "BlankNode";
43
+ value: string;
44
+ datatype?: undefined;
45
+ language?: undefined;
46
+ } | {
47
+ datatype: string;
48
+ language: string;
49
+ termType: "Literal";
50
+ value: string;
51
+ } | {
52
+ termType: "NamedNode";
53
+ value: string;
54
+ datatype?: undefined;
55
+ language?: undefined;
56
+ } | undefined;
57
+ minExclusive: {
58
+ termType: "BlankNode";
59
+ value: string;
60
+ datatype?: undefined;
61
+ language?: undefined;
62
+ } | {
63
+ datatype: string;
64
+ language: string;
65
+ termType: "Literal";
66
+ value: string;
67
+ } | {
68
+ termType: "NamedNode";
69
+ value: string;
70
+ datatype?: undefined;
71
+ language?: undefined;
72
+ } | undefined;
73
+ minInclusive: {
74
+ termType: "BlankNode";
75
+ value: string;
76
+ datatype?: undefined;
77
+ language?: undefined;
78
+ } | {
79
+ datatype: string;
80
+ language: string;
81
+ termType: "Literal";
82
+ value: string;
83
+ } | {
84
+ termType: "NamedNode";
85
+ value: string;
86
+ datatype?: undefined;
87
+ language?: undefined;
88
+ } | undefined;
89
+ hasValues: ({
90
+ termType: "BlankNode";
91
+ value: string;
92
+ datatype?: undefined;
93
+ language?: undefined;
94
+ } | {
95
+ datatype: string;
96
+ language: string;
97
+ termType: "Literal";
98
+ value: string;
99
+ } | {
100
+ termType: "NamedNode";
101
+ value: string;
102
+ datatype?: undefined;
103
+ language?: undefined;
104
+ })[] | undefined;
105
+ in: ({
106
+ termType: "BlankNode";
107
+ value: string;
108
+ datatype?: undefined;
109
+ language?: undefined;
110
+ } | {
111
+ datatype: string;
112
+ language: string;
113
+ termType: "Literal";
114
+ value: string;
115
+ } | {
116
+ termType: "NamedNode";
117
+ value: string;
118
+ datatype?: undefined;
119
+ language?: undefined;
120
+ })[] | undefined;
121
+ nodeKinds: import("@shaclmate/shacl-ast").NodeKind[];
122
+ comment: string | undefined;
123
+ kind: string;
124
+ label: string | undefined;
125
+ name: string | undefined;
126
+ recursive: boolean | undefined;
127
+ shapeIdentifier: string;
128
+ };
23
129
  }
24
130
  //# sourceMappingURL=LiteralType.d.ts.map
@@ -1,5 +1,7 @@
1
+ import { Resource } from "@rdfx/resource";
1
2
  import { AbstractTermType } from "./AbstractTermType.js";
2
3
  import { arrayEquals, maybeEquals, strictEquals, termEquals, } from "./equals.js";
4
+ import { termToJson } from "./termToJson.js";
3
5
  export class LiteralType extends AbstractTermType {
4
6
  datatype;
5
7
  kind = "LiteralType";
@@ -43,8 +45,16 @@ export class LiteralType extends AbstractTermType {
43
45
  }
44
46
  return true;
45
47
  }
46
- toString() {
47
- return `${this.kind}()`;
48
+ toJSON() {
49
+ return {
50
+ ...super.toJSON(),
51
+ datatype: this.datatype.map(Resource.Identifier.toString).extract(),
52
+ languageIn: this.languageIn.length > 0 ? this.languageIn : undefined,
53
+ maxExclusive: this.maxExclusive.map(termToJson).extract(),
54
+ maxInclusive: this.maxInclusive.map(termToJson).extract(),
55
+ minExclusive: this.minExclusive.map(termToJson).extract(),
56
+ minInclusive: this.minInclusive.map(termToJson).extract(),
57
+ };
48
58
  }
49
59
  }
50
60
  const nodeKinds = new Set(["Literal"]);
@@ -98,7 +98,60 @@ export declare class ObjectType extends AbstractType {
98
98
  addProperties(...properties: readonly ObjectType.Property[]): void;
99
99
  equals(other: ObjectType): boolean;
100
100
  sortProperties(): void;
101
- toString(): string;
101
+ toJSON(): {
102
+ fromRdfType: string | undefined;
103
+ identifierMintingStrategy: "blankNode" | "sha256" | "uuidv4" | undefined;
104
+ identifierType: {
105
+ hasValues: ({
106
+ termType: "BlankNode";
107
+ value: string;
108
+ datatype?: undefined;
109
+ language?: undefined;
110
+ } | {
111
+ datatype: string;
112
+ language: string;
113
+ termType: "Literal";
114
+ value: string;
115
+ } | {
116
+ termType: "NamedNode";
117
+ value: string;
118
+ datatype?: undefined;
119
+ language?: undefined;
120
+ })[] | undefined;
121
+ in: ({
122
+ termType: "BlankNode";
123
+ value: string;
124
+ datatype?: undefined;
125
+ language?: undefined;
126
+ } | {
127
+ datatype: string;
128
+ language: string;
129
+ termType: "Literal";
130
+ value: string;
131
+ } | {
132
+ termType: "NamedNode";
133
+ value: string;
134
+ datatype?: undefined;
135
+ language?: undefined;
136
+ })[] | undefined;
137
+ nodeKinds: NodeKind[];
138
+ comment: string | undefined;
139
+ kind: string;
140
+ label: string | undefined;
141
+ name: string | undefined;
142
+ recursive: boolean | undefined;
143
+ shapeIdentifier: string;
144
+ };
145
+ parentObjectTypes: string[] | undefined;
146
+ synthetic: boolean | undefined;
147
+ toRdfTypes: string[] | undefined;
148
+ comment: string | undefined;
149
+ kind: string;
150
+ label: string | undefined;
151
+ name: string | undefined;
152
+ recursive: boolean | undefined;
153
+ shapeIdentifier: string;
154
+ };
102
155
  }
103
156
  export declare namespace ObjectType {
104
157
  class Property {
@@ -165,6 +218,26 @@ export declare namespace ObjectType {
165
218
  * Does the property directly or indirectly reference the ObjectType itself?
166
219
  */
167
220
  get recursive(): boolean;
221
+ toJSON(): {
222
+ comment: string | undefined;
223
+ description: string | undefined;
224
+ label: string | undefined;
225
+ mutable: boolean | undefined;
226
+ name: string;
227
+ order: number;
228
+ path: string;
229
+ recursive: boolean | undefined;
230
+ shapeIdentifier: string;
231
+ type: {
232
+ comment: string | undefined;
233
+ kind: string;
234
+ label: string | undefined;
235
+ name: string | undefined;
236
+ recursive: boolean | undefined;
237
+ shapeIdentifier: string;
238
+ };
239
+ visibility: Visibility;
240
+ };
168
241
  toString(): string;
169
242
  }
170
243
  }