@shaclmate/compiler 4.0.37 → 4.0.39
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.
- package/dist/ShapesGraphToAstTransformer.js +12 -12
- package/dist/_ShapesGraphToAstTransformer/transformPropertyShapeToAstObjectTypeProperty.js +24 -24
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstCompoundType.js +4 -4
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstListType.js +1 -1
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstObjectType.js +16 -16
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstTermType.js +1 -1
- package/dist/ast/AbstractCollectionType.d.ts +1 -1
- package/dist/ast/AbstractCompoundType.d.ts +1 -1
- package/dist/ast/AbstractCompoundType.js +15 -15
- package/dist/ast/AbstractContainerType.d.ts +1 -1
- package/dist/ast/AbstractContainerType.js +15 -15
- package/dist/ast/AbstractLazyObjectType.d.ts +1 -1
- package/dist/ast/AbstractTermType.d.ts +1 -1
- package/dist/ast/BlankNodeType.d.ts +1 -1
- package/dist/ast/BlankNodeType.js +1 -1
- package/dist/ast/DefaultValueType.d.ts +1 -1
- package/dist/ast/DefaultValueType.js +2 -2
- package/dist/ast/IdentifierType.d.ts +1 -1
- package/dist/ast/IdentifierType.js +1 -1
- package/dist/ast/IntersectionType.d.ts +1 -1
- package/dist/ast/IntersectionType.js +3 -3
- package/dist/ast/IriType.d.ts +1 -1
- package/dist/ast/IriType.js +1 -1
- package/dist/ast/LazyObjectOptionType.d.ts +1 -1
- package/dist/ast/LazyObjectOptionType.js +1 -1
- package/dist/ast/LazyObjectSetType.d.ts +1 -1
- package/dist/ast/LazyObjectSetType.js +1 -1
- package/dist/ast/LazyObjectType.d.ts +1 -1
- package/dist/ast/LazyObjectType.js +1 -1
- package/dist/ast/ListType.d.ts +1 -1
- package/dist/ast/ListType.js +16 -16
- package/dist/ast/LiteralType.d.ts +1 -1
- package/dist/ast/LiteralType.js +1 -1
- package/dist/ast/ObjectCompoundType.js +3 -3
- package/dist/ast/ObjectType.d.ts +1 -1
- package/dist/ast/ObjectType.js +16 -16
- package/dist/ast/OptionType.d.ts +1 -1
- package/dist/ast/OptionType.js +1 -1
- package/dist/ast/SetType.d.ts +1 -1
- package/dist/ast/SetType.js +1 -1
- package/dist/ast/TermType.d.ts +1 -1
- package/dist/ast/TermType.js +1 -1
- package/dist/ast/Type.js +15 -15
- package/dist/ast/UnionType.d.ts +1 -1
- package/dist/ast/UnionType.js +3 -3
- package/dist/generators/transformAstToLabeledPropertyGraph.js +10 -10
- package/dist/generators/ts/AbstractCollectionType.d.ts +1 -5
- package/dist/generators/ts/AbstractCollectionType.js +6 -5
- package/dist/generators/ts/AbstractContainerType.d.ts +3 -6
- package/dist/generators/ts/AbstractContainerType.js +34 -34
- package/dist/generators/ts/AbstractDateType.d.ts +1 -1
- package/dist/generators/ts/AbstractIdentifierType.d.ts +1 -1
- package/dist/generators/ts/AbstractLazyObjectType.d.ts +7 -10
- package/dist/generators/ts/AbstractLazyObjectType.js +20 -32
- package/dist/generators/ts/AbstractLiteralType.d.ts +1 -5
- package/dist/generators/ts/AbstractLiteralType.js +7 -6
- package/dist/generators/ts/AbstractNumericType.d.ts +1 -1
- package/dist/generators/ts/AbstractPrimitiveType.d.ts +2 -6
- package/dist/generators/ts/AbstractPrimitiveType.js +7 -8
- package/dist/generators/ts/AbstractTermType.d.ts +1 -5
- package/dist/generators/ts/AbstractTermType.js +1 -15
- package/dist/generators/ts/AbstractType.d.ts +7 -5
- package/dist/generators/ts/AbstractType.js +12 -7
- package/dist/generators/ts/AbstractUnionType.d.ts +7 -10
- package/dist/generators/ts/AbstractUnionType.js +70 -81
- package/dist/generators/ts/AnonymousUnionType.d.ts +1 -1
- package/dist/generators/ts/AnonymousUnionType.js +1 -1
- package/dist/generators/ts/BigDecimalType.d.ts +1 -1
- package/dist/generators/ts/BigDecimalType.js +1 -1
- package/dist/generators/ts/BigIntType.d.ts +1 -1
- package/dist/generators/ts/BigIntType.js +1 -1
- package/dist/generators/ts/BlankNodeType.d.ts +1 -1
- package/dist/generators/ts/BlankNodeType.js +1 -1
- package/dist/generators/ts/BooleanType.d.ts +1 -1
- package/dist/generators/ts/BooleanType.js +2 -2
- package/dist/generators/ts/DateTimeType.d.ts +1 -1
- package/dist/generators/ts/DateTimeType.js +1 -1
- package/dist/generators/ts/DateType.d.ts +1 -1
- package/dist/generators/ts/DateType.js +1 -1
- package/dist/generators/ts/DefaultValueType.d.ts +2 -6
- package/dist/generators/ts/DefaultValueType.js +12 -15
- package/dist/generators/ts/FloatType.d.ts +1 -1
- package/dist/generators/ts/FloatType.js +1 -1
- package/dist/generators/ts/IdentifierType.d.ts +1 -1
- package/dist/generators/ts/IdentifierType.js +1 -1
- package/dist/generators/ts/IntType.d.ts +1 -1
- package/dist/generators/ts/IntType.js +1 -1
- package/dist/generators/ts/IriType.d.ts +3 -1
- package/dist/generators/ts/IriType.js +22 -17
- package/dist/generators/ts/LazyObjectOptionType.d.ts +1 -1
- package/dist/generators/ts/LazyObjectOptionType.js +1 -1
- package/dist/generators/ts/LazyObjectSetType.d.ts +1 -1
- package/dist/generators/ts/LazyObjectSetType.js +1 -1
- package/dist/generators/ts/LazyObjectType.d.ts +1 -1
- package/dist/generators/ts/LazyObjectType.js +1 -1
- package/dist/generators/ts/ListType.d.ts +1 -1
- package/dist/generators/ts/ListType.js +24 -24
- package/dist/generators/ts/LiteralType.d.ts +2 -1
- package/dist/generators/ts/LiteralType.js +9 -2
- package/dist/generators/ts/NamedObjectType.d.ts +1 -0
- package/dist/generators/ts/NamedObjectType.js +2 -1
- package/dist/generators/ts/NamedObjectUnionType.d.ts +1 -1
- package/dist/generators/ts/NamedObjectUnionType.js +6 -8
- package/dist/generators/ts/NamedUnionType.d.ts +1 -1
- package/dist/generators/ts/NamedUnionType.js +1 -1
- package/dist/generators/ts/OptionType.d.ts +1 -5
- package/dist/generators/ts/OptionType.js +2 -8
- package/dist/generators/ts/RdfjsDatasetObjectSetType.js +1 -1
- package/dist/generators/ts/SetType.d.ts +1 -1
- package/dist/generators/ts/SetType.js +1 -1
- package/dist/generators/ts/Snippets.d.ts +1 -0
- package/dist/generators/ts/Snippets.js +7 -0
- package/dist/generators/ts/StringType.d.ts +1 -1
- package/dist/generators/ts/StringType.js +2 -2
- package/dist/generators/ts/TermType.d.ts +1 -1
- package/dist/generators/ts/TermType.js +1 -1
- package/dist/generators/ts/TypeFactory.js +18 -18
- package/dist/generators/ts/ZodGenerator.js +1 -1
- package/dist/generators/ts/_NamedObjectType/AbstractProperty.d.ts +7 -7
- package/dist/generators/ts/_NamedObjectType/AbstractProperty.js +8 -11
- package/dist/generators/ts/_NamedObjectType/DiscriminantProperty.d.ts +2 -1
- package/dist/generators/ts/_NamedObjectType/DiscriminantProperty.js +16 -7
- package/dist/generators/ts/_NamedObjectType/IdentifierProperty.d.ts +2 -1
- package/dist/generators/ts/_NamedObjectType/IdentifierProperty.js +6 -3
- package/dist/generators/ts/_NamedObjectType/NamedObjectType_equalsFunctionDeclaration.js +1 -1
- package/dist/generators/ts/_NamedObjectType/NamedObjectType_fromRdfResourceFunctionDeclaration.js +3 -27
- package/dist/generators/ts/_NamedObjectType/NamedObjectType_hashFunctionDeclarations.js +2 -2
- package/dist/generators/ts/_NamedObjectType/NamedObjectType_interfaceDeclaration.js +1 -1
- package/dist/generators/ts/_NamedObjectType/NamedObjectType_schemaVariableStatement.js +1 -1
- package/dist/generators/ts/_NamedObjectType/ShaclProperty.d.ts +2 -6
- package/dist/generators/ts/_NamedObjectType/ShaclProperty.js +19 -23
- package/dist/generators/ts/_snippets/snippets_BooleanSchema.js +2 -2
- package/dist/generators/ts/_snippets/snippets_CollectionSchema.js +1 -1
- package/dist/generators/ts/_snippets/snippets_DefaultValueSchema.js +1 -1
- package/dist/generators/ts/_snippets/snippets_IriSchema.js +2 -2
- package/dist/generators/ts/_snippets/snippets_MaybeSchema.js +2 -2
- package/dist/generators/ts/_snippets/snippets_ShaclPropertySchema.js +1 -1
- package/dist/generators/ts/_snippets/snippets_StringSchema.js +2 -2
- package/dist/generators/ts/_snippets/snippets_booleanSparqlWherePatterns.js +1 -1
- package/dist/generators/ts/_snippets/snippets_convertToIri.js +1 -1
- package/dist/generators/ts/_snippets/snippets_defaultValueSparqlWherePatterns.js +1 -1
- package/dist/generators/ts/_snippets/snippets_ensureRdfResourceType.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_ensureRdfResourceType.js +16 -0
- package/dist/generators/ts/_snippets/snippets_iriSparqlWherePatterns.js +1 -1
- package/dist/generators/ts/_snippets/snippets_listSparqlConstructTriples.js +2 -2
- package/dist/generators/ts/_snippets/snippets_listSparqlWherePatterns.js +2 -2
- package/dist/generators/ts/_snippets/snippets_maybeSparqlConstructTriples.js +1 -1
- package/dist/generators/ts/_snippets/snippets_maybeSparqlWherePatterns.js +3 -3
- package/dist/generators/ts/_snippets/snippets_monkeyPatchObject.js +2 -2
- package/dist/generators/ts/_snippets/snippets_setSparqlConstructTriples.js +1 -1
- package/dist/generators/ts/_snippets/snippets_setSparqlWherePatterns.js +1 -1
- package/dist/generators/ts/_snippets/snippets_shaclPropertySparqlConstructTriples.js +1 -1
- package/dist/generators/ts/_snippets/snippets_shaclPropertySparqlWherePatterns.js +1 -1
- package/dist/generators/ts/_snippets/snippets_stringSparqlWherePatterns.js +1 -1
- package/dist/generators/ts/_snippets/snippets_validateArray.js +1 -1
- package/dist/generators/ts/_snippets/snippets_validateMaybe.js +1 -1
- package/dist/generators/ts/tsComment.js +1 -1
- package/dist/input/generated.d.ts +1397 -1466
- package/dist/input/generated.js +520 -655
- package/package.json +6 -6
- package/dist/generators/ts/removeUndefined.d.ts +0 -2
- package/dist/generators/ts/removeUndefined.js +0 -17
|
@@ -3,7 +3,7 @@ import type { Maybe } from "purify-ts";
|
|
|
3
3
|
import { AbstractTermType } from "./AbstractTermType.js";
|
|
4
4
|
export declare class LiteralType extends AbstractTermType<Literal, Literal> {
|
|
5
5
|
readonly datatype: Maybe<NamedNode>;
|
|
6
|
-
readonly kind = "
|
|
6
|
+
readonly kind = "Literal";
|
|
7
7
|
readonly nodeKinds: ReadonlySet<"Literal">;
|
|
8
8
|
readonly languageIn: readonly string[];
|
|
9
9
|
readonly maxExclusive: Maybe<Literal>;
|
package/dist/ast/LiteralType.js
CHANGED
|
@@ -2,7 +2,7 @@ import { AbstractTermType } from "./AbstractTermType.js";
|
|
|
2
2
|
import { arrayEquals, maybeEquals, strictEquals, termEquals, } from "./equals.js";
|
|
3
3
|
export class LiteralType extends AbstractTermType {
|
|
4
4
|
datatype;
|
|
5
|
-
kind = "
|
|
5
|
+
kind = "Literal";
|
|
6
6
|
nodeKinds = nodeKinds;
|
|
7
7
|
languageIn;
|
|
8
8
|
maxExclusive;
|
|
@@ -54,11 +54,11 @@ export var ObjectCompoundType;
|
|
|
54
54
|
const memberObjectTypes_ = [];
|
|
55
55
|
for (const member of objectCompoundType.members) {
|
|
56
56
|
switch (member.type.kind) {
|
|
57
|
-
case "
|
|
57
|
+
case "Object":
|
|
58
58
|
memberObjectTypes_.push(member.type);
|
|
59
59
|
break;
|
|
60
|
-
case "
|
|
61
|
-
case "
|
|
60
|
+
case "Intersection":
|
|
61
|
+
case "Union": {
|
|
62
62
|
invariant(member.type.kind === objectCompoundType.kind);
|
|
63
63
|
memberObjectTypes_.push(...memberObjectTypes(member.type));
|
|
64
64
|
break;
|
package/dist/ast/ObjectType.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ export declare class ObjectType extends AbstractType {
|
|
|
29
29
|
/**
|
|
30
30
|
* Type discriminant.
|
|
31
31
|
*/
|
|
32
|
-
readonly kind = "
|
|
32
|
+
readonly kind = "Object";
|
|
33
33
|
readonly nodeKinds: ReadonlySet<NodeKind>;
|
|
34
34
|
/**
|
|
35
35
|
* Was this type synthesized or did it come from SHACL?
|
package/dist/ast/ObjectType.js
CHANGED
|
@@ -63,7 +63,7 @@ export class ObjectType extends AbstractType {
|
|
|
63
63
|
/**
|
|
64
64
|
* Type discriminant.
|
|
65
65
|
*/
|
|
66
|
-
kind = "
|
|
66
|
+
kind = "Object";
|
|
67
67
|
nodeKinds = nodeKinds;
|
|
68
68
|
/**
|
|
69
69
|
* Was this type synthesized or did it come from SHACL?
|
|
@@ -271,15 +271,15 @@ const nodeKinds = new Set(["BlankNode", "IRI"]);
|
|
|
271
271
|
invariant(propertyType.length > 0);
|
|
272
272
|
const currentPropertyType = propertyType.at(-1);
|
|
273
273
|
switch (currentPropertyType.kind) {
|
|
274
|
-
case "
|
|
275
|
-
case "
|
|
276
|
-
case "
|
|
277
|
-
case "
|
|
278
|
-
case "
|
|
274
|
+
case "BlankNode":
|
|
275
|
+
case "Identifier":
|
|
276
|
+
case "Iri":
|
|
277
|
+
case "Literal":
|
|
278
|
+
case "Term":
|
|
279
279
|
return false;
|
|
280
|
-
case "
|
|
281
|
-
case "
|
|
282
|
-
case "
|
|
280
|
+
case "LazyObjectOption":
|
|
281
|
+
case "LazyObjectSet":
|
|
282
|
+
case "LazyObject": {
|
|
283
283
|
if (helper(stack.concat({
|
|
284
284
|
objectType,
|
|
285
285
|
property,
|
|
@@ -296,7 +296,7 @@ const nodeKinds = new Set(["BlankNode", "IRI"]);
|
|
|
296
296
|
}
|
|
297
297
|
return false;
|
|
298
298
|
}
|
|
299
|
-
case "
|
|
299
|
+
case "Object": {
|
|
300
300
|
if (DEBUG) {
|
|
301
301
|
process.stderr.write(`recurse into ${currentPropertyType}`);
|
|
302
302
|
}
|
|
@@ -310,8 +310,8 @@ const nodeKinds = new Set(["BlankNode", "IRI"]);
|
|
|
310
310
|
}
|
|
311
311
|
return false;
|
|
312
312
|
}
|
|
313
|
-
case "
|
|
314
|
-
case "
|
|
313
|
+
case "Intersection":
|
|
314
|
+
case "Union": {
|
|
315
315
|
if (DEBUG) {
|
|
316
316
|
process.stderr.write(`recurse into ${currentPropertyType}`);
|
|
317
317
|
}
|
|
@@ -326,10 +326,10 @@ const nodeKinds = new Set(["BlankNode", "IRI"]);
|
|
|
326
326
|
}
|
|
327
327
|
return false;
|
|
328
328
|
}
|
|
329
|
-
case "
|
|
330
|
-
case "
|
|
331
|
-
case "
|
|
332
|
-
case "
|
|
329
|
+
case "DefaultValue":
|
|
330
|
+
case "List":
|
|
331
|
+
case "Option":
|
|
332
|
+
case "Set":
|
|
333
333
|
return helper(stack.concat({
|
|
334
334
|
objectType,
|
|
335
335
|
property,
|
package/dist/ast/OptionType.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { AbstractContainerType } from "./AbstractContainerType.js";
|
|
|
3
3
|
* A type with zero or one values of an item type.
|
|
4
4
|
*/
|
|
5
5
|
export declare class OptionType<ItemTypeT extends OptionType.ItemType = OptionType.ItemType> extends AbstractContainerType<ItemTypeT> {
|
|
6
|
-
readonly kind = "
|
|
6
|
+
readonly kind = "Option";
|
|
7
7
|
constructor({ itemType, }: Pick<ConstructorParameters<typeof AbstractContainerType<ItemTypeT>>[0], "itemType">);
|
|
8
8
|
}
|
|
9
9
|
export declare namespace OptionType {
|
package/dist/ast/OptionType.js
CHANGED
|
@@ -3,7 +3,7 @@ import { AbstractContainerType } from "./AbstractContainerType.js";
|
|
|
3
3
|
* A type with zero or one values of an item type.
|
|
4
4
|
*/
|
|
5
5
|
export class OptionType extends AbstractContainerType {
|
|
6
|
-
kind = "
|
|
6
|
+
kind = "Option";
|
|
7
7
|
constructor({ itemType, }) {
|
|
8
8
|
super({
|
|
9
9
|
comment: itemType.comment,
|
package/dist/ast/SetType.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { AbstractCollectionType } from "./AbstractCollectionType.js";
|
|
|
3
3
|
* An unordered set of items of a specific type.
|
|
4
4
|
*/
|
|
5
5
|
export declare class SetType<ItemTypeT extends SetType.ItemType = SetType.ItemType> extends AbstractCollectionType<ItemTypeT> {
|
|
6
|
-
readonly kind = "
|
|
6
|
+
readonly kind = "Set";
|
|
7
7
|
/**
|
|
8
8
|
* Minimum number of items in the set.
|
|
9
9
|
*/
|
package/dist/ast/SetType.js
CHANGED
package/dist/ast/TermType.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { AbstractTermType } from "./AbstractTermType.js";
|
|
|
5
5
|
* Term type that is neither an IdentifierType nor a LiteralType. For example, a term type with nodeKinds = Literal | NamedNode.
|
|
6
6
|
*/
|
|
7
7
|
export declare class TermType extends AbstractTermType<Literal | NamedNode, BlankNode | Literal | NamedNode> {
|
|
8
|
-
readonly kind = "
|
|
8
|
+
readonly kind = "Term";
|
|
9
9
|
readonly nodeKinds: ReadonlySet<NodeKind>;
|
|
10
10
|
constructor({ nodeKinds, ...superParameters }: ConstructorParameters<typeof AbstractTermType<Literal | NamedNode, BlankNode | Literal | NamedNode>>[0] & {
|
|
11
11
|
nodeKinds: ReadonlySet<NodeKind>;
|
package/dist/ast/TermType.js
CHANGED
|
@@ -4,7 +4,7 @@ import { AbstractTermType } from "./AbstractTermType.js";
|
|
|
4
4
|
* Term type that is neither an IdentifierType nor a LiteralType. For example, a term type with nodeKinds = Literal | NamedNode.
|
|
5
5
|
*/
|
|
6
6
|
export class TermType extends AbstractTermType {
|
|
7
|
-
kind = "
|
|
7
|
+
kind = "Term";
|
|
8
8
|
nodeKinds;
|
|
9
9
|
constructor({ nodeKinds, ...superParameters }) {
|
|
10
10
|
super(superParameters);
|
package/dist/ast/Type.js
CHANGED
|
@@ -5,35 +5,35 @@ export var Type;
|
|
|
5
5
|
return false;
|
|
6
6
|
}
|
|
7
7
|
switch (left.kind) {
|
|
8
|
-
case "
|
|
8
|
+
case "BlankNode":
|
|
9
9
|
return left.equals(right);
|
|
10
|
-
case "
|
|
10
|
+
case "DefaultValue":
|
|
11
11
|
return left.equals(right);
|
|
12
|
-
case "
|
|
12
|
+
case "Identifier":
|
|
13
13
|
return left.equals(right);
|
|
14
|
-
case "
|
|
14
|
+
case "Intersection":
|
|
15
15
|
return left.equals(right);
|
|
16
|
-
case "
|
|
16
|
+
case "Iri":
|
|
17
17
|
return left.equals(right);
|
|
18
|
-
case "
|
|
18
|
+
case "Literal":
|
|
19
19
|
return left.equals(right);
|
|
20
|
-
case "
|
|
20
|
+
case "LazyObjectOption":
|
|
21
21
|
return left.equals(right);
|
|
22
|
-
case "
|
|
22
|
+
case "LazyObjectSet":
|
|
23
23
|
return left.equals(right);
|
|
24
|
-
case "
|
|
24
|
+
case "LazyObject":
|
|
25
25
|
return left.equals(right);
|
|
26
|
-
case "
|
|
26
|
+
case "List":
|
|
27
27
|
return left.equals(right);
|
|
28
|
-
case "
|
|
28
|
+
case "Object":
|
|
29
29
|
return left.equals(right);
|
|
30
|
-
case "
|
|
30
|
+
case "Option":
|
|
31
31
|
return left.equals(right);
|
|
32
|
-
case "
|
|
32
|
+
case "Term":
|
|
33
33
|
return left.equals(right);
|
|
34
|
-
case "
|
|
34
|
+
case "Union":
|
|
35
35
|
return left.equals(right);
|
|
36
|
-
case "
|
|
36
|
+
case "Set":
|
|
37
37
|
return left.equals(right);
|
|
38
38
|
}
|
|
39
39
|
}
|
package/dist/ast/UnionType.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { ObjectUnionType } from "./ObjectUnionType.js";
|
|
|
5
5
|
* A disjunction/union of types, corresponding to an sh:xone.
|
|
6
6
|
*/
|
|
7
7
|
export declare class UnionType<MemberTypeT extends UnionType.MemberType = UnionType.MemberType> extends AbstractCompoundType<UnionType.Member<MemberTypeT>, MemberTypeT> {
|
|
8
|
-
readonly kind = "
|
|
8
|
+
readonly kind = "Union";
|
|
9
9
|
isObjectUnionType(): this is ObjectUnionType;
|
|
10
10
|
toJSON(): {
|
|
11
11
|
members: {
|
package/dist/ast/UnionType.js
CHANGED
|
@@ -3,11 +3,11 @@ import { AbstractCompoundType } from "./AbstractCompoundType.js";
|
|
|
3
3
|
* A disjunction/union of types, corresponding to an sh:xone.
|
|
4
4
|
*/
|
|
5
5
|
export class UnionType extends AbstractCompoundType {
|
|
6
|
-
kind = "
|
|
6
|
+
kind = "Union";
|
|
7
7
|
isObjectUnionType() {
|
|
8
8
|
return (this.members.length > 0 &&
|
|
9
|
-
this.members.every((member) => member.type.kind === "
|
|
10
|
-
(member.type.kind === "
|
|
9
|
+
this.members.every((member) => member.type.kind === "Object" ||
|
|
10
|
+
(member.type.kind === "Union" && member.type.isObjectUnionType())));
|
|
11
11
|
}
|
|
12
12
|
toJSON() {
|
|
13
13
|
return {
|
|
@@ -10,17 +10,17 @@ export function transformAstToLabeledPropertyGraph(ast) {
|
|
|
10
10
|
for (const namedObjectTypeProperty of namedObjectType.properties) {
|
|
11
11
|
let itemType;
|
|
12
12
|
switch (namedObjectTypeProperty.type.kind) {
|
|
13
|
-
case "
|
|
14
|
-
case "
|
|
15
|
-
case "
|
|
16
|
-
case "
|
|
13
|
+
case "DefaultValue":
|
|
14
|
+
case "List":
|
|
15
|
+
case "Option":
|
|
16
|
+
case "Set":
|
|
17
17
|
itemType = namedObjectTypeProperty.type.itemType;
|
|
18
18
|
break;
|
|
19
|
-
case "
|
|
19
|
+
case "LazyObject":
|
|
20
20
|
itemType = namedObjectTypeProperty.type.resolveType;
|
|
21
21
|
break;
|
|
22
|
-
case "
|
|
23
|
-
case "
|
|
22
|
+
case "LazyObjectOption":
|
|
23
|
+
case "LazyObjectSet":
|
|
24
24
|
itemType = namedObjectTypeProperty.type.resolveType.itemType;
|
|
25
25
|
break;
|
|
26
26
|
default:
|
|
@@ -28,9 +28,9 @@ export function transformAstToLabeledPropertyGraph(ast) {
|
|
|
28
28
|
break;
|
|
29
29
|
}
|
|
30
30
|
switch (itemType.kind) {
|
|
31
|
-
case "
|
|
32
|
-
case "
|
|
33
|
-
case "
|
|
31
|
+
case "Intersection":
|
|
32
|
+
case "Object":
|
|
33
|
+
case "Union":
|
|
34
34
|
if (itemType.name.isJust()) {
|
|
35
35
|
relationships.push({
|
|
36
36
|
id: namedObjectTypeProperty.shapeIdentifier.toString(),
|
|
@@ -25,11 +25,7 @@ export declare abstract class AbstractCollectionType<ItemTypeT extends AbstractC
|
|
|
25
25
|
get name(): Code;
|
|
26
26
|
get schemaType(): Code;
|
|
27
27
|
get validationFunction(): Maybe<Code>;
|
|
28
|
-
protected get
|
|
29
|
-
minCount: number | undefined;
|
|
30
|
-
item: Code;
|
|
31
|
-
kind: Code;
|
|
32
|
-
};
|
|
28
|
+
protected get schemaInitializers(): readonly Code[];
|
|
33
29
|
fromJsonExpression({ variables, }: Parameters<AbstractContainerType<ItemTypeT>["fromJsonExpression"]>[0]): Code;
|
|
34
30
|
graphqlResolveExpression({ variables, }: Parameters<AbstractContainerType<ItemTypeT>["graphqlResolveExpression"]>[0]): Code;
|
|
35
31
|
jsonSchema(parameters: Parameters<AbstractContainerType<ItemTypeT>["jsonSchema"]>[0]): Code;
|
|
@@ -73,11 +73,12 @@ export class AbstractCollectionType extends AbstractContainerType {
|
|
|
73
73
|
get validationFunction() {
|
|
74
74
|
return Maybe.of(code `${this.reusables.snippets.validateArray}(${this.itemType.validationFunction.orDefault(this.itemValidationFunctionDefault)}, ${literalOf(!this._mutable)})`);
|
|
75
75
|
}
|
|
76
|
-
get
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}
|
|
76
|
+
get schemaInitializers() {
|
|
77
|
+
let schemaInitializers = super.schemaInitializers;
|
|
78
|
+
if (this.minCount > 0n) {
|
|
79
|
+
schemaInitializers = schemaInitializers.concat(code `minCount: ${Number(this.minCount)}`);
|
|
80
|
+
}
|
|
81
|
+
return schemaInitializers;
|
|
81
82
|
}
|
|
82
83
|
fromJsonExpression({ variables, }) {
|
|
83
84
|
let expression = variables.value;
|
|
@@ -25,7 +25,7 @@ import { type Code } from "./ts-poet-wrapper.js";
|
|
|
25
25
|
*/
|
|
26
26
|
export declare abstract class AbstractContainerType<ItemTypeT extends AbstractContainerType.ItemType> extends AbstractType {
|
|
27
27
|
readonly declaration: Maybe<Code>;
|
|
28
|
-
abstract readonly kind: "
|
|
28
|
+
abstract readonly kind: "DefaultValue" | "List" | "Option" | "Set";
|
|
29
29
|
/**
|
|
30
30
|
* Container item type.
|
|
31
31
|
*
|
|
@@ -36,14 +36,11 @@ export declare abstract class AbstractContainerType<ItemTypeT extends AbstractCo
|
|
|
36
36
|
itemType: ItemTypeT;
|
|
37
37
|
} & ConstructorParameters<typeof AbstractType>[0]);
|
|
38
38
|
get recursive(): boolean;
|
|
39
|
-
get
|
|
39
|
+
get referencesObjectType(): boolean;
|
|
40
40
|
get toRdfResourceValueTypes(): AbstractType["toRdfResourceValueTypes"];
|
|
41
41
|
protected get itemConversionFunctionDefault(): AbstractType.ConversionFunction;
|
|
42
42
|
protected get itemValidationFunctionDefault(): Code;
|
|
43
|
-
protected get
|
|
44
|
-
item: Code;
|
|
45
|
-
kind: Code;
|
|
46
|
-
};
|
|
43
|
+
protected get schemaInitializers(): readonly Code[];
|
|
47
44
|
}
|
|
48
45
|
export declare namespace AbstractContainerType {
|
|
49
46
|
type ConversionFunction = AbstractType.ConversionFunction;
|
|
@@ -7,7 +7,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { Maybe } from "purify-ts";
|
|
8
8
|
import { Memoize } from "typescript-memoize";
|
|
9
9
|
import { AbstractType } from "./AbstractType.js";
|
|
10
|
-
import { removeUndefined } from "./removeUndefined.js";
|
|
11
10
|
import { code } from "./ts-poet-wrapper.js";
|
|
12
11
|
/**
|
|
13
12
|
* Abstract base class for types that contain other types e.g., ListType, OptionType, SetType.
|
|
@@ -27,8 +26,8 @@ export class AbstractContainerType extends AbstractType {
|
|
|
27
26
|
get recursive() {
|
|
28
27
|
return this.itemType.recursive;
|
|
29
28
|
}
|
|
30
|
-
get
|
|
31
|
-
return
|
|
29
|
+
get referencesObjectType() {
|
|
30
|
+
return this.itemType.referencesObjectType;
|
|
32
31
|
}
|
|
33
32
|
get toRdfResourceValueTypes() {
|
|
34
33
|
return this.itemType.toRdfResourceValueTypes;
|
|
@@ -47,16 +46,17 @@ export class AbstractContainerType extends AbstractType {
|
|
|
47
46
|
get itemValidationFunctionDefault() {
|
|
48
47
|
return code `${this.reusables.snippets.identityValidationFunction}`;
|
|
49
48
|
}
|
|
50
|
-
get
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
49
|
+
get schemaInitializers() {
|
|
50
|
+
const initializers = super.schemaInitializers.concat();
|
|
51
|
+
if (this.recursive || this.itemType.referencesObjectType) {
|
|
52
|
+
initializers.push(code `get itemType() { return ${this.itemType.schema}; }`);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
initializers.push(code `itemType: ${this.itemType.schema}`);
|
|
56
|
+
}
|
|
57
|
+
return initializers;
|
|
55
58
|
}
|
|
56
59
|
}
|
|
57
|
-
__decorate([
|
|
58
|
-
Memoize()
|
|
59
|
-
], AbstractContainerType.prototype, "schema", null);
|
|
60
60
|
__decorate([
|
|
61
61
|
Memoize()
|
|
62
62
|
], AbstractContainerType.prototype, "itemConversionFunctionDefault", null);
|
|
@@ -67,31 +67,31 @@ __decorate([
|
|
|
67
67
|
AbstractContainerType.GraphqlType = AbstractType.GraphqlType;
|
|
68
68
|
function isItemType(type) {
|
|
69
69
|
switch (type.kind) {
|
|
70
|
-
case "
|
|
71
|
-
case "
|
|
72
|
-
case "
|
|
73
|
-
case "
|
|
74
|
-
case "
|
|
75
|
-
case "
|
|
76
|
-
case "
|
|
77
|
-
case "
|
|
78
|
-
case "
|
|
79
|
-
case "
|
|
80
|
-
case "
|
|
81
|
-
case "
|
|
82
|
-
case "
|
|
83
|
-
case "
|
|
84
|
-
case "
|
|
70
|
+
case "AnonymousUnion":
|
|
71
|
+
case "BigDecimal":
|
|
72
|
+
case "BigInt":
|
|
73
|
+
case "BlankNode":
|
|
74
|
+
case "Boolean":
|
|
75
|
+
case "DateTime":
|
|
76
|
+
case "Date":
|
|
77
|
+
case "Float":
|
|
78
|
+
case "Identifier":
|
|
79
|
+
case "Int":
|
|
80
|
+
case "Iri":
|
|
81
|
+
case "List":
|
|
82
|
+
case "Literal":
|
|
83
|
+
case "NamedObjectUnion":
|
|
84
|
+
case "NamedUnion":
|
|
85
85
|
case "NamedObjectType":
|
|
86
|
-
case "
|
|
87
|
-
case "
|
|
86
|
+
case "String":
|
|
87
|
+
case "Term":
|
|
88
88
|
return true;
|
|
89
|
-
case "
|
|
90
|
-
case "
|
|
91
|
-
case "
|
|
92
|
-
case "
|
|
93
|
-
case "
|
|
94
|
-
case "
|
|
89
|
+
case "DefaultValue":
|
|
90
|
+
case "LazyObjectOption":
|
|
91
|
+
case "LazyObjectSet":
|
|
92
|
+
case "LazyObject":
|
|
93
|
+
case "Option":
|
|
94
|
+
case "Set":
|
|
95
95
|
return false;
|
|
96
96
|
}
|
|
97
97
|
}
|
|
@@ -4,7 +4,7 @@ export declare abstract class AbstractDateType extends AbstractPrimitiveType<Dat
|
|
|
4
4
|
readonly equalsFunction: Code;
|
|
5
5
|
readonly filterFunction: Code;
|
|
6
6
|
readonly filterType: Code;
|
|
7
|
-
abstract readonly kind: "
|
|
7
|
+
abstract readonly kind: "DateTime" | "Date";
|
|
8
8
|
readonly mutable = false;
|
|
9
9
|
readonly name = "Date";
|
|
10
10
|
readonly schemaType: Code;
|
|
@@ -3,7 +3,7 @@ import type { IdentifierNodeKind } from "@shaclmate/shacl-ast";
|
|
|
3
3
|
import { AbstractTermType } from "./AbstractTermType.js";
|
|
4
4
|
import { type Code } from "./ts-poet-wrapper.js";
|
|
5
5
|
export declare abstract class AbstractIdentifierType<IdentifierT extends BlankNode | NamedNode> extends AbstractTermType<NamedNode, IdentifierT> {
|
|
6
|
-
abstract readonly kind: "
|
|
6
|
+
abstract readonly kind: "BlankNode" | "Identifier" | "Iri";
|
|
7
7
|
abstract readonly nodeKinds: ReadonlySet<IdentifierNodeKind>;
|
|
8
8
|
abstract readonly parseFunction: Code;
|
|
9
9
|
readonly stringifyFunction: Code;
|
|
@@ -16,6 +16,7 @@ export declare abstract class AbstractLazyObjectType<PartialTypeT extends Abstra
|
|
|
16
16
|
readonly declaration: Maybe<Code>;
|
|
17
17
|
readonly discriminantProperty: AbstractType["discriminantProperty"];
|
|
18
18
|
readonly mutable = false;
|
|
19
|
+
readonly referencesObjectType = true;
|
|
19
20
|
readonly typeofs: "object"[];
|
|
20
21
|
readonly validationFunction: Maybe<Code>;
|
|
21
22
|
constructor({ partialType, resolveType, ...superParameters }: {
|
|
@@ -23,27 +24,27 @@ export declare abstract class AbstractLazyObjectType<PartialTypeT extends Abstra
|
|
|
23
24
|
resolveType: ResolveTypeT;
|
|
24
25
|
} & ConstructorParameters<typeof AbstractType>[0]);
|
|
25
26
|
get equalsFunction(): Code;
|
|
26
|
-
get hashFunction(): Code;
|
|
27
27
|
get filterFunction(): Code;
|
|
28
28
|
get filterType(): Code;
|
|
29
29
|
get graphqlType(): AbstractType.GraphqlType;
|
|
30
|
+
get hashFunction(): Code;
|
|
30
31
|
get name(): Code;
|
|
31
32
|
get recursive(): boolean;
|
|
32
|
-
get
|
|
33
|
+
protected get schemaInitializers(): readonly Code[];
|
|
33
34
|
get schemaType(): Code;
|
|
34
35
|
get toRdfResourceValueTypes(): AbstractType["toRdfResourceValueTypes"];
|
|
35
36
|
get valueSparqlConstructTriplesFunction(): Code;
|
|
36
37
|
get valueSparqlWherePatternsFunction(): Code;
|
|
37
|
-
protected get schemaObject(): {
|
|
38
|
-
partial: Code;
|
|
39
|
-
kind: Code;
|
|
40
|
-
};
|
|
41
38
|
jsonSchema(parameters: Parameters<AbstractType["jsonSchema"]>[0]): Code;
|
|
42
39
|
jsonType(parameters?: Parameters<AbstractType["jsonType"]>[0]): AbstractType.JsonType;
|
|
43
40
|
jsonUiSchemaElement(parameters: Parameters<AbstractType["jsonUiSchemaElement"]>[0]): Maybe<Code>;
|
|
44
41
|
toJsonExpression({ variables, }: Parameters<AbstractType["toJsonExpression"]>[0]): Code;
|
|
45
42
|
toRdfResourceValuesExpression({ variables, }: Parameters<AbstractType["toRdfResourceValuesExpression"]>[0]): Code;
|
|
46
43
|
toStringExpression({ variables, }: Parameters<AbstractType["toStringExpression"]>[0]): Code;
|
|
44
|
+
protected resolveToPartialFunction<ObjectTypeT extends AbstractLazyObjectType.ObjectTypeConstraint>({ partialType, resolveType, }: {
|
|
45
|
+
partialType: ObjectTypeT;
|
|
46
|
+
resolveType: ObjectTypeT;
|
|
47
|
+
}): Code;
|
|
47
48
|
protected resolvedNamedObjectUnionTypeToPartialNamedObjectUnionTypeConversion({ resolvedNamedObjectUnionType, partialNamedObjectUnionType, variables, }: {
|
|
48
49
|
resolvedNamedObjectUnionType: NamedObjectUnionType;
|
|
49
50
|
partialNamedObjectUnionType: NamedObjectUnionType;
|
|
@@ -51,10 +52,6 @@ export declare abstract class AbstractLazyObjectType<PartialTypeT extends Abstra
|
|
|
51
52
|
resolvedObjectUnion: Code;
|
|
52
53
|
};
|
|
53
54
|
}): Code;
|
|
54
|
-
protected resolveToPartialFunction<ObjectTypeT extends AbstractLazyObjectType.ObjectTypeConstraint>({ partialType, resolveType, }: {
|
|
55
|
-
partialType: ObjectTypeT;
|
|
56
|
-
resolveType: ObjectTypeT;
|
|
57
|
-
}): Code;
|
|
58
55
|
}
|
|
59
56
|
export declare namespace AbstractLazyObjectType {
|
|
60
57
|
type ObjectTypeConstraint = NamedObjectType | NamedObjectUnionType;
|