@dxos/echo-query 0.8.4-main.dedc0f3 → 0.8.4-main.e00bdcdb52

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 (63) hide show
  1. package/README.md +1 -1
  2. package/dist/lib/neutral/index.mjs +917 -0
  3. package/dist/lib/neutral/index.mjs.map +7 -0
  4. package/dist/lib/neutral/meta.json +1 -0
  5. package/dist/query-lite/index.d.ts +9975 -0
  6. package/dist/query-lite/index.d.ts.map +1 -0
  7. package/dist/query-lite/index.js +548 -0
  8. package/dist/query-lite/index.js.map +1 -0
  9. package/dist/types/src/index.d.ts +2 -0
  10. package/dist/types/src/index.d.ts.map +1 -1
  11. package/dist/types/src/parser/gen/index.d.ts +8 -0
  12. package/dist/types/src/parser/gen/index.d.ts.map +1 -0
  13. package/dist/types/src/parser/gen/query.d.ts +3 -0
  14. package/dist/types/src/parser/gen/query.d.ts.map +1 -0
  15. package/dist/types/src/parser/gen/query.terms.d.ts +2 -0
  16. package/dist/types/src/parser/gen/query.terms.d.ts.map +1 -0
  17. package/dist/types/src/parser/index.d.ts +3 -0
  18. package/dist/types/src/parser/index.d.ts.map +1 -0
  19. package/dist/types/src/parser/query-builder.d.ts +89 -0
  20. package/dist/types/src/parser/query-builder.d.ts.map +1 -0
  21. package/dist/types/src/parser/query.test.d.ts +2 -0
  22. package/dist/types/src/parser/query.test.d.ts.map +1 -0
  23. package/dist/types/src/query-lite/index.d.ts +2 -0
  24. package/dist/types/src/query-lite/index.d.ts.map +1 -0
  25. package/dist/types/src/query-lite/query-lite.d.ts +8 -0
  26. package/dist/types/src/query-lite/query-lite.d.ts.map +1 -0
  27. package/dist/types/src/sandbox/index.d.ts +2 -0
  28. package/dist/types/src/sandbox/index.d.ts.map +1 -0
  29. package/dist/types/src/sandbox/query-sandbox.d.ts +21 -0
  30. package/dist/types/src/sandbox/query-sandbox.d.ts.map +1 -0
  31. package/dist/types/src/sandbox/query-sandbox.test.d.ts +2 -0
  32. package/dist/types/src/sandbox/query-sandbox.test.d.ts.map +1 -0
  33. package/dist/types/src/sandbox/quickjs.d.ts +8 -0
  34. package/dist/types/src/sandbox/quickjs.d.ts.map +1 -0
  35. package/dist/types/src/sandbox/quickjs.test.d.ts +2 -0
  36. package/dist/types/src/sandbox/quickjs.test.d.ts.map +1 -0
  37. package/dist/types/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +29 -13
  39. package/src/env.d.ts +8 -0
  40. package/src/index.ts +3 -0
  41. package/src/parser/gen/index.ts +13 -0
  42. package/src/parser/gen/query.terms.ts +27 -0
  43. package/src/parser/gen/query.ts +18 -0
  44. package/src/parser/index.ts +6 -0
  45. package/src/parser/query-builder.ts +799 -0
  46. package/src/parser/query.grammar +130 -0
  47. package/src/parser/query.test.ts +529 -0
  48. package/src/query-lite/index.ts +5 -0
  49. package/src/query-lite/query-lite.ts +744 -0
  50. package/src/sandbox/index.ts +5 -0
  51. package/src/sandbox/query-sandbox.test.ts +53 -0
  52. package/src/sandbox/query-sandbox.ts +72 -0
  53. package/src/sandbox/quickjs.test.ts +67 -0
  54. package/src/sandbox/quickjs.ts +33 -0
  55. package/dist/lib/browser/index.mjs +0 -2
  56. package/dist/lib/browser/index.mjs.map +0 -7
  57. package/dist/lib/browser/meta.json +0 -1
  58. package/dist/lib/node-esm/index.mjs +0 -2
  59. package/dist/lib/node-esm/index.mjs.map +0 -7
  60. package/dist/lib/node-esm/meta.json +0 -1
  61. package/dist/types/src/search.test.d.ts +0 -2
  62. package/dist/types/src/search.test.d.ts.map +0 -1
  63. package/src/search.test.ts +0 -49
