@_linked/core 2.22.2 → 2.22.4
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/CHANGELOG.md +57 -0
- package/lib/esm/queries/MutationQuery.js +4 -10
- package/lib/esm/queries/MutationQuery.js.map +1 -1
- package/lib/esm/queries/SelectQuery.js +12 -17
- package/lib/esm/queries/SelectQuery.js.map +1 -1
- package/lib/esm/shapes/nodeShapeWire.d.ts +14 -3
- package/lib/esm/shapes/nodeShapeWire.js +28 -3
- package/lib/esm/shapes/nodeShapeWire.js.map +1 -1
- package/lib/esm/shapes/validation.js +17 -2
- package/lib/esm/shapes/validation.js.map +1 -1
- package/lib/esm/utils/LinkedStorage.d.ts +20 -19
- package/lib/esm/utils/LinkedStorage.js +85 -33
- package/lib/esm/utils/LinkedStorage.js.map +1 -1
- package/lib/esm/utils/ShapeClass.d.ts +30 -1
- package/lib/esm/utils/ShapeClass.js +81 -19
- package/lib/esm/utils/ShapeClass.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,62 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.22.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#261](https://github.com/linked-fw/core/pull/261) [`24634c3`](https://github.com/linked-fw/core/commit/24634c3b65a19c08e94f0bdce8cee221473458ae) Thanks [@flyon](https://github.com/flyon)! - Dataset routing state is shared, and pins are keyed on shape identity.
|
|
8
|
+
|
|
9
|
+
**`LinkedStorage.shapeToDataset` and `defaultDataset` now live on the shared global**,
|
|
10
|
+
beside the shape registries. They were the one part of the routing model still held per
|
|
11
|
+
module copy, which left the package in a worse state than either extreme: a second copy
|
|
12
|
+
reported a fully populated shape registry while answering `isInitialised()` with `false`
|
|
13
|
+
and resolving every shape to the default dataset.
|
|
14
|
+
|
|
15
|
+
This also covers the previous release, which moved the shape registries to the shared
|
|
16
|
+
global and shipped without a changeset.
|
|
17
|
+
|
|
18
|
+
**New: `LinkedStorage.unsetDatasetForShape(classOrIri)`.** Removing a pin by deleting
|
|
19
|
+
from `getShapeToDatasetMap()` removes one class object, but resolution falls back to
|
|
20
|
+
matching on shape IRI — so another class claiming the same shape silently resurrects the
|
|
21
|
+
pin. The new method removes every entry for that identity:
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
LinkedStorage.unsetDatasetForShape(Project); // by class
|
|
25
|
+
LinkedStorage.unsetDatasetForShape("https://…/shape/x/Project"); // or by IRI
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Pinning two different classes to one IRI with different datasets now **warns**, instead
|
|
29
|
+
of resolving by `Map` insertion order.
|
|
30
|
+
|
|
31
|
+
**New: `resolveShapeConstructor(iri)`**, the one way to get a constructor for a shape
|
|
32
|
+
IRI whether or not it has an authored class. Five call sites in the query layer spelled
|
|
33
|
+
this out by hand in four different ways.
|
|
34
|
+
|
|
35
|
+
`selectAll()` on an unregistered IRI now throws naming the shape, rather than failing
|
|
36
|
+
later with `Cannot read properties of undefined (reading 'shape')`.
|
|
37
|
+
|
|
38
|
+
## 2.22.3
|
|
39
|
+
|
|
40
|
+
### Patch Changes
|
|
41
|
+
|
|
42
|
+
- [#258](https://github.com/linked-fw/core/pull/258) [`a7dddb2`](https://github.com/linked-fw/core/commit/a7dddb28929dd982017a107753583adfaea0bf14) Thanks [@flyon](https://github.com/flyon)! - `fromWire` no longer discards an already-compiled `sh:pattern`.
|
|
43
|
+
|
|
44
|
+
`propertyFromWire` destructured `pattern` out and restored it only when it was a
|
|
45
|
+
source string. Handed a shape that was already in metamodel form, it therefore
|
|
46
|
+
**dropped every RegExp pattern** — and a shape whose pattern constraint has
|
|
47
|
+
silently vanished validates values it should reject.
|
|
48
|
+
|
|
49
|
+
That mattered because nothing guarantees which form a shape is in.
|
|
50
|
+
`isNodeShapeWire` is a structural guess: the two types differ only by
|
|
51
|
+
`parentNodeShape` and by `pattern` being a RegExp rather than a string, so a
|
|
52
|
+
shape carrying neither satisfies both. A shape with no property shapes always
|
|
53
|
+
reads as wire, because `[].every()` is vacuously true.
|
|
54
|
+
|
|
55
|
+
The conversions are now idempotent in both directions — `fromWire(fromWire(x))`
|
|
56
|
+
equals `fromWire(x)`, and `toWire` already tolerated a pattern that was already a
|
|
57
|
+
string. Misclassifying a shape now costs nothing, which is what makes the guess
|
|
58
|
+
safe to keep.
|
|
59
|
+
|
|
3
60
|
## 2.22.2
|
|
4
61
|
|
|
5
62
|
### Patch Changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { QueryFactory, } from './QueryFactory.js';
|
|
2
2
|
import { getPropertyShapes } from '../shapes/nodeShapeData.js';
|
|
3
|
-
import {
|
|
3
|
+
import { resolveShapeConstructor } from '../utils/ShapeClass.js';
|
|
4
4
|
import { isExpressionNode } from '../expressions/ExpressionNode.js';
|
|
5
5
|
import { createProxiedPathBuilder } from './ProxiedPathBuilder.js';
|
|
6
6
|
import { asContextRef } from './QueryContext.js';
|
|
@@ -24,7 +24,6 @@ export class MutationQueryFactory extends QueryFactory {
|
|
|
24
24
|
return this.convertNodeReferences(ids);
|
|
25
25
|
}
|
|
26
26
|
convertUpdateObject(obj, shape, { allowTopLevelId = false, validate } = {}) {
|
|
27
|
-
var _a;
|
|
28
27
|
let resolved;
|
|
29
28
|
if (typeof obj === 'object' && !(obj instanceof Date) && obj !== null) {
|
|
30
29
|
if (!allowTopLevelId && 'id' in obj) {
|
|
@@ -36,13 +35,9 @@ export class MutationQueryFactory extends QueryFactory {
|
|
|
36
35
|
// A shape authored in a project exists only as metadata, so it has no authored
|
|
37
36
|
// class. `getOrCreateShapeAdapter` derives a constructor from that metadata --
|
|
38
37
|
// which is the documented return leg of the shape round trip (see
|
|
39
|
-
// registerRuntimeShape).
|
|
38
|
+
// registerRuntimeShape). Resolving with `getShapeClass` alone made every runtime shape
|
|
40
39
|
// fail here with "Shape class not found".
|
|
41
|
-
|
|
42
|
-
// .shape, i.e. a ShapeConstructor -- the same cast getShapeClass documents.
|
|
43
|
-
const shapeClass = shape.id
|
|
44
|
-
? ((_a = getShapeClass(shape.id)) !== null && _a !== void 0 ? _a : getOrCreateShapeAdapter(shape.id))
|
|
45
|
-
: undefined;
|
|
40
|
+
const shapeClass = shape.id ? resolveShapeConstructor(shape.id) : undefined;
|
|
46
41
|
if (!shapeClass) {
|
|
47
42
|
throw new Error(`Shape class not found for ${shape.id || 'unknown'}`);
|
|
48
43
|
}
|
|
@@ -162,7 +157,6 @@ export class MutationQueryFactory extends QueryFactory {
|
|
|
162
157
|
};
|
|
163
158
|
}
|
|
164
159
|
convertUpdateValue(value, propShape, allowArrays = true) {
|
|
165
|
-
var _a;
|
|
166
160
|
// ExpressionNode → pass through as-is (will be converted to IRExpression by IRMutation)
|
|
167
161
|
if (isExpressionNode(value)) {
|
|
168
162
|
return value;
|
|
@@ -207,7 +201,7 @@ export class MutationQueryFactory extends QueryFactory {
|
|
|
207
201
|
else {
|
|
208
202
|
let valueShape = null;
|
|
209
203
|
if (propShape.valueShape) {
|
|
210
|
-
const shapeClass = (
|
|
204
|
+
const shapeClass = resolveShapeConstructor(propShape.valueShape);
|
|
211
205
|
valueShape = (shapeClass === null || shapeClass === void 0 ? void 0 : shapeClass.shape) || null;
|
|
212
206
|
if (!valueShape) {
|
|
213
207
|
throw new Error(`Shape class not found for ${propShape.valueShape.id}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MutationQuery.js","sourceRoot":"","sources":["../../../src/queries/MutationQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,GAMb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAG7D,OAAO,EAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"MutationQuery.js","sourceRoot":"","sources":["../../../src/queries/MutationQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,17 +3,7 @@ import { getPropertyShapes, getUniquePropertyShapes, nodeShapeEquals } from '../
|
|
|
3
3
|
import { ShapeSet } from '../collections/ShapeSet.js';
|
|
4
4
|
import { shacl } from '../ontologies/shacl.js';
|
|
5
5
|
import { CoreSet } from '../collections/CoreSet.js';
|
|
6
|
-
import {
|
|
7
|
-
/**
|
|
8
|
-
* An authored shape class if there is one, otherwise a constructor derived from the
|
|
9
|
-
* shape's registered metadata.
|
|
10
|
-
*
|
|
11
|
-
* A shape authored in a project exists only as data -- `registerRuntimeShape` records
|
|
12
|
-
* the metadata and deliberately does NOT synthesize a class, so `getShapeClass` alone
|
|
13
|
-
* answers `undefined` for every such shape and the query layer then fails somewhere
|
|
14
|
-
* downstream of the lookup.
|
|
15
|
-
*/
|
|
16
|
-
const resolveShapeForQuery = (id) => { var _a; return (_a = getShapeClass(id)) !== null && _a !== void 0 ? _a : getOrCreateShapeAdapter(id); };
|
|
6
|
+
import { getPropertyShapeByLabel, getShapeClass, resolveShapeConstructor } from '../utils/ShapeClass.js';
|
|
17
7
|
import { xsd } from '../ontologies/xsd.js';
|
|
18
8
|
import { createProxiedPathBuilder } from './ProxiedPathBuilder.js';
|
|
19
9
|
import { FieldSet } from './FieldSet.js';
|
|
@@ -55,7 +45,6 @@ export class QueryBuilderObject {
|
|
|
55
45
|
static generatePathValue(
|
|
56
46
|
// originalValue: AccessorReturnValue,
|
|
57
47
|
property, subject) {
|
|
58
|
-
var _a;
|
|
59
48
|
let datatype = property.datatype;
|
|
60
49
|
let valueShape = property.valueShape;
|
|
61
50
|
let singleValue = property.maxCount <= 1;
|
|
@@ -83,9 +72,7 @@ export class QueryBuilderObject {
|
|
|
83
72
|
}
|
|
84
73
|
}
|
|
85
74
|
if (valueShape) {
|
|
86
|
-
|
|
87
|
-
// project-authored shape resolves as a value shape too.
|
|
88
|
-
const shapeClass = (_a = getShapeClass(valueShape)) !== null && _a !== void 0 ? _a : getOrCreateShapeAdapter(valueShape.id);
|
|
75
|
+
const shapeClass = resolveShapeConstructor(valueShape);
|
|
89
76
|
if (!shapeClass) {
|
|
90
77
|
//TODO: getShapeClassAsync -> which will lazy load the shape class
|
|
91
78
|
// but Im not sure if that's even possible with dynamic import paths, that are only known at runtime
|
|
@@ -625,14 +612,22 @@ export class QueryShape extends QueryBuilderObject {
|
|
|
625
612
|
// A sub-select on a project-authored value shape has no authored class, so fall
|
|
626
613
|
// back to the metadata-derived constructor. Without it this returned undefined and
|
|
627
614
|
// FieldSet.forSubSelect failed reading `.shape` off it, far from the cause.
|
|
628
|
-
const leastSpecificShape =
|
|
615
|
+
const leastSpecificShape = resolveShapeConstructor(this.getOriginalValue().nodeShape.id);
|
|
629
616
|
const parentSegments = FieldSet.collectPropertySegments(this);
|
|
630
617
|
const fs = FieldSet.forSubSelect(leastSpecificShape, subQueryFn, parentSegments, this);
|
|
631
618
|
return fs;
|
|
632
619
|
}
|
|
633
620
|
selectAll() {
|
|
634
621
|
// Same as `select()` above: runtime shapes resolve through the adapter.
|
|
635
|
-
|
|
622
|
+
const shapeId = this.getOriginalValue().nodeShape.id;
|
|
623
|
+
const leastSpecificShape = resolveShapeConstructor(shapeId);
|
|
624
|
+
// An IRI that is registered nowhere resolves to nothing, and reading `.shape` off
|
|
625
|
+
// it produced a bare "Cannot read properties of undefined" from inside the field
|
|
626
|
+
// walk — a message that named neither the shape nor this call. Say which shape.
|
|
627
|
+
if (!leastSpecificShape) {
|
|
628
|
+
throw new Error(`selectAll() cannot resolve a shape for '${shapeId}'. It is registered neither ` +
|
|
629
|
+
`as a class nor as metadata, so its properties are unknown.`);
|
|
630
|
+
}
|
|
636
631
|
const propertyLabels = getUniquePropertyShapes(leastSpecificShape.shape)
|
|
637
632
|
.map((propertyShape) => propertyShape.label);
|
|
638
633
|
return this.select((shape) => propertyLabels.map((label) => shape[label]));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectQuery.js","sourceRoot":"","sources":["../../../src/queries/SelectQuery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectQuery.js","sourceRoot":"","sources":["../../../src/queries/SelectQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,9 +32,20 @@ export type NodeShapeWire = Omit<NodeShapeData, 'propertyShapes'> & {
|
|
|
32
32
|
propertyShapes: PropertyShapeWire[];
|
|
33
33
|
};
|
|
34
34
|
/**
|
|
35
|
-
* True when the value is already in wire form
|
|
36
|
-
*
|
|
37
|
-
*
|
|
35
|
+
* True when the value is already in wire form — a structural guess, not a fact.
|
|
36
|
+
*
|
|
37
|
+
* The two forms differ only by `parentNodeShape` and by `pattern` being a RegExp
|
|
38
|
+
* rather than a string, so a shape carrying neither satisfies both types. An empty
|
|
39
|
+
* `propertyShapes` array is the extreme case: `[].every()` is vacuously true, so
|
|
40
|
+
* every propertyless shape reads as wire.
|
|
41
|
+
*
|
|
42
|
+
* This is safe **because the conversions are idempotent**, not because the guess is
|
|
43
|
+
* reliable. `fromWire` preserves an already-compiled pattern and re-attaching a
|
|
44
|
+
* parent link is a no-op, and `toWire` tolerates a pattern that is already a source
|
|
45
|
+
* string. So misclassifying a shape in either direction costs nothing.
|
|
46
|
+
*
|
|
47
|
+
* That property is load-bearing: keep it if you change either converter. Before it
|
|
48
|
+
* held, `fromWire` on an already-converted shape dropped every RegExp pattern.
|
|
38
49
|
*/
|
|
39
50
|
export declare function isNodeShapeWire(shape: NodeShapeData | NodeShapeWire): shape is NodeShapeWire;
|
|
40
51
|
/** Metamodel → wire. Drops the parent back-reference, stringifies the pattern. */
|
|
@@ -15,9 +15,20 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
15
15
|
return t;
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
18
|
-
* True when the value is already in wire form
|
|
19
|
-
*
|
|
20
|
-
*
|
|
18
|
+
* True when the value is already in wire form — a structural guess, not a fact.
|
|
19
|
+
*
|
|
20
|
+
* The two forms differ only by `parentNodeShape` and by `pattern` being a RegExp
|
|
21
|
+
* rather than a string, so a shape carrying neither satisfies both types. An empty
|
|
22
|
+
* `propertyShapes` array is the extreme case: `[].every()` is vacuously true, so
|
|
23
|
+
* every propertyless shape reads as wire.
|
|
24
|
+
*
|
|
25
|
+
* This is safe **because the conversions are idempotent**, not because the guess is
|
|
26
|
+
* reliable. `fromWire` preserves an already-compiled pattern and re-attaching a
|
|
27
|
+
* parent link is a no-op, and `toWire` tolerates a pattern that is already a source
|
|
28
|
+
* string. So misclassifying a shape in either direction costs nothing.
|
|
29
|
+
*
|
|
30
|
+
* That property is load-bearing: keep it if you change either converter. Before it
|
|
31
|
+
* held, `fromWire` on an already-converted shape dropped every RegExp pattern.
|
|
21
32
|
*/
|
|
22
33
|
export function isNodeShapeWire(shape) {
|
|
23
34
|
var _a;
|
|
@@ -59,6 +70,20 @@ function propertyFromWire(wire, parent) {
|
|
|
59
70
|
if (typeof pattern === 'string') {
|
|
60
71
|
prop.pattern = new RegExp(pattern, patternFlags !== null && patternFlags !== void 0 ? patternFlags : '');
|
|
61
72
|
}
|
|
73
|
+
else if (pattern instanceof RegExp) {
|
|
74
|
+
// The cast is the point: `pattern` is declared `string` on the wire type, and
|
|
75
|
+
// this branch exists precisely for the input that does not honour that.
|
|
76
|
+
// Already in metamodel form. `pattern` was destructured out above, so without
|
|
77
|
+
// this branch it is silently DROPPED -- converting a shape that was already
|
|
78
|
+
// converted would quietly discard every `sh:pattern` constraint, and the shape
|
|
79
|
+
// would then validate values it should reject.
|
|
80
|
+
//
|
|
81
|
+
// Keeping it makes this function idempotent: fromWire(fromWire(x)) equals
|
|
82
|
+
// fromWire(x) for any input. That matters because the only thing deciding
|
|
83
|
+
// whether to call it is `isNodeShapeWire`, a structural guess -- see the note
|
|
84
|
+
// on that function.
|
|
85
|
+
prop.pattern = pattern;
|
|
86
|
+
}
|
|
62
87
|
prop.parentNodeShape = parent;
|
|
63
88
|
return prop;
|
|
64
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeShapeWire.js","sourceRoot":"","sources":["../../../src/shapes/nodeShapeWire.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;;;;;;;;;;;AA0CH
|
|
1
|
+
{"version":3,"file":"nodeShapeWire.js","sourceRoot":"","sources":["../../../src/shapes/nodeShapeWire.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;;;;;;;;;;;AA0CH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAoC;;IAEpC,OAAO,CAAC,MAAA,KAAK,CAAC,cAAc,mCAAI,EAAE,CAAC,CAAC,KAAK,CACvC,CAAC,IAAI,EAAE,EAAE,CACP,CAAE,IAA0B,CAAC,eAAe;QAC5C,CAAC,CAAE,IAA0B,CAAC,OAAO,YAAY,MAAM,CAAC,CAC3D,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,MAAM,CAAC,KAAoB;;IACzC,uCACK,KAAK,KACR,cAAc,EAAE,CAAC,MAAA,KAAK,CAAC,cAAc,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,IAChE;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,QAAQ,CAAC,IAAmB;;IAC1C,MAAM,KAAK,mCACN,IAAI,KACP,cAAc,EAAE,EAAE,GACnB,CAAC;IACF,KAAK,CAAC,cAAc,GAAG,CAAC,MAAA,IAAI,CAAC,cAAc,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9D,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAC9B,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAuB;IAC7C,+EAA+E;IAC/E,8DAA8D;IAC9D,MAAM,EAAC,OAAO,EAAE,eAAe,EAAE,KAAK,KAAa,IAAI,EAAZ,IAAI,UAAI,IAAI,EAAjD,8BAA0C,CAAO,CAAC;IACxD,MAAM,IAAI,GAAG,IAAyB,CAAC;IACvC,IAAI,OAAO,YAAY,MAAM,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;IACvD,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,2EAA2E;QAC3E,iFAAiF;QACjF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAuB,EACvB,MAAqB;IAErB,MAAM,EAAC,OAAO,EAAE,YAAY,KAAa,IAAI,EAAZ,IAAI,UAAI,IAAI,EAAvC,2BAAgC,CAAO,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAyB,CAAC;IACvC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,CAAC;IACzD,CAAC;SAAM,IAAK,OAAmB,YAAY,MAAM,EAAE,CAAC;QAClD,8EAA8E;QAC9E,wEAAwE;QACxE,8EAA8E;QAC9E,4EAA4E;QAC5E,+EAA+E;QAC/E,+CAA+C;QAC/C,EAAE;QACF,0EAA0E;QAC1E,0EAA0E;QAC1E,8EAA8E;QAC9E,oBAAoB;QACpB,IAAI,CAAC,OAAO,GAAG,OAA4B,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;IAC9B,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
* Not covered: `sh:languageIn` / `sh:uniqueLang` (skipped at serialization time
|
|
38
38
|
* too, so there is no metadata to check against) and `sh:hasValue`.
|
|
39
39
|
*/
|
|
40
|
+
import { getShapeRegistryInstanceCount } from '../utils/ShapeClass.js';
|
|
40
41
|
import { shacl } from '../ontologies/shacl.js';
|
|
41
42
|
import { xsd } from '../ontologies/xsd.js';
|
|
42
43
|
import { isNodeReferenceValue } from '../utils/NodeReference.js';
|
|
@@ -65,9 +66,23 @@ const RESERVED_KEYS = new Set(['id', '__id', 'shape']);
|
|
|
65
66
|
export function undeclaredPropertyMessage(key, shape) {
|
|
66
67
|
var _a;
|
|
67
68
|
const shapeName = shape.label || ((_a = shape.id) === null || _a === void 0 ? void 0 : _a.split('/').pop());
|
|
68
|
-
|
|
69
|
+
const base = `Invalid property key: ${key}. The shape ${shapeName} does not have a registered ` +
|
|
69
70
|
`property with this name. Make sure the get/set method exists, and that it uses a ` +
|
|
70
|
-
`@objectProperty or @literalProperty decorator
|
|
71
|
+
`@objectProperty or @literalProperty decorator.`;
|
|
72
|
+
// If more than one copy of the shape registry module has evaluated, this message is
|
|
73
|
+
// very probably lying: the property IS declared, on a copy this code cannot see.
|
|
74
|
+
// Saying so here is the whole point — the previous version of this error accused
|
|
75
|
+
// correct application code, and finding the real cause took a day of eliminating
|
|
76
|
+
// innocent suspects. See docs/reports/043-module-identity-in-the-backend.md.
|
|
77
|
+
const copies = getShapeRegistryInstanceCount();
|
|
78
|
+
if (copies > 1) {
|
|
79
|
+
return (`${base}\n\n` +
|
|
80
|
+
`NOTE: ${copies} copies of the shape registry have loaded in this process. If this ` +
|
|
81
|
+
`property is declared, it almost certainly registered on a different copy than the ` +
|
|
82
|
+
`one validating here, and the declaration is not the problem. This happens when part ` +
|
|
83
|
+
`of the app resolves a framework package to its source and part to its built output.`);
|
|
84
|
+
}
|
|
85
|
+
return base;
|
|
71
86
|
}
|
|
72
87
|
/**
|
|
73
88
|
* `sh:value` must be an RDF term. A literal or a node reference is one; a plain
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/shapes/validation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/shapes/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,19 +6,7 @@ import type { CountQuery } from '../queries/CountQuery.js';
|
|
|
6
6
|
import type { CreateQuery } from '../queries/CreateQuery.js';
|
|
7
7
|
import type { UpdateQuery } from '../queries/UpdateQuery.js';
|
|
8
8
|
import type { DeleteQuery, DeleteResponse } from '../queries/DeleteQuery.js';
|
|
9
|
-
/**
|
|
10
|
-
* Primary routing layer (arch-04 §The IDataset abstraction).
|
|
11
|
-
*
|
|
12
|
-
* Resolves an incoming Linked Query to the IDataset that should handle it,
|
|
13
|
-
* based on the query's target shape. Composite IDatasets (gateways, routers,
|
|
14
|
-
* forwarders, resolvers) plug in here just like storage IDatasets do.
|
|
15
|
-
*
|
|
16
|
-
* The "Dataset" naming aligns with the IDataset contract. Earlier "Store"
|
|
17
|
-
* names were renamed in phase-1 — see docs/plans/002-phase-1-create-user-project-flow.md.
|
|
18
|
-
*/
|
|
19
9
|
export declare abstract class LinkedStorage {
|
|
20
|
-
private static defaultDataset?;
|
|
21
|
-
private static shapeToDataset;
|
|
22
10
|
/** plan-011 — how many physical copies of this module have evaluated. */
|
|
23
11
|
static getLoadedInstanceCount(): number;
|
|
24
12
|
static isInitialised(): boolean;
|
|
@@ -28,9 +16,25 @@ export declare abstract class LinkedStorage {
|
|
|
28
16
|
static setDefaultDataset(dataset: IDataset): void;
|
|
29
17
|
/** Pin one or more shape classes to a specific IDataset implementer. */
|
|
30
18
|
static setDatasetForShapes(dataset: IDataset, ...shapeClasses: Function[]): void;
|
|
19
|
+
/**
|
|
20
|
+
* Remove the pin for a shape, by class or by IRI.
|
|
21
|
+
*
|
|
22
|
+
* Removes **every** entry sharing that IRI, not just the one class object handed in.
|
|
23
|
+
* Deleting by class identity alone is not enough: resolution falls back to matching
|
|
24
|
+
* on IRI, so another class claiming the same shape would silently resurrect the pin
|
|
25
|
+
* the caller believed they had removed.
|
|
26
|
+
*/
|
|
27
|
+
static unsetDatasetForShape(shape: Function | string): void;
|
|
31
28
|
/** Every IDataset known to the primary router (default + all pinned). */
|
|
32
29
|
static getDatasets(): CoreSet<IDataset>;
|
|
33
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* The live shape→IDataset map — not a copy.
|
|
32
|
+
*
|
|
33
|
+
* Mutating it works but is not the supported way to remove a pin: deleting a key
|
|
34
|
+
* here removes one class object, and resolution falls back to matching on shape IRI,
|
|
35
|
+
* so another class claiming the same shape resurrects the pin. Use
|
|
36
|
+
* `unsetDatasetForShape`, which removes every entry for that identity.
|
|
37
|
+
*/
|
|
34
38
|
static getShapeToDatasetMap(): Map<Function, IDataset>;
|
|
35
39
|
/** Resolve the IDataset for a given shape class. Walks the prototype chain. */
|
|
36
40
|
static getDatasetForShapeClass(shapeClass?: Function | null): IDataset | undefined;
|
|
@@ -51,12 +55,9 @@ export declare abstract class LinkedStorage {
|
|
|
51
55
|
* what the query already carries on the wire, and every copy derives the same
|
|
52
56
|
* one. So it is the key that survives duplication.
|
|
53
57
|
*
|
|
54
|
-
* Deliberately a scan of the one map rather than a second map kept alongside
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
* would come back from the shadow copy. One source of truth is worth more
|
|
58
|
-
* here than a lookup that is already only reached on a miss, over a map that
|
|
59
|
-
* holds a few dozen entries.
|
|
58
|
+
* Deliberately a scan of the one map rather than a second map kept alongside it:
|
|
59
|
+
* one source of truth, over a map holding a few dozen entries, on a path only
|
|
60
|
+
* reached after an identity lookup has already failed.
|
|
60
61
|
*/
|
|
61
62
|
private static findPinByShapeUri;
|
|
62
63
|
private static resolveDatasetForQueryShape;
|
|
@@ -7,7 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
var _a;
|
|
10
|
+
var _a, _b;
|
|
11
11
|
import { CoreSet } from '../collections/CoreSet.js';
|
|
12
12
|
import { setQueryDispatch, resolveExistence } from '../queries/queryDispatch.js';
|
|
13
13
|
import { getShapeClass } from './ShapeClass.js';
|
|
@@ -29,6 +29,25 @@ linkedStorageGlobal.__linkedStorageInstanceCount =
|
|
|
29
29
|
* The "Dataset" naming aligns with the IDataset contract. Earlier "Store"
|
|
30
30
|
* names were renamed in phase-1 — see docs/plans/002-phase-1-create-user-project-flow.md.
|
|
31
31
|
*/
|
|
32
|
+
/**
|
|
33
|
+
* The routing table lives on the shared global, beside the shape registries.
|
|
34
|
+
*
|
|
35
|
+
* It has to, for the same reason they do: a module can evaluate more than once in a
|
|
36
|
+
* process, and a class static then exists once per copy. Leaving these two here while
|
|
37
|
+
* the registries were shared was worse than either extreme — a second copy answered
|
|
38
|
+
* `isInitialised()` with false and `getDatasetForShapeClass()` with the default, while
|
|
39
|
+
* reporting a fully populated shape registry.
|
|
40
|
+
*/
|
|
41
|
+
const routingState = ((_b = linkedStorageGlobal.__linkedStorageRouting) !== null && _b !== void 0 ? _b : (linkedStorageGlobal.__linkedStorageRouting = {
|
|
42
|
+
defaultDataset: undefined,
|
|
43
|
+
shapeToDataset: new Map(),
|
|
44
|
+
}));
|
|
45
|
+
/** A shape class's IRI, or undefined for anything that is not a registered shape. */
|
|
46
|
+
const shapeUriOf = (shapeClass) => {
|
|
47
|
+
var _a;
|
|
48
|
+
const uri = (_a = shapeClass === null || shapeClass === void 0 ? void 0 : shapeClass.shape) === null || _a === void 0 ? void 0 : _a.id;
|
|
49
|
+
return typeof uri === 'string' && uri ? uri : undefined;
|
|
50
|
+
};
|
|
32
51
|
export class LinkedStorage {
|
|
33
52
|
/** plan-011 — how many physical copies of this module have evaluated. */
|
|
34
53
|
static getLoadedInstanceCount() {
|
|
@@ -36,18 +55,18 @@ export class LinkedStorage {
|
|
|
36
55
|
return (_a = linkedStorageGlobal.__linkedStorageInstanceCount) !== null && _a !== void 0 ? _a : 0;
|
|
37
56
|
}
|
|
38
57
|
static isInitialised() {
|
|
39
|
-
return !!
|
|
58
|
+
return !!routingState.defaultDataset;
|
|
40
59
|
}
|
|
41
60
|
/** The catch-all IDataset for shapes with no explicit mapping. */
|
|
42
61
|
static getDefaultDataset() {
|
|
43
|
-
return
|
|
62
|
+
return routingState.defaultDataset;
|
|
44
63
|
}
|
|
45
64
|
/** Set the default IDataset (catch-all for shapes with no explicit mapping). */
|
|
46
65
|
static setDefaultDataset(dataset) {
|
|
47
66
|
var _a;
|
|
48
|
-
|
|
49
|
-
if ((_a =
|
|
50
|
-
|
|
67
|
+
routingState.defaultDataset = dataset;
|
|
68
|
+
if ((_a = routingState.defaultDataset) === null || _a === void 0 ? void 0 : _a.init) {
|
|
69
|
+
routingState.defaultDataset.init();
|
|
51
70
|
}
|
|
52
71
|
setQueryDispatch({
|
|
53
72
|
selectQuery: (q) => this.selectQuery(q),
|
|
@@ -60,40 +79,79 @@ export class LinkedStorage {
|
|
|
60
79
|
/** Pin one or more shape classes to a specific IDataset implementer. */
|
|
61
80
|
static setDatasetForShapes(dataset, ...shapeClasses) {
|
|
62
81
|
shapeClasses.forEach((shapeClass) => {
|
|
63
|
-
|
|
82
|
+
// A shape's IRI is its identity, so two classes claiming the same IRI are the
|
|
83
|
+
// same shape and must not route to different datasets. That situation is a
|
|
84
|
+
// duplicate-registration bug elsewhere; say so here rather than resolving it by
|
|
85
|
+
// Map insertion order, which is silent and arbitrary.
|
|
86
|
+
const uri = shapeUriOf(shapeClass);
|
|
87
|
+
if (uri) {
|
|
88
|
+
for (const [pinned, existing] of routingState.shapeToDataset) {
|
|
89
|
+
if (pinned !== shapeClass && shapeUriOf(pinned) === uri && existing !== dataset) {
|
|
90
|
+
console.warn(`[linked] Two different classes are pinned to '${uri}' with different ` +
|
|
91
|
+
`datasets. They are the same shape by identity, so one of these pins ` +
|
|
92
|
+
`will be ignored. This usually means the shape class was registered twice.`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
routingState.shapeToDataset.set(shapeClass, dataset);
|
|
64
97
|
});
|
|
65
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Remove the pin for a shape, by class or by IRI.
|
|
101
|
+
*
|
|
102
|
+
* Removes **every** entry sharing that IRI, not just the one class object handed in.
|
|
103
|
+
* Deleting by class identity alone is not enough: resolution falls back to matching
|
|
104
|
+
* on IRI, so another class claiming the same shape would silently resurrect the pin
|
|
105
|
+
* the caller believed they had removed.
|
|
106
|
+
*/
|
|
107
|
+
static unsetDatasetForShape(shape) {
|
|
108
|
+
const uri = typeof shape === 'string' ? shape : shapeUriOf(shape);
|
|
109
|
+
routingState.shapeToDataset.delete(shape);
|
|
110
|
+
if (!uri)
|
|
111
|
+
return;
|
|
112
|
+
for (const pinned of [...routingState.shapeToDataset.keys()]) {
|
|
113
|
+
if (shapeUriOf(pinned) === uri) {
|
|
114
|
+
routingState.shapeToDataset.delete(pinned);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
66
118
|
/** Every IDataset known to the primary router (default + all pinned). */
|
|
67
119
|
static getDatasets() {
|
|
68
120
|
const datasets = new CoreSet();
|
|
69
|
-
if (
|
|
70
|
-
datasets.add(
|
|
121
|
+
if (routingState.defaultDataset) {
|
|
122
|
+
datasets.add(routingState.defaultDataset);
|
|
71
123
|
}
|
|
72
|
-
|
|
124
|
+
routingState.shapeToDataset.forEach((dataset) => datasets.add(dataset));
|
|
73
125
|
return datasets;
|
|
74
126
|
}
|
|
75
|
-
/**
|
|
127
|
+
/**
|
|
128
|
+
* The live shape→IDataset map — not a copy.
|
|
129
|
+
*
|
|
130
|
+
* Mutating it works but is not the supported way to remove a pin: deleting a key
|
|
131
|
+
* here removes one class object, and resolution falls back to matching on shape IRI,
|
|
132
|
+
* so another class claiming the same shape resurrects the pin. Use
|
|
133
|
+
* `unsetDatasetForShape`, which removes every entry for that identity.
|
|
134
|
+
*/
|
|
76
135
|
static getShapeToDatasetMap() {
|
|
77
|
-
return
|
|
136
|
+
return routingState.shapeToDataset;
|
|
78
137
|
}
|
|
79
138
|
/** Resolve the IDataset for a given shape class. Walks the prototype chain. */
|
|
80
139
|
static getDatasetForShapeClass(shapeClass) {
|
|
140
|
+
var _a;
|
|
81
141
|
let current = shapeClass !== null && shapeClass !== void 0 ? shapeClass : null;
|
|
82
142
|
while (typeof current === 'function') {
|
|
83
|
-
const dataset =
|
|
143
|
+
const dataset = routingState.shapeToDataset.get(current);
|
|
84
144
|
if (dataset) {
|
|
85
145
|
return dataset;
|
|
86
146
|
}
|
|
87
|
-
const byUri = this.findPinByShapeUri(current);
|
|
88
|
-
if (byUri) {
|
|
89
|
-
return byUri;
|
|
90
|
-
}
|
|
91
147
|
const parent = Object.getPrototypeOf(current);
|
|
92
148
|
if (parent === Function.prototype || parent === null)
|
|
93
149
|
break;
|
|
94
150
|
current = parent;
|
|
95
151
|
}
|
|
96
|
-
|
|
152
|
+
// Only once the identity walk has failed. `static shape` is inherited, so running
|
|
153
|
+
// this at every level of the chain repeated the same scan for the same IRI.
|
|
154
|
+
return (_a = this.findPinByShapeUri(shapeClass)) !== null && _a !== void 0 ? _a : routingState.defaultDataset;
|
|
97
155
|
}
|
|
98
156
|
/**
|
|
99
157
|
* The same pins, matched on shape IRI rather than on class identity.
|
|
@@ -112,21 +170,16 @@ export class LinkedStorage {
|
|
|
112
170
|
* what the query already carries on the wire, and every copy derives the same
|
|
113
171
|
* one. So it is the key that survives duplication.
|
|
114
172
|
*
|
|
115
|
-
* Deliberately a scan of the one map rather than a second map kept alongside
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
* would come back from the shadow copy. One source of truth is worth more
|
|
119
|
-
* here than a lookup that is already only reached on a miss, over a map that
|
|
120
|
-
* holds a few dozen entries.
|
|
173
|
+
* Deliberately a scan of the one map rather than a second map kept alongside it:
|
|
174
|
+
* one source of truth, over a map holding a few dozen entries, on a path only
|
|
175
|
+
* reached after an identity lookup has already failed.
|
|
121
176
|
*/
|
|
122
177
|
static findPinByShapeUri(shapeClass) {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
if (typeof uri !== 'string' || !uri)
|
|
178
|
+
const uri = shapeUriOf(shapeClass);
|
|
179
|
+
if (!uri)
|
|
126
180
|
return undefined;
|
|
127
|
-
for (const [pinned, dataset] of
|
|
128
|
-
|
|
129
|
-
if (typeof pinnedUri === 'string' && pinnedUri === uri) {
|
|
181
|
+
for (const [pinned, dataset] of routingState.shapeToDataset) {
|
|
182
|
+
if (shapeUriOf(pinned) === uri) {
|
|
130
183
|
return dataset;
|
|
131
184
|
}
|
|
132
185
|
}
|
|
@@ -134,7 +187,7 @@ export class LinkedStorage {
|
|
|
134
187
|
}
|
|
135
188
|
static resolveDatasetForQueryShape(shape) {
|
|
136
189
|
if (!shape) {
|
|
137
|
-
return
|
|
190
|
+
return routingState.defaultDataset;
|
|
138
191
|
}
|
|
139
192
|
if (typeof shape === 'function') {
|
|
140
193
|
return this.getDatasetForShapeClass(shape);
|
|
@@ -148,7 +201,7 @@ export class LinkedStorage {
|
|
|
148
201
|
const shapeClass = getShapeClass(shape.id);
|
|
149
202
|
return this.getDatasetForShapeClass(shapeClass);
|
|
150
203
|
}
|
|
151
|
-
return
|
|
204
|
+
return routingState.defaultDataset;
|
|
152
205
|
}
|
|
153
206
|
/**
|
|
154
207
|
* Route a select query — **and a count**, which is a select.
|
|
@@ -258,5 +311,4 @@ export class LinkedStorage {
|
|
|
258
311
|
return dataset.deleteQuery(query);
|
|
259
312
|
}
|
|
260
313
|
}
|
|
261
|
-
LinkedStorage.shapeToDataset = new Map();
|
|
262
314
|
//# sourceMappingURL=LinkedStorage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedStorage.js","sourceRoot":"","sources":["../../../src/utils/LinkedStorage.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAQlD,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAG9C,yEAAyE;AACzE,8EAA8E;AAC9E,+EAA+E;AAC/E,uEAAuE;AACvE,0DAA0D;AAC1D,MAAM,mBAAmB,GACvB,OAAO,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,EAAU,CAAC;AAC/D,mBAAmB,CAAC,4BAA4B;IAC9C,CAAC,MAAA,mBAAmB,CAAC,4BAA4B,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAE9D;;;;;;;;;GASG;AACH,MAAM,OAAgB,aAAa;
|
|
1
|
+
{"version":3,"file":"LinkedStorage.js","sourceRoot":"","sources":["../../../src/utils/LinkedStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,20 @@ import { type Shape, type ShapeConstructor } from '../shapes/Shape.js';
|
|
|
2
2
|
import { type NodeShapeData, type PropertyShapeData } from '../shapes/nodeShapeData.js';
|
|
3
3
|
import type { ICoreIterable } from '../interfaces/ICoreIterable.js';
|
|
4
4
|
import type { NodeReferenceValue } from './NodeReference.js';
|
|
5
|
-
/**
|
|
5
|
+
/** How many physical copies of THIS module have evaluated. One is expected. */
|
|
6
|
+
export declare function getShapeRegistryInstanceCount(): number;
|
|
7
|
+
/**
|
|
8
|
+
* The current registration version — a monotonic counter, bumped on every write.
|
|
9
|
+
*
|
|
10
|
+
* Every derived cache in this module, and in `irToAlgebra`, is keyed on it. It replaces
|
|
11
|
+
* two earlier invalidation strategies that were both unsound: a `setTimeout(…, 0)` cache
|
|
12
|
+
* clear (which missed anything registered later in the same session) and comparing the
|
|
13
|
+
* registry SIZE (which silently reuses a stale cache when a registration and a removal
|
|
14
|
+
* coincide, or when a shape is re-registered in place).
|
|
15
|
+
*
|
|
16
|
+
* It lives on the shared state, not in module scope: a cache keyed on a per-copy version
|
|
17
|
+
* would look valid after another copy had written.
|
|
18
|
+
*/
|
|
6
19
|
export declare function getRegistryVersion(): number;
|
|
7
20
|
/**
|
|
8
21
|
* Register a shape known only as data — no TypeScript class is created.
|
|
@@ -60,6 +73,22 @@ export declare function getSubShapes(shape: ShapeLike): NodeShapeData[];
|
|
|
60
73
|
/** True when `a` extends `b` (strictly — a shape is not a sub-shape of itself). */
|
|
61
74
|
export declare function isSubShapeOf(a: ShapeLike, b: ShapeLike): boolean;
|
|
62
75
|
export declare function addNodeShapeToShapeClass(nodeShape: NodeShapeData, shapeClass: typeof Shape): void;
|
|
76
|
+
/**
|
|
77
|
+
* The constructor for a shape IRI — an authored class if there is one, otherwise one
|
|
78
|
+
* derived from the registered metadata.
|
|
79
|
+
*
|
|
80
|
+
* This is what the query layer wants in every case, and `getShapeClass` alone is not:
|
|
81
|
+
* it answers `undefined` for a shape that exists only as data, which is every shape
|
|
82
|
+
* authored in a project. Five call sites used to spell this fallback out by hand, in
|
|
83
|
+
* four different ways.
|
|
84
|
+
*
|
|
85
|
+
* `getShapeClass` is NOT consulted first. `getOrCreateShapeAdapter` already returns the
|
|
86
|
+
* authored class when one exists, and a class-backed shape is always mirrored into the
|
|
87
|
+
* primary registry, so the adapter path cannot miss a shape `getShapeClass` would find.
|
|
88
|
+
*/
|
|
89
|
+
export declare function resolveShapeConstructor(nodeShape: NodeReferenceValue | {
|
|
90
|
+
id: string;
|
|
91
|
+
} | string): ShapeConstructor | undefined;
|
|
63
92
|
export declare function getShapeClass(nodeShape: NodeReferenceValue | {
|
|
64
93
|
id: string;
|
|
65
94
|
} | string): ShapeConstructor | undefined;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
var _a, _b;
|
|
1
2
|
// Namespace import, read at CALL time rather than captured at module-evaluation time.
|
|
2
3
|
// `getOrCreateShapeAdapter` subclasses `Shape` at runtime, and under some import orders this
|
|
3
4
|
// module finishes evaluating before `Shape.js` does — a named import captured then is
|
|
@@ -10,9 +11,48 @@ const resolveTargetClassId = (targetClass) => {
|
|
|
10
11
|
return null;
|
|
11
12
|
return (_a = targetClass.id) !== null && _a !== void 0 ? _a : null;
|
|
12
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* The shape registries live on `globalThis`, not in module scope.
|
|
16
|
+
*
|
|
17
|
+
* A module can evaluate more than once in one process, and in a built app it does: an
|
|
18
|
+
* app's backend is assembled from two graphs, one loaded by the bundler from `src/` and
|
|
19
|
+
* one resolved by Node to `lib/esm/`. A module-scope `Map` then exists twice — shapes
|
|
20
|
+
* register into one copy and every lookup reads the other, which finds nothing.
|
|
21
|
+
*
|
|
22
|
+
* The symptom never mentions module identity. It is `Invalid property key: projectSlug.
|
|
23
|
+
* The shape Project does not have a registered property with this name` for a property
|
|
24
|
+
* that is declared correctly two files away, because validation ran on the copy the
|
|
25
|
+
* decorators never reached. See docs/reports/043-module-identity-in-the-backend.md.
|
|
26
|
+
*
|
|
27
|
+
* Sharing the state makes duplication harmless rather than merely absent: the graphs
|
|
28
|
+
* still hold two copies of this module, but only one registry. `LinkedStorage` already
|
|
29
|
+
* keeps its instance counter here; this keeps the data itself.
|
|
30
|
+
*/
|
|
31
|
+
const shapeRegistryGlobal = typeof globalThis !== 'undefined' ? globalThis : {};
|
|
32
|
+
shapeRegistryGlobal.__linkedShapeRegistryInstanceCount =
|
|
33
|
+
((_a = shapeRegistryGlobal.__linkedShapeRegistryInstanceCount) !== null && _a !== void 0 ? _a : 0) + 1;
|
|
34
|
+
/**
|
|
35
|
+
* One shared container, created by whichever copy evaluates first.
|
|
36
|
+
*
|
|
37
|
+
* `registryVersion` belongs here too: every derived cache in this module is keyed on it,
|
|
38
|
+
* so a version that is not shared would let one copy's writes leave another copy's caches
|
|
39
|
+
* looking valid. The caches themselves stay per-copy — they are rebuilt whenever the
|
|
40
|
+
* shared version moves past them.
|
|
41
|
+
*/
|
|
42
|
+
const registryState = ((_b = shapeRegistryGlobal.__linkedShapeRegistry) !== null && _b !== void 0 ? _b : (shapeRegistryGlobal.__linkedShapeRegistry = {
|
|
43
|
+
nodeShapeToShapeClass: new Map(),
|
|
44
|
+
nodeShapeRegistry: new Map(),
|
|
45
|
+
shapeAdapters: new Map(),
|
|
46
|
+
registryVersion: 0,
|
|
47
|
+
}));
|
|
48
|
+
/** How many physical copies of THIS module have evaluated. One is expected. */
|
|
49
|
+
export function getShapeRegistryInstanceCount() {
|
|
50
|
+
var _a;
|
|
51
|
+
return (_a = shapeRegistryGlobal.__linkedShapeRegistryInstanceCount) !== null && _a !== void 0 ? _a : 0;
|
|
52
|
+
}
|
|
13
53
|
let subShapesCache = new Map();
|
|
14
54
|
let mostSpecificSubShapesCache = new Map();
|
|
15
|
-
|
|
55
|
+
const nodeShapeToShapeClass = registryState.nodeShapeToShapeClass;
|
|
16
56
|
const warnedDuplicateBases = new Set();
|
|
17
57
|
/**
|
|
18
58
|
* The PRIMARY shape registry: node-shape IRI → its metadata.
|
|
@@ -24,28 +64,29 @@ const warnedDuplicateBases = new Set();
|
|
|
24
64
|
* typed accessor). Query lowering, predicate resolution and containment all read
|
|
25
65
|
* metadata, so they use this map and work identically for both kinds of shape.
|
|
26
66
|
*/
|
|
27
|
-
|
|
67
|
+
const nodeShapeRegistry = registryState.nodeShapeRegistry;
|
|
28
68
|
/** Version the sub-shape caches above were filled at. */
|
|
29
69
|
let subShapesCacheVersion = -1;
|
|
30
70
|
/**
|
|
31
|
-
*
|
|
32
|
-
* `irToAlgebra`) is keyed on it.
|
|
71
|
+
* The current registration version — a monotonic counter, bumped on every write.
|
|
33
72
|
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
73
|
+
* Every derived cache in this module, and in `irToAlgebra`, is keyed on it. It replaces
|
|
74
|
+
* two earlier invalidation strategies that were both unsound: a `setTimeout(…, 0)` cache
|
|
75
|
+
* clear (which missed anything registered later in the same session) and comparing the
|
|
76
|
+
* registry SIZE (which silently reuses a stale cache when a registration and a removal
|
|
77
|
+
* coincide, or when a shape is re-registered in place).
|
|
78
|
+
*
|
|
79
|
+
* It lives on the shared state, not in module scope: a cache keyed on a per-copy version
|
|
80
|
+
* would look valid after another copy had written.
|
|
38
81
|
*/
|
|
39
|
-
let registryVersion = 0;
|
|
40
|
-
/** The current registration version — bump-on-write, for cache invalidation. */
|
|
41
82
|
export function getRegistryVersion() {
|
|
42
|
-
return registryVersion;
|
|
83
|
+
return registryState.registryVersion;
|
|
43
84
|
}
|
|
44
85
|
/** Reverse index parentIri → direct child IRIs, rebuilt when the registry changes. */
|
|
45
86
|
let childIndex = null;
|
|
46
87
|
let childIndexVersion = -1;
|
|
47
88
|
function getChildIndex() {
|
|
48
|
-
if (childIndex && childIndexVersion === registryVersion)
|
|
89
|
+
if (childIndex && childIndexVersion === registryState.registryVersion)
|
|
49
90
|
return childIndex;
|
|
50
91
|
const index = new Map();
|
|
51
92
|
nodeShapeRegistry.forEach((shape, id) => {
|
|
@@ -60,11 +101,11 @@ function getChildIndex() {
|
|
|
60
101
|
index.set(parent, [id]);
|
|
61
102
|
});
|
|
62
103
|
childIndex = index;
|
|
63
|
-
childIndexVersion = registryVersion;
|
|
104
|
+
childIndexVersion = registryState.registryVersion;
|
|
64
105
|
return index;
|
|
65
106
|
}
|
|
66
107
|
function invalidateRegistryCaches() {
|
|
67
|
-
registryVersion++;
|
|
108
|
+
registryState.registryVersion++;
|
|
68
109
|
subShapesCache.clear();
|
|
69
110
|
mostSpecificSubShapesCache.clear();
|
|
70
111
|
childIndex = null;
|
|
@@ -114,7 +155,7 @@ export function getAllNodeShapes() {
|
|
|
114
155
|
* the metadata verbatim, so nothing is lost, and inheritance is read from
|
|
115
156
|
* `nodeShape.extends` (not from the adapter's prototype, which is always `Shape`).
|
|
116
157
|
*/
|
|
117
|
-
const shapeAdapters =
|
|
158
|
+
const shapeAdapters = registryState.shapeAdapters;
|
|
118
159
|
/**
|
|
119
160
|
* A constructor for a shape known only as data, created on first use.
|
|
120
161
|
*
|
|
@@ -309,6 +350,27 @@ export function addNodeShapeToShapeClass(nodeShape, shapeClass) {
|
|
|
309
350
|
// which invalidates every derived cache immediately rather than on a next-tick timer.
|
|
310
351
|
registerNodeShape(nodeShape);
|
|
311
352
|
}
|
|
353
|
+
/**
|
|
354
|
+
* The constructor for a shape IRI — an authored class if there is one, otherwise one
|
|
355
|
+
* derived from the registered metadata.
|
|
356
|
+
*
|
|
357
|
+
* This is what the query layer wants in every case, and `getShapeClass` alone is not:
|
|
358
|
+
* it answers `undefined` for a shape that exists only as data, which is every shape
|
|
359
|
+
* authored in a project. Five call sites used to spell this fallback out by hand, in
|
|
360
|
+
* four different ways.
|
|
361
|
+
*
|
|
362
|
+
* `getShapeClass` is NOT consulted first. `getOrCreateShapeAdapter` already returns the
|
|
363
|
+
* authored class when one exists, and a class-backed shape is always mirrored into the
|
|
364
|
+
* primary registry, so the adapter path cannot miss a shape `getShapeClass` would find.
|
|
365
|
+
*/
|
|
366
|
+
export function resolveShapeConstructor(nodeShape) {
|
|
367
|
+
const id = typeof nodeShape === 'string' ? nodeShape : nodeShape === null || nodeShape === void 0 ? void 0 : nodeShape.id;
|
|
368
|
+
if (!id)
|
|
369
|
+
return undefined;
|
|
370
|
+
// SAFETY: both paths yield a concrete subclass of Shape with a static .shape —
|
|
371
|
+
// i.e. a ShapeConstructor. Same cast getShapeClass documents.
|
|
372
|
+
return getOrCreateShapeAdapter(id);
|
|
373
|
+
}
|
|
312
374
|
export function getShapeClass(nodeShape) {
|
|
313
375
|
const id = typeof nodeShape === 'string' ? nodeShape : nodeShape === null || nodeShape === void 0 ? void 0 : nodeShape.id;
|
|
314
376
|
if (!id) {
|
|
@@ -331,10 +393,10 @@ export function getAllShapeClasses() {
|
|
|
331
393
|
*/
|
|
332
394
|
export function getSubShapesClasses(shape, _internalKey) {
|
|
333
395
|
let key = _internalKey || getKey(shape);
|
|
334
|
-
if (subShapesCacheVersion !== registryVersion) {
|
|
396
|
+
if (subShapesCacheVersion !== registryState.registryVersion) {
|
|
335
397
|
subShapesCache.clear();
|
|
336
398
|
mostSpecificSubShapesCache.clear();
|
|
337
|
-
subShapesCacheVersion = registryVersion;
|
|
399
|
+
subShapesCacheVersion = registryState.registryVersion;
|
|
338
400
|
}
|
|
339
401
|
if (!subShapesCache.has(key)) {
|
|
340
402
|
//apply the hasSuperclass function to the shape
|
|
@@ -422,10 +484,10 @@ export function getMostSpecificSubShapes(shape) {
|
|
|
422
484
|
}
|
|
423
485
|
//get the subshapes of the given shapes
|
|
424
486
|
let key = shape.map((s) => s.name).join(',');
|
|
425
|
-
if (subShapesCacheVersion !== registryVersion) {
|
|
487
|
+
if (subShapesCacheVersion !== registryState.registryVersion) {
|
|
426
488
|
subShapesCache.clear();
|
|
427
489
|
mostSpecificSubShapesCache.clear();
|
|
428
|
-
subShapesCacheVersion = registryVersion;
|
|
490
|
+
subShapesCacheVersion = registryState.registryVersion;
|
|
429
491
|
}
|
|
430
492
|
if (!mostSpecificSubShapesCache.has(key)) {
|
|
431
493
|
//get the subshapes of the given shapes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShapeClass.js","sourceRoot":"","sources":["../../../src/utils/ShapeClass.ts"],"names":[],"mappings":"AACA,sFAAsF;AACtF,6FAA6F;AAC7F,sFAAsF;AACtF,wFAAwF;AACxF,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,gBAAgB,GAGjB,MAAM,4BAA4B,CAAC;AAIpC,MAAM,oBAAoB,GAAG,CAC3B,WAAuC,EACxB,EAAE;;IACjB,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,MAAA,WAAW,CAAC,EAAE,mCAAI,IAAI,CAAC;AAChC,CAAC,CAAC;AAEF,IAAI,cAAc,GAAkC,IAAI,GAAG,EAAE,CAAC;AAC9D,IAAI,0BAA0B,GAAkC,IAAI,GAAG,EAAE,CAAC;AAC1E,IAAI,qBAAqB,GAA8B,IAAI,GAAG,EAAE,CAAC;AACjE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE/C;;;;;;;;;GASG;AACH,IAAI,iBAAiB,GAA+B,IAAI,GAAG,EAAE,CAAC;AAE9D,yDAAyD;AACzD,IAAI,qBAAqB,GAAG,CAAC,CAAC,CAAC;AAE/B;;;;;;;;GAQG;AACH,IAAI,eAAe,GAAG,CAAC,CAAC;AAExB,gFAAgF;AAChF,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,sFAAsF;AACtF,IAAI,UAAU,GAAiC,IAAI,CAAC;AACpD,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC;AAE3B,SAAS,aAAa;IACpB,IAAI,UAAU,IAAI,iBAAiB,KAAK,eAAe;QAAE,OAAO,UAAU,CAAC;IAC3E,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC1C,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;;QACtC,MAAM,MAAM,GAAG,MAAA,KAAK,CAAC,OAAO,0CAAE,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;YAC3B,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,UAAU,GAAG,KAAK,CAAC;IACnB,iBAAiB,GAAG,eAAe,CAAC;IACpC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,wBAAwB;IAC/B,eAAe,EAAE,CAAC;IAClB,cAAc,CAAC,KAAK,EAAE,CAAC;IACvB,0BAA0B,CAAC,KAAK,EAAE,CAAC;IACnC,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,gEAAgE;AAChE,SAAS,sBAAsB,CAAC,EAAU;IACxC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAwB;IACxD,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,CAAA;QAAE,OAAO;IAC3B,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC/C,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACrC,wBAAwB,EAAE,CAAC;AAC7B,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,YAAY,CAC1B,SAAqD;IAErD,MAAM,EAAE,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,CAAC;IACrE,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAC1B,OAAO,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,gBAAgB;IAC9B,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,aAAa,GAA8B,IAAI,GAAG,EAAE,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAAiC;;IAEjC,MAAM,IAAI,GACR,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,CAAA;QAAE,OAAO,SAAS,CAAC;IAEhC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1C,iFAAiF;IACjF,6BAA6B;IAC7B,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAEnD,MAAM,YAAa,SAAQ,WAAW,CAAC,KAAK;;IACnC,kBAAK,GAAG,IAAqB,CAAC;IAC9B,wBAAW,GAAG,MAAC,IAAsB,CAAC,WAAW,mCAAI,IAAI,CAAC;IAEnE,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE;QAC1C,KAAK,EAAG,IAAsB,CAAC,KAAK,IAAI,cAAc;KACvD,CAAC,CAAC;IACH,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACzC,OAAO,YAAY,CAAC;AACtB,CAAC;AAKD,oFAAoF;AACpF,SAAS,eAAe,CAAC,KAAgB;;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,KAAsB,CAAC;IACtC,2EAA2E;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC/D,OAAO,MAAA,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,mCAAI,MAAM,CAAC;IACpD,CAAC;IACD,MAAM,OAAO,GAAG,KAAqB,CAAC;IACtC,MAAM,SAAS,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC;IACjC,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE;QAAE,OAAO,MAAA,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,mCAAI,SAAS,CAAC;IAC3E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAU,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,cAAc,CAAC,KAAgB;;IAC7C,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAEzB,sDAAsD;IACtD,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvD,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,OAAO,GAA6B,UAAU,CAAC;QACnD,OAAO,OAAO,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAA6B,CAAC;YAC1E,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAA;gBAAE,MAAM;YAC1B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,IAAK,MAAkB,KAAM,WAAW,CAAC,KAAiB;gBAAE,MAAM;YAClE,OAAO,GAAG,MAAM,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,IAAI,OAAO,GAA8B,KAAK,CAAC;IAC/C,OAAO,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,EAAE,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,CAAC,oDAAoD;QACnF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7C,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxC,OAAO,CAAC,IAAI,CACV,mBAAmB,OAAO,CAAC,EAAE,cAAc,QAAQ,8BAA8B;oBAC/E,gFAAgF;oBAChF,iEAAiE,CACpE,CAAC;YACJ,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,YAAY,CAAC,KAAgB;;IAC3C,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC/B,KAAK,MAAM,OAAO,IAAI,MAAA,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,mCAAI,EAAE,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YAChC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAClB,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,YAAY,CAAC,CAAY,EAAE,CAAY;IACrD,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,SAAwB,EACxB,UAAwB;;IAExB,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,CAAA,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IACD,8EAA8E;IAC9E,mFAAmF;IACnF,qFAAqF;IACrF,qFAAqF;IACrF,6EAA6E;IAC7E,gFAAgF;IAChF,qCAAqC;IACrC,EAAE;IACF,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,8EAA8E;IAC9E,8EAA8E;IAC9E,4EAA4E;IAC5E,CAAC;QACC,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,EAAE,IAAI,QAAQ,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,iFAAiF;YACjF,4EAA4E;YAC5E,mFAAmF;YACnF,MAAM,SAAS,GAAG,MAAC,UAAkB,CAAC,WAAW,0CAAE,EAAE,CAAC;YACtD,MAAM,cAAc,GAAG,MAAC,QAAgB,CAAC,WAAW,0CAAE,EAAE,CAAC;YACzD,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;gBAClE,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC/B,OAAO,CAAC,IAAI,CACV,yCAAyC,EAAE,2BAA2B,IAAI,KAAK;oBAC7E,8EAA8E;oBAC9E,gFAAgF;oBAChF,oBAAoB,CACvB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACpD,mFAAmF;IACnF,mFAAmF;IACnF,sFAAsF;IACtF,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,SAAqD;IAErD,MAAM,EAAE,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,CAAC;IACrE,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,qFAAqF;IACrF,oFAAoF;IACpF,OAAO,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAA4C,CAAC;AAClF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AAEH,MAAM,UAAU,mBAAmB,CACjC,KAAsC,EACtC,YAAqB;IAErB,IAAI,GAAG,GAAG,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,qBAAqB,KAAK,eAAe,EAAE,CAAC;QAC9C,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,0BAA0B,CAAC,KAAK,EAAE,CAAC;QACnC,qBAAqB,GAAG,eAAe,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,+CAA+C;QAC/C,IAAI,cAAc,GAAG,qBAAqB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC/D,oIAAoI;QACpI,cAAc,CAAC,GAAG,CAChB,GAAG,EACH,kBAAkB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/C,OAAO,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,8DAA8D;IAC9D,OAAO,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAsC;IAEtC,+CAA+C;IAC/C,IAAI,cAAc,GAAG,qBAAqB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACjE,6DAA6D;IAC7D,OAAO,kBAAkB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtD,OAAO,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAAwB,EACxB,KAAa;IAEb,IAAI,CAAC,UAAU,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IACxC,OAAO,gBAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,CAAY,EAAE,CAAY;IACtD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,KAAK,IAAI,KAAK;QAAE,OAAO,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtD,OAAO,OAAO,CAAC,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,UAAU;QACvD,CAAC,CAAE,CAAc,CAAC,SAAS,YAAa,CAAc;QACtD,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,WAAW,CAAC,CAAY,EAAE,CAAY;IACpD,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAK,EAAE,QAAQ;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,UAAU,EAAE,EAAE;YACpB,mFAAmF;YACnF,OAAQ,KAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,0GAA0G;QAC1G,iEAAiE;QACjE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAQ;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,qBAAqB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QAC3C,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAA4B;IACvE,IAAI,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACtC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAClC,CAAC;IACF,OAAO,2BAA2B,CAAC,YAAY,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAAsC;IAEtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IACD,uCAAuC;IACvC,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,qBAAqB,KAAK,eAAe,EAAE,CAAC;QAC9C,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,0BAA0B,CAAC,KAAK,EAAE,CAAC;QACnC,qBAAqB,GAAG,eAAe,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,uCAAuC;QACvC,IAAI,SAAS,GAAqB,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClE,uFAAuF;QACvF,0BAA0B,CAAC,GAAG,CAAC,GAAG,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,0BAA0B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,SAAS,0BAA0B,CAAC,SAAS;IAC3C,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QACnC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;YACvC,OAAO,aAAa,CAAC,SAAS,YAAY,QAAQ,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,2BAA2B,CAAC,YAAY;IAC/C,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;QACxC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE;YAC5C,OAAO,CACL,eAAe,KAAK,UAAU;gBAC9B,UAAU,CAAC,SAAS,YAAY,eAAe,CAChD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,MAAM,CAAC,KAAsC;IACpD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC5C,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,WAAW,CAAC,KAAmB;IACtC,uCAAuC;IACvC,OAAO,CACL,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC;QACvC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CACrE,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"ShapeClass.js","sourceRoot":"","sources":["../../../src/utils/ShapeClass.ts"],"names":[],"mappings":"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"}
|