@_linked/core 2.12.0 → 2.13.0

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 (246) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/esm/queries/IRPipeline.d.ts +7 -1
  3. package/lib/esm/queries/IRPipeline.js +20 -6
  4. package/lib/esm/queries/IRPipeline.js.map +1 -1
  5. package/lib/esm/queries/queryDispatch.js +12 -2
  6. package/lib/esm/queries/queryDispatch.js.map +1 -1
  7. package/package.json +10 -13
  8. package/lib/cjs/collections/CoreSet.d.ts +0 -47
  9. package/lib/cjs/collections/CoreSet.js +0 -136
  10. package/lib/cjs/collections/CoreSet.js.map +0 -1
  11. package/lib/cjs/collections/ShapeSet.d.ts +0 -6
  12. package/lib/cjs/collections/ShapeSet.js +0 -20
  13. package/lib/cjs/collections/ShapeSet.js.map +0 -1
  14. package/lib/cjs/expressions/Expr.d.ts +0 -29
  15. package/lib/cjs/expressions/Expr.js +0 -80
  16. package/lib/cjs/expressions/Expr.js.map +0 -1
  17. package/lib/cjs/expressions/ExpressionMethods.d.ts +0 -85
  18. package/lib/cjs/expressions/ExpressionMethods.js +0 -3
  19. package/lib/cjs/expressions/ExpressionMethods.js.map +0 -1
  20. package/lib/cjs/expressions/ExpressionNode.d.ts +0 -144
  21. package/lib/cjs/expressions/ExpressionNode.js +0 -432
  22. package/lib/cjs/expressions/ExpressionNode.js.map +0 -1
  23. package/lib/cjs/index.d.ts +0 -29
  24. package/lib/cjs/index.js +0 -65
  25. package/lib/cjs/index.js.map +0 -1
  26. package/lib/cjs/interfaces/ICoreIterable.d.ts +0 -14
  27. package/lib/cjs/interfaces/ICoreIterable.js +0 -3
  28. package/lib/cjs/interfaces/ICoreIterable.js.map +0 -1
  29. package/lib/cjs/interfaces/IDataset.d.ts +0 -26
  30. package/lib/cjs/interfaces/IDataset.js +0 -3
  31. package/lib/cjs/interfaces/IDataset.js.map +0 -1
  32. package/lib/cjs/interfaces/IFileStore.d.ts +0 -16
  33. package/lib/cjs/interfaces/IFileStore.js +0 -3
  34. package/lib/cjs/interfaces/IFileStore.js.map +0 -1
  35. package/lib/cjs/ontologies/linked-core.d.ts +0 -15
  36. package/lib/cjs/ontologies/linked-core.js +0 -38
  37. package/lib/cjs/ontologies/linked-core.js.map +0 -1
  38. package/lib/cjs/ontologies/npm.d.ts +0 -6
  39. package/lib/cjs/ontologies/npm.js +0 -15
  40. package/lib/cjs/ontologies/npm.js.map +0 -1
  41. package/lib/cjs/ontologies/owl.d.ts +0 -14
  42. package/lib/cjs/ontologies/owl.js +0 -21
  43. package/lib/cjs/ontologies/owl.js.map +0 -1
  44. package/lib/cjs/ontologies/rdf.d.ts +0 -13
  45. package/lib/cjs/ontologies/rdf.js +0 -27
  46. package/lib/cjs/ontologies/rdf.js.map +0 -1
  47. package/lib/cjs/ontologies/rdfs.d.ts +0 -16
  48. package/lib/cjs/ontologies/rdfs.js +0 -33
  49. package/lib/cjs/ontologies/rdfs.js.map +0 -1
  50. package/lib/cjs/ontologies/shacl.d.ts +0 -103
  51. package/lib/cjs/ontologies/shacl.js +0 -152
  52. package/lib/cjs/ontologies/shacl.js.map +0 -1
  53. package/lib/cjs/ontologies/xsd.d.ts +0 -19
  54. package/lib/cjs/ontologies/xsd.js +0 -41
  55. package/lib/cjs/ontologies/xsd.js.map +0 -1
  56. package/lib/cjs/package.d.ts +0 -4
  57. package/lib/cjs/package.js +0 -6
  58. package/lib/cjs/package.js.map +0 -1
  59. package/lib/cjs/package.json +0 -9
  60. package/lib/cjs/paths/PropertyPathExpr.d.ts +0 -38
  61. package/lib/cjs/paths/PropertyPathExpr.js +0 -221
  62. package/lib/cjs/paths/PropertyPathExpr.js.map +0 -1
  63. package/lib/cjs/paths/normalizePropertyPath.d.ts +0 -23
  64. package/lib/cjs/paths/normalizePropertyPath.js +0 -75
  65. package/lib/cjs/paths/normalizePropertyPath.js.map +0 -1
  66. package/lib/cjs/paths/pathExprToSparql.d.ts +0 -14
  67. package/lib/cjs/paths/pathExprToSparql.js +0 -136
  68. package/lib/cjs/paths/pathExprToSparql.js.map +0 -1
  69. package/lib/cjs/queries/ContextRef.d.ts +0 -32
  70. package/lib/cjs/queries/ContextRef.js +0 -69
  71. package/lib/cjs/queries/ContextRef.js.map +0 -1
  72. package/lib/cjs/queries/CreateBuilder.d.ts +0 -59
  73. package/lib/cjs/queries/CreateBuilder.js +0 -138
  74. package/lib/cjs/queries/CreateBuilder.js.map +0 -1
  75. package/lib/cjs/queries/CreateQuery.d.ts +0 -20
  76. package/lib/cjs/queries/CreateQuery.js +0 -3
  77. package/lib/cjs/queries/CreateQuery.js.map +0 -1
  78. package/lib/cjs/queries/DeleteBuilder.d.ts +0 -56
  79. package/lib/cjs/queries/DeleteBuilder.js +0 -172
  80. package/lib/cjs/queries/DeleteBuilder.js.map +0 -1
  81. package/lib/cjs/queries/DeleteQuery.d.ts +0 -37
  82. package/lib/cjs/queries/DeleteQuery.js +0 -3
  83. package/lib/cjs/queries/DeleteQuery.js.map +0 -1
  84. package/lib/cjs/queries/DslJsonExpression.d.ts +0 -68
  85. package/lib/cjs/queries/DslJsonExpression.js +0 -427
  86. package/lib/cjs/queries/DslJsonExpression.js.map +0 -1
  87. package/lib/cjs/queries/FieldSet.d.ts +0 -310
  88. package/lib/cjs/queries/FieldSet.js +0 -802
  89. package/lib/cjs/queries/FieldSet.js.map +0 -1
  90. package/lib/cjs/queries/IRAliasScope.d.ts +0 -20
  91. package/lib/cjs/queries/IRAliasScope.js +0 -52
  92. package/lib/cjs/queries/IRAliasScope.js.map +0 -1
  93. package/lib/cjs/queries/IRCanonicalize.d.ts +0 -19
  94. package/lib/cjs/queries/IRCanonicalize.js +0 -19
  95. package/lib/cjs/queries/IRCanonicalize.js.map +0 -1
  96. package/lib/cjs/queries/IRDesugar.d.ts +0 -123
  97. package/lib/cjs/queries/IRDesugar.js +0 -261
  98. package/lib/cjs/queries/IRDesugar.js.map +0 -1
  99. package/lib/cjs/queries/IRLower.d.ts +0 -25
  100. package/lib/cjs/queries/IRLower.js +0 -398
  101. package/lib/cjs/queries/IRLower.js.map +0 -1
  102. package/lib/cjs/queries/IRMutation.d.ts +0 -53
  103. package/lib/cjs/queries/IRMutation.js +0 -130
  104. package/lib/cjs/queries/IRMutation.js.map +0 -1
  105. package/lib/cjs/queries/IRPipeline.d.ts +0 -8
  106. package/lib/cjs/queries/IRPipeline.js +0 -25
  107. package/lib/cjs/queries/IRPipeline.js.map +0 -1
  108. package/lib/cjs/queries/IRProjection.d.ts +0 -39
  109. package/lib/cjs/queries/IRProjection.js +0 -105
  110. package/lib/cjs/queries/IRProjection.js.map +0 -1
  111. package/lib/cjs/queries/IntermediateRepresentation.d.ts +0 -282
  112. package/lib/cjs/queries/IntermediateRepresentation.js +0 -3
  113. package/lib/cjs/queries/IntermediateRepresentation.js.map +0 -1
  114. package/lib/cjs/queries/MutationQuery.d.ts +0 -50
  115. package/lib/cjs/queries/MutationQuery.js +0 -334
  116. package/lib/cjs/queries/MutationQuery.js.map +0 -1
  117. package/lib/cjs/queries/MutationSerialization.d.ts +0 -102
  118. package/lib/cjs/queries/MutationSerialization.js +0 -207
  119. package/lib/cjs/queries/MutationSerialization.js.map +0 -1
  120. package/lib/cjs/queries/MutationThenable.d.ts +0 -18
  121. package/lib/cjs/queries/MutationThenable.js +0 -32
  122. package/lib/cjs/queries/MutationThenable.js.map +0 -1
  123. package/lib/cjs/queries/PropertyPath.d.ts +0 -38
  124. package/lib/cjs/queries/PropertyPath.js +0 -82
  125. package/lib/cjs/queries/PropertyPath.js.map +0 -1
  126. package/lib/cjs/queries/ProxiedPathBuilder.d.ts +0 -14
  127. package/lib/cjs/queries/ProxiedPathBuilder.js +0 -29
  128. package/lib/cjs/queries/ProxiedPathBuilder.js.map +0 -1
  129. package/lib/cjs/queries/QueryBuilder.d.ts +0 -193
  130. package/lib/cjs/queries/QueryBuilder.js +0 -519
  131. package/lib/cjs/queries/QueryBuilder.js.map +0 -1
  132. package/lib/cjs/queries/QueryBuilderSerialization.d.ts +0 -31
  133. package/lib/cjs/queries/QueryBuilderSerialization.js +0 -68
  134. package/lib/cjs/queries/QueryBuilderSerialization.js.map +0 -1
  135. package/lib/cjs/queries/QueryContext.d.ts +0 -50
  136. package/lib/cjs/queries/QueryContext.js +0 -147
  137. package/lib/cjs/queries/QueryContext.js.map +0 -1
  138. package/lib/cjs/queries/QueryFactory.d.ts +0 -80
  139. package/lib/cjs/queries/QueryFactory.js +0 -21
  140. package/lib/cjs/queries/QueryFactory.js.map +0 -1
  141. package/lib/cjs/queries/SelectQuery.d.ts +0 -302
  142. package/lib/cjs/queries/SelectQuery.js +0 -761
  143. package/lib/cjs/queries/SelectQuery.js.map +0 -1
  144. package/lib/cjs/queries/UpdateBuilder.d.ts +0 -69
  145. package/lib/cjs/queries/UpdateBuilder.js +0 -199
  146. package/lib/cjs/queries/UpdateBuilder.js.map +0 -1
  147. package/lib/cjs/queries/UpdateQuery.d.ts +0 -18
  148. package/lib/cjs/queries/UpdateQuery.js +0 -3
  149. package/lib/cjs/queries/UpdateQuery.js.map +0 -1
  150. package/lib/cjs/queries/fromJSON.d.ts +0 -16
  151. package/lib/cjs/queries/fromJSON.js +0 -41
  152. package/lib/cjs/queries/fromJSON.js.map +0 -1
  153. package/lib/cjs/queries/lower.d.ts +0 -28
  154. package/lib/cjs/queries/lower.js +0 -114
  155. package/lib/cjs/queries/lower.js.map +0 -1
  156. package/lib/cjs/queries/lowerMutationJSON.d.ts +0 -25
  157. package/lib/cjs/queries/lowerMutationJSON.js +0 -173
  158. package/lib/cjs/queries/lowerMutationJSON.js.map +0 -1
  159. package/lib/cjs/queries/mutationLowerSpec.d.ts +0 -32
  160. package/lib/cjs/queries/mutationLowerSpec.js +0 -8
  161. package/lib/cjs/queries/mutationLowerSpec.js.map +0 -1
  162. package/lib/cjs/queries/queryDispatch.d.ts +0 -33
  163. package/lib/cjs/queries/queryDispatch.js +0 -33
  164. package/lib/cjs/queries/queryDispatch.js.map +0 -1
  165. package/lib/cjs/queries/resolveShape.d.ts +0 -10
  166. package/lib/cjs/queries/resolveShape.js +0 -23
  167. package/lib/cjs/queries/resolveShape.js.map +0 -1
  168. package/lib/cjs/queries/wireVersion.d.ts +0 -7
  169. package/lib/cjs/queries/wireVersion.js +0 -25
  170. package/lib/cjs/queries/wireVersion.js.map +0 -1
  171. package/lib/cjs/shapes/List.d.ts +0 -35
  172. package/lib/cjs/shapes/List.js +0 -72
  173. package/lib/cjs/shapes/List.js.map +0 -1
  174. package/lib/cjs/shapes/PathNode.d.ts +0 -20
  175. package/lib/cjs/shapes/PathNode.js +0 -68
  176. package/lib/cjs/shapes/PathNode.js.map +0 -1
  177. package/lib/cjs/shapes/SHACL.d.ts +0 -300
  178. package/lib/cjs/shapes/SHACL.js +0 -612
  179. package/lib/cjs/shapes/SHACL.js.map +0 -1
  180. package/lib/cjs/shapes/Shape.d.ts +0 -74
  181. package/lib/cjs/shapes/Shape.js +0 -124
  182. package/lib/cjs/shapes/Shape.js.map +0 -1
  183. package/lib/cjs/shapes/serializePathToNodeData.d.ts +0 -24
  184. package/lib/cjs/shapes/serializePathToNodeData.js +0 -67
  185. package/lib/cjs/shapes/serializePathToNodeData.js.map +0 -1
  186. package/lib/cjs/shapes/syncShapes.d.ts +0 -38
  187. package/lib/cjs/shapes/syncShapes.js +0 -214
  188. package/lib/cjs/shapes/syncShapes.js.map +0 -1
  189. package/lib/cjs/sparql/SparqlAlgebra.d.ts +0 -190
  190. package/lib/cjs/sparql/SparqlAlgebra.js +0 -4
  191. package/lib/cjs/sparql/SparqlAlgebra.js.map +0 -1
  192. package/lib/cjs/sparql/SparqlDataset.d.ts +0 -60
  193. package/lib/cjs/sparql/SparqlDataset.js +0 -117
  194. package/lib/cjs/sparql/SparqlDataset.js.map +0 -1
  195. package/lib/cjs/sparql/algebraToString.d.ts +0 -13
  196. package/lib/cjs/sparql/algebraToString.js +0 -385
  197. package/lib/cjs/sparql/algebraToString.js.map +0 -1
  198. package/lib/cjs/sparql/index.d.ts +0 -9
  199. package/lib/cjs/sparql/index.js +0 -41
  200. package/lib/cjs/sparql/index.js.map +0 -1
  201. package/lib/cjs/sparql/irToAlgebra.d.ts +0 -79
  202. package/lib/cjs/sparql/irToAlgebra.js +0 -2042
  203. package/lib/cjs/sparql/irToAlgebra.js.map +0 -1
  204. package/lib/cjs/sparql/resultMapping.d.ts +0 -36
  205. package/lib/cjs/sparql/resultMapping.js +0 -563
  206. package/lib/cjs/sparql/resultMapping.js.map +0 -1
  207. package/lib/cjs/sparql/sparqlUtils.d.ts +0 -53
  208. package/lib/cjs/sparql/sparqlUtils.js +0 -154
  209. package/lib/cjs/sparql/sparqlUtils.js.map +0 -1
  210. package/lib/cjs/utils/LinkedErrorLogging.d.ts +0 -13
  211. package/lib/cjs/utils/LinkedErrorLogging.js +0 -22
  212. package/lib/cjs/utils/LinkedErrorLogging.js.map +0 -1
  213. package/lib/cjs/utils/LinkedFileStorage.d.ts +0 -23
  214. package/lib/cjs/utils/LinkedFileStorage.js +0 -62
  215. package/lib/cjs/utils/LinkedFileStorage.js.map +0 -1
  216. package/lib/cjs/utils/LinkedStorage.d.ts +0 -40
  217. package/lib/cjs/utils/LinkedStorage.js +0 -148
  218. package/lib/cjs/utils/LinkedStorage.js.map +0 -1
  219. package/lib/cjs/utils/NameSpace.d.ts +0 -2
  220. package/lib/cjs/utils/NameSpace.js +0 -8
  221. package/lib/cjs/utils/NameSpace.js.map +0 -1
  222. package/lib/cjs/utils/NodeReference.d.ts +0 -30
  223. package/lib/cjs/utils/NodeReference.js +0 -54
  224. package/lib/cjs/utils/NodeReference.js.map +0 -1
  225. package/lib/cjs/utils/Package.d.ts +0 -153
  226. package/lib/cjs/utils/Package.js +0 -419
  227. package/lib/cjs/utils/Package.js.map +0 -1
  228. package/lib/cjs/utils/Prefix.d.ts +0 -22
  229. package/lib/cjs/utils/Prefix.js +0 -104
  230. package/lib/cjs/utils/Prefix.js.map +0 -1
  231. package/lib/cjs/utils/ShapeClass.d.ts +0 -30
  232. package/lib/cjs/utils/ShapeClass.js +0 -180
  233. package/lib/cjs/utils/ShapeClass.js.map +0 -1
  234. package/lib/cjs/utils/URI.d.ts +0 -18
  235. package/lib/cjs/utils/URI.js +0 -42
  236. package/lib/cjs/utils/URI.js.map +0 -1
  237. package/lib/cjs/utils/cached.d.ts +0 -14
  238. package/lib/cjs/utils/cached.js +0 -71
  239. package/lib/cjs/utils/cached.js.map +0 -1
  240. package/lib/cjs/utils/loadStores.d.ts +0 -34
  241. package/lib/cjs/utils/loadStores.js +0 -105
  242. package/lib/cjs/utils/loadStores.js.map +0 -1
  243. package/lib/cjs/utils/parseDatasetsConfig.d.ts +0 -49
  244. package/lib/cjs/utils/parseDatasetsConfig.js +0 -110
  245. package/lib/cjs/utils/parseDatasetsConfig.js.map +0 -1
  246. package/lib/esm/package.json +0 -9