package/package.json CHANGED
@@ -1,37 +1,53 @@
1
1
  {
2
2
  "name": "@dxos/echo-query",
3
- "version": "0.8.4-main.dedc0f3",
3
+ "version": "0.8.4-main.e00bdcdb52",
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
- "sideEffects": true,
13
+ "sideEffects": false,
10
14
  "type": "module",
15
+ "imports": {
16
+ "#query-lite": "./dist/query-lite/index.js"
17
+ },
11
18
  "exports": {
12
19
  ".": {
13
20
  "source": "./src/index.ts",
14
21
  "types": "./dist/types/src/index.d.ts",
15
- "browser": "./dist/lib/browser/index.mjs",
16
- "node": "./dist/lib/node-esm/index.mjs"
17
- }
22
+ "default": "./dist/lib/neutral/index.mjs"
23
+ },
24
+ "./api.d.ts": "./dist/query-lite/index.d.ts"
18
25
  },
19
26
  "types": "dist/types/src/index.d.ts",
20
- "typesVersions": {
21
- "*": {}
22
- },
23
27
  "files": [
24
28
  "dist",
25
29
  "src"
26
30
  ],
27
31
  "dependencies": {
28
- "@orama/orama": "^3.1.7",
29
- "@dxos/node-std": "0.8.4-main.dedc0f3",
30
- "@dxos/util": "0.8.4-main.dedc0f3"
32
+ "@lezer/common": "^1.2.2",
33
+ "@lezer/lezer": "^1.1.2",
34
+ "@lezer/lr": "^1.4.2",
35
+ "@dxos/context": "0.8.4-main.e00bdcdb52",
36
+ "@dxos/debug": "0.8.4-main.e00bdcdb52",
37
+ "@dxos/echo": "0.8.4-main.e00bdcdb52",
38
+ "@dxos/echo-protocol": "0.8.4-main.e00bdcdb52",
39
+ "@dxos/errors": "0.8.4-main.e00bdcdb52",
40
+ "@dxos/invariant": "0.8.4-main.e00bdcdb52",
41
+ "@dxos/util": "0.8.4-main.e00bdcdb52",
42
+ "@dxos/vendor-quickjs": "0.8.4-main.e00bdcdb52",
43
+ "@dxos/node-std": "0.8.4-main.e00bdcdb52"
31
44
  },
32
45
  "devDependencies": {
33
- "@dxos/random": "0.8.4-main.dedc0f3",
34
- "@dxos/echo-generator": "0.8.4-main.dedc0f3"
46
+ "@lezer/generator": "^1.7.1",
47
+ "tsdown": "^0.16.7",
48
+ "typescript": "^6.0.3",
49
+ "@dxos/echo-generator": "0.8.4-main.e00bdcdb52",
50
+ "@dxos/random": "0.8.4-main.e00bdcdb52"
35
51
  },
