@delma/fylo 2.1.0 → 2.1.1

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 (99) hide show
  1. package/README.md +27 -0
  2. package/dist/adapters/cipher.js +155 -0
  3. package/dist/adapters/cipher.js.map +1 -0
  4. package/dist/core/collection.js +6 -0
  5. package/dist/core/collection.js.map +1 -0
  6. package/{src/core/directory.ts → dist/core/directory.js} +28 -35
  7. package/dist/core/directory.js.map +1 -0
  8. package/dist/core/doc-id.js +15 -0
  9. package/dist/core/doc-id.js.map +1 -0
  10. package/dist/core/extensions.js +16 -0
  11. package/dist/core/extensions.js.map +1 -0
  12. package/dist/core/format.js +355 -0
  13. package/dist/core/format.js.map +1 -0
  14. package/dist/core/parser.js +764 -0
  15. package/dist/core/parser.js.map +1 -0
  16. package/dist/core/query.js +47 -0
  17. package/dist/core/query.js.map +1 -0
  18. package/dist/engines/s3-files/documents.js +62 -0
  19. package/dist/engines/s3-files/documents.js.map +1 -0
  20. package/dist/engines/s3-files/filesystem.js +165 -0
  21. package/dist/engines/s3-files/filesystem.js.map +1 -0
  22. package/dist/engines/s3-files/query.js +235 -0
  23. package/dist/engines/s3-files/query.js.map +1 -0
  24. package/dist/engines/s3-files/types.js +2 -0
  25. package/dist/engines/s3-files/types.js.map +1 -0
  26. package/dist/engines/s3-files.js +629 -0
  27. package/dist/engines/s3-files.js.map +1 -0
  28. package/dist/engines/types.js +2 -0
  29. package/dist/engines/types.js.map +1 -0
  30. package/dist/index.js +562 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/sync.js +18 -0
  33. package/dist/sync.js.map +1 -0
  34. package/{src → dist}/types/fylo.d.ts +14 -1
  35. package/package.json +2 -2
  36. package/.env.example +0 -16
  37. package/.github/copilot-instructions.md +0 -3
  38. package/.github/prompts/release.prompt.md +0 -10
  39. package/.github/workflows/ci.yml +0 -37
  40. package/.github/workflows/publish.yml +0 -91
  41. package/.prettierrc +0 -7
  42. package/AGENTS.md +0 -3
  43. package/CLAUDE.md +0 -3
  44. package/eslint.config.js +0 -32
  45. package/src/CLI +0 -39
  46. package/src/adapters/cipher.ts +0 -180
  47. package/src/core/collection.ts +0 -5
  48. package/src/core/extensions.ts +0 -21
  49. package/src/core/format.ts +0 -457
  50. package/src/core/parser.ts +0 -901
  51. package/src/core/query.ts +0 -53
  52. package/src/engines/s3-files/documents.ts +0 -65
  53. package/src/engines/s3-files/filesystem.ts +0 -172
  54. package/src/engines/s3-files/query.ts +0 -291
  55. package/src/engines/s3-files/types.ts +0 -42
  56. package/src/engines/s3-files.ts +0 -769
  57. package/src/engines/types.ts +0 -21
  58. package/src/index.ts +0 -632
  59. package/src/sync.ts +0 -58
  60. package/tests/collection/truncate.test.js +0 -36
  61. package/tests/data.js +0 -97
  62. package/tests/helpers/root.js +0 -7
  63. package/tests/integration/aws-s3-files.canary.test.js +0 -22
  64. package/tests/integration/create.test.js +0 -39
  65. package/tests/integration/delete.test.js +0 -97
  66. package/tests/integration/edge-cases.test.js +0 -162
  67. package/tests/integration/encryption.test.js +0 -148
  68. package/tests/integration/export.test.js +0 -46
  69. package/tests/integration/join-modes.test.js +0 -154
  70. package/tests/integration/nested.test.js +0 -144
  71. package/tests/integration/operators.test.js +0 -136
  72. package/tests/integration/read.test.js +0 -123
  73. package/tests/integration/rollback.test.js +0 -30
  74. package/tests/integration/s3-files.performance.test.js +0 -75
  75. package/tests/integration/s3-files.test.js +0 -205
  76. package/tests/integration/sync.test.js +0 -154
  77. package/tests/integration/update.test.js +0 -105
  78. package/tests/mocks/cipher.js +0 -40
  79. package/tests/schemas/album.d.ts +0 -5
  80. package/tests/schemas/album.json +0 -5
  81. package/tests/schemas/comment.d.ts +0 -7
  82. package/tests/schemas/comment.json +0 -7
  83. package/tests/schemas/photo.d.ts +0 -7
  84. package/tests/schemas/photo.json +0 -7
  85. package/tests/schemas/post.d.ts +0 -6
  86. package/tests/schemas/post.json +0 -6
  87. package/tests/schemas/tip.d.ts +0 -7
  88. package/tests/schemas/tip.json +0 -7
  89. package/tests/schemas/todo.d.ts +0 -6
  90. package/tests/schemas/todo.json +0 -6
  91. package/tests/schemas/user.d.ts +0 -23
  92. package/tests/schemas/user.json +0 -23
  93. package/tsconfig.json +0 -21
  94. package/tsconfig.typecheck.json +0 -31
  95. /package/{src → dist}/types/bun-runtime.d.ts +0 -0
  96. /package/{src → dist}/types/index.d.ts +0 -0
  97. /package/{src → dist}/types/node-runtime.d.ts +0 -0
  98. /package/{src → dist}/types/query.d.ts +0 -0
  99. /package/{src → dist}/types/vendor-modules.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/core/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { Cipher } from '../adapters/cipher';