@@ -1,612 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addNodeShapeCallback = exports.linkedProperty = exports.objectProperty = exports.literalProperty = exports.PropertyShape = exports.NodeShape = exports.LINKED_DATA_ROOT = void 0;
4
- exports.packageNameToSlug = packageNameToSlug;
5
- exports.setPackagePublishConfig = setPackagePublishConfig;
6
- exports.getPackageUri = getPackageUri;
7
- exports.registerPropertyShape = registerPropertyShape;
8
- exports.createPropertyShape = createPropertyShape;
9
- exports.onShapeSetup = onShapeSetup;
10
- exports.disallowProperty = disallowProperty;
11
- exports.getNodeShapeUri = getNodeShapeUri;
12
- exports.getAndClearCallbacks = getAndClearCallbacks;
13
- /*
14
- * This Source Code Form is subject to the terms of the Mozilla Public
15
- * License, v. 2.0. If a copy of the MPL was not distributed with this
16
- * file, You can obtain one at https://mozilla.org/MPL/2.0/.
17
- */
18
- const NodeReference_js_1 = require("../utils/NodeReference.js");
19
- const Shape_js_1 = require("./Shape.js");
20
- const shacl_js_1 = require("../ontologies/shacl.js");
21
- const ShapeClass_js_1 = require("../utils/ShapeClass.js");
22
- const normalizePropertyPath_js_1 = require("../paths/normalizePropertyPath.js");
23
- /**
24
- * Default identity root for shape & package IRIs. Public/first-party packages
25
- * publish under `linked.cm` (arch-02 §Domains). Packages may override per-package
26
- * via `linkedPackage(name, { baseUri })` — CN injects a workspace-scoped root
27
- * (`{workspaceSlug}.id.create.now`) for private packages; first-party packages
28
- * keep this default.
29
- */
30
- exports.LINKED_DATA_ROOT = 'https://linked.cm/';
31
- /**
32
- * Derive the public package slug — the npm package **basename** with the
33
- * `@scope/` dropped, kebab-cased (arch-02 §Slug rules: `^[a-z0-9]+(?:-[a-z0-9]+)*$`).
34
- * The package name is the single source of truth; there is no separate slug.
35
- * `@_linked/core` → `core`, `@linked.cm/blog` → `blog`, `mypkg` → `mypkg`.
36
- *
37
- * Both first-party (`@_linked`) and community (`@linked.cm`) packages publish into
38
- * the one `linked.cm/{shape,pkg}` space, so the basename must be globally unique —
39
- * enforced by the registry, which reserves the (handful of) first-party names.
40
- */
41
- function packageNameToSlug(packageName) {
42
- return packageName
43
- .replace(/^@[^/]+\//, '') // drop the npm scope (@scope/), keep the basename
44
- .replace(/[^a-zA-Z0-9]+/g, '-') // any run of non-alphanumerics → single hyphen
45
- .replace(/^-+|-+$/g, '') // trim stray hyphens
46
- .toLowerCase();
47
- }
48
- /**
49
- * Where each package publishes its IRIs (the identity root). The slug is always
50
- * derived from the package name; only the root is configurable — `linkedPackage`
51
- * defaults it to `LINKED_DATA_ROOT` (linked.cm), and CN injects a workspace-scoped
52
- * root (`{workspaceSlug}.id.create.now`) for private packages.
53
- */
54
- const packageBaseUri = new Map();
55
- /** Record a package's publish root. Called by `linkedPackage()`. */
56
- function setPackagePublishConfig(packageName, config) {
57
- var _a;
58
- packageBaseUri.set(packageName, (_a = config === null || config === void 0 ? void 0 : config.baseUri) !== null && _a !== void 0 ? _a : exports.LINKED_DATA_ROOT);
59
- }
60
- /** Resolve a package's publish root, defaulting to linked.cm if undeclared. */
61
- function resolveBaseUri(packageName) {
62
- var _a;
63
- return (_a = packageBaseUri.get(packageName)) !== null && _a !== void 0 ? _a : exports.LINKED_DATA_ROOT;
64
- }
65
- /** Public/first-party package IRI — arch-02: `{baseUri}pkg/{slug}`. */
66
- function getPackageUri(packageName) {
67
- return `${resolveBaseUri(packageName)}pkg/${packageNameToSlug(packageName)}`;
68
- }
69
- const normalizeNodeKind = (nodeKind, defaultNodeKind) => {
70
- if (!nodeKind) {
71
- return defaultNodeKind;
72
- }
73
- if (Array.isArray(nodeKind)) {
74
- const ids = nodeKind.map((entry) => entry === null || entry === void 0 ? void 0 : entry.id);
75
- const includesBlank = ids.includes(shacl_js_1.shacl.BlankNode.id);
76
- const includesNamed = ids.includes(shacl_js_1.shacl.IRI.id);
77
- const includesLiteral = ids.includes(shacl_js_1.shacl.Literal.id);
78
- if (includesBlank && includesNamed) {
79
- return shacl_js_1.shacl.BlankNodeOrIRI;
80
- }
81
- if (includesLiteral && includesNamed) {
82
- return shacl_js_1.shacl.IRIOrLiteral;
83
- }
84
- if (includesLiteral && includesBlank) {
85
- return shacl_js_1.shacl.BlankNodeOrLiteral;
86
- }
87
- return nodeKind[0];
88
- }
89
- return nodeKind;
90
- };
91
- const EXPLICIT_NODE_KIND_SYMBOL = Symbol('explicitNodeKind');
92
- const EXPLICIT_MIN_COUNT_SYMBOL = Symbol('explicitMinCount');
93
- const EXPLICIT_MAX_COUNT_SYMBOL = Symbol('explicitMaxCount');
94
- class NodeShape extends Shape_js_1.Shape {
95
- /**
96
- * Returns `propertyShapes` when it is a real array; otherwise `[]` and logs once per
97
- * `(ownerClassName, shapeId)` — common when a superclass `static shape` is a plain object
98
- * or came from another `@_linked/core` copy without field initializers.
99
- *
100
- * Label for logs / dedupe keys when walking the shape class chain.
101
- * Prefer `class.name` (almost always set for `class X {}`); if missing, use the static
102
- * shape's `id` so diagnostics stay useful without vague "(anonymous)".
103
- */
104
- static shapeOwnerLabel(shapeClass, nodeShape) {
105
- var _a;
106
- const n = (_a = shapeClass.name) === null || _a === void 0 ? void 0 : _a.trim();
107
- if (n) {
108
- return n;
109
- }
110
- const sid = nodeShape.id;
111
- if (sid) {
112
- return `<shape ${sid}>`;
113
- }
114
- return '(unknown-class)';
115
- }
116
- static listPropertyShapesSafe(nodeShape, ownerClassName, context) {
117
- var _a;
118
- const raw = nodeShape
119
- .propertyShapes;
120
- if (Array.isArray(raw)) {
121
- return raw;
122
- }
123
- const id = (_a = nodeShape.id) !== null && _a !== void 0 ? _a : '';
124
- const key = `${ownerClassName}:${String(id)}`;
125
- if (!NodeShape._warnedMissingPropertyShapesKeys.has(key)) {
126
- NodeShape._warnedMissingPropertyShapesKeys.add(key);
127
- console.warn(`[@_linked/core] '${ownerClassName}' static shape has missing or invalid propertyShapes ` +
128
- `(${context}). Treating as []. Often caused by duplicate @linked/core installs or a ` +
129
- `non-normalized static shape on a superclass.`);
130
- }
131
- return [];
132
- }
133
- constructor(node) {
134
- super(node);
135
- this.propertyShapes = [];
136
- if (this.id) {
137
- this.nodeRef = { id: this.id };
138
- }
139
- }
140
- get label() {
141
- return this._label;
142
- }
143
- set label(value) {
144
- this._label = value;
145
- }
146
- get properties() {
147
- return this.propertyShapes.map((propertyShape) => propertyShape.getResult());
148
- }
149
- addPropertyShape(propertyShape) {
150
- propertyShape.parentNodeShape = this;
151
- this.propertyShapes.push(propertyShape);
152
- }
153
- getPropertyShapes(includeSuperClasses = false) {
154
- if (!includeSuperClasses) {
155
- const own = this
156
- .propertyShapes;
157
- return Array.isArray(own) ? [...own] : [];
158
- }
159
- const res = [];
160
- let shapeClass = (0, ShapeClass_js_1.getShapeClass)(this.id);
161
- if (!shapeClass) {
162
- const own = this
163
- .propertyShapes;
164
- return Array.isArray(own) ? [...own] : [];
165
- }
166
- while (shapeClass === null || shapeClass === void 0 ? void 0 : shapeClass.shape) {
167
- res.push(...NodeShape.listPropertyShapesSafe(shapeClass.shape, NodeShape.shapeOwnerLabel(shapeClass, shapeClass.shape), 'getPropertyShapes(includeSuperClasses=true)'));
168
- // Stop at Shape base class. Cast needed: ShapeConstructor (concrete new) vs
169
- // typeof Shape (abstract new) are structurally incompatible for ===.
170
- if (shapeClass === Shape_js_1.Shape) {
171
- break;
172
- }
173
- shapeClass = Object.getPrototypeOf(shapeClass);
174
- }
175
- return res;
176
- }
177
- getUniquePropertyShapes() {
178
- const uniquePropertyShapes = [];
179
- const seen = new Set();
180
- this.getPropertyShapes(true).forEach((propertyShape) => {
181
- if (!seen.has(propertyShape.label)) {
182
- seen.add(propertyShape.label);
183
- uniquePropertyShapes.push(propertyShape);
184
- }
185
- });
186
- return uniquePropertyShapes;
187
- }
188
- getPropertyShape(label, checkSubShapes = true) {
189
- let shapeClass = (0, ShapeClass_js_1.getShapeClass)(this.id);
190
- let res;
191
- if (!shapeClass) {
192
- const own = this
193
- .propertyShapes;
194
- return Array.isArray(own)
195
- ? own.find((shape) => shape.label === label)
196
- : undefined;
197
- }
198
- while (!res && (shapeClass === null || shapeClass === void 0 ? void 0 : shapeClass.shape)) {
199
- res = NodeShape.listPropertyShapesSafe(shapeClass.shape, NodeShape.shapeOwnerLabel(shapeClass, shapeClass.shape), 'getPropertyShape').find((shape) => shape.label === label);
200
- if (checkSubShapes) {
201
- if (shapeClass === Shape_js_1.Shape) {
202
- break;
203
- }
204
- shapeClass = Object.getPrototypeOf(shapeClass);
205
- }
206
- else {
207
- break;
208
- }
209
- }
210
- return res;
211
- }
212
- validateNode(_node) {
213
- return true;
214
- }
215
- equals(other) {
216
- return !!other && this.id === other.id;
217
- }
218
- }
219
- exports.NodeShape = NodeShape;
220
- NodeShape.targetClass = shacl_js_1.shacl.NodeShape;
221
- /** One-time keys for missing/invalid `propertyShapes` on superclass static `shape`. */
222
- NodeShape._warnedMissingPropertyShapesKeys = new Set();
223
- class PropertyShape extends Shape_js_1.Shape {
224
- constructor() {
225
- super();
226
- }
227
- get label() {
228
- return this._label;
229
- }
230
- set label(value) {
231
- this._label = value;
232
- }
233
- getResult() {
234
- const result = {
235
- id: this.id,
236
- label: this.label,
237
- path: this.path,
238
- };
239
- if (this.nodeKind) {
240
- result.nodeKind = this.nodeKind;
241
- }
242
- if (this.datatype) {
243
- result.datatype = this.datatype;
244
- }
245
- if (typeof this.minCount === 'number') {
246
- result.minCount = this.minCount;
247
- }
248
- if (typeof this.maxCount === 'number') {
249
- result.maxCount = this.maxCount;
250
- }
251
- if (this.name) {
252
- result.name = this.name;
253
- }
254
- if (this.description) {
255
- result.description = this.description;
256
- }
257
- if (typeof this.order === 'number') {
258
- result.order = this.order;
259
- }
260
- if (this.group) {
261
- result.group = this.group;
262
- }
263
- if (this.class) {
264
- result.class = this.class;
265
- }
266
- if (this.in) {
267
- result.in = this.in;
268
- }
269
- if (this.equalsConstraint) {
270
- result.equals = this.equalsConstraint;
271
- }
272
- if (this.disjoint) {
273
- result.disjoint = this.disjoint;
274
- }
275
- if (this.lessThan) {
276
- result.lessThan = this.lessThan;
277
- }
278
- if (this.lessThanOrEquals) {
279
- result.lessThanOrEquals = this.lessThanOrEquals;
280
- }
281
- if (this.minInclusive !== undefined) {
282
- result.minInclusive = this.minInclusive;
283
- }
284
- if (this.maxInclusive !== undefined) {
285
- result.maxInclusive = this.maxInclusive;
286
- }
287
- if (this.minExclusive !== undefined) {
288
- result.minExclusive = this.minExclusive;
289
- }
290
- if (this.maxExclusive !== undefined) {
291
- result.maxExclusive = this.maxExclusive;
292
- }
293
- if (typeof this.minLength === 'number') {
294
- result.minLength = this.minLength;
295
- }
296
- if (typeof this.maxLength === 'number') {
297
- result.maxLength = this.maxLength;
298
- }
299
- if (this.pattern) {
300
- result.pattern = this.pattern.source;
301
- }
302
- if (this.hasValueConstraint !== undefined) {
303
- result.hasValue = this.hasValueConstraint;
304
- }
305
- if (this.defaultValue !== undefined) {
306
- result.defaultValue = this.defaultValue;
307
- }
308
- if (this.sortBy) {
309
- result.sortBy = this.sortBy;
310
- }
311
- if (this.valueShape) {
312
- result.valueShape = this.valueShape;
313
- }
314
- return result;
315
- }
316
- clone() {
317
- const constructor = this.constructor;
318
- const clone = new constructor();
319
- Object.assign(clone, this);
320
- return clone;
321
- }
322
- }
323
- exports.PropertyShape = PropertyShape;
324
- PropertyShape.targetClass = shacl_js_1.shacl.PropertyShape;
325
- const connectValueShape = (config, propertyKey, property) => {
326
- if (config.shape) {
327
- const shapeConfig = config.shape;
328
- if (Array.isArray(shapeConfig)) {
329
- const [packageName, shapeName] = shapeConfig;
330
- const nodeShapeUri = getNodeShapeUri(packageName, shapeName);
331
- property.valueShape = { id: nodeShapeUri };
332
- }
333
- else {
334
- const shapeClass = shapeConfig;
335
- if (shapeClass.shape) {
336
- property.valueShape = { id: shapeClass.shape.id };
337
- }
338
- else {
339
- onShapeSetup(shapeConfig, (nodeShape) => {
340
- property.valueShape = { id: nodeShape.id };
341
- }, propertyKey);
342
- }
343
- }
344
- }
345
- };
346
- /**
347
- * The DSL-JSON where-clause combinators. A property may not be named after one,
348
- * because a condition key in those positions has no `{path}` escape (the key is a
349
- * bare string). See documentation/dsl-json.md (Reserved words).
350
- */
351
- const RESERVED_PROPERTY_LABELS = new Set(['and', 'or', 'not']);
352
- function registerPropertyShape(shape, propertyShape) {
353
- if (RESERVED_PROPERTY_LABELS.has(propertyShape.label)) {
354
- throw new Error(`Property label '${propertyShape.label}' is reserved (a DSL-JSON boolean combinator) ` +
355
- `and cannot be used as a property name. See documentation/dsl-json.md (Reserved words).`);
356
- }
357
- const inherited = shape.getPropertyShape(propertyShape.label, true);
358
- const existing = shape.getPropertyShape(propertyShape.label, false);
359
- if (!existing && inherited) {
360
- if (!propertyShape[EXPLICIT_MIN_COUNT_SYMBOL]) {
361
- propertyShape.minCount = inherited.minCount;
362
- }
363
- if (!propertyShape[EXPLICIT_MAX_COUNT_SYMBOL]) {
364
- propertyShape.maxCount = inherited.maxCount;
365
- }
366
- if (!propertyShape[EXPLICIT_NODE_KIND_SYMBOL]) {
367
- propertyShape.nodeKind = inherited.nodeKind;
368
- }
369
- validateOverrideTightening(shape, inherited, propertyShape);
370
- }
371
- if (existing) {
372
- Object.assign(existing, propertyShape);
373
- return existing;
374
- }
375
- propertyShape.id = `${shape.id}/${propertyShape.label}`;
376
- shape.addPropertyShape(propertyShape);
377
- return propertyShape;
378
- }
379
- const ATOMIC_NODE_KINDS = [
380
- shacl_js_1.shacl.BlankNode.id,
381
- shacl_js_1.shacl.IRI.id,
382
- shacl_js_1.shacl.Literal.id,
383
- ];
384
- const nodeKindToAtomics = (nodeKind) => {
385
- if (!(nodeKind === null || nodeKind === void 0 ? void 0 : nodeKind.id)) {
386
- return new Set();
387
- }
388
- switch (nodeKind.id) {
389
- case shacl_js_1.shacl.BlankNode.id:
390
- case shacl_js_1.shacl.IRI.id:
391
- case shacl_js_1.shacl.Literal.id:
392
- return new Set([nodeKind.id]);
393
- case shacl_js_1.shacl.BlankNodeOrIRI.id:
394
- return new Set([shacl_js_1.shacl.BlankNode.id, shacl_js_1.shacl.IRI.id]);
395
- case shacl_js_1.shacl.IRIOrLiteral.id:
396
- return new Set([shacl_js_1.shacl.IRI.id, shacl_js_1.shacl.Literal.id]);
397
- case shacl_js_1.shacl.BlankNodeOrLiteral.id:
398
- return new Set([shacl_js_1.shacl.BlankNode.id, shacl_js_1.shacl.Literal.id]);
399
- default:
400
- return new Set(ATOMIC_NODE_KINDS);
401
- }
402
- };
403
- const throwOverrideError = (shape, propertyShape, message) => {
404
- throw new Error(`Invalid override for ${shape.label}.${propertyShape.label}: ${message}`);
405
- };
406
- const validateOverrideTightening = (shape, base, override) => {
407
- if (typeof base.minCount === 'number' &&
408
- typeof override.minCount === 'number' &&
409
- override.minCount < base.minCount) {
410
- throwOverrideError(shape, override, `minCount cannot be lowered (${base.minCount} -> ${override.minCount}).`);
411
- }
412
- if (typeof base.maxCount === 'number' &&
413
- typeof override.maxCount === 'number' &&
414
- override.maxCount > base.maxCount) {
415
- throwOverrideError(shape, override, `maxCount cannot be increased (${base.maxCount} -> ${override.maxCount}).`);
416
- }
417
- if (base.nodeKind && override.nodeKind) {
418
- const baseKinds = nodeKindToAtomics(base.nodeKind);
419
- const overrideKinds = nodeKindToAtomics(override.nodeKind);
420
- const widensNodeKind = [...overrideKinds].some((kind) => !baseKinds.has(kind));
421
- if (widensNodeKind) {
422
- throwOverrideError(shape, override, `nodeKind cannot be widened (${base.nodeKind.id} -> ${override.nodeKind.id}).`);
423
- }
424
- }
425
- };
426
- function createPropertyShape(config, propertyKey, defaultNodeKind = null, shapeClass = null) {
427
- const propertyShape = new PropertyShape();
428
- propertyShape.path = (0, normalizePropertyPath_js_1.normalizePropertyPath)(config.path);
429
- propertyShape.label = propertyKey;
430
- if (config.name) {
431
- propertyShape.name = config.name;
432
- }
433
- if (config.description) {
434
- propertyShape.description = config.description;
435
- }
436
- if (config.required) {
437
- propertyShape.minCount = 1;
438
- }
439
- else if (config.minCount !== undefined) {
440
- propertyShape.minCount = config.minCount;
441
- }
442
- propertyShape[EXPLICIT_MIN_COUNT_SYMBOL] =
443
- config.required === true || config.minCount !== undefined;
444
- if (config.maxCount !== undefined) {
445
- propertyShape.maxCount = config.maxCount;
446
- }
447
- propertyShape[EXPLICIT_MAX_COUNT_SYMBOL] =
448
- config.maxCount !== undefined;
449
- if (config.datatype) {
450
- propertyShape.datatype = (0, NodeReference_js_1.toNodeReference)(config.datatype);
451
- }
452
- if (config.class) {
453
- propertyShape.class = (0, NodeReference_js_1.toNodeReference)(config.class);
454
- }
455
- if (config.contains) {
456
- propertyShape.contains = true;
457
- }
458
- if (config.equals) {
459
- propertyShape.equalsConstraint = (0, NodeReference_js_1.toNodeReference)(config.equals);
460
- }
461
- if (config.disjoint) {
462
- propertyShape.disjoint = (0, NodeReference_js_1.toNodeReference)(config.disjoint);
463
- }
464
- if (config.lessThan) {
465
- propertyShape.lessThan = (0, NodeReference_js_1.toNodeReference)(config.lessThan);
466
- }
467
- if (config.lessThanOrEquals) {
468
- propertyShape.lessThanOrEquals = (0, NodeReference_js_1.toNodeReference)(config.lessThanOrEquals);
469
- }
470
- // Value-range / string-length / pattern constraints (report 021 §3, G5). These are
471
- // recorded on the shape and serialized to SHACL; there is no DSL-side runtime
472
- // enforcement — they describe the shape for validators / introspection.
473
- {
474
- const lit = config;
475
- if (lit.minInclusive !== undefined)
476
- propertyShape.minInclusive = lit.minInclusive;
477
- if (lit.maxInclusive !== undefined)
478
- propertyShape.maxInclusive = lit.maxInclusive;
479
- if (lit.minExclusive !== undefined)
480
- propertyShape.minExclusive = lit.minExclusive;
481
- if (lit.maxExclusive !== undefined)
482
- propertyShape.maxExclusive = lit.maxExclusive;
483
- if (lit.minLength !== undefined)
484
- propertyShape.minLength = lit.minLength;
485
- if (lit.maxLength !== undefined)
486
- propertyShape.maxLength = lit.maxLength;
487
- if (lit.pattern !== undefined)
488
- propertyShape.pattern = lit.pattern;
489
- }
490
- if (config.hasValue !== undefined) {
491
- const v = config.hasValue;
492
- propertyShape.hasValueConstraint = typeof v === 'object' && v !== null ? (0, NodeReference_js_1.toNodeReference)(v) : v;
493
- }
494
- if (config.defaultValue !== undefined) {
495
- propertyShape.defaultValue = config.defaultValue;
496
- }
497
- if (config.in) {
498
- propertyShape.in = config.in.map((entry) => typeof entry === 'object' && entry !== null ? (0, NodeReference_js_1.toNodeReference)(entry) : entry);
499
- }
500
- if (config.sortBy) {
501
- propertyShape.sortBy = (0, normalizePropertyPath_js_1.normalizePropertyPath)(config.sortBy);
502
- }
503
- propertyShape.nodeKind = normalizeNodeKind(config.nodeKind, defaultNodeKind);
504
- propertyShape[EXPLICIT_NODE_KIND_SYMBOL] =
505
- config.nodeKind !== undefined;
506
- if (shapeClass) {
507
- onShapeSetup(shapeClass, (shape) => {
508
- connectValueShape(config, propertyKey, propertyShape);
509
- registerPropertyShape(shape, propertyShape);
510
- });
511
- }
512
- return propertyShape;
513
- }
514
- function onShapeSetup(shapeClass, callback, propertyName, waitForSuperShapes) {
515
- const cb = waitForSuperShapes
516
- ? (shape) => {
517
- const superClass = Object.getPrototypeOf(shapeClass);
518
- if (superClass.name === 'Shape') {
519
- callback(shape);
520
- return;
521
- }
522
- if (superClass.name === '') {
523
- console.error(`Shape ${shape.label} does not extend base class lincd/shapes/Shape. Make sure it extends Shape.`);
524
- return;
525
- }
526
- onShapeSetup(superClass, () => {
527
- callback(shape);
528
- }, propertyName, waitForSuperShapes);
529
- }
530
- : callback;
531
- const safeCallback = (targetShapeClass, innerCallback) => {
532
- if (targetShapeClass.hasOwnProperty('shape')) {
533
- innerCallback(targetShapeClass.shape);
534
- }
535
- else {
536
- if (!targetShapeClass['shapeCallbacks']) {
537
- targetShapeClass['shapeCallbacks'] = [];
538
- }
539
- targetShapeClass['shapeCallbacks'].push(innerCallback);
540
- }
541
- };
542
- if (Array.isArray(shapeClass)) {
543
- const [packageName, shapeName] = shapeClass;
544
- const nodeShapeId = getNodeShapeUri(packageName, shapeName);
545
- if (typeof document !== 'undefined') {
546
- window.addEventListener('load', () => {
547
- const resolved = (0, ShapeClass_js_1.getShapeClass)(nodeShapeId);
548
- if (!resolved) {
549
- console.warn(`Could not find value shape (${packageName}/${shapeName}) for accessor get ${propertyName}(). Likely because it is not bundled.`);
550
- return;
551
- }
552
- safeCallback(resolved, cb);
553
- });
554
- }
555
- else {
556
- (0, exports.addNodeShapeCallback)(nodeShapeId, cb);
557
- }
558
- }
559
- else {
560
- safeCallback(shapeClass, cb);
561
- }
562
- }
563
- const _linkedProperty = (config, defaultNodeKind = null) => {
564
- return function (target, propertyKey, _descriptor) {
565
- createPropertyShape(config, propertyKey, defaultNodeKind, target.constructor);
566
- };
567
- };
568
- const literalProperty = (config) => {
569
- return _linkedProperty(config, shacl_js_1.shacl.Literal);
570
- };
571
- exports.literalProperty = literalProperty;
572
- const objectProperty = (config) => {
573
- return _linkedProperty(config, shacl_js_1.shacl.IRI);
574
- };
575
- exports.objectProperty = objectProperty;
576
- const linkedProperty = (config) => {
577
- return _linkedProperty(config);
578
- };
579
- exports.linkedProperty = linkedProperty;
580
- function disallowProperty(target, propertyKey, _descriptor) {
581
- onShapeSetup(target.constructor, (shape) => {
582
- const superClass = Object.getPrototypeOf(target.constructor);
583
- const superNodeShape = superClass.shape;
584
- const superPropertyShape = superNodeShape.getPropertyShape(propertyKey, true);
585
- if (!superPropertyShape) {
586
- console.warn(`Property ${propertyKey} not found in super class ${superClass.name} or any of its super classes. Does it have a property decorator? Cannot disallow property ${target.constructor.name}.${propertyKey}`);
587
- return;
588
- }
589
- const clonedPropertyShape = superPropertyShape.clone();
590
- clonedPropertyShape.maxCount = 0;
591
- registerPropertyShape(shape, clonedPropertyShape);
592
- }, '', true);
593
- }
594
- function getNodeShapeUri(packageName, shapeName) {
595
- // arch-02: `{baseUri}shape/{packageSlug}/{ShapeName}` — ShapeName kept PascalCase
596
- // (it is a class name, already URI-safe), packageSlug derived from the name.
597
- return `${resolveBaseUri(packageName)}shape/${packageNameToSlug(packageName)}/${shapeName}`;
598
- }
599
- const nodeShapeCallbacks = new Map();
600
- function getAndClearCallbacks(nodeShapeId) {
601
- const callbacks = nodeShapeCallbacks.get(nodeShapeId);
602
- nodeShapeCallbacks.delete(nodeShapeId);
603
- return callbacks;
604
- }
605
- const addNodeShapeCallback = (nodeShapeId, callback) => {
606
- if (!nodeShapeCallbacks.has(nodeShapeId)) {
607
- nodeShapeCallbacks.set(nodeShapeId, []);
608
- }
609
- nodeShapeCallbacks.get(nodeShapeId).push(callback);
610
- };
611
- exports.addNodeShapeCallback = addNodeShapeCallback;
612
- //# sourceMappingURL=SHACL.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SHACL.js","sourceRoot":"","sources":["../../../src/shapes/SHACL.ts"],"names":[],"mappings":"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"}