36
52
  "publishConfig": {
37
53
  "access": "public"
package/src/env.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ declare module '#query-lite?raw' {
6
+ const code: string;
7
+ export default code;
8
+ }
package/src/index.ts CHANGED
@@ -1,3 +1,6 @@
1
1
  //
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
+
5
+ export * from './parser';
6
+ export * from './sandbox';
@@ -0,0 +1,13 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { LRParser } from '@lezer/lr';
6
+ import { parser } from './query';
7
+ import * as terms from './query.terms';
8
+
9
+ export namespace QueryDSL {
10
+ export const Parser: LRParser = parser;
11
+ export const Node = terms;
12
+ export const Tokens = ['type:', 'AND', 'OR', 'NOT'];
13
+ }
@@ -0,0 +1,27 @@
1
+ // This file was generated by lezer-generator. You probably shouldn't edit it.
2
+ export const
3
+ Query = 1,
4
+ Assignment = 2,
5
+ Identifier = 3,
6
+ Filter = 7,
7
+ TagFilter = 8,
8
+ Tag = 9,
9
+ TextFilter = 10,
10
+ String = 11,
11
+ TypeFilter = 12,
12
+ TypeKeyword = 13,
13
+ PropertyFilter = 15,
14
+ PropertyPath = 16,
15
+ Value = 18,
16
+ Number = 19,
17
+ Boolean = 20,
18
+ Null = 21,
19
+ ObjectLiteral = 22,
20
+ ObjectProperty = 24,
21
+ ArrayLiteral = 27,
22
+ Not = 30,
23
+ And = 31,
24
+ Or = 32,
25
+ Relation = 33,
26
+ ArrowRight = 34,
27
+ ArrowLeft = 35
@@ -0,0 +1,18 @@
1
+ // This file was generated by lezer-generator. You probably shouldn't edit it.
2
+ import {LRParser} from "@lezer/lr"
3
+ const spec_Identifier = {__proto__:null,type:26, NOT:86, not:86, "!":86, AND:88, and:88, OR:90, or:90}
4
+ export const parser = LRParser.deserialize({
5
+ version: 14,
6
+ states: "(jOVQPOOOnQPO'#ClOOQO'#Cd'#CdOOQO'#Cf'#CfOyQPO'#ChO!OQPO'#CrO!WQPO'#CkOOQO'#Cc'#CcOOQO'#Cz'#CzOOQO'#DW'#DWOVQPO'#DWQ!]QPOOOVQPO'#DWO!mQPO,58xO!rQPO'#DQO!wQPO,59WO#PQPO,59SO#UQPO'#CtOOQO,59^,59^O#ZQPO,59^O#cQQO,59VO#wQPO,59rOOQO'#C{'#C{OOQO'#C|'#C|OOQO'#C}'#C}OVQPO,59rOVQPO,59rOVQPO,59rO$rQPO,59rOVQPO1G.dOOQO,59l,59lOOQO-E7O-E7OOOQO1G.n1G.nO#cQQO,59`O%VQPO'#DRO%[QPO1G.xOOQO1G.x1G.xO%dQQO'#CwOOQO'#Cn'#CnOOQO1G.q1G.qO%kQPO1G/^O&RQPO1G/^O&iQPO1G/^OOQO1G/^1G/^O'PQPO7+$OOOQO1G.z1G.zOOQO,59m,59mOOQO-E7P-E7POOQO7+$d7+$dOOQO,59c,59cO'dQPO,59cOOQO<<Gj<<GjO#cQQO'#DSO'lQPO1G.}OOQO1G.}1G.}OOQO,59n,59nOOQO-E7Q-E7QOOQO7+$i7+$i",
7
+ stateData: "'t~OyOS~ORPOT[OXQOZRO]SOgTO{WO~OS]Oa^O^`X~O^`O~ORaOjbO~O^dO~OrhOshO|fO}gO~PVOTmO~ORnO~Oa^O^`a~ORpO~O^qO~OirOjtO~OZvOcvOdvOevOgTOluO~O{WORzaTzaXzaZza]zagzarzaszawza|za}zaUza~OU{OrhOshO|fO}gO~PVORaO~OirOj!QO~Om!RO~P#cOrzisziwzi|zi}ziUzi~PVO|fOrzisziwzi}ziUzi~PVO|fO}gOrzisziwziUzi~PVOU!TOrhOshO|fO}gO~PVOi!UOm!WO~Oi!UOm!ZO~O",
8
+ goto: "%h{PP|PPPP|!]P!]P!]PP!]!lP!{PPP#XP#nPP#hPP#t$U$]$cPP$h$n$tPPP$zkXOYZ[ijklmxyz|kVOYZ[ijklmxyz|kUOYZ[ijklmxyz|QwdQ}qQ!SuR!X!UjVOYZ[ijklmxyz|Xvdqu!UQcTR!OrmYOYZ[eijklmxyz|ZiZlyz|XjZlz|VkZl|Q_PRo_QscR!PsQ!V!SR!Y!VQZO`eYZelxyz|Ql[QxiQyjQzkR|m",
9
+ nodeNames: "⚠ Query Assignment Identifier = ( ) Filter TagFilter Tag TextFilter String TypeFilter TypeKeyword : PropertyFilter PropertyPath . Value Number Boolean Null ObjectLiteral { ObjectProperty , } ArrayLiteral [ ] Not And Or Relation ArrowRight ArrowLeft",
10
+ maxTerm: 45,
11
+ skippedNodes: [0],
12
+ repeatNodeCount: 3,
13
+ tokenData: "3P~RsX^#`pq#`rs$Tst%qwx&ixy(Qyz(V|}([}!O(a!O!P*Q!Q![(j![!]*V!^!_*[!_!`*g!c!}*l!}#O+W#P#Q+]#R#S*l#T#Y*l#Y#Z+b#Z#b*l#b#c.q#c#h*l#h#i1c#i#o*l#o#p2u#q#r2z#y#z#`$f$g#`#BY#BZ#`$IS$I_#`$I|$JO#`$JT$JU#`$KV$KW#`&FU&FV#`~#eYy~X^#`pq#`#y#z#`$f$g#`#BY#BZ#`$IS$I_#`$I|$JO#`$JT$JU#`$KV$KW#`&FU&FV#`~$WVOr$Trs$ms#O$T#O#P$r#P;'S$T;'S;=`%k<%lO$T~$rOZ~~$uRO;'S$T;'S;=`%O;=`O$T~%RWOr$Trs$ms#O$T#O#P$r#P;'S$T;'S;=`%k;=`<%l$T<%lO$T~%nP;=`<%l$T~%tT}!O&T!Q![&T!c!}&T#R#S&T#T#o&T~&YTX~}!O&T!Q![&T!c!}&T#R#S&T#T#o&T~&lVOw&iwx$mx#O&i#O#P'R#P;'S&i;'S;=`'z<%lO&i~'URO;'S&i;'S;=`'_;=`O&i~'bWOw&iwx$mx#O&i#O#P'R#P;'S&i;'S;=`'z;=`<%l&i<%lO&i~'}P;=`<%l&i~(VOT~~([OU~~(aOi~~(dQ!Q![(j!`!a){~(oSc~!O!P({!Q![(j!g!h)a#X#Y)a~)OP!Q![)R~)WRc~!Q![)R!g!h)a#X#Y)a~)dR{|)m}!O)m!Q![)s~)pP!Q![)s~)xPc~!Q![)s~*QOr~~*VOa~~*[O^~~*_P}!O*b~*gOs~~*lOS~P*qVRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#o*l~+]Ol~~+bOm~R+gWRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#U,P#U#o*lR,UXRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#`*l#`#a,q#a#o*lR,vXRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#g*l#g#h-c#h#o*lR-hXRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#X*l#X#Y.T#Y#o*lR.[VdQRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#o*lR.vXRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#i*l#i#j/c#j#o*lR/hXRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#`*l#`#a0T#a#o*lR0YXRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#`*l#`#a0u#a#o*lR0|VRPeQ}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#o*lR1hXRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#f*l#f#g2T#g#o*lR2YXRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#i*l#i#j-c#j#o*l~2zOg~~3POj~",
14
+ tokenizers: [0, 1],
15
+ topRules: {"Query":[0,1]},
16
+ specialized: [{term: 3, get: (value: keyof typeof spec_Identifier) => spec_Identifier[value] || -1}],
17
+ tokenPrec: 0
18
+ })
@@ -0,0 +1,6 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ export * from './gen';
6
+ export * from './query-builder';