@_linked/core 1.0.0-next.20260216062729 → 1.0.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.
- package/CHANGELOG.md +0 -14
- package/README.md +39 -146
- package/lib/cjs/queries/SelectQuery.d.ts +0 -5
- package/lib/cjs/queries/SelectQuery.js +0 -14
- package/lib/cjs/queries/SelectQuery.js.map +1 -1
- package/lib/cjs/shapes/SHACL.d.ts +0 -1
- package/lib/cjs/shapes/SHACL.js +2 -82
- package/lib/cjs/shapes/SHACL.js.map +1 -1
- package/lib/cjs/shapes/Shape.d.ts +1 -13
- package/lib/cjs/shapes/Shape.js +0 -6
- package/lib/cjs/shapes/Shape.js.map +1 -1
- package/lib/cjs/test-helpers/query-fixtures.d.ts +0 -583
- package/lib/cjs/test-helpers/query-fixtures.js +1 -39
- package/lib/cjs/test-helpers/query-fixtures.js.map +1 -1
- package/lib/esm/queries/SelectQuery.d.ts +0 -5
- package/lib/esm/queries/SelectQuery.js +0 -14
- package/lib/esm/queries/SelectQuery.js.map +1 -1
- package/lib/esm/shapes/SHACL.d.ts +0 -1
- package/lib/esm/shapes/SHACL.js +2 -82
- package/lib/esm/shapes/SHACL.js.map +1 -1
- package/lib/esm/shapes/Shape.d.ts +1 -13
- package/lib/esm/shapes/Shape.js +0 -6
- package/lib/esm/shapes/Shape.js.map +1 -1
- package/lib/esm/test-helpers/query-fixtures.d.ts +0 -583
- package/lib/esm/test-helpers/query-fixtures.js +0 -38
- package/lib/esm/test-helpers/query-fixtures.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,20 +3,6 @@
|
|
|
3
3
|
## 1.0.0
|
|
4
4
|
|
|
5
5
|
### Major Changes
|
|
6
|
-
|
|
7
|
-
- [#1](https://github.com/Semantu/linked/pull/1) [`0938ede`](https://github.com/Semantu/linked/commit/0938edec623e9d611767ae150b8d60270035ffeb) Thanks [@flyon](https://github.com/flyon)! - first major release
|
|
8
|
-
|
|
9
|
-
### Minor Changes
|
|
10
|
-
|
|
11
|
-
- [#4](https://github.com/Semantu/linked/pull/4) [`c35e686`](https://github.com/Semantu/linked/commit/c35e6861600d7aa8683b4b288fc4d1dc74c4aff2) Thanks [@flyon](https://github.com/flyon)! - - Added `Shape.selectAll()` plus nested `selectAll()` support on sub-queries.
|
|
12
|
-
- Added inherited property deduplication via `NodeShape.getUniquePropertyShapes()` so subclass overrides win by label and are selected once.
|
|
13
|
-
- Improved `selectAll()` type inference (including nested queries) and excluded base `Shape` keys from inferred results.
|
|
14
|
-
- Added registration-time override guards: `minCount` cannot be lowered, `maxCount` cannot be increased, and `nodeKind` cannot be widened.
|
|
15
|
-
- Fixed `createPropertyShape` to preserve explicit `minCount: 0` / `maxCount: 0`.
|
|
16
|
-
- Expanded tests and README documentation for `selectAll`, CRUD return types, and multi-value update semantics.
|
|
17
|
-
|
|
18
|
-
### 1.0.0 (from LINCD.js)
|
|
19
|
-
|
|
20
6
|
This is a rebranding + extraction release. It moves the core query/shape system into `@_linked/core` and removes RDF models and React-specific code.
|
|
21
7
|
|
|
22
8
|
Key changes:
|
package/README.md
CHANGED
|
@@ -85,35 +85,41 @@ export class Person extends Shape {
|
|
|
85
85
|
## Queries: Create, Select, Update, Delete
|
|
86
86
|
|
|
87
87
|
Queries are expressed with the same Shape classes and compile to a query object that a store executes.
|
|
88
|
-
Use this section as a quick start. Detailed query variations are documented in `Query examples` below.
|
|
89
88
|
|
|
90
|
-
A few quick examples:
|
|
91
|
-
|
|
92
|
-
**1) Select one field for all matching nodes**
|
|
93
89
|
```typescript
|
|
90
|
+
/* Result: Array<{id: string; name: string}> */
|
|
94
91
|
const names = await Person.select((p) => p.name);
|
|
95
|
-
/* names: {id: string; name: string}[] */
|
|
96
|
-
```
|
|
97
92
|
|
|
98
|
-
**2) Select all decorated fields of nested related nodes**
|
|
99
|
-
```typescript
|
|
100
|
-
const allFriends = await Person.select((p) => p.knows.selectAll());
|
|
101
|
-
/* allFriends: {
|
|
102
|
-
id?: string;
|
|
103
|
-
knows: {
|
|
104
|
-
id?: string;
|
|
105
|
-
...all decorated Person fields...
|
|
106
|
-
}[]
|
|
107
|
-
}[] */
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
**3) Apply a simple mutation**
|
|
111
|
-
```typescript
|
|
112
93
|
const myNode = {id: 'https://my.app/node1'};
|
|
94
|
+
/* Result: {id: string; name: string} | null */
|
|
95
|
+
const person = await Person.select(myNode, (p) => p.name);
|
|
96
|
+
const missing = await Person.select({id: 'https://my.app/missing'}, (p) => p.name); // null
|
|
97
|
+
|
|
98
|
+
/* Result: {id: string} & UpdatePartial<Person> */
|
|
99
|
+
const created = await Person.create({
|
|
100
|
+
name: 'Alice',
|
|
101
|
+
knows: [{id: 'https://my.app/node2'}],
|
|
102
|
+
});
|
|
103
|
+
|
|
113
104
|
const updated = await Person.update(myNode, {
|
|
114
105
|
name: 'Alicia',
|
|
115
106
|
});
|
|
116
|
-
|
|
107
|
+
|
|
108
|
+
// Overwrite a multi-value property
|
|
109
|
+
const overwriteFriends = await Person.update(myNode, {
|
|
110
|
+
knows: [{id: 'https://my.app/node2'}],
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
// Add/remove items in a multi-value property
|
|
114
|
+
const addRemoveFriends = await Person.update(myNode, {
|
|
115
|
+
knows: {
|
|
116
|
+
add: [{id: 'https://my.app/node3'}],
|
|
117
|
+
remove: [{id: 'https://my.app/node2'}],
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
/* Result: {deleted: Array<{id: string}>, count: number} */
|
|
122
|
+
await Person.delete(myNode);
|
|
117
123
|
```
|
|
118
124
|
|
|
119
125
|
## Storage configuration
|
|
@@ -166,13 +172,10 @@ Result types are inferred from your Shape definitions and the selected paths. Ex
|
|
|
166
172
|
|
|
167
173
|
#### Basic selection
|
|
168
174
|
```typescript
|
|
169
|
-
/*
|
|
175
|
+
/* Result: Array<{id: string; name: string}> */
|
|
170
176
|
const names = await Person.select((p) => p.name);
|
|
171
177
|
|
|
172
|
-
/*
|
|
173
|
-
id: string;
|
|
174
|
-
knows: { id: string }[]
|
|
175
|
-
}[] */
|
|
178
|
+
/* Result: Array<{id: string; knows: Array<{id: string}>}> */
|
|
176
179
|
const friends = await Person.select((p) => p.knows);
|
|
177
180
|
|
|
178
181
|
const dates = await Person.select((p) => [p.birthDate, p.name]);
|
|
@@ -199,12 +202,6 @@ const deep = await Person.select((p) => p.knows.bestFriend.name);
|
|
|
199
202
|
const detailed = await Person.select((p) =>
|
|
200
203
|
p.knows.select((f) => f.name),
|
|
201
204
|
);
|
|
202
|
-
|
|
203
|
-
const allPeople = await Person.selectAll();
|
|
204
|
-
|
|
205
|
-
const detailedAll = await Person.select((p) =>
|
|
206
|
-
p.knows.selectAll(),
|
|
207
|
-
);
|
|
208
205
|
```
|
|
209
206
|
|
|
210
207
|
#### Where + equals
|
|
@@ -264,9 +261,7 @@ const custom = await Person.select((p) => ({
|
|
|
264
261
|
}));
|
|
265
262
|
```
|
|
266
263
|
|
|
267
|
-
#### Query As (type casting
|
|
268
|
-
If person.pets returns an array of Pets. And Dog extends Pet.
|
|
269
|
-
And you want to select properties of those pets that are dogs:
|
|
264
|
+
#### Query As (type casting)
|
|
270
265
|
```typescript
|
|
271
266
|
const guards = await Person.select((p) => p.pets.as(Dog).guardDogLevel);
|
|
272
267
|
```
|
|
@@ -298,131 +293,29 @@ const preloaded = await Person.select((p) => [
|
|
|
298
293
|
]);
|
|
299
294
|
```
|
|
300
295
|
|
|
301
|
-
#### Create
|
|
302
|
-
|
|
296
|
+
#### Create / Update / Delete
|
|
303
297
|
```typescript
|
|
304
298
|
/* Result: {id: string} & UpdatePartial<Person> */
|
|
305
299
|
const created = await Person.create({name: 'Alice'});
|
|
306
|
-
```
|
|
307
|
-
Where UpdatePartial<Shape> reflects the created properties.
|
|
308
|
-
|
|
309
|
-
#### Update
|
|
310
300
|
|
|
311
|
-
Update will patch any property that you send as payload and leave the rest untouched.
|
|
312
|
-
```typescript
|
|
313
|
-
/* Result: {id: string} & UpdatePartial<Person> */
|
|
314
301
|
const updated = await Person.update({id: 'https://my.app/node1'}, {name: 'Alicia'});
|
|
315
|
-
```
|
|
316
|
-
Returns:
|
|
317
|
-
```json
|
|
318
|
-
{
|
|
319
|
-
id:"https://my.app/node1",
|
|
320
|
-
name:"Alicia"
|
|
321
|
-
}
|
|
322
|
-
```
|
|
323
302
|
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
To overwrite all values:
|
|
328
|
-
```typescript
|
|
329
|
-
// Overwrite the full set of "knows" values.
|
|
330
|
-
const overwriteFriends = await Person.update({id: 'https://my.app/person1'}, {
|
|
331
|
-
knows: [{id: 'https://my.app/person2'}],
|
|
303
|
+
// Overwrite a multi-value property
|
|
304
|
+
const overwriteFriends = await Person.update({id: 'https://my.app/node1'}, {
|
|
305
|
+
knows: [{id: 'https://my.app/node2'}],
|
|
332
306
|
});
|
|
333
|
-
```
|
|
334
|
-
The result will contain an object with `updatedTo`, to indicate that previous values were overwritten to this new set of values:
|
|
335
|
-
```json
|
|
336
|
-
{
|
|
337
|
-
id: "https://my.app/person1",
|
|
338
|
-
knows: {
|
|
339
|
-
updatedTo: [{id:"https://my.app/person2"}],
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
```
|
|
343
307
|
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
// Add one value and remove one value without replacing the whole set.
|
|
347
|
-
const addRemoveFriends = await Person.update({id: 'https://my.app/person1'}, {
|
|
308
|
+
// Add/remove items in a multi-value property
|
|
309
|
+
const addRemoveFriends = await Person.update({id: 'https://my.app/node1'}, {
|
|
348
310
|
knows: {
|
|
349
|
-
add: [{id: 'https://my.app/
|
|
350
|
-
remove: [{id: 'https://my.app/
|
|
311
|
+
add: [{id: 'https://my.app/node3'}],
|
|
312
|
+
remove: [{id: 'https://my.app/node2'}],
|
|
351
313
|
},
|
|
352
314
|
});
|
|
353
|
-
```
|
|
354
|
-
This returns an object with the added and removed items
|
|
355
|
-
```json
|
|
356
|
-
{
|
|
357
|
-
id: "https://my.app/person1",
|
|
358
|
-
knows: {
|
|
359
|
-
added?: [{id:"https://my.app/person2"},
|
|
360
|
-
removed?: [{id:"https://my.app/person3"}],
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
#### Delete
|
|
367
|
-
To delete a node entirely:
|
|
368
|
-
|
|
369
|
-
```typescript
|
|
370
|
-
/* Result: {deleted: Array<{id: string}>, count: number} */
|
|
371
|
-
const deleted = await Person.delete({id: 'https://my.app/node1'});
|
|
372
|
-
```
|
|
373
|
-
Returns
|
|
374
|
-
```json
|
|
375
|
-
{
|
|
376
|
-
deleted:[
|
|
377
|
-
{id:"https://my.app/node1"}
|
|
378
|
-
],
|
|
379
|
-
count:1
|
|
380
|
-
}
|
|
381
|
-
```
|
|
382
|
-
|
|
383
|
-
To delete multiple nodes pass an array:
|
|
384
|
-
|
|
385
|
-
```typescript
|
|
386
|
-
/* Result: {deleted: Array<{id: string}>, count: number} */
|
|
387
|
-
const deleted = await Person.delete([{id: 'https://my.app/node1'},{id: 'https://my.app/node2'}]);
|
|
388
|
-
```
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
## Extending shapes
|
|
392
|
-
|
|
393
|
-
Shape classes can extend other shape classes. Subclasses inherit property shapes from their superclasses and may override them.
|
|
394
|
-
This example assumes `Person` from the `Shapes` section above.
|
|
395
|
-
|
|
396
|
-
```typescript
|
|
397
|
-
import {literalProperty} from '@_linked/core/shapes/SHACL';
|
|
398
|
-
import {createNameSpace} from '@_linked/core/utils/NameSpace';
|
|
399
|
-
import {linkedShape} from './package';
|
|
400
|
-
|
|
401
|
-
const schema = createNameSpace('https://schema.org/');
|
|
402
|
-
const EmployeeClass = schema('Employee');
|
|
403
|
-
const name = schema('name');
|
|
404
|
-
const employeeId = schema('employeeId');
|
|
405
315
|
|
|
406
|
-
|
|
407
|
-
export class Employee extends Person {
|
|
408
|
-
static targetClass = EmployeeClass;
|
|
409
|
-
|
|
410
|
-
// Override inherited "name" with stricter constraints (still maxCount: 1)
|
|
411
|
-
@literalProperty({path: name, required: true, minLength: 2, maxCount: 1})
|
|
412
|
-
declare name: string;
|
|
413
|
-
|
|
414
|
-
@literalProperty({path: employeeId, required: true, maxCount: 1})
|
|
415
|
-
declare employeeId: string;
|
|
416
|
-
}
|
|
316
|
+
await Person.delete({id: 'https://my.app/node1'});
|
|
417
317
|
```
|
|
418
318
|
|
|
419
|
-
Override behavior:
|
|
420
|
-
|
|
421
|
-
- `NodeShape.getUniquePropertyShapes()` returns one property shape per label, with subclass overrides taking precedence.
|
|
422
|
-
- Overrides must be tighten-only for `minCount`, `maxCount`, and `nodeKind` (widening is rejected at registration time).
|
|
423
|
-
- If an override omits `minCount`, `maxCount`, or `nodeKind`, inherited values are kept.
|
|
424
|
-
- Current scope: compatibility checks for `datatype`, `class`, and `pattern` are not enforced yet.
|
|
425
|
-
|
|
426
319
|
## TODO
|
|
427
320
|
|
|
428
321
|
- Allow `preloadFor` to accept another query (not just a component).
|
|
@@ -97,9 +97,6 @@ export declare enum WhereMethods {
|
|
|
97
97
|
export type QueryShapeProps<T extends Shape, Source, Property extends string | number | symbol = any> = {
|
|
98
98
|
[P in keyof T]: ToQueryBuilderObject<T[P], QShape<T, Source, Property>, P>;
|
|
99
99
|
};
|
|
100
|
-
export type SelectAllQueryResponse<T extends Shape> = Array<QueryShapeProps<T, null, ''>[Exclude<Extract<{
|
|
101
|
-
[K in keyof T]-?: T[K] extends (...args: any[]) => any ? never : K;
|
|
102
|
-
}[keyof T], string>, Extract<keyof Shape, string>>]>;
|
|
103
100
|
/**
|
|
104
101
|
* This type states that the ShapeSet has access to the same methods as the shape of all the items in the set
|
|
105
102
|
* (this is enabled with the QueryShapeSet.proxifyShapeSet method)
|
|
@@ -274,7 +271,6 @@ export declare class QueryShapeSet<S extends Shape = Shape, Source = any, Proper
|
|
|
274
271
|
size(): SetSize<this>;
|
|
275
272
|
where(validation: WhereClause<S>): this;
|
|
276
273
|
select<QF = unknown>(subQueryFn: QueryBuildFn<S, QF>): SelectQueryFactory<S, QF, QueryShapeSet<S, Source, Property>>;
|
|
277
|
-
selectAll(): SelectQueryFactory<S, SelectAllQueryResponse<S>, QueryShapeSet<S, Source, Property>>;
|
|
278
274
|
some(validation: WhereClause<S>): SetEvaluation;
|
|
279
275
|
every(validation: WhereClause<S>): SetEvaluation;
|
|
280
276
|
private someOrEvery;
|
|
@@ -290,7 +286,6 @@ export declare class QueryShape<S extends Shape = Shape, Source = any, Property
|
|
|
290
286
|
as<ShapeClass extends typeof Shape>(shape: ShapeClass): QShape<InstanceType<ShapeClass>, Source, Property>;
|
|
291
287
|
equals(otherValue: NodeReferenceValue | QShape<any>): Evaluation;
|
|
292
288
|
select<QF = unknown>(subQueryFn: QueryBuildFn<S, QF>): SelectQueryFactory<S, QF, QueryShape<S, Source, Property>>;
|
|
293
|
-
selectAll(): SelectQueryFactory<S, SelectAllQueryResponse<S>, QueryShape<S, Source, Property>>;
|
|
294
289
|
}
|
|
295
290
|
export declare class Evaluation {
|
|
296
291
|
value: QueryBuilderObject | QueryPrimitiveSet;
|
|
@@ -453,13 +453,6 @@ class QueryShapeSet extends QueryBuilderObject {
|
|
|
453
453
|
subQuery.parentQueryPath = this.getPropertyPath();
|
|
454
454
|
return subQuery;
|
|
455
455
|
}
|
|
456
|
-
selectAll() {
|
|
457
|
-
let leastSpecificShape = this.getOriginalValue().getLeastSpecificShape();
|
|
458
|
-
const propertyLabels = leastSpecificShape.shape
|
|
459
|
-
.getUniquePropertyShapes()
|
|
460
|
-
.map((propertyShape) => propertyShape.label);
|
|
461
|
-
return this.select((shape) => propertyLabels.map((label) => shape[label]));
|
|
462
|
-
}
|
|
463
456
|
some(validation) {
|
|
464
457
|
return this.someOrEvery(validation, WhereMethods.SOME);
|
|
465
458
|
}
|
|
@@ -574,13 +567,6 @@ class QueryShape extends QueryBuilderObject {
|
|
|
574
567
|
subQuery.parentQueryPath = this.getPropertyPath();
|
|
575
568
|
return subQuery;
|
|
576
569
|
}
|
|
577
|
-
selectAll() {
|
|
578
|
-
let leastSpecificShape = (0, ShapeClass_js_1.getShapeClass)(this.getOriginalValue().nodeShape.id);
|
|
579
|
-
const propertyLabels = leastSpecificShape.shape
|
|
580
|
-
.getUniquePropertyShapes()
|
|
581
|
-
.map((propertyShape) => propertyShape.label);
|
|
582
|
-
return this.select((shape) => propertyLabels.map((label) => shape[label]));
|
|
583
|
-
}
|
|
584
570
|
}
|
|
585
571
|
exports.QueryShape = QueryShape;
|
|
586
572
|
class Evaluation {
|
|
@@ -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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"}
|
|
@@ -151,7 +151,6 @@ export declare class NodeShape extends Shape {
|
|
|
151
151
|
get properties(): QResult<PropertyShape>[];
|
|
152
152
|
addPropertyShape(propertyShape: PropertyShape): void;
|
|
153
153
|
getPropertyShapes(includeSuperClasses?: boolean): PropertyShape[];
|
|
154
|
-
getUniquePropertyShapes(): PropertyShape[];
|
|
155
154
|
getPropertyShape(label: string, checkSubShapes?: boolean): PropertyShape;
|
|
156
155
|
validateNode(_node?: unknown): boolean;
|
|
157
156
|
equals(other: NodeShape): boolean;
|
package/lib/cjs/shapes/SHACL.js
CHANGED
|
@@ -50,9 +50,6 @@ const normalizeNodeKind = (nodeKind, defaultNodeKind) => {
|
|
|
50
50
|
}
|
|
51
51
|
return nodeKind;
|
|
52
52
|
};
|
|
53
|
-
const EXPLICIT_NODE_KIND_SYMBOL = Symbol('explicitNodeKind');
|
|
54
|
-
const EXPLICIT_MIN_COUNT_SYMBOL = Symbol('explicitMinCount');
|
|
55
|
-
const EXPLICIT_MAX_COUNT_SYMBOL = Symbol('explicitMaxCount');
|
|
56
53
|
class NodeShape extends Shape_js_1.Shape {
|
|
57
54
|
constructor(node) {
|
|
58
55
|
super(node);
|
|
@@ -92,17 +89,6 @@ class NodeShape extends Shape_js_1.Shape {
|
|
|
92
89
|
}
|
|
93
90
|
return res;
|
|
94
91
|
}
|
|
95
|
-
getUniquePropertyShapes() {
|
|
96
|
-
const uniquePropertyShapes = [];
|
|
97
|
-
const seen = new Set();
|
|
98
|
-
this.getPropertyShapes(true).forEach((propertyShape) => {
|
|
99
|
-
if (!seen.has(propertyShape.label)) {
|
|
100
|
-
seen.add(propertyShape.label);
|
|
101
|
-
uniquePropertyShapes.push(propertyShape);
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
return uniquePropertyShapes;
|
|
105
|
-
}
|
|
106
92
|
getPropertyShape(label, checkSubShapes = true) {
|
|
107
93
|
let shapeClass = (0, ShapeClass_js_1.getShapeClass)(this.id);
|
|
108
94
|
let res;
|
|
@@ -229,20 +215,7 @@ const connectValueShape = (config, propertyKey, property) => {
|
|
|
229
215
|
}
|
|
230
216
|
};
|
|
231
217
|
function registerPropertyShape(shape, propertyShape) {
|
|
232
|
-
const inherited = shape.getPropertyShape(propertyShape.label, true);
|
|
233
218
|
const existing = shape.getPropertyShape(propertyShape.label, false);
|
|
234
|
-
if (!existing && inherited) {
|
|
235
|
-
if (!propertyShape[EXPLICIT_MIN_COUNT_SYMBOL]) {
|
|
236
|
-
propertyShape.minCount = inherited.minCount;
|
|
237
|
-
}
|
|
238
|
-
if (!propertyShape[EXPLICIT_MAX_COUNT_SYMBOL]) {
|
|
239
|
-
propertyShape.maxCount = inherited.maxCount;
|
|
240
|
-
}
|
|
241
|
-
if (!propertyShape[EXPLICIT_NODE_KIND_SYMBOL]) {
|
|
242
|
-
propertyShape.nodeKind = inherited.nodeKind;
|
|
243
|
-
}
|
|
244
|
-
validateOverrideTightening(shape, inherited, propertyShape);
|
|
245
|
-
}
|
|
246
219
|
if (existing) {
|
|
247
220
|
Object.assign(existing, propertyShape);
|
|
248
221
|
return existing;
|
|
@@ -251,53 +224,6 @@ function registerPropertyShape(shape, propertyShape) {
|
|
|
251
224
|
shape.addPropertyShape(propertyShape);
|
|
252
225
|
return propertyShape;
|
|
253
226
|
}
|
|
254
|
-
const ATOMIC_NODE_KINDS = [
|
|
255
|
-
shacl_js_1.shacl.BlankNode.id,
|
|
256
|
-
shacl_js_1.shacl.IRI.id,
|
|
257
|
-
shacl_js_1.shacl.Literal.id,
|
|
258
|
-
];
|
|
259
|
-
const nodeKindToAtomics = (nodeKind) => {
|
|
260
|
-
if (!(nodeKind === null || nodeKind === void 0 ? void 0 : nodeKind.id)) {
|
|
261
|
-
return new Set();
|
|
262
|
-
}
|
|
263
|
-
switch (nodeKind.id) {
|
|
264
|
-
case shacl_js_1.shacl.BlankNode.id:
|
|
265
|
-
case shacl_js_1.shacl.IRI.id:
|
|
266
|
-
case shacl_js_1.shacl.Literal.id:
|
|
267
|
-
return new Set([nodeKind.id]);
|
|
268
|
-
case shacl_js_1.shacl.BlankNodeOrIRI.id:
|
|
269
|
-
return new Set([shacl_js_1.shacl.BlankNode.id, shacl_js_1.shacl.IRI.id]);
|
|
270
|
-
case shacl_js_1.shacl.IRIOrLiteral.id:
|
|
271
|
-
return new Set([shacl_js_1.shacl.IRI.id, shacl_js_1.shacl.Literal.id]);
|
|
272
|
-
case shacl_js_1.shacl.BlankNodeOrLiteral.id:
|
|
273
|
-
return new Set([shacl_js_1.shacl.BlankNode.id, shacl_js_1.shacl.Literal.id]);
|
|
274
|
-
default:
|
|
275
|
-
return new Set(ATOMIC_NODE_KINDS);
|
|
276
|
-
}
|
|
277
|
-
};
|
|
278
|
-
const throwOverrideError = (shape, propertyShape, message) => {
|
|
279
|
-
throw new Error(`Invalid override for ${shape.label}.${propertyShape.label}: ${message}`);
|
|
280
|
-
};
|
|
281
|
-
const validateOverrideTightening = (shape, base, override) => {
|
|
282
|
-
if (typeof base.minCount === 'number' &&
|
|
283
|
-
typeof override.minCount === 'number' &&
|
|
284
|
-
override.minCount < base.minCount) {
|
|
285
|
-
throwOverrideError(shape, override, `minCount cannot be lowered (${base.minCount} -> ${override.minCount}).`);
|
|
286
|
-
}
|
|
287
|
-
if (typeof base.maxCount === 'number' &&
|
|
288
|
-
typeof override.maxCount === 'number' &&
|
|
289
|
-
override.maxCount > base.maxCount) {
|
|
290
|
-
throwOverrideError(shape, override, `maxCount cannot be increased (${base.maxCount} -> ${override.maxCount}).`);
|
|
291
|
-
}
|
|
292
|
-
if (base.nodeKind && override.nodeKind) {
|
|
293
|
-
const baseKinds = nodeKindToAtomics(base.nodeKind);
|
|
294
|
-
const overrideKinds = nodeKindToAtomics(override.nodeKind);
|
|
295
|
-
const widensNodeKind = [...overrideKinds].some((kind) => !baseKinds.has(kind));
|
|
296
|
-
if (widensNodeKind) {
|
|
297
|
-
throwOverrideError(shape, override, `nodeKind cannot be widened (${base.nodeKind.id} -> ${override.nodeKind.id}).`);
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
};
|
|
301
227
|
function createPropertyShape(config, propertyKey, defaultNodeKind = null, shapeClass = null) {
|
|
302
228
|
const propertyShape = new PropertyShape();
|
|
303
229
|
propertyShape.path = normalizePathInput(config.path);
|
|
@@ -311,16 +237,12 @@ function createPropertyShape(config, propertyKey, defaultNodeKind = null, shapeC
|
|
|
311
237
|
if (config.required) {
|
|
312
238
|
propertyShape.minCount = 1;
|
|
313
239
|
}
|
|
314
|
-
else if (config.minCount
|
|
240
|
+
else if (config.minCount) {
|
|
315
241
|
propertyShape.minCount = config.minCount;
|
|
316
242
|
}
|
|
317
|
-
|
|
318
|
-
config.required === true || config.minCount !== undefined;
|
|
319
|
-
if (config.maxCount !== undefined) {
|
|
243
|
+
if (config.maxCount) {
|
|
320
244
|
propertyShape.maxCount = config.maxCount;
|
|
321
245
|
}
|
|
322
|
-
propertyShape[EXPLICIT_MAX_COUNT_SYMBOL] =
|
|
323
|
-
config.maxCount !== undefined;
|
|
324
246
|
if (config.datatype) {
|
|
325
247
|
propertyShape.datatype = toPlainNodeRef(config.datatype);
|
|
326
248
|
}
|
|
@@ -346,8 +268,6 @@ function createPropertyShape(config, propertyKey, defaultNodeKind = null, shapeC
|
|
|
346
268
|
propertyShape.sortBy = normalizePathInput(config.sortBy);
|
|
347
269
|
}
|
|
348
270
|
propertyShape.nodeKind = normalizeNodeKind(config.nodeKind, defaultNodeKind);
|
|
349
|
-
propertyShape[EXPLICIT_NODE_KIND_SYMBOL] =
|
|
350
|
-
config.nodeKind !== undefined;
|
|
351
271
|
if (shapeClass) {
|
|
352
272
|
onShapeSetup(shapeClass, (shape) => {
|
|
353
273
|
connectValueShape(config, propertyKey, propertyShape);
|