@shaclmate/compiler 4.0.19 → 4.0.21
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/Compiler.d.ts +4 -1
- package/dist/Compiler.js +4 -1
- package/dist/ShapesGraphToAstTransformer.d.ts +4 -1
- package/dist/ShapesGraphToAstTransformer.js +9 -6
- package/dist/_ShapesGraphToAstTransformer/transformPropertyShapeToAstObjectTypeProperty.js +1 -1
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstListType.js +1 -1
- package/dist/ast/AbstractCollectionType.d.ts +1 -1
- package/dist/ast/AbstractContainerType.d.ts +1 -1
- package/dist/ast/AbstractLazyObjectType.d.ts +19 -79
- package/dist/ast/AbstractTermType.d.ts +3 -33
- package/dist/ast/AbstractTermType.js +2 -3
- package/dist/ast/AbstractType.d.ts +1 -1
- package/dist/ast/AbstractType.js +1 -2
- package/dist/ast/BlankNodeType.d.ts +1 -1
- package/dist/ast/DefaultValueType.d.ts +2 -17
- package/dist/ast/DefaultValueType.js +1 -2
- package/dist/ast/IdentifierType.d.ts +1 -1
- package/dist/ast/LiteralType.d.ts +8 -98
- package/dist/ast/LiteralType.js +5 -7
- package/dist/ast/ObjectCompoundType.js +1 -2
- package/dist/ast/ObjectType.d.ts +9 -39
- package/dist/ast/ObjectType.js +9 -13
- package/dist/ast/SetType.d.ts +1 -1
- package/dist/ast/UnionType.d.ts +1 -1
- package/dist/generators/transformAstToLabeledPropertyGraph.js +3 -4
- package/dist/generators/ts/AbstractContainerType.d.ts +1 -0
- package/dist/generators/ts/AbstractContainerType.js +3 -0
- package/dist/generators/ts/AbstractDateType.js +1 -1
- package/dist/generators/ts/AbstractIdentifierType.d.ts +2 -2
- package/dist/generators/ts/AbstractIdentifierType.js +2 -5
- package/dist/generators/ts/AbstractLazyObjectType.d.ts +2 -1
- package/dist/generators/ts/AbstractLazyObjectType.js +6 -3
- package/dist/generators/ts/AbstractNamedUnionType.js +2 -2
- package/dist/generators/ts/AbstractNumericType.js +1 -1
- package/dist/generators/ts/AbstractTermType.d.ts +1 -0
- package/dist/generators/ts/AbstractTermType.js +8 -2
- package/dist/generators/ts/AbstractType.d.ts +21 -14
- package/dist/generators/ts/AbstractType.js +3 -1
- package/dist/generators/ts/AbstractUnionType.d.ts +5 -4
- package/dist/generators/ts/AbstractUnionType.js +83 -59
- package/dist/generators/ts/BlankNodeType.d.ts +2 -2
- package/dist/generators/ts/BlankNodeType.js +1 -1
- package/dist/generators/ts/BooleanType.js +1 -1
- package/dist/generators/ts/DefaultValueType.js +1 -1
- package/dist/generators/ts/IdentifierType.d.ts +2 -2
- package/dist/generators/ts/IdentifierType.js +1 -1
- package/dist/generators/ts/IriType.d.ts +1 -1
- package/dist/generators/ts/IriType.js +8 -13
- package/dist/generators/ts/LazyObjectOptionType.d.ts +1 -0
- package/dist/generators/ts/LazyObjectOptionType.js +1 -1
- package/dist/generators/ts/LazyObjectType.js +1 -1
- package/dist/generators/ts/ListType.js +5 -5
- package/dist/generators/ts/NamedObjectType.d.ts +1 -0
- package/dist/generators/ts/NamedObjectType.js +7 -0
- package/dist/generators/ts/NamedObjectUnionType.js +4 -1
- package/dist/generators/ts/SetType.js +1 -1
- package/dist/generators/ts/StringType.js +1 -1
- package/dist/generators/ts/TermType.js +3 -1
- package/dist/generators/ts/TsGenerator.d.ts +5 -0
- package/dist/generators/ts/TsGenerator.js +7 -1
- package/dist/generators/ts/TypeFactory.d.ts +5 -0
- package/dist/generators/ts/TypeFactory.js +35 -5
- package/dist/generators/ts/ZodGenerator.d.ts +4 -0
- package/dist/generators/ts/ZodGenerator.js +4 -1
- package/dist/generators/ts/_NamedObjectType/AbstractProperty.d.ts +4 -1
- package/dist/generators/ts/_NamedObjectType/AbstractProperty.js +3 -1
- package/dist/generators/ts/_NamedObjectType/IdentifierProperty.js +6 -5
- package/dist/generators/ts/_NamedObjectType/NamedObjectType_focusSparqlConstructTriplesFunctionDeclaration.js +2 -2
- package/dist/generators/ts/_NamedObjectType/NamedObjectType_focusSparqlWherePatternsFunctionDeclaration.js +2 -2
- package/dist/generators/ts/_NamedObjectType/NamedObjectType_fromRdfTypeVariableStatement.js +1 -1
- package/dist/generators/ts/_NamedObjectType/NamedObjectType_propertiesFromRdfResourceFunctionDeclaration.js +2 -2
- package/dist/generators/ts/_NamedObjectType/NamedObjectType_toRdfResourceFunctionOrMethodDeclaration.js +1 -1
- package/dist/generators/ts/_NamedObjectType/ShaclProperty.d.ts +1 -0
- package/dist/generators/ts/_NamedObjectType/ShaclProperty.js +16 -16
- package/dist/generators/ts/_NamedObjectType/identifierTypeDeclarations.js +6 -2
- package/dist/generators/ts/_snippets/parseIri.d.ts +2 -0
- package/dist/generators/ts/_snippets/parseIri.js +12 -0
- package/dist/generators/ts/_snippets/snippets_ToRdfResourceValuesFunction.js +4 -3
- package/dist/generators/ts/_snippets/snippets_listSparqlWherePatterns.js +7 -5
- package/dist/generators/ts/_snippets/snippets_parseBlankNode.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_parseBlankNode.js +12 -0
- package/dist/generators/ts/_snippets/snippets_parseIdentifier.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_parseIdentifier.js +6 -0
- package/dist/generators/ts/graphqlSchemaVariableStatement.js +3 -3
- package/dist/generators/ts/imports.d.ts +2 -0
- package/dist/generators/ts/imports.js +3 -1
- package/dist/generators/ts/rdfjsTermExpression.d.ts +4 -1
- package/dist/generators/ts/rdfjsTermExpression.js +2 -3
- package/dist/generators/ts/snippets.d.ts +3 -2
- package/dist/generators/ts/snippets.js +6 -4
- package/dist/generators/ts/synthesizeUberObjectUnionType.d.ts +2 -0
- package/dist/generators/ts/synthesizeUberObjectUnionType.js +4 -0
- package/dist/input/ShapesGraph.d.ts +4 -1
- package/dist/input/ShapesGraph.js +3 -2
- package/dist/input/generated.d.ts +323 -323
- package/dist/input/generated.js +19 -20
- package/package.json +6 -7
- package/dist/ast/termToJson.d.ts +0 -18
- package/dist/ast/termToJson.js +0 -18
- package/dist/generators/ts/_snippets/snippets_blankNodeFromString.d.ts +0 -2
- package/dist/generators/ts/_snippets/snippets_blankNodeFromString.js +0 -11
- package/dist/generators/ts/_snippets/snippets_identifierFromString.d.ts +0 -2
- package/dist/generators/ts/_snippets/snippets_identifierFromString.js +0 -8
- package/dist/logger.d.ts +0 -2
- package/dist/logger.js +0 -8
package/dist/Compiler.d.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import type { Either } from "purify-ts";
|
|
2
|
+
import type { Logger } from "ts-log";
|
|
2
3
|
import type { TsFeature } from "./enums/TsFeature.js";
|
|
3
4
|
import type { Generator } from "./generators/Generator.js";
|
|
4
5
|
import type { ShapesGraph } from "./input/ShapesGraph.js";
|
|
5
6
|
export declare class Compiler {
|
|
6
7
|
private readonly generator;
|
|
8
|
+
private readonly logger;
|
|
7
9
|
private readonly tsFeaturesDefault?;
|
|
8
|
-
constructor({ generator, }: {
|
|
10
|
+
constructor({ generator, logger, }: {
|
|
9
11
|
generator: Generator;
|
|
12
|
+
logger: Logger;
|
|
10
13
|
tsFeaturesDefault?: ReadonlySet<TsFeature>;
|
|
11
14
|
});
|
|
12
15
|
compile(shapesGraph: ShapesGraph): Either<Error, string>;
|
package/dist/Compiler.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { ShapesGraphToAstTransformer } from "./ShapesGraphToAstTransformer.js";
|
|
2
2
|
export class Compiler {
|
|
3
3
|
generator;
|
|
4
|
+
logger;
|
|
4
5
|
tsFeaturesDefault;
|
|
5
|
-
constructor({ generator, }) {
|
|
6
|
+
constructor({ generator, logger, }) {
|
|
6
7
|
this.generator = generator;
|
|
8
|
+
this.logger = logger;
|
|
7
9
|
}
|
|
8
10
|
compile(shapesGraph) {
|
|
9
11
|
return new ShapesGraphToAstTransformer({
|
|
12
|
+
logger: this.logger,
|
|
10
13
|
shapesGraph,
|
|
11
14
|
tsFeaturesDefault: this.tsFeaturesDefault,
|
|
12
15
|
})
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import TermMap from "@rdfjs/term-map";
|
|
2
2
|
import type { BlankNode, NamedNode } from "@rdfjs/types";
|
|
3
3
|
import { Either } from "purify-ts";
|
|
4
|
+
import type { Logger } from "ts-log";
|
|
4
5
|
import type * as ast from "./ast/index.js";
|
|
5
6
|
import type { TsFeature } from "./enums/TsFeature.js";
|
|
6
7
|
import type * as input from "./input/index.js";
|
|
@@ -12,10 +13,12 @@ interface RelatedNodeShapes {
|
|
|
12
13
|
}
|
|
13
14
|
export declare class ShapesGraphToAstTransformer {
|
|
14
15
|
protected readonly cachedAstTypesByShapeIdentifier: TermMap<BlankNode | NamedNode, ast.Type>;
|
|
16
|
+
protected readonly logger: Logger;
|
|
15
17
|
protected readonly shapesGraph: input.ShapesGraph;
|
|
16
18
|
protected readonly relatedNodeShapesByIdentifier: TermMap<BlankNode | NamedNode, RelatedNodeShapes>;
|
|
17
19
|
protected tsFeaturesDefault: ReadonlySet<TsFeature>;
|
|
18
|
-
constructor({ shapesGraph, tsFeaturesDefault, }: {
|
|
20
|
+
constructor({ logger, shapesGraph, tsFeaturesDefault, }: {
|
|
21
|
+
logger: Logger;
|
|
19
22
|
shapesGraph: input.ShapesGraph;
|
|
20
23
|
tsFeaturesDefault?: ReadonlySet<TsFeature>;
|
|
21
24
|
});
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import TermMap from "@rdfjs/term-map";
|
|
2
|
-
import { Resource } from "@rdfx/resource";
|
|
3
2
|
import { dash } from "@tpluscode/rdf-ns-builders";
|
|
4
3
|
import { Either } from "purify-ts";
|
|
5
4
|
import { invariant } from "ts-invariant";
|
|
6
5
|
import { ShapeStack } from "./_ShapesGraphToAstTransformer/ShapeStack.js";
|
|
7
6
|
import { transformShapeToAstType } from "./_ShapesGraphToAstTransformer/transformShapeToAstType.js";
|
|
8
|
-
|
|
9
|
-
function relatedNodeShapes(shapesGraph) {
|
|
7
|
+
function relatedNodeShapes({ logger, shapesGraph, }) {
|
|
10
8
|
const immediateRelatedNodeShapes = new TermMap();
|
|
11
9
|
for (const childNodeShape of shapesGraph.nodeShapes) {
|
|
12
10
|
let childRelatedNodeShapes = immediateRelatedNodeShapes.get(childNodeShape.$identifier);
|
|
@@ -21,7 +19,7 @@ function relatedNodeShapes(shapesGraph) {
|
|
|
21
19
|
shapesGraph
|
|
22
20
|
.nodeShape(parentClassIdentifier)
|
|
23
21
|
.ifLeft((error) => {
|
|
24
|
-
logger.error("%s is rdfs:subClassOf %s which is either missing or not a node shape: %s", childNodeShape,
|
|
22
|
+
logger.error("%s is rdfs:subClassOf %s which is either missing or not a node shape: %s", childNodeShape, parentClassIdentifier, error.message);
|
|
25
23
|
})
|
|
26
24
|
.ifRight((parentNodeShape) => {
|
|
27
25
|
childRelatedNodeShapes.parents.set(parentNodeShape.$identifier, parentNodeShape);
|
|
@@ -76,11 +74,16 @@ function relatedNodeShapes(shapesGraph) {
|
|
|
76
74
|
export class ShapesGraphToAstTransformer {
|
|
77
75
|
// Members are protected so they're accessible to functions in other files
|
|
78
76
|
cachedAstTypesByShapeIdentifier = new TermMap();
|
|
77
|
+
logger;
|
|
79
78
|
shapesGraph;
|
|
80
79
|
relatedNodeShapesByIdentifier = new TermMap();
|
|
81
80
|
tsFeaturesDefault;
|
|
82
|
-
constructor({ shapesGraph, tsFeaturesDefault, }) {
|
|
83
|
-
this.
|
|
81
|
+
constructor({ logger, shapesGraph, tsFeaturesDefault, }) {
|
|
82
|
+
this.logger = logger;
|
|
83
|
+
this.relatedNodeShapesByIdentifier = relatedNodeShapes({
|
|
84
|
+
logger: this.logger,
|
|
85
|
+
shapesGraph,
|
|
86
|
+
});
|
|
84
87
|
this.shapesGraph = shapesGraph;
|
|
85
88
|
this.tsFeaturesDefault =
|
|
86
89
|
tsFeaturesDefault ??
|
|
@@ -20,7 +20,7 @@ export declare abstract class AbstractCollectionType<ItemTypeT extends AbstractC
|
|
|
20
20
|
label: string | undefined;
|
|
21
21
|
name: string | undefined;
|
|
22
22
|
recursive: boolean | undefined;
|
|
23
|
-
shapeIdentifier: string
|
|
23
|
+
shapeIdentifier: import("@rdfjs/types").BlankNode | import("@rdfjs/types").NamedNode<string>;
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
export declare namespace AbstractCollectionType {
|
|
@@ -34,7 +34,7 @@ export declare abstract class AbstractContainerType<ItemTypeT extends AbstractCo
|
|
|
34
34
|
label: string | undefined;
|
|
35
35
|
name: string | undefined;
|
|
36
36
|
recursive: boolean | undefined;
|
|
37
|
-
shapeIdentifier: string
|
|
37
|
+
shapeIdentifier: import("@rdfjs/types").BlankNode | import("@rdfjs/types").NamedNode<string>;
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
export declare namespace AbstractContainerType {
|
|
@@ -20,58 +20,28 @@ export declare abstract class AbstractLazyObjectType<PartialTypeT extends Abstra
|
|
|
20
20
|
equals(other: AbstractLazyObjectType<PartialTypeT, ResolveTypeT>): boolean;
|
|
21
21
|
toJSON(): {
|
|
22
22
|
partialType: {
|
|
23
|
-
fromRdfType: string | undefined;
|
|
23
|
+
fromRdfType: import("@rdfjs/types").NamedNode<string> | undefined;
|
|
24
24
|
identifierMintingStrategy: "blankNode" | "sha256" | "uuidv4" | undefined;
|
|
25
25
|
identifierType: {
|
|
26
|
-
hasValues: (
|
|
27
|
-
|
|
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;
|
|
26
|
+
hasValues: readonly import("@rdfjs/types").NamedNode<string>[] | undefined;
|
|
27
|
+
in: readonly import("@rdfjs/types").NamedNode<string>[] | undefined;
|
|
58
28
|
nodeKinds: NodeKind[];
|
|
59
29
|
comment: string | undefined;
|
|
60
30
|
kind: string;
|
|
61
31
|
label: string | undefined;
|
|
62
32
|
name: string | undefined;
|
|
63
33
|
recursive: boolean | undefined;
|
|
64
|
-
shapeIdentifier: string
|
|
34
|
+
shapeIdentifier: import("@rdfjs/types").BlankNode | import("@rdfjs/types").NamedNode<string>;
|
|
65
35
|
};
|
|
66
|
-
parentObjectTypes: string[] | undefined;
|
|
36
|
+
parentObjectTypes: (string | import("@rdfjs/types").BlankNode | import("@rdfjs/types").NamedNode<string>)[] | undefined;
|
|
67
37
|
synthetic: boolean | undefined;
|
|
68
|
-
toRdfTypes: string[] | undefined;
|
|
38
|
+
toRdfTypes: readonly import("@rdfjs/types").NamedNode<string>[] | undefined;
|
|
69
39
|
comment: string | undefined;
|
|
70
40
|
kind: string;
|
|
71
41
|
label: string | undefined;
|
|
72
42
|
name: string | undefined;
|
|
73
43
|
recursive: boolean | undefined;
|
|
74
|
-
shapeIdentifier: string
|
|
44
|
+
shapeIdentifier: import("@rdfjs/types").BlankNode | import("@rdfjs/types").NamedNode<string>;
|
|
75
45
|
} | {
|
|
76
46
|
members: {
|
|
77
47
|
discriminantValue: string | number | undefined;
|
|
@@ -82,7 +52,7 @@ export declare abstract class AbstractLazyObjectType<PartialTypeT extends Abstra
|
|
|
82
52
|
label: string | undefined;
|
|
83
53
|
name: string | undefined;
|
|
84
54
|
recursive: boolean | undefined;
|
|
85
|
-
shapeIdentifier: string
|
|
55
|
+
shapeIdentifier: import("@rdfjs/types").BlankNode | import("@rdfjs/types").NamedNode<string>;
|
|
86
56
|
} | {
|
|
87
57
|
itemType: any;
|
|
88
58
|
comment: string | undefined;
|
|
@@ -90,61 +60,31 @@ export declare abstract class AbstractLazyObjectType<PartialTypeT extends Abstra
|
|
|
90
60
|
label: string | undefined;
|
|
91
61
|
name: string | undefined;
|
|
92
62
|
recursive: boolean | undefined;
|
|
93
|
-
shapeIdentifier: string
|
|
63
|
+
shapeIdentifier: import("@rdfjs/types").BlankNode | import("@rdfjs/types").NamedNode<string>;
|
|
94
64
|
};
|
|
95
65
|
resolveType: {
|
|
96
|
-
fromRdfType: string | undefined;
|
|
66
|
+
fromRdfType: import("@rdfjs/types").NamedNode<string> | undefined;
|
|
97
67
|
identifierMintingStrategy: "blankNode" | "sha256" | "uuidv4" | undefined;
|
|
98
68
|
identifierType: {
|
|
99
|
-
hasValues: (
|
|
100
|
-
|
|
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;
|
|
69
|
+
hasValues: readonly import("@rdfjs/types").NamedNode<string>[] | undefined;
|
|
70
|
+
in: readonly import("@rdfjs/types").NamedNode<string>[] | undefined;
|
|
131
71
|
nodeKinds: NodeKind[];
|
|
132
72
|
comment: string | undefined;
|
|
133
73
|
kind: string;
|
|
134
74
|
label: string | undefined;
|
|
135
75
|
name: string | undefined;
|
|
136
76
|
recursive: boolean | undefined;
|
|
137
|
-
shapeIdentifier: string
|
|
77
|
+
shapeIdentifier: import("@rdfjs/types").BlankNode | import("@rdfjs/types").NamedNode<string>;
|
|
138
78
|
};
|
|
139
|
-
parentObjectTypes: string[] | undefined;
|
|
79
|
+
parentObjectTypes: (string | import("@rdfjs/types").BlankNode | import("@rdfjs/types").NamedNode<string>)[] | undefined;
|
|
140
80
|
synthetic: boolean | undefined;
|
|
141
|
-
toRdfTypes: string[] | undefined;
|
|
81
|
+
toRdfTypes: readonly import("@rdfjs/types").NamedNode<string>[] | undefined;
|
|
142
82
|
comment: string | undefined;
|
|
143
83
|
kind: string;
|
|
144
84
|
label: string | undefined;
|
|
145
85
|
name: string | undefined;
|
|
146
86
|
recursive: boolean | undefined;
|
|
147
|
-
shapeIdentifier: string
|
|
87
|
+
shapeIdentifier: import("@rdfjs/types").BlankNode | import("@rdfjs/types").NamedNode<string>;
|
|
148
88
|
} | {
|
|
149
89
|
members: {
|
|
150
90
|
discriminantValue: string | number | undefined;
|
|
@@ -155,7 +95,7 @@ export declare abstract class AbstractLazyObjectType<PartialTypeT extends Abstra
|
|
|
155
95
|
label: string | undefined;
|
|
156
96
|
name: string | undefined;
|
|
157
97
|
recursive: boolean | undefined;
|
|
158
|
-
shapeIdentifier: string
|
|
98
|
+
shapeIdentifier: import("@rdfjs/types").BlankNode | import("@rdfjs/types").NamedNode<string>;
|
|
159
99
|
} | {
|
|
160
100
|
itemType: any;
|
|
161
101
|
comment: string | undefined;
|
|
@@ -163,14 +103,14 @@ export declare abstract class AbstractLazyObjectType<PartialTypeT extends Abstra
|
|
|
163
103
|
label: string | undefined;
|
|
164
104
|
name: string | undefined;
|
|
165
105
|
recursive: boolean | undefined;
|
|
166
|
-
shapeIdentifier: string
|
|
106
|
+
shapeIdentifier: import("@rdfjs/types").BlankNode | import("@rdfjs/types").NamedNode<string>;
|
|
167
107
|
};
|
|
168
108
|
comment: string | undefined;
|
|
169
109
|
kind: string;
|
|
170
110
|
label: string | undefined;
|
|
171
111
|
name: string | undefined;
|
|
172
112
|
recursive: boolean | undefined;
|
|
173
|
-
shapeIdentifier: string
|
|
113
|
+
shapeIdentifier: import("@rdfjs/types").BlankNode | import("@rdfjs/types").NamedNode<string>;
|
|
174
114
|
};
|
|
175
115
|
}
|
|
176
116
|
export declare namespace AbstractLazyObjectType {
|
|
@@ -19,45 +19,15 @@ export declare abstract class AbstractTermType<ConstantTermT extends Literal | N
|
|
|
19
19
|
} & ConstructorParameters<typeof AbstractType>[0]);
|
|
20
20
|
equals(other: AbstractTermType<ConstantTermT, _RuntimeTermT>): boolean;
|
|
21
21
|
toJSON(): {
|
|
22
|
-
hasValues:
|
|
23
|
-
|
|
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;
|
|
22
|
+
hasValues: readonly ConstantTermT[] | undefined;
|
|
23
|
+
in: readonly ConstantTermT[] | undefined;
|
|
54
24
|
nodeKinds: import("@shaclmate/shacl-ast").NodeKind[];
|
|
55
25
|
comment: string | undefined;
|
|
56
26
|
kind: string;
|
|
57
27
|
label: string | undefined;
|
|
58
28
|
name: string | undefined;
|
|
59
29
|
recursive: boolean | undefined;
|
|
60
|
-
shapeIdentifier: string
|
|
30
|
+
shapeIdentifier: BlankNode | NamedNode<string>;
|
|
61
31
|
};
|
|
62
32
|
}
|
|
63
33
|
//# sourceMappingURL=AbstractTermType.d.ts.map
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AbstractType } from "./AbstractType.js";
|
|
2
2
|
import { arrayEquals, setEquals, strictEquals, termEquals } from "./equals.js";
|
|
3
|
-
import { termToJson } from "./termToJson.js";
|
|
4
3
|
/**
|
|
5
4
|
* Abstract base class of term types (BlankNodeType, IdentifierType, LiteralType, IriType, TermType).
|
|
6
5
|
*
|
|
@@ -39,8 +38,8 @@ export class AbstractTermType extends AbstractType {
|
|
|
39
38
|
toJSON() {
|
|
40
39
|
return {
|
|
41
40
|
...super.toJSON(),
|
|
42
|
-
hasValues: this.hasValues.length > 0 ? this.hasValues
|
|
43
|
-
in: this.in_.length > 0 ? this.in_
|
|
41
|
+
hasValues: this.hasValues.length > 0 ? this.hasValues : undefined,
|
|
42
|
+
in: this.in_.length > 0 ? this.in_ : undefined,
|
|
44
43
|
nodeKinds: [...this.nodeKinds],
|
|
45
44
|
};
|
|
46
45
|
}
|
package/dist/ast/AbstractType.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Resource } from "@rdfx/resource";
|
|
2
1
|
import { Maybe } from "purify-ts";
|
|
3
2
|
import { maybeEquals, strictEquals } from "./equals.js";
|
|
4
3
|
/**
|
|
@@ -43,7 +42,7 @@ export class AbstractType {
|
|
|
43
42
|
label: this.label.extract(),
|
|
44
43
|
name: this.name.extract(),
|
|
45
44
|
recursive: this.recursive ? true : undefined,
|
|
46
|
-
shapeIdentifier:
|
|
45
|
+
shapeIdentifier: this.shapeIdentifier,
|
|
47
46
|
};
|
|
48
47
|
}
|
|
49
48
|
toString() {
|
|
@@ -6,6 +6,6 @@ import { AbstractTermType } from "./AbstractTermType.js";
|
|
|
6
6
|
export declare class BlankNodeType extends AbstractTermType<NamedNode, BlankNode> {
|
|
7
7
|
readonly kind = "BlankNodeType";
|
|
8
8
|
readonly nodeKinds: ReadonlySet<"BlankNode">;
|
|
9
|
-
constructor(superParameters:
|
|
9
|
+
constructor(superParameters: Omit<ConstructorParameters<typeof AbstractTermType<NamedNode, BlankNode>>[0], "hasValues" | "in_">);
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=BlankNodeType.d.ts.map
|
|
@@ -18,29 +18,14 @@ export declare class DefaultValueType<ItemTypeT extends DefaultValueType.ItemTyp
|
|
|
18
18
|
});
|
|
19
19
|
equals(other: DefaultValueType<ItemTypeT>): boolean;
|
|
20
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
|
-
};
|
|
21
|
+
defaultValue: Literal | NamedNode<string>;
|
|
37
22
|
itemType: any;
|
|
38
23
|
comment: string | undefined;
|
|
39
24
|
kind: string;
|
|
40
25
|
label: string | undefined;
|
|
41
26
|
name: string | undefined;
|
|
42
27
|
recursive: boolean | undefined;
|
|
43
|
-
shapeIdentifier: string
|
|
28
|
+
shapeIdentifier: import("@rdfjs/types").BlankNode | NamedNode<string>;
|
|
44
29
|
};
|
|
45
30
|
}
|
|
46
31
|
export declare namespace DefaultValueType {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AbstractContainerType } from "./AbstractContainerType.js";
|
|
2
2
|
import { termEquals } from "./equals.js";
|
|
3
|
-
import { termToJson } from "./termToJson.js";
|
|
4
3
|
/**
|
|
5
4
|
* A type with an sh:defaultValue.
|
|
6
5
|
*
|
|
@@ -34,7 +33,7 @@ export class DefaultValueType extends AbstractContainerType {
|
|
|
34
33
|
toJSON() {
|
|
35
34
|
return {
|
|
36
35
|
...super.toJSON(),
|
|
37
|
-
defaultValue:
|
|
36
|
+
defaultValue: this.defaultValue,
|
|
38
37
|
};
|
|
39
38
|
}
|
|
40
39
|
}
|
|
@@ -7,6 +7,6 @@ import { AbstractTermType } from "./AbstractTermType.js";
|
|
|
7
7
|
export declare class IdentifierType extends AbstractTermType<NamedNode, BlankNode | NamedNode> {
|
|
8
8
|
readonly kind = "IdentifierType";
|
|
9
9
|
readonly nodeKinds: ReadonlySet<IdentifierNodeKind>;
|
|
10
|
-
constructor(superParameters:
|
|
10
|
+
constructor(superParameters: Omit<ConstructorParameters<typeof AbstractTermType<NamedNode, BlankNode>>[0], "hasValues" | "in_">);
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=IdentifierType.d.ts.map
|
|
@@ -20,111 +20,21 @@ export declare class LiteralType extends AbstractTermType<Literal, Literal> {
|
|
|
20
20
|
} & Omit<ConstructorParameters<typeof AbstractTermType<Literal, Literal>>[0], "nodeKinds">);
|
|
21
21
|
equals(other: AbstractTermType<Literal, Literal>): boolean;
|
|
22
22
|
toJSON(): {
|
|
23
|
-
datatype: string | undefined;
|
|
23
|
+
datatype: NamedNode<string> | undefined;
|
|
24
24
|
languageIn: readonly string[] | undefined;
|
|
25
|
-
maxExclusive:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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;
|
|
25
|
+
maxExclusive: Literal | undefined;
|
|
26
|
+
maxInclusive: Literal | undefined;
|
|
27
|
+
minExclusive: Literal | undefined;
|
|
28
|
+
minInclusive: Literal | undefined;
|
|
29
|
+
hasValues: readonly Literal[] | undefined;
|
|
30
|
+
in: readonly Literal[] | undefined;
|
|
121
31
|
nodeKinds: import("@shaclmate/shacl-ast").NodeKind[];
|
|
122
32
|
comment: string | undefined;
|
|
123
33
|
kind: string;
|
|
124
34
|
label: string | undefined;
|
|
125
35
|
name: string | undefined;
|
|
126
36
|
recursive: boolean | undefined;
|
|
127
|
-
shapeIdentifier: string
|
|
37
|
+
shapeIdentifier: import("@rdfjs/types").BlankNode | NamedNode<string>;
|
|
128
38
|
};
|
|
129
39
|
}
|
|
130
40
|
//# sourceMappingURL=LiteralType.d.ts.map
|
package/dist/ast/LiteralType.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { Resource } from "@rdfx/resource";
|
|
2
1
|
import { AbstractTermType } from "./AbstractTermType.js";
|
|
3
2
|
import { arrayEquals, maybeEquals, strictEquals, termEquals, } from "./equals.js";
|
|
4
|
-
import { termToJson } from "./termToJson.js";
|
|
5
3
|
export class LiteralType extends AbstractTermType {
|
|
6
4
|
datatype;
|
|
7
5
|
kind = "LiteralType";
|
|
@@ -48,12 +46,12 @@ export class LiteralType extends AbstractTermType {
|
|
|
48
46
|
toJSON() {
|
|
49
47
|
return {
|
|
50
48
|
...super.toJSON(),
|
|
51
|
-
datatype: this.datatype.
|
|
49
|
+
datatype: this.datatype.extract(),
|
|
52
50
|
languageIn: this.languageIn.length > 0 ? this.languageIn : undefined,
|
|
53
|
-
maxExclusive: this.maxExclusive.
|
|
54
|
-
maxInclusive: this.maxInclusive.
|
|
55
|
-
minExclusive: this.minExclusive.
|
|
56
|
-
minInclusive: this.minInclusive.
|
|
51
|
+
maxExclusive: this.maxExclusive.extract(),
|
|
52
|
+
maxInclusive: this.maxInclusive.extract(),
|
|
53
|
+
minExclusive: this.minExclusive.extract(),
|
|
54
|
+
minInclusive: this.minInclusive.extract(),
|
|
57
55
|
};
|
|
58
56
|
}
|
|
59
57
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import TermSet from "@rdfjs/term-set";
|
|
2
|
-
import { Resource } from "@rdfx/resource";
|
|
3
2
|
import { Maybe } from "purify-ts";
|
|
4
3
|
import { invariant } from "ts-invariant";
|
|
5
4
|
import { BlankNodeType } from "./BlankNodeType.js";
|
|
@@ -79,7 +78,7 @@ export var ObjectCompoundType;
|
|
|
79
78
|
}
|
|
80
79
|
if (fromRdfTypes.size > 0 &&
|
|
81
80
|
fromRdfTypes.size !== expectUniqueFromRdfTypesCount) {
|
|
82
|
-
throw new Error(`one or more ${objectCompoundType} members ([${memberObjectTypes_.map((memberType) => memberType.toString()).join(", ")}]) lack distinguishing fromRdfType's ({${[...fromRdfTypes].
|
|
81
|
+
throw new Error(`one or more ${objectCompoundType} members ([${memberObjectTypes_.map((memberType) => memberType.toString()).join(", ")}]) lack distinguishing fromRdfType's ({${[...fromRdfTypes].join(", ")}})`);
|
|
83
82
|
}
|
|
84
83
|
return memberObjectTypes_;
|
|
85
84
|
}
|