@livequery/client 2.0.136 → 2.0.140

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.
@@ -1,78 +1,95 @@
1
- export function filterDocs(documents, filters) {
2
- if (!filters)
3
- return documents;
4
- const normalized = filters;
5
- return documents.filter((doc) => matchesAllFilters(doc, normalized));
6
- }
7
- export function matchesAllFilters(doc, filters) {
8
- for (const [key, expected] of Object.entries(filters)) {
1
+ export function parseFilters(filters) {
2
+ const result = [];
3
+ for (const key of Object.keys(filters)) {
9
4
  if (key.startsWith(':') || key.endsWith(':sort'))
10
5
  continue;
11
6
  const split = key.split(':');
12
7
  const fieldPath = split[0];
13
8
  if (!fieldPath)
14
9
  continue;
15
- const op = split[1] || 'eq';
16
- const actual = getByPath(doc, fieldPath);
17
- if (!matchByOperator(actual, op, expected)) {
10
+ result.push({ fieldPath, op: split[1] || 'eq', expected: filters[key] });
11
+ }
12
+ return result;
13
+ }
14
+ export function filterDocs(documents, filters) {
15
+ if (!filters)
16
+ return documents;
17
+ const parsed = parseFilters(filters);
18
+ if (parsed.length === 0)
19
+ return documents;
20
+ return documents.filter((doc) => matchesParsedFilters(doc, parsed));
21
+ }
22
+ export function matchesAllFilters(doc, filters) {
23
+ return matchesParsedFilters(doc, parseFilters(filters));
24
+ }
25
+ export function matchesParsedFilters(doc, parsed) {
26
+ for (const { fieldPath, op, expected } of parsed) {
27
+ if (!matchByOperator(getByPath(doc, fieldPath), op, expected))
18
28
  return false;
19
- }
20
29
  }
21
30
  return true;
22
31
  }
32
+ export function getByPath(obj, path) {
33
+ if (!path.includes('.'))
34
+ return obj[path];
35
+ return path.split('.').reduce((acc, key) => {
36
+ if (!acc || typeof acc !== 'object')
37
+ return undefined;
38
+ return acc[key];
39
+ }, obj);
40
+ }
23
41
  function matchByOperator(actual, op, expected) {
24
42
  switch (op) {
43
+ case 'ne':
44
+ return actual !== expected;
25
45
  case 'gt':
26
- return asNumber(actual) > asNumber(expected);
46
+ return actual > asNumber(expected);
27
47
  case 'gte':
28
- return asNumber(actual) >= asNumber(expected);
48
+ return actual >= asNumber(expected);
29
49
  case 'lt':
30
- return asNumber(actual) < asNumber(expected);
50
+ return actual < asNumber(expected);
31
51
  case 'lte':
32
- return asNumber(actual) <= asNumber(expected);
52
+ return actual <= asNumber(expected);
33
53
  case 'eq-number':
34
- return asNumber(actual) === asNumber(expected);
54
+ return actual === asNumber(expected);
55
+ case 'neq-number':
56
+ return actual !== asNumber(expected);
35
57
  case 'in':
36
- return Array.isArray(expected) ? expected.includes(actual) : false;
58
+ return parseArray(expected).includes(actual);
37
59
  case 'nin':
38
- return Array.isArray(expected) ? !expected.includes(actual) : true;
39
- case 'include':
40
- return Array.isArray(actual) ? actual.includes(expected) : false;
41
- case 'boolean':
42
- return matchBoolean(actual, expected);
60
+ return !parseArray(expected).includes(actual);
61
+ case 'eq-boolean':
62
+ return actual === (String(expected).toLowerCase() === 'true');
63
+ case 'neq-boolean':
64
+ return actual !== (String(expected).toLowerCase() === 'false' ? false : true);
65
+ case 'eq-null':
66
+ return actual === null;
67
+ case 'neq-null':
68
+ return actual !== null;
69
+ case 'eq-oid':
70
+ return String(actual) === String(expected);
71
+ case 'neq-oid':
72
+ return String(actual) !== String(expected);
43
73
  case 'like':
44
- return String(actual || '').toLowerCase().includes(String(expected || '').toLowerCase());
45
- case 'null':
46
- return expected === 'null-only'
47
- ? (actual === null || typeof actual === 'undefined')
48
- : (actual !== null && typeof actual !== 'undefined');
74
+ return new RegExp(String(expected)).test(String(actual || ''));
49
75
  case 'eq':
50
76
  default:
51
77
  return actual === expected;
52
78
  }
53
79
  }
54
- function matchBoolean(actual, expected) {
55
- switch (expected) {
56
- case 'true':
57
- return actual === true;
58
- case 'false':
59
- return actual === false;
60
- case 'not-true':
61
- return actual !== true;
62
- case 'not-false':
63
- return actual !== false;
64
- default:
65
- return false;
80
+ function parseArray(value) {
81
+ if (Array.isArray(value))
82
+ return value;
83
+ if (typeof value !== 'string')
84
+ return [];
85
+ try {
86
+ const parsed = JSON.parse(value);
87
+ return Array.isArray(parsed) ? parsed : [];
88
+ }
89
+ catch {
90
+ console.warn(`[livequery] filter value is not valid JSON: "${value}". Expected a JSON array e.g. '["a","b"]'.`);
91
+ return [];
66
92
  }
67
- }
68
- function getByPath(obj, path) {
69
- if (!path.includes('.'))
70
- return obj[path];
71
- return path.split('.').reduce((acc, key) => {
72
- if (!acc || typeof acc !== 'object')
73
- return undefined;
74
- return acc[key];
75
- }, obj);
76
93
  }
77
94
  function asNumber(value) {
78
95
  return Number(value);
@@ -1 +1 @@
1
- {"version":3,"file":"filterDocs.js","sourceRoot":"","sources":["../../src/helpers/filterDocs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filterDocs.js","sourceRoot":"","sources":["../../src/helpers/filterDocs.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from "./LivequeryCollection.js";
2
2
  export * from "./LivequeryClient.js";
3
3
  export * from "./LivequeryMemoryStorage.js";
4
+ export * from "./LivequeryStorage.js";
4
5
  export * from "./LivequeryStorge.js";
5
6
  export * from "./LivequeryTransporter.js";
6
7
  export * from "./types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from "./LivequeryCollection.js";
2
2
  export * from "./LivequeryClient.js";
3
3
  export * from "./LivequeryMemoryStorage.js";
4
+ export * from "./LivequeryStorage.js";
4
5
  export * from "./LivequeryStorge.js";
5
6
  export * from "./LivequeryTransporter.js";
6
7
  export * from "./types.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA"}
package/dist/types.d.ts CHANGED
@@ -37,7 +37,7 @@ export type LivequeryPagingFilters = {
37
37
  ':around': string;
38
38
  ':page': number;
39
39
  };
40
- export type LivequeryInlineFilters<T extends Doc> = (QueryBuilder<T, number, 'sort', 'asc' | 'desc'> & QueryBuilder<T, string, 'sort', 'asc' | 'desc'> & QueryBuilder<T, number, 'gt', number> & QueryBuilder<T, number, 'gte', number> & QueryBuilder<T, number, 'lt', number> & QueryBuilder<T, number, 'lte', number> & QueryBuilder<T, number, 'eq-number', number> & QueryBuilder<T, number, 'in', number[]> & QueryBuilder<T, number, 'nin', number[]> & QueryBuilder<T, number[], 'include', number> & QueryBuilder<T, boolean, 'boolean', 'true' | 'false' | 'not-true' | 'not-false'> & QueryBuilder<T, string, 'like', string> & QueryBuilder<T, string, 1, string> & QueryBuilder<T, string, 'in', string[]> & QueryBuilder<T, string, 'nin', string[]> & QueryBuilder<T, string[], 'include', string> & QueryBuilder<T, any, 'null', 'null-only' | 'not-null'>);
40
+ export type LivequeryInlineFilters<T extends Doc> = (QueryBuilder<T, number, 'sort', 'asc' | 'desc'> & QueryBuilder<T, string, 'sort', 'asc' | 'desc'> & QueryBuilder<T, boolean, 'sort', 'asc' | 'desc'> & QueryBuilder<T, any, 1, any> & QueryBuilder<T, number, 'gt', number> & QueryBuilder<T, number, 'gte', number> & QueryBuilder<T, number, 'lt', number> & QueryBuilder<T, number, 'lte', number> & QueryBuilder<T, number, 'eq-number', number> & QueryBuilder<T, number, 'neq-number', number> & QueryBuilder<T, number, 'in', string | number[]> & QueryBuilder<T, number, 'nin', string | number[]> & QueryBuilder<T, any, 'ne', any> & QueryBuilder<T, boolean, 'eq-boolean', boolean | 'true' | 'false'> & QueryBuilder<T, boolean, 'neq-boolean', boolean | 'true' | 'false'> & QueryBuilder<T, any, 'eq-null', null | true | 'true'> & QueryBuilder<T, any, 'neq-null', null | true | 'true'> & QueryBuilder<T, string, 'eq-oid', string> & QueryBuilder<T, string, 'neq-oid', string> & QueryBuilder<T, string, 'like', string> & QueryBuilder<T, string, 'in', string | string[]> & QueryBuilder<T, string, 'nin', string | string[]>);
41
41
  export type LivequeryFilters<T extends Doc> = LivequeryPagingFilters & LivequeryInlineFilters<T>;
42
42
  export type DataChangeEvent = {
43
43
  collection_ref: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhF,MAAM,MAAM,WAAW,GAAG;IACtB,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC/B,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACjC,eAAe,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IACtC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC/B,eAAe,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IACtC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,aAAa,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,CAAA;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;IACvC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,WAAW,CAAA;AAErD,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,GAAG,IAAI;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAG/F,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA;AAElE,KAAK,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAC7D,CAAC,SAAS,MAAM,GAAG,CACf,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAE3B,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,CAAC,GAAG,CACzB,CAAC,CAAC,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,CAClC,GAAG,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAC5C,GAAG,KAAK,CACZ,CAEJ,CACJ,GAAG,KAAK,CACZ,CAAA;AAGD,KAAK,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,SAAS,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI;KACjF,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,OAAO,SAAS,MAAM,GAAG,IAAI,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK;CAC5G,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,GAAG,IAAI,CAChD,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,GAC/C,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,GAC/C,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GACrC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GACtC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GACrC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GACtC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,GAC5C,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,GACvC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GACxC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,GAC5C,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC,GAChF,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACvC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,GAClC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,GACvC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GACxC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,GAC5C,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,GAAG,UAAU,CAAC,CACzD,CAAA;AAGD,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,GAAG,IAAI,sBAAsB,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;AAEhG,MAAM,MAAM,eAAe,GAAG;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAA;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC7B,CAAA;AAID,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,CAAC,EAAE;QACH,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,IAAI,CAAC,EAAE;QACH,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA;AAID,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,GAAG,IAAI;IAC9C,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACnC,CAAA;AAGD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GAAG;IACpF,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC7B,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5C,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livequery/client",
3
- "version": "2.0.136",
3
+ "version": "2.0.140",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -31,6 +31,11 @@
31
31
  "import": "./dist/LivequeryMemoryStorage.js",
32
32
  "default": "./dist/LivequeryMemoryStorage.js"
33
33
  },
34
+ "./LivequeryStorage": {
35
+ "types": "./dist/LivequeryStorage.d.ts",
36
+ "import": "./dist/LivequeryStorage.js",
37
+ "default": "./dist/LivequeryStorage.js"
38
+ },
34
39
  "./LivequeryStorge": {
35
40
  "types": "./dist/LivequeryStorge.d.ts",
36
41
  "import": "./dist/LivequeryStorge.js",
@@ -67,6 +72,9 @@
67
72
  "LivequeryMemoryStorage": [
68
73
  "./dist/LivequeryMemoryStorage.d.ts"
69
74
  ],
75
+ "LivequeryStorage": [
76
+ "./dist/LivequeryStorage.d.ts"
77
+ ],
70
78
  "LivequeryStorge": [
71
79
  "./dist/LivequeryStorge.d.ts"
72
80
  ],
@@ -90,6 +98,7 @@
90
98
  "build:js": "bunx tsc -p tsconfig.build.json --emitDeclarationOnly false --declaration false --declarationMap false",
91
99
  "build:types": "bunx tsc -p tsconfig.build.json --emitDeclarationOnly",
92
100
  "build": "bun run clean && bun run build:js && bun run build:types",
101
+ "test": "bun test",
93
102
  "build:watch": "bunx tsc -p tsconfig.build.json --watch --preserveWatchOutput",
94
103
  "prepublishOnly": "bun run build"
95
104
  },