2
+ const ENCRYPTED_FIELD_OPS = ['$ne', '$gt', '$gte', '$lt', '$lte', '$like', '$contains'];
3
+ export class Query {
4
+ static async getExprs(collection, query) {
5
+ let exprs = new Set();
6
+ if (query.$ops) {
7
+ for (const op of query.$ops) {
8
+ for (const column in op) {
9
+ const col = op[column];
10
+ const fieldPath = String(column).replaceAll('.', '/');
11
+ const encrypted = Cipher.isConfigured() && Cipher.isEncryptedField(collection, fieldPath);
12
+ if (encrypted) {
13
+ for (const opKey of ENCRYPTED_FIELD_OPS) {
14
+ if (col[opKey] !== undefined) {
15
+ throw new Error(`Operator ${opKey} is not supported on encrypted field "${String(column)}"`);
16
+ }
17
+ }
18
+ }
19
+ if (col.$eq) {
20
+ const val = encrypted
21
+ ? await Cipher.encrypt(String(col.$eq).replaceAll('/', '%2F'))
22
+ : col.$eq;
23
+ exprs.add(`${column}/${val}/**/*`);
24
+ }
25
+ if (col.$ne)
26
+ exprs.add(`${column}/**/*`);
27
+ if (col.$gt)
28
+ exprs.add(`${column}/**/*`);
29
+ if (col.$gte)
30
+ exprs.add(`${column}/**/*`);
31
+ if (col.$lt)
32
+ exprs.add(`${column}/**/*`);
33
+ if (col.$lte)
34
+ exprs.add(`${column}/**/*`);
35
+ if (col.$like)
36
+ exprs.add(`${column}/${col.$like.replaceAll('%', '*')}/**/*`);
37
+ if (col.$contains !== undefined)
38
+ exprs.add(`${column}/*/${String(col.$contains).split('/').join('%2F')}/**/*`);
39
+ }
40
+ }
41
+ }
42
+ else
43
+ exprs = new Set([`**/*`]);
44
+ return Array.from(exprs);
45
+ }
46
+ }
47
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/core/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAU,CAAA;AAEhG,MAAM,OAAO,KAAK;IACd,MAAM,CAAC,KAAK,CAAC,QAAQ,CACjB,UAAkB,EAClB,KAAqB;QAErB,IAAI,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;QAE7B,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC1B,KAAK,MAAM,MAAM,IAAI,EAAE,EAAE,CAAC;oBACtB,MAAM,GAAG,GAAG,EAAE,CAAC,MAAiB,CAAE,CAAA;oBAElC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;oBACrD,MAAM,SAAS,GACX,MAAM,CAAC,YAAY,EAAE,IAAI,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;oBAE3E,IAAI,SAAS,EAAE,CAAC;wBACZ,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;4BACtC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;gCAC3B,MAAM,IAAI,KAAK,CACX,YAAY,KAAK,yCAAyC,MAAM,CAAC,MAAM,CAAC,GAAG,CAC9E,CAAA;4BACL,CAAC;wBACL,CAAC;oBACL,CAAC;oBAED,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;wBACV,MAAM,GAAG,GAAG,SAAS;4BACjB,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;4BAC9D,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;wBACb,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,CAAA;oBACtC,CAAC;oBACD,IAAI,GAAG,CAAC,GAAG;wBAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,CAAA;oBACxC,IAAI,GAAG,CAAC,GAAG;wBAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,CAAA;oBACxC,IAAI,GAAG,CAAC,IAAI;wBAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,CAAA;oBACzC,IAAI,GAAG,CAAC,GAAG;wBAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,CAAA;oBACxC,IAAI,GAAG,CAAC,IAAI;wBAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,CAAA;oBACzC,IAAI,GAAG,CAAC,KAAK;wBAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;oBAC5E,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;wBAC3B,KAAK,CAAC,GAAG,CACL,GAAG,MAAM,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CACrE,CAAA;gBACT,CAAC;YACL,CAAC;QACL,CAAC;;YAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QAEhC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;CACJ"}
@@ -0,0 +1,62 @@
1
+ import path from 'node:path';
2
+ import TTID from '@delma/ttid';
3
+ import { assertPathInside, validateDocId } from '../../core/doc-id';
4
+ export class S3FilesDocuments {
5
+ storage;
6
+ docsRoot;
7
+ docPath;
8
+ ensureCollection;
9
+ encodeEncrypted;
10
+ decodeEncrypted;
11
+ constructor(storage, docsRoot, docPath, ensureCollection, encodeEncrypted, decodeEncrypted) {
12
+ this.storage = storage;
13
+ this.docsRoot = docsRoot;
14
+ this.docPath = docPath;
15
+ this.ensureCollection = ensureCollection;
16
+ this.encodeEncrypted = encodeEncrypted;
17
+ this.decodeEncrypted = decodeEncrypted;
18
+ }
19
+ async readStoredDoc(collection, docId) {
20
+ validateDocId(docId);
21
+ const target = this.docPath(collection, docId);
22
+ assertPathInside(this.docsRoot(collection), target);
23
+ try {
24
+ const raw = JSON.parse(await this.storage.read(target));
25
+ const decoded = await this.decodeEncrypted(collection, raw);
26
+ const { createdAt, updatedAt } = TTID.decodeTime(docId);
27
+ return {
28
+ id: docId,
29
+ createdAt,
30
+ updatedAt: updatedAt ?? createdAt,
31
+ data: decoded
32
+ };
33
+ }
34
+ catch (err) {
35
+ if (err.code === 'ENOENT')
36
+ return null;
37
+ throw err;
38
+ }
39
+ }
40
+ async writeStoredDoc(collection, docId, data) {
41
+ validateDocId(docId);
42
+ await this.ensureCollection(collection);
43
+ const encoded = await this.encodeEncrypted(collection, data);
44
+ const target = this.docPath(collection, docId);
45
+ assertPathInside(this.docsRoot(collection), target);
46
+ await this.storage.write(target, JSON.stringify(encoded));
47
+ }
48
+ async removeStoredDoc(collection, docId) {
49
+ validateDocId(docId);
50
+ const target = this.docPath(collection, docId);
51
+ assertPathInside(this.docsRoot(collection), target);
52
+ await this.storage.delete(target);
53
+ }
54
+ async listDocIds(collection) {
55
+ const files = await this.storage.list(this.docsRoot(collection));
56
+ return files
57
+ .filter((file) => file.endsWith('.json'))
58
+ .map((file) => path.basename(file, '.json'))
59
+ .filter((key) => TTID.isTTID(key));
60
+ }
61
+ }
62
+ //# sourceMappingURL=documents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../src/engines/s3-files/documents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,165 @@
1
+ import { mkdir, open, readFile, readdir, rm, stat, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { assertPathInside, validateDocId } from '../../core/doc-id';
4
+ export class FilesystemStorage {
5
+ async read(target) {
6
+ return await readFile(target, 'utf8');
7
+ }
8
+ async write(target, data) {
9
+ await mkdir(path.dirname(target), { recursive: true });
10
+ await writeFile(target, data, 'utf8');
11
+ }
12
+ async delete(target) {
13
+ await rm(target, { recursive: true, force: true });
14
+ }
15
+ async list(target) {
16
+ const results = [];
17
+ try {
18
+ const entries = await readdir(target, { withFileTypes: true });
19
+ for (const entry of entries) {
20
+ const child = path.join(target, entry.name);
21
+ if (entry.isDirectory()) {
22
+ results.push(...(await this.list(child)));
23
+ }
24
+ else {
25
+ results.push(child);
26
+ }
27
+ }
28
+ }
29
+ catch (err) {
30
+ if (err.code !== 'ENOENT')
31
+ throw err;
32
+ }
33
+ return results;
34
+ }
35
+ async mkdir(target) {
36
+ await mkdir(target, { recursive: true });
37
+ }
38
+ async rmdir(target) {
39
+ await rm(target, { recursive: true, force: true });
40
+ }
41
+ async exists(target) {
42
+ try {
43
+ await stat(target);
44
+ return true;
45
+ }
46
+ catch (err) {
47
+ if (err.code === 'ENOENT')
48
+ return false;
49
+ throw err;
50
+ }
51
+ }
52
+ }
53
+ export class FilesystemLockManager {
54
+ root;
55
+ storage;
56
+ constructor(root, storage) {
57
+ this.root = root;
58
+ this.storage = storage;
59
+ }
60
+ lockDir(collection, docId) {
61
+ validateDocId(docId);
62
+ const locksRoot = path.join(this.root, collection, '.fylo', 'locks');
63
+ const target = path.join(locksRoot, `${docId}.lock`);
64
+ assertPathInside(locksRoot, target);
65
+ return target;
66
+ }
67
+ async acquire(collection, docId, owner, ttlMs = 30_000) {
68
+ const dir = this.lockDir(collection, docId);
69
+ const metaPath = path.join(dir, 'meta.json');
70
+ await mkdir(path.dirname(dir), { recursive: true });
71
+ try {
72
+ await mkdir(dir, { recursive: false });
73
+ await this.storage.write(metaPath, JSON.stringify({ owner, ts: Date.now() }));
74
+ return true;
75
+ }
76
+ catch (err) {
77
+ if (err.code !== 'EEXIST')
78
+ throw err;
79
+ }
80
+ try {
81
+ const meta = JSON.parse(await this.storage.read(metaPath));
82
+ if (meta.ts && Date.now() - meta.ts > ttlMs) {
83
+ await this.storage.rmdir(dir);
84
+ await mkdir(dir, { recursive: false });
85
+ await this.storage.write(metaPath, JSON.stringify({ owner, ts: Date.now() }));
86
+ return true;
87
+ }
88
+ }
89
+ catch {
90
+ await this.storage.rmdir(dir);
91
+ await mkdir(dir, { recursive: false });
92
+ await this.storage.write(metaPath, JSON.stringify({ owner, ts: Date.now() }));
93
+ return true;
94
+ }
95
+ return false;
96
+ }
97
+ async release(collection, docId, owner) {
98
+ const dir = this.lockDir(collection, docId);
99
+ const metaPath = path.join(dir, 'meta.json');
100
+ try {
101
+ const meta = JSON.parse(await this.storage.read(metaPath));
102
+ if (meta.owner === owner)
103
+ await this.storage.rmdir(dir);
104
+ }
105
+ catch (err) {
106
+ if (err.code !== 'ENOENT')
107
+ throw err;
108
+ }
109
+ }
110
+ }
111
+ export class FilesystemEventBus {
112
+ root;
113
+ storage;
114
+ constructor(root, storage) {
115
+ this.root = root;
116
+ this.storage = storage;
117
+ }
118
+ journalPath(collection) {
119
+ return path.join(this.root, collection, '.fylo', 'events', `${collection}.ndjson`);
120
+ }
121
+ async publish(collection, event) {
122
+ const target = this.journalPath(collection);
123
+ await mkdir(path.dirname(target), { recursive: true });
124
+ const line = `${JSON.stringify(event)}\n`;
125
+ const handle = await open(target, 'a');
126
+ try {
127
+ await handle.write(line);
128
+ }
129
+ finally {
130
+ await handle.close();
131
+ }
132
+ }
133
+ async *listen(collection) {
134
+ const target = this.journalPath(collection);
135
+ let position = 0;
136
+ while (true) {
137
+ try {
138
+ const fileStat = await stat(target);
139
+ if (fileStat.size > position) {
140
+ const handle = await open(target, 'r');
141
+ try {
142
+ const size = fileStat.size - position;
143
+ const buffer = Buffer.alloc(size);
144
+ await handle.read(buffer, 0, size, position);
145
+ position = fileStat.size;
146
+ for (const line of buffer.toString('utf8').split('\n')) {
147
+ if (line.trim().length === 0)
148
+ continue;
149
+ yield JSON.parse(line);
150
+ }
151
+ }
152
+ finally {
153
+ await handle.close();
154
+ }
155
+ }
156
+ }
157
+ catch (err) {
158
+ if (err.code !== 'ENOENT')
159
+ throw err;
160
+ }
161
+ await Bun.sleep(100);
162
+ }
163
+ }
164
+ }
165
+ //# sourceMappingURL=filesystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../src/engines/s3-files/filesystem.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,235 @@
1
+ import TTID from '@delma/ttid';
2
+ import { Cipher } from '../../adapters/cipher';
3
+ export class S3FilesQueryEngine {
4
+ context;
5
+ constructor(context) {
6
+ this.context = context;
7
+ }
8
+ getValueByPath(target, fieldPath) {
9
+ return fieldPath
10
+ .replaceAll('/', '.')
11
+ .split('.')
12
+ .reduce((acc, key) => (acc === undefined || acc === null ? undefined : acc[key]), target);
13
+ }
14
+ normalizeFieldPath(fieldPath) {
15
+ return fieldPath.replaceAll('.', '/');
16
+ }
17
+ matchesTimestamp(docId, query) {
18
+ if (!query?.$created && !query?.$updated)
19
+ return true;
20
+ const { createdAt, updatedAt } = TTID.decodeTime(docId);
21
+ const timestamps = { createdAt, updatedAt: updatedAt ?? createdAt };
22
+ const match = (value, range) => {
23
+ if (!range)
24
+ return true;
25
+ if (range.$gt !== undefined && !(value > range.$gt))
26
+ return false;
27
+ if (range.$gte !== undefined && !(value >= range.$gte))
28
+ return false;
29
+ if (range.$lt !== undefined && !(value < range.$lt))
30
+ return false;
31
+ if (range.$lte !== undefined && !(value <= range.$lte))
32
+ return false;
33
+ return true;
34
+ };
35
+ return (match(timestamps.createdAt, query.$created) &&
36
+ match(timestamps.updatedAt, query.$updated));
37
+ }
38
+ likeToRegex(pattern) {
39
+ const escaped = pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&').replaceAll('%', '.*');
40
+ return new RegExp(`^${escaped}$`);
41
+ }
42
+ matchesOperand(value, operand) {
43
+ if (operand.$eq !== undefined && value != operand.$eq)
44
+ return false;
45
+ if (operand.$ne !== undefined && value == operand.$ne)
46
+ return false;
47
+ if (operand.$gt !== undefined && !(Number(value) > operand.$gt))
48
+ return false;
49
+ if (operand.$gte !== undefined && !(Number(value) >= operand.$gte))
50
+ return false;
51
+ if (operand.$lt !== undefined && !(Number(value) < operand.$lt))
52
+ return false;
53
+ if (operand.$lte !== undefined && !(Number(value) <= operand.$lte))
54
+ return false;
55
+ if (operand.$like !== undefined &&
56
+ (typeof value !== 'string' || !this.likeToRegex(operand.$like).test(value)))
57
+ return false;
58
+ if (operand.$contains !== undefined) {
59
+ if (!Array.isArray(value) || !value.some((item) => item == operand.$contains))
60
+ return false;
61
+ }
62
+ return true;
63
+ }
64
+ async normalizeQueryValue(collection, fieldPath, value) {
65
+ let rawValue = String(value).replaceAll('/', '%2F');
66
+ if (Cipher.isConfigured() && Cipher.isEncryptedField(collection, fieldPath))
67
+ rawValue = await Cipher.blindIndex(rawValue);
68
+ return this.context.normalizeIndexValue(rawValue);
69
+ }
70
+ intersectDocIds(current, next) {
71
+ const nextSet = next instanceof Set ? next : new Set(next);
72
+ if (current === null)
73
+ return new Set(nextSet);
74
+ const intersection = new Set();
75
+ for (const docId of current) {
76
+ if (nextSet.has(docId))
77
+ intersection.add(docId);
78
+ }
79
+ return intersection;
80
+ }
81
+ async candidateDocIdsForOperand(collection, fieldPath, operand) {
82
+ if (Cipher.isConfigured() && Cipher.isEncryptedField(collection, fieldPath)) {
83
+ const unsupported = operand.$ne !== undefined ||
84
+ operand.$gt !== undefined ||
85
+ operand.$gte !== undefined ||
86
+ operand.$lt !== undefined ||
87
+ operand.$lte !== undefined ||
88
+ operand.$like !== undefined ||
89
+ operand.$contains !== undefined;
90
+ if (unsupported) {
91
+ throw new Error(`Operator is not supported on encrypted field: ${fieldPath}`);
92
+ }
93
+ }
94
+ const cache = await this.context.loadIndexCache(collection);
95
+ let candidateIds = null;
96
+ if (operand.$eq !== undefined) {
97
+ const normalized = await this.normalizeQueryValue(collection, fieldPath, operand.$eq);
98
+ candidateIds = this.intersectDocIds(candidateIds, cache.fieldHash.get(fieldPath)?.get(normalized.valueHash) ?? new Set());
99
+ }
100
+ if (operand.$gt !== undefined ||
101
+ operand.$gte !== undefined ||
102
+ operand.$lt !== undefined ||
103
+ operand.$lte !== undefined) {
104
+ const numericMatches = new Set();
105
+ for (const entry of cache.fieldNumeric.get(fieldPath) ?? []) {
106
+ if (operand.$gt !== undefined && !(entry.numericValue > operand.$gt))
107
+ continue;
108
+ if (operand.$gte !== undefined && !(entry.numericValue >= operand.$gte))
109
+ continue;
110
+ if (operand.$lt !== undefined && !(entry.numericValue < operand.$lt))
111
+ continue;
112
+ if (operand.$lte !== undefined && !(entry.numericValue <= operand.$lte))
113
+ continue;
114
+ numericMatches.add(entry.docId);
115
+ }
116
+ candidateIds = this.intersectDocIds(candidateIds, numericMatches);
117
+ }
118
+ if (operand.$like !== undefined) {
119
+ const regex = this.likeToRegex(operand.$like.replaceAll('/', '%2F'));
120
+ const stringMatches = new Set();
121
+ for (const entry of cache.fieldString.get(fieldPath) ?? []) {
122
+ if (regex.test(entry.rawValue))
123
+ stringMatches.add(entry.docId);
124
+ }
125
+ candidateIds = this.intersectDocIds(candidateIds, stringMatches);
126
+ }
127
+ if (operand.$contains !== undefined) {
128
+ const normalized = await this.normalizeQueryValue(collection, fieldPath, operand.$contains);
129
+ const containsMatches = new Set();
130
+ for (const [candidateFieldPath, hashes] of cache.fieldHash.entries()) {
131
+ if (candidateFieldPath !== fieldPath &&
132
+ !candidateFieldPath.startsWith(`${fieldPath}/`))
133
+ continue;
134
+ for (const docId of hashes.get(normalized.valueHash) ?? [])
135
+ containsMatches.add(docId);
136
+ }
137
+ candidateIds = this.intersectDocIds(candidateIds, containsMatches);
138
+ }
139
+ return candidateIds;
140
+ }
141
+ async candidateDocIdsForOperation(collection, operation) {
142
+ let candidateIds = null;
143
+ for (const [field, operand] of Object.entries(operation)) {
144
+ if (!operand)
145
+ continue;
146
+ const fieldPath = this.normalizeFieldPath(String(field));
147
+ const fieldCandidates = await this.candidateDocIdsForOperand(collection, fieldPath, operand);
148
+ if (fieldCandidates === null)
149
+ continue;
150
+ candidateIds = this.intersectDocIds(candidateIds, fieldCandidates);
151
+ }
152
+ return candidateIds;
153
+ }
154
+ async candidateDocIdsForQuery(collection, query) {
155
+ if (!query?.$ops || query.$ops.length === 0)
156
+ return null;
157
+ const union = new Set();
158
+ let usedIndex = false;
159
+ for (const operation of query.$ops) {
160
+ const candidateIds = await this.candidateDocIdsForOperation(collection, operation);
161
+ if (candidateIds === null)
162
+ return null;
163
+ usedIndex = true;
164
+ for (const docId of candidateIds)
165
+ union.add(docId);
166
+ }
167
+ return usedIndex ? union : null;
168
+ }
169
+ matchesQuery(docId, doc, query) {
170
+ if (!this.matchesTimestamp(docId, query))
171
+ return false;
172
+ if (!query?.$ops || query.$ops.length === 0)
173
+ return true;
174
+ return query.$ops.some((operation) => {
175
+ for (const field in operation) {
176
+ const value = this.getValueByPath(doc, field);
177
+ if (!this.matchesOperand(value, operation[field]))
178
+ return false;
179
+ }
180
+ return true;
181
+ });
182
+ }
183
+ selectValues(selection, data) {
184
+ const copy = { ...data };
185
+ for (const field in copy) {
186
+ if (!selection.includes(field))
187
+ delete copy[field];
188
+ }
189
+ return copy;
190
+ }
191
+ renameFields(rename, data) {
192
+ const copy = { ...data };
193
+ for (const field in copy) {
194
+ if (rename[field]) {
195
+ copy[rename[field]] = copy[field];
196
+ delete copy[field];
197
+ }
198
+ }
199
+ return copy;
200
+ }
201
+ processDoc(doc, query) {
202
+ if (Object.keys(doc).length === 0)
203
+ return;
204
+ const next = { ...doc };
205
+ for (let [_id, data] of Object.entries(next)) {
206
+ if (query?.$select?.length)
207
+ data = this.selectValues(query.$select, data);
208
+ if (query?.$rename)
209
+ data = this.renameFields(query.$rename, data);
210
+ next[_id] = data;
211
+ }
212
+ if (query?.$groupby) {
213
+ const docGroup = {};
214
+ for (const [id, data] of Object.entries(next)) {
215
+ const groupValue = data[query.$groupby];
216
+ if (groupValue) {
217
+ const groupData = { ...data };
218
+ delete groupData[query.$groupby];
219
+ docGroup[groupValue] = { [id]: groupData };
220
+ }
221
+ }
222
+ if (query.$onlyIds) {
223
+ const groupedIds = {};
224
+ for (const group in docGroup)
225
+ groupedIds[group] = Object.keys(docGroup[group]);
226
+ return groupedIds;
227
+ }
228
+ return docGroup;
229
+ }
230
+ if (query?.$onlyIds)
231
+ return Object.keys(next).shift();
232
+ return next;
233
+ }
234
+ }
235
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/engines/s3-files/query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/engines/s3-files/types.ts"],"names":[],"mappings":""}