mindoodb 0.0.63 → 0.0.64

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 +14 -1
  2. package/dist/browser/index.mjs +4 -0
  3. package/dist/core/expressions/builder.d.ts +25 -0
  4. package/dist/core/expressions/builder.d.ts.map +1 -1
  5. package/dist/core/expressions/builder.js +33 -13
  6. package/dist/core/expressions/builder.js.map +1 -1
  7. package/dist/core/expressions/evaluateExpression.d.ts +55 -2
  8. package/dist/core/expressions/evaluateExpression.d.ts.map +1 -1
  9. package/dist/core/expressions/evaluateExpression.js +95 -3
  10. package/dist/core/expressions/evaluateExpression.js.map +1 -1
  11. package/dist/core/expressions/formulaSource.d.ts.map +1 -1
  12. package/dist/core/expressions/formulaSource.js +21 -2
  13. package/dist/core/expressions/formulaSource.js.map +1 -1
  14. package/dist/core/expressions/index.d.ts +1 -1
  15. package/dist/core/expressions/index.d.ts.map +1 -1
  16. package/dist/core/expressions/index.js +3 -1
  17. package/dist/core/expressions/index.js.map +1 -1
  18. package/dist/core/expressions/metadata.d.ts +1 -1
  19. package/dist/core/expressions/metadata.d.ts.map +1 -1
  20. package/dist/core/expressions/metadata.js +5 -0
  21. package/dist/core/expressions/metadata.js.map +1 -1
  22. package/dist/core/expressions/types.d.ts +17 -2
  23. package/dist/core/expressions/types.d.ts.map +1 -1
  24. package/dist/core/index.d.ts +1 -1
  25. package/dist/core/index.d.ts.map +1 -1
  26. package/dist/core/index.js +4 -2
  27. package/dist/core/index.js.map +1 -1
  28. package/dist/core/indexing/createViewDataProvider.d.ts.map +1 -1
  29. package/dist/core/indexing/createViewDataProvider.js +1 -0
  30. package/dist/core/indexing/createViewDataProvider.js.map +1 -1
  31. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.d.ts.map +1 -1
  32. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.js +1 -0
  33. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.js.map +1 -1
  34. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts.map +1 -1
  35. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js +1 -0
  36. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js.map +1 -1
  37. package/dist/core/query/executeQuery.d.ts +1 -1
  38. package/dist/core/query/executeQuery.d.ts.map +1 -1
  39. package/dist/core/query/executeQuery.js +106 -71
  40. package/dist/core/query/executeQuery.js.map +1 -1
  41. package/dist/core/query/executeQueryInclude.d.ts +99 -0
  42. package/dist/core/query/executeQueryInclude.d.ts.map +1 -0
  43. package/dist/core/query/executeQueryInclude.js +447 -0
  44. package/dist/core/query/executeQueryInclude.js.map +1 -0
  45. package/dist/core/query/index.d.ts +2 -1
  46. package/dist/core/query/index.d.ts.map +1 -1
  47. package/dist/core/query/index.js +5 -1
  48. package/dist/core/query/index.js.map +1 -1
  49. package/dist/core/query/queryInternals.d.ts +45 -0
  50. package/dist/core/query/queryInternals.d.ts.map +1 -0
  51. package/dist/core/query/queryInternals.js +87 -0
  52. package/dist/core/query/queryInternals.js.map +1 -0
  53. package/dist/core/query/queryLive.d.ts.map +1 -1
  54. package/dist/core/query/queryLive.js +67 -8
  55. package/dist/core/query/queryLive.js.map +1 -1
  56. package/dist/core/query/queryView.d.ts.map +1 -1
  57. package/dist/core/query/queryView.js +19 -0
  58. package/dist/core/query/queryView.js.map +1 -1
  59. package/dist/core/query/types.d.ts +122 -7
  60. package/dist/core/query/types.d.ts.map +1 -1
  61. package/dist/core/query/types.js +13 -1
  62. package/dist/core/query/types.js.map +1 -1
  63. package/package.json +1 -1
package/README.md CHANGED
@@ -235,6 +235,19 @@ const { rows, total, coverage } = await db.query({
235
235
  });
236
236
  ```
237
237
 
238
+ ```typescript
239
+ // Nested lookups: join related documents (same or another database) onto
240
+ // every returned row — one extra scan per slot, never a query per row.
241
+ const invoices = await invoicesDb.query({
242
+ filter: v.eq(v.field("type"), "invoice"),
243
+ include: {
244
+ customer: { db: customersDb, cardinality: "one", localKey: "customerId", fields: ["name"] },
245
+ lines: { cardinality: "many", filter: v.eq(v.field("invoiceId"), v.parentDocId()) },
246
+ },
247
+ });
248
+ // invoices.rows[0].includes.customer / .includes.lines
249
+ ```
250
+
238
251
  ```typescript
