@dxos/echo-query 0.8.4-main.3c1ae3b → 0.8.4-main.3eb6e50203

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/package.json CHANGED
@@ -1,9 +1,13 @@
1
1
  {
2
2
  "name": "@dxos/echo-query",
3
- "version": "0.8.4-main.3c1ae3b",
3
+ "version": "0.8.4-main.3eb6e50203",
4
4
  "description": "ECHO queries.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/dxos/dxos"
10
+ },
7
11
  "license": "MIT",
8
12
  "author": "info@dxos.org",
9
13
  "sideEffects": false,
@@ -15,8 +19,7 @@
15
19
  ".": {
16
20
  "source": "./src/index.ts",
17
21
  "types": "./dist/types/src/index.d.ts",
18
- "browser": "./dist/lib/browser/index.mjs",
19
- "node": "./dist/lib/node-esm/index.mjs"
22
+ "default": "./dist/lib/neutral/index.mjs"
20
23
  },
21
24
  "./api.d.ts": "./dist/query-lite/index.d.ts"
22
25
  },
@@ -32,22 +35,22 @@
32
35
  "@lezer/common": "^1.2.2",
33
36
  "@lezer/lezer": "^1.1.2",
34
37
  "@lezer/lr": "^1.4.2",
35
- "@dxos/context": "0.8.4-main.3c1ae3b",
36
- "@dxos/debug": "0.8.4-main.3c1ae3b",
37
- "@dxos/echo": "0.8.4-main.3c1ae3b",
38
- "@dxos/errors": "0.8.4-main.3c1ae3b",
39
- "@dxos/invariant": "0.8.4-main.3c1ae3b",
40
- "@dxos/node-std": "0.8.4-main.3c1ae3b",
41
- "@dxos/util": "0.8.4-main.3c1ae3b",
42
- "@dxos/vendor-quickjs": "0.8.4-main.3c1ae3b",
43
- "@dxos/echo-protocol": "0.8.4-main.3c1ae3b"
38
+ "@dxos/context": "0.8.4-main.3eb6e50203",
39
+ "@dxos/debug": "0.8.4-main.3eb6e50203",
40
+ "@dxos/echo": "0.8.4-main.3eb6e50203",
41
+ "@dxos/echo-protocol": "0.8.4-main.3eb6e50203",
42
+ "@dxos/invariant": "0.8.4-main.3eb6e50203",
43
+ "@dxos/errors": "0.8.4-main.3eb6e50203",
44
+ "@dxos/vendor-quickjs": "0.8.4-main.3eb6e50203",
45
+ "@dxos/util": "0.8.4-main.3eb6e50203",
46
+ "@dxos/node-std": "0.8.4-main.3eb6e50203"
44
47
  },
45
48
  "devDependencies": {
46
49
  "@lezer/generator": "^1.7.1",
47
- "tsdown": "^0.16.6",
50
+ "tsdown": "^0.16.7",
48
51
  "typescript": "^5.9.3",
49
- "@dxos/echo-generator": "0.8.4-main.3c1ae3b",
50
- "@dxos/random": "0.8.4-main.3c1ae3b"
52
+ "@dxos/echo-generator": "0.8.4-main.3eb6e50203",
53
+ "@dxos/random": "0.8.4-main.3eb6e50203"
51
54
  },
52
55
  "publishConfig": {
53
56
  "access": "public"
@@ -35,6 +35,11 @@ namespace Order1 {
35
35
  property,
36
36
  direction,
37
37
  });
38
+ export const rank = <T>(direction: QueryAST.OrderDirection = 'desc'): Order$.Order<T> =>
39
+ new OrderClass({
40
+ kind: 'rank',
41
+ direction,
42
+ });
38
43
  }
39
44
 
40
45
  const Order2: typeof Order$ = Order1;
@@ -395,14 +400,18 @@ class QueryClass implements Query$.Any {
395
400
  });
396
401
  }
397
402
 
398
- referencedBy(target: Schema.Schema.All | string, key: string): Query$.Any {
399
- assertArgument(typeof target === 'string', 'target');
400
- assertArgument(!target.startsWith('dxn:'), 'target');
403
+ referencedBy(target?: Schema.Schema.All | string, key?: string): Query$.Any {
404
+ const typename =
405
+ target !== undefined
406
+ ? (assertArgument(typeof target === 'string', 'target'),
407
+ assertArgument(!target.startsWith('dxn:'), 'target'),
408
+ target)
409
+ : null;
401
410
  return new QueryClass({
402
411
  type: 'incoming-references',
403
412
  anchor: this.ast,
404
- property: key,
405
- typename: target,
413
+ property: key ?? null,
414
+ typename,
406
415
  });
407
416
  }
408
417
 
@@ -440,6 +449,22 @@ class QueryClass implements Query$.Any {
440
449
  });
441
450
  }
442
451
 
452
+ parent(): Query$.Any {
453
+ return new QueryClass({
454
+ type: 'hierarchy-traversal',
455
+ anchor: this.ast,
456
+ direction: 'to-parent',
457
+ });
458
+ }
459
+
460
+ children(): Query$.Any {
461
+ return new QueryClass({
462
+ type: 'hierarchy-traversal',
463
+ anchor: this.ast,
464
+ direction: 'to-children',
465
+ });
466
+ }
467
+
443
468
  orderBy(...order: Order$.Any[]): Query$.Any {
444
469
  return new QueryClass({
445
470
  type: 'order',
@@ -448,6 +473,14 @@ class QueryClass implements Query$.Any {
448
473
  });
449
474
  }
450
475
 
476
+ limit(limit: number): Query$.Any {
477
+ return new QueryClass({
478
+ type: 'limit',
479
+ query: this.ast,
480
+ limit,
481
+ });
482
+ }
483
+
451
484
  options(options: QueryAST.QueryOptions): Query$.Any {
452
485
  return new QueryClass({
453
486
  type: 'options',