239
252
  // Incremental indexing: process only what's new (foundation for the above)
240
253
  let cursor = null;
@@ -344,7 +357,7 @@ See: [Use Cases Documentation](./docs/usecases/README.md)
344
357
  - [Architecture Specification](./docs/specification.md) — Full technical details
345
358
  - [React Native Guide](./docs/reactnative.md) — Native Automerge setup and troubleshooting
346
359
  - [Virtual Views](./docs/virtualview.md) — Aggregations and cross-database views
347
- - [Ad-hoc Queries & Reactive Updates](./docs/adhoc-queries.md) — Summary buffer, `db.query()`, ephemeral views, live queries and change listeners
360
+ - [Ad-hoc Queries & Reactive Updates](./docs/adhoc-queries.md) — Summary buffer, `db.query()`, nested `include` lookups, ephemeral views, live queries and change listeners
348
361
  - [Full-Text Search](./docs/fulltext-search.md) — Client-side encrypted full-text index, `db.searchText()`, the query `text` clause, attachment text extraction
349
362
  - [Data Indexing](./docs/dataindexing.md) — Incremental indexing and search integration
350
363
  - [Time Travel](./docs/timetravel.md) — Historical document retrieval and history traversal
@@ -31,6 +31,7 @@ export const DATABASE_ID_REGEX = browser["DATABASE_ID_REGEX"];
31
31
  export const DATABASE_ID_REQUIREMENTS = browser["DATABASE_ID_REQUIREMENTS"];
32
32
  export const DB_SETUP_DOC_ID = browser["DB_SETUP_DOC_ID"];
33
33
  export const DEFAULT_FULLTEXT_MAX_FIELD_BYTES = browser["DEFAULT_FULLTEXT_MAX_FIELD_BYTES"];
34
+ export const DEFAULT_INCLUDE_LIMIT = browser["DEFAULT_INCLUDE_LIMIT"];
34
35
  export const DEFAULT_POLICY_DEFAULTS = browser["DEFAULT_POLICY_DEFAULTS"];
35
36
  export const DEFAULT_SUMMARY_MAX_VALUE_BYTES = browser["DEFAULT_SUMMARY_MAX_VALUE_BYTES"];
36
37
  export const DEFAULT_TENANT_KEY_ID = browser["DEFAULT_TENANT_KEY_ID"];
@@ -62,6 +63,7 @@ export const KEY_DISTRIBUTION_TYPE = browser["KEY_DISTRIBUTION_TYPE"];
62
63
  export const KeyBag = browser["KeyBag"];
63
64
  export const MAX_DATABASE_ID_LENGTH = browser["MAX_DATABASE_ID_LENGTH"];
64
65
  export const MAX_DOMAIN_STATEMENT_BYTES = browser["MAX_DOMAIN_STATEMENT_BYTES"];
66
+ export const MAX_INCLUDE_DEPTH = browser["MAX_INCLUDE_DEPTH"];
65
67
  export const MAX_TENANT_ID_LENGTH = browser["MAX_TENANT_ID_LENGTH"];
66
68
  export const MAX_TIMESTAMP_RESPONSE_BYTES = browser["MAX_TIMESTAMP_RESPONSE_BYTES"];
67
69
  export const MindooDBFormulaSyntaxError = browser["MindooDBFormulaSyntaxError"];
@@ -188,6 +190,7 @@ export const extractDocIdFromEntryId = browser["extractDocIdFromEntryId"];
188
190
  export const extractFulltextFields = browser["extractFulltextFields"];
189
191
  export const extractSummaryFields = browser["extractSummaryFields"];
190
192
  export const filterExpressionToDocumentFilter = browser["filterExpressionToDocumentFilter"];
193
+ export const findUnknownExpressionNode = browser["findUnknownExpressionNode"];
191
194
  export const fingerprintEncryptionPublicKey = browser["fingerprintEncryptionPublicKey"];
192
195
  export const fingerprintUserPublicKey = browser["fingerprintUserPublicKey"];
193
196
  export const formatCanonicalDisplayName = browser["formatCanonicalDisplayName"];
@@ -209,6 +212,7 @@ export const getFieldValue = browser["getFieldValue"];
209
212
  export const getMindooDBViewLanguageHelper = browser["getMindooDBViewLanguageHelper"];
210
213
  export const getNewDatabaseIdValidationError = browser["getNewDatabaseIdValidationError"];
211
214
  export const getReferencedFields = browser["getReferencedFields"];
215
+ export const getReferencedParentFields = browser["getReferencedParentFields"];
212
216
  export const getSummaryFieldValue = browser["getSummaryFieldValue"];
213
217
  export const getTenantIdValidationError = browser["getTenantIdValidationError"];
214
218
  export const grantForSigningKey = browser["grantForSigningKey"];
@@ -36,6 +36,31 @@ export declare function createViewLanguage<TDocument extends Record<string, unkn
36
36
  field<TPath extends MindooDBAppFieldPath<TDocument>>(path: TPath): MindooDBAppExpression<MindooDBAppPathValue<TDocument, TPath>>;
37
37
  value<TPath extends MindooDBAppFieldPath<TValueContext>>(path: TPath): MindooDBAppExpression<MindooDBAppPathValue<TValueContext, TPath>>;
38
38
  origin(): MindooDBAppExpression<string>;
39
+ /**
40
+ * Read a FIELD of the parent document of a nested query lookup
41
+ * (`MindooQuery.include`). Only valid inside an include filter; the
42
+ * query engine rejects it everywhere else. For the parent's id use
43
+ * {@link parentDocId} — `parent("docId")` is an ordinary field path
44
+ * and yields a value only if the parent really stores such a field.
45
+ *
46
+ * Untyped by design: the parent belongs to a different document type
47
+ * (often a different database) than the `TDocument` this builder was
48
+ * created for.
49
+ */
50
+ parent<T = unknown>(path: string): MindooDBAppExpression<T>;
51
+ /**
52
+ * The current document's id. A document's id is metadata rather than
53
+ * one of its fields, so it is reachable only through this helper —
54
+ * `field("docId")` reads a field of that name, which normally does
55
+ * not exist.
56
+ */
57
+ docId(): MindooDBAppExpression<string>;
58
+ /**
59
+ * The id of the parent row inside a nested query lookup — the
60
+ * {@link docId} counterpart of {@link parent}. `eq(docId(),
61
+ * parentDocId())` is the usual "child points at parent" join.
62
+ */
63
+ parentDocId(): MindooDBAppExpression<string>;
39
64
  createdAt(): MindooDBAppExpression<string | null>;
40
65
  lastModifiedAt(): MindooDBAppExpression<string | null>;
41
66
  decryptionKeyId(): MindooDBAppExpression<string | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/core/expressions/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/core/expressions/builder.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createViewLanguage = createViewLanguage;
4
- const EXPRESSION_KINDS = new Set([
5
- "literal",
6
- "field",
7
- "value",
8
- "origin",
9
- "variable",
10
- "operation",
11
- "if",
12
- "let",
13
- "decrypt",
14
- "json",
15
- ]);
4
+ const evaluateExpression_1 = require("./evaluateExpression");
16
5
  function variable(name) {
17
6
  return { kind: "variable", name };
18
7
  }
@@ -22,7 +11,7 @@ function isExpression(value) {
22
11
  && value !== null
23
12
  && "kind" in value
24
13
  && typeof value.kind === "string"
25
- && EXPRESSION_KINDS.has(value.kind);
14
+ && evaluateExpression_1.EXPRESSION_KINDS.has(value.kind);
26
15
  }
27
16
  /** Normalizes raw builder input into an expression node. */
28
17
  function toExpression(value) {
@@ -63,6 +52,37 @@ function createViewLanguage() {
63
52
  origin() {
64
53
  return { kind: "origin" };
65
54
  },
55
+ /**
56
+ * Read a FIELD of the parent document of a nested query lookup
57
+ * (`MindooQuery.include`). Only valid inside an include filter; the
58
+ * query engine rejects it everywhere else. For the parent's id use
59
+ * {@link parentDocId} — `parent("docId")` is an ordinary field path
60
+ * and yields a value only if the parent really stores such a field.
61
+ *
62
+ * Untyped by design: the parent belongs to a different document type
63
+ * (often a different database) than the `TDocument` this builder was
64
+ * created for.
65
+ */
66
+ parent(path) {
67
+ return { kind: "parent", path };
68
+ },
69
+ /**
70
+ * The current document's id. A document's id is metadata rather than
71
+ * one of its fields, so it is reachable only through this helper —
72
+ * `field("docId")` reads a field of that name, which normally does
73
+ * not exist.
74
+ */
75
+ docId() {
76
+ return { kind: "operation", op: "docId", args: [] };
77
+ },
78
+ /**
79
+ * The id of the parent row inside a nested query lookup — the
80
+ * {@link docId} counterpart of {@link parent}. `eq(docId(),
81
+ * parentDocId())` is the usual "child points at parent" join.
82
+ */
83
+ parentDocId() {
84
+ return { kind: "operation", op: "parentDocId", args: [] };
85
+ },
66
86
  createdAt() {
67
87
  return { kind: "operation", op: "createdAt", args: [] };
68
88
  },
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/core/expressions/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/core/expressions/builder.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,12 @@ export type ExpressionEvaluationContext = {
18
18
  doc: Record<string, unknown>;
19
19
  values: Record<string, unknown>;
20
20
  origin: string;
21
+ /**
22
+ * The document's id, which is metadata rather than one of its fields and
23
+ * therefore not part of `doc`. Hosts populate it so `docId()` resolves;
24
+ * where it is missing the operation yields `null`.
25
+ */
26
+ docId?: string | null;
21
27
  createdAt?: string | null;
22
28
  /** ISO-8601 last-modified timestamp from the host runtime (`getLastModified()`). */
23
29
  lastModifiedAt?: string | null;
@@ -28,6 +34,22 @@ export type ExpressionEvaluationContext = {
28
34
  variables: Record<string, unknown>;
29
35
  /** Pre-resolved plaintext for `decrypt` nodes, keyed by field name. */
30
36
  decrypted?: Record<string, unknown>;
37
+ /**
38
+ * Second evaluation context for `parent` nodes: the parent row of a
39
+ * nested query lookup (`MindooQuery.include`). Only populated while an
40
+ * include filter is evaluated; `parent` nodes yield `undefined` without
41
+ * it.
42
+ */
43
+ parent?: ExpressionParentContext;
44
+ };
45
+ /** The parent row a `parent` node reads from inside an include filter. */
46
+ export type ExpressionParentContext = {
47
+ docId: string;
48
+ /**
49
+ * The parent's field values in evaluation form (`buildSummaryEvaluationDoc`),
50
+ * i.e. unprojected and with `_lastModified` mirrored in.
51
+ */
52
+ doc: Record<string, unknown>;
31
53
  };
32
54
  /** A field whose ciphertext a view/query definition needs decrypted before evaluation. */
33
55
  export type DecryptRequest = {
@@ -54,6 +76,26 @@ export declare function expressionToBoolean(value: unknown): boolean;
54
76
  * context. This is the runtime counterpart of the builder and parser.
55
77
  */
56
78
  export declare function evaluateExpression(expression: MindooDBAppExpression, context: ExpressionEvaluationContext): unknown;
79
+ /**
80
+ * Every node kind {@link evaluateExpression} understands — the runtime
81
+ * mirror of the `MindooDBAppExpression` union, and the one list both the
82
+ * builder (telling nodes from literals) and the query engine (rejecting a
83
+ * node the evaluator cannot run) work from. A new node kind belongs here.
84
+ */
85
+ export declare const EXPRESSION_KINDS: ReadonlySet<MindooDBAppExpression["kind"]>;
86
+ /**
87
+ * Describes the first node of an expression tree that the evaluator would
88
+ * not recognize, or `null` when every node is a known kind.
89
+ *
90
+ * The evaluator's switch is exhaustive over the node union and deliberately
91
+ * has no `default`, so anything else — formula *source text* passed where a
92
+ * node was expected, a hand-built node with a typo'd `kind`, a value that
93
+ * survived a JSON round trip badly — evaluates to `undefined` rather than
94
+ * failing. As a filter that means "matches nothing", with no error and full
95
+ * coverage reported: the worst way to be wrong. Entry points that accept an
96
+ * expression from a caller check it with this first.
97
+ */
98
+ export declare function findUnknownExpressionNode(expression: MindooDBAppExpression): string | null;
57
99
  /**
58
100
  * Walks an expression tree and collects every `decrypt` node so the host
59
101
  * runtime knows which `_encrypted` fields it must decrypt before evaluation.
@@ -67,14 +109,25 @@ export declare function collectDecryptRequests(expression: MindooDBAppExpression
67
109
  * `_attachments` — they read that managed field even without a field node.
68
110
  */
69
111
  export declare function getReferencedFields(expression: MindooDBAppExpression): string[];
112
+ /**
113
+ * Collects every PARENT field path (`parent` nodes) an expression
114
+ * references. The counterpart of {@link getReferencedFields} for nested
115
+ * query lookups: both sets are coverage-checked, but against different
116
+ * summaries — `field` paths against the child database's, these against
117
+ * the parent's. `parentDocId()` contributes nothing here: an id is not a
118
+ * summary field and so has nothing to cover.
119
+ */
120
+ export declare function getReferencedParentFields(expression: MindooDBAppExpression): string[];
70
121
  /**
71
122
  * Collects expression capabilities relevant for the query engine's
72
- * guardrails: whether the expression needs decryption or a view-tree
73
- * context (neither can be answered from the summary buffer).
123
+ * guardrails: whether the expression needs decryption, a view-tree
124
+ * context (neither can be answered from the summary buffer), or a parent
125
+ * row (only exists inside a nested query lookup).
74
126
  */
75
127
  export declare function analyzeExpressionRequirements(expression: MindooDBAppExpression): {
76
128
  needsDecryption: boolean;
77
129
  needsViewContext: boolean;
78
130
  viewContextOperations: string[];
131
+ needsParentContext: boolean;
79
132
  };
80
133
  //# sourceMappingURL=evaluateExpression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluateExpression.d.ts","sourceRoot":"","sources":["../../../src/core/expressions/evaluateExpression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD;;;;;;;;;GASG;AAEH;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,oFAAoF;IACpF,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AAEF,0FAA0F;AAC1F,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,qBAAqB,CAAC;CAC7B,CAAC;AAOF,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;IAChC,uBAAuB,EAAE,MAAM,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAQtD,CAAC;AAEH,qGAAqG;AACrG,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAUpF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAShE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAY3D;AAuMD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,qBAAqB,EAAE,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAyCnH;AAqCD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,qBAAqB,GAAG,cAAc,EAAE,CAQ1F;AAUD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM,EAAE,CAY/E;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,qBAAqB,GAAG;IAChF,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC,CAeA"}
1
+ {"version":3,"file":"evaluateExpression.d.ts","sourceRoot":"","sources":["../../../src/core/expressions/evaluateExpression.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VIEW_CONTEXT_OPERATIONS = void 0;
3
+ exports.EXPRESSION_KINDS = exports.VIEW_CONTEXT_OPERATIONS = void 0;
4
4
  exports.getFieldValue = getFieldValue;
5
5
  exports.expressionToNumber = expressionToNumber;
6
6
  exports.expressionToBoolean = expressionToBoolean;
7
7
  exports.evaluateExpression = evaluateExpression;
8
+ exports.findUnknownExpressionNode = findUnknownExpressionNode;
8
9
  exports.collectDecryptRequests = collectDecryptRequests;
9
10
  exports.getReferencedFields = getReferencedFields;
11
+ exports.getReferencedParentFields = getReferencedParentFields;
10
12
  exports.analyzeExpressionRequirements = analyzeExpressionRequirements;
11
13
  /** Operation nodes that only make sense inside a materialized view tree. */
12
14
  exports.VIEW_CONTEXT_OPERATIONS = new Set([
@@ -94,6 +96,10 @@ function getViewRowCount(context, key) {
94
96
  function evaluateOperation(expression, context) {
95
97
  const args = expression.args.map((arg) => evaluateExpression(arg, context));
96
98
  switch (expression.op) {
99
+ case "docId":
100
+ return context.docId ?? null;
101
+ case "parentDocId":
102
+ return context.parent?.docId ?? null;
97
103
  case "createdAt":
98
104
  return context.createdAt ?? null;
99
105
  case "lastModifiedAt":
@@ -255,6 +261,10 @@ function evaluateExpression(expression, context) {
255
261
  return getFieldValue(context.values, expression.path);
256
262
  case "origin":
257
263
  return context.origin;
264
+ case "parent": {
265
+ const parent = context.parent;
266
+ return parent ? getFieldValue(parent.doc, expression.path) : undefined;
267
+ }
258
268
  case "variable":
259
269
  return context.variables[expression.name];
260
270
  case "if":
@@ -316,11 +326,67 @@ function walkExpression(expression, visit) {
316
326
  case "field":
317
327
  case "value":
318
328
  case "origin":
329
+ case "parent":
319
330
  case "variable":
320
331
  case "json":
321
332
  break;
322
333
  }
323
334
  }
335
+ /**
336
+ * Every node kind {@link evaluateExpression} understands — the runtime
337
+ * mirror of the `MindooDBAppExpression` union, and the one list both the
338
+ * builder (telling nodes from literals) and the query engine (rejecting a
339
+ * node the evaluator cannot run) work from. A new node kind belongs here.
340
+ */
341
+ exports.EXPRESSION_KINDS = new Set([
342
+ "literal",
343
+ "field",
344
+ "value",
345
+ "origin",
346
+ "parent",
347
+ "variable",
348
+ "operation",
349
+ "if",
350
+ "let",
351
+ "decrypt",
352
+ "json",
353
+ ]);
354
+ /**
355
+ * Describes the first node of an expression tree that the evaluator would
356
+ * not recognize, or `null` when every node is a known kind.
357
+ *
358
+ * The evaluator's switch is exhaustive over the node union and deliberately
359
+ * has no `default`, so anything else — formula *source text* passed where a
360
+ * node was expected, a hand-built node with a typo'd `kind`, a value that
361
+ * survived a JSON round trip badly — evaluates to `undefined` rather than
362
+ * failing. As a filter that means "matches nothing", with no error and full
363
+ * coverage reported: the worst way to be wrong. Entry points that accept an
364
+ * expression from a caller check it with this first.
365
+ */
366
+ function findUnknownExpressionNode(expression) {
367
+ let unknown = null;
368
+ walkExpression(expression, (node) => {
369
+ if (unknown !== null) {
370
+ return;
371
+ }
372
+ if (typeof node === "string") {
373
+ unknown = "formula source text (parse it first)";
374
+ return;
375
+ }
376
+ if (node === null || typeof node !== "object") {
377
+ unknown = `a ${node === null ? "null" : typeof node} value`;
378
+ return;
379
+ }
380
+ const kind = node.kind;
381
+ if (typeof kind !== "string") {
382
+ unknown = "an object without a `kind`";
383
+ }
384
+ else if (!exports.EXPRESSION_KINDS.has(kind)) {
385
+ unknown = `kind "${kind}"`;
386
+ }
387
+ });
388
+ return unknown;
389
+ }
324
390
  /**
325
391
  * Walks an expression tree and collects every `decrypt` node so the host
326
392
  * runtime knows which `_encrypted` fields it must decrypt before evaluation.
@@ -363,18 +429,43 @@ function getReferencedFields(expression) {
363
429
  });
364
430
  return Array.from(paths);
365
431
  }
432
+ /**
433
+ * Collects every PARENT field path (`parent` nodes) an expression
434
+ * references. The counterpart of {@link getReferencedFields} for nested
435
+ * query lookups: both sets are coverage-checked, but against different
436
+ * summaries — `field` paths against the child database's, these against
437
+ * the parent's. `parentDocId()` contributes nothing here: an id is not a
438
+ * summary field and so has nothing to cover.
439
+ */
440
+ function getReferencedParentFields(expression) {
441
+ const paths = new Set();
442
+ walkExpression(expression, (node) => {
443
+ if (node.kind === "parent") {
444
+ paths.add(node.path);
445
+ }
446
+ });
447
+ return Array.from(paths);
448
+ }
366
449
  /**
367
450
  * Collects expression capabilities relevant for the query engine's
368
- * guardrails: whether the expression needs decryption or a view-tree
369
- * context (neither can be answered from the summary buffer).
451
+ * guardrails: whether the expression needs decryption, a view-tree
452
+ * context (neither can be answered from the summary buffer), or a parent
453
+ * row (only exists inside a nested query lookup).
370
454
  */
371
455
  function analyzeExpressionRequirements(expression) {
372
456
  let needsDecryption = false;
457
+ let needsParentContext = false;
373
458
  const viewContextOperations = new Set();
374
459
  walkExpression(expression, (node) => {
375
460
  if (node.kind === "decrypt") {
376
461
  needsDecryption = true;
377
462
  }
463
+ else if (node.kind === "parent") {
464
+ needsParentContext = true;
465
+ }
466
+ else if (node.kind === "operation" && node.op === "parentDocId") {
467
+ needsParentContext = true;
468
+ }
378
469
  else if (node.kind === "operation" && exports.VIEW_CONTEXT_OPERATIONS.has(node.op)) {
379
470
  viewContextOperations.add(node.op);
380
471
  }
@@ -383,6 +474,7 @@ function analyzeExpressionRequirements(expression) {
383
474
  needsDecryption,
384
475
  needsViewContext: viewContextOperations.size > 0,
385
476
  viewContextOperations: Array.from(viewContextOperations),
477
+ needsParentContext,
386
478
  };
387
479
  }
388
480
  //# sourceMappingURL=evaluateExpression.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluateExpression.js","sourceRoot":"","sources":["../../../src/core/expressions/evaluateExpression.ts"],"names":[],"mappings":";;;AAmEA,sCAUC;AAED,gDASC;AAED,kDAYC;AA2MD,gDAyCC;AA0CD,wDAQC;AAgBD,kDAYC;AAOD,sEAmBC;AA3YD,4EAA4E;AAC/D,QAAA,uBAAuB,GAAwB,IAAI,GAAG,CAAC;IAClE,YAAY;IACZ,oBAAoB;IACpB,oBAAoB;IACpB,iBAAiB;IACjB,yBAAyB;IACzB,yBAAyB;IACzB,cAAc;CACf,CAAC,CAAC;AAEH,qGAAqG;AACrG,SAAgB,aAAa,CAAC,MAA+B,EAAE,IAAY;IACzE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAU,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QACvD,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YAC9D,OAAQ,OAAmC,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC,CAAC;AACb,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,mBAAmB,CAAC,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9C,OAAO,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,IAAI,CAAC;IAClG,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,KAAc,EAAE,EAAW;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACjC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,EAAW;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACjC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC1C,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,iBAAiB,CAAC,GAA4B;IACrD,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAA+B,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED,SAAS,eAAe,CAAC,OAAoC,EAAE,GAAkC;IAC/F,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,4FAA4F;AAC5F,SAAS,iBAAiB,CACxB,UAAiE,EACjE,OAAoC;IAEpC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5E,QAAQ,UAAU,CAAC,EAAE,EAAE,CAAC;QACtB,KAAK,WAAW;YACd,OAAO,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;QACnC,KAAK,gBAAgB;YACnB,OAAO,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;QACxC,KAAK,iBAAiB;YACpB,OAAO,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;QACzC,KAAK,aAAa;YAChB,OAAO,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;QACpC,KAAK,mBAAmB;YACtB,OAAO,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC;QAC1C,KAAK,iBAAiB;YACpB,OAAO,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAClC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;iBACxC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;QACnE,KAAK,mBAAmB;YACtB,OAAO,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC;iBAClC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;iBACpC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7F,KAAK,iBAAiB;YACpB,OAAO,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAC/C,KAAK,YAAY;YACf,OAAO,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChD,KAAK,oBAAoB;YACvB,OAAO,eAAe,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QACxD,KAAK,oBAAoB;YACvB,OAAO,eAAe,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QACxD,KAAK,iBAAiB;YACpB,OAAO,eAAe,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QACrD,KAAK,yBAAyB;YAC5B,OAAO,eAAe,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QAC7D,KAAK,yBAAyB;YAC5B,OAAO,eAAe,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QAC7D,KAAK,cAAc;YACjB,OAAO,eAAe,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAClD,KAAK,KAAK;YACR,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACjF,KAAK,KAAK;YACR,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACjF,KAAK,KAAK;YACR,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACjF,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,OAAO,OAAO,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACxF,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,OAAO,OAAO,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACxF,CAAC;QACD,KAAK,IAAI;YACP,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,KAAK,KAAK;YACR,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,KAAK,IAAI;YACP,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,KAAK,IAAI;YACP,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,KAAK,KAAK;YACR,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,KAAK,IAAI;YACP,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,KAAK,KAAK;YACR,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5F,KAAK,OAAO;YACV,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,KAAK,OAAO;YACV,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,KAAK,MAAM;YACT,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,KAAK,OAAO;YACV,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,KAAK,QAAQ;YACX,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/B,KAAK,SAAS;YACZ,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,KAAK,UAAU;YACb,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3F,KAAK,YAAY;YACf,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7F,KAAK,UAAU;YACb,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3F,KAAK,UAAU;YACb,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;QACrF,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACrE,KAAK,WAAW;YACd,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACrE,KAAK,UAAU;YACb,OAAO,IAAI;iBACR,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;iBACxC,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,IAAI,CAAC;YACd,CAAC;YACD,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;gBACxB,KAAK,MAAM;oBACT,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC/B,KAAK,OAAO;oBACV,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACzD,KAAK,KAAK;oBACR,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACpD,KAAK,SAAS;oBACZ,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvD;oBACE,OAAO,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,KAAc,EAAE,IAAa;IACpD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,GAAY,KAAK,CAAC;IAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,aAAa,CAAC,MAAiC,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,UAAiC,EAAE,OAAoC;IACxG,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,UAAU,CAAC,KAAK,CAAC;QAC1B,KAAK,OAAO;YACV,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACrD,KAAK,OAAO;YACV,OAAO,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACxD,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC,MAAM,CAAC;QACxB,KAAK,UAAU;YACb,OAAO,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5C,KAAK,IAAI;YACP,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC3E,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAClD,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,aAAa,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1E,aAAa,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,eAAe,EAAE;oBACxD,GAAG,OAAO;oBACV,SAAS,EAAE,aAAa;iBACzB,CAAC,CAAC;YACL,CAAC;YACD,OAAO,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC3C,GAAG,OAAO;gBACV,SAAS,EAAE,aAAa;aACzB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBACrB,OAAO,GAAG,CAAC;YACb,CAAC;YACD,OAAO,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,MAAM;YACT,OAAO,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACxF,KAAK,WAAW;YACd,OAAO,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,oEAAoE;AACpE,SAAS,cAAc,CAAC,UAAiC,EAAE,KAA4C;IACrG,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,WAAW;YACd,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;gBAClC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,MAAM;QACR,KAAK,IAAI;YACP,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC5C,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC3C,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC5C,MAAM;QACR,KAAK,KAAK;YACR,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzD,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACjC,CAAC;YACD,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACzC,MAAM;QACR,KAAK,SAAS;YACZ,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;gBACnB,cAAc,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC;YACD,MAAM;QACR,KAAK,SAAS,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM;YACT,MAAM;IACV,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,UAAiC;IACtE,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;QAClC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAEnG;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,UAAiC;IACnE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;QAClC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3E,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,SAAgB,6BAA6B,CAAC,UAAiC;IAK7E,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;IAChD,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;QAClC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,+BAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7E,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO;QACL,eAAe;QACf,gBAAgB,EAAE,qBAAqB,CAAC,IAAI,GAAG,CAAC;QAChD,qBAAqB,EAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC;KACzD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"evaluateExpression.js","sourceRoot":"","sources":["../../../src/core/expressions/evaluateExpression.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"formulaSource.d.ts","sourceRoot":"","sources":["../../../src/core/expressions/formulaSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,qBAAqB,EAGtB,MAAM,SAAS,CAAC;AA0EjB,iFAAiF;AACjF,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAK3C;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,CAQpF;AAED,iGAAiG;AACjG,wBAAgB,qCAAqC,CAAC,MAAM,EAAE,MAAM,GAAG,4BAA4B,CAElG;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,qBAAqB,EACjC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,MAAM,CAGR;AAED,2FAA2F;AAC3F,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAWzF"}
1
+ {"version":3,"file":"formulaSource.d.ts","sourceRoot":"","sources":["../../../src/core/expressions/formulaSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,qBAAqB,EAGtB,MAAM,SAAS,CAAC;AA4EjB,iFAAiF;AACjF,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAK3C;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,CAQpF;AAED,iGAAiG;AACjG,wBAAgB,qCAAqC,CAAC,MAAM,EAAE,MAAM,GAAG,4BAA4B,CAElG;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,qBAAqB,EACjC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,MAAM,CAGR;AAED,2FAA2F;AAC3F,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAWzF"}
@@ -6,6 +6,8 @@ exports.parseMindooDBFormulaBooleanExpression = parseMindooDBFormulaBooleanExpre
6
6
  exports.formatMindooDBFormulaExpression = formatMindooDBFormulaExpression;
7
7
  exports.isMindooDBFormulaLikelyBoolean = isMindooDBFormulaLikelyBoolean;
8
8
  const OP_TO_HELPER = {
9
+ docId: "docId",
10
+ parentDocId: "parentDocId",
9
11
  createdAt: "createdAt",
10
12
  lastModifiedAt: "lastModifiedAt",
11
13
  decryptionKeyId: "decryptionKeyId",
@@ -133,6 +135,8 @@ function formatExpression(expression, level, indent) {
133
135
  return `v.value(${JSON.stringify(expression.path)})`;
134
136
  case "origin":
135
137
  return "v.origin()";
138
+ case "parent":
139
+ return `v.parent(${JSON.stringify(expression.path)})`;
136
140
  case "variable":
137
141
  return expression.name;
138
142
  case "if": {
@@ -205,9 +209,17 @@ function formatExpression(expression, level, indent) {
205
209
  }
206
210
  }
207
211
  }
208
- /** Expands multi-argument wrappers once nested expressions become hard to read inline. */
212
+ /**
213
+ * Expands multi-argument wrappers once nested expressions become hard to
214
+ * read inline. A zero-argument operation (`docId()`, `createdAt()`, the
215
+ * count helpers) is not one of those: it reads exactly like `origin()`,
216
+ * so it stays on the line with its siblings.
217
+ */
209
218
  function shouldFormatOperationMultiline(expression) {
210
- return expression.args.length > 1 && expression.args.some((arg) => arg.kind === "operation" || arg.kind === "if" || arg.kind === "let" || !isInlineExpression(arg));
219
+ return expression.args.length > 1 && expression.args.some((arg) => (arg.kind === "operation" && arg.args.length > 0) ||
220
+ arg.kind === "if" ||
221
+ arg.kind === "let" ||
222
+ !isInlineExpression(arg));
211
223
  }
212
224
  /** Identifies expressions that stay readable on a single line. */
213
225
  function isInlineExpression(expression) {
@@ -216,6 +228,7 @@ function isInlineExpression(expression) {
216
228
  case "field":
217
229
  case "value":
218
230
  case "origin":
231
+ case "parent":
219
232
  case "variable":
220
233
  case "json":
221
234
  return true;
@@ -351,6 +364,12 @@ class FormulaParser {
351
364
  this.expectChar(")");
352
365
  return { kind: "origin" };
353
366
  }
367
+ case "parent": {
368
+ const path = this.parseStringLiteral();
369
+ this.consumeOptionalComma();
370
+ this.expectChar(")");
371
+ return { kind: "parent", path };
372
+ }
354
373
  case "ifElse": {
355
374
  // Domino-@If-style variadic form: cond1, val1, [cond2, val2, ...], default.
356
375
  // Desugars right-to-left into nested `if` nodes.