@antelopejs/postgres 0.2.3 → 0.2.5

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 (168) hide show
  1. package/README.md +56 -58
  2. package/dist/connection.js +1 -1
  3. package/dist/connection.js.map +1 -1
  4. package/dist/implementations/database/context.d.ts +4 -3
  5. package/dist/implementations/database/context.js.map +1 -1
  6. package/dist/implementations/database/duplicate-key.d.ts +3 -1
  7. package/dist/implementations/database/duplicate-key.js +1 -2
  8. package/dist/implementations/database/duplicate-key.js.map +1 -1
  9. package/dist/implementations/database/external-discovery.js +17 -8
  10. package/dist/implementations/database/external-discovery.js.map +1 -1
  11. package/dist/implementations/database/external-errors.d.ts +10 -1
  12. package/dist/implementations/database/external-errors.js +57 -27
  13. package/dist/implementations/database/external-errors.js.map +1 -1
  14. package/dist/implementations/database/external-measures.js +3 -3
  15. package/dist/implementations/database/external-measures.js.map +1 -1
  16. package/dist/implementations/database/external-payload.d.ts +4 -3
  17. package/dist/implementations/database/external-payload.js +40 -46
  18. package/dist/implementations/database/external-payload.js.map +1 -1
  19. package/dist/implementations/database/external-rows.js +4 -1
  20. package/dist/implementations/database/external-rows.js.map +1 -1
  21. package/dist/implementations/database/external-types.js +28 -28
  22. package/dist/implementations/database/external-types.js.map +1 -1
  23. package/dist/implementations/database/external-writes.js +16 -12
  24. package/dist/implementations/database/external-writes.js.map +1 -1
  25. package/dist/implementations/database/feeds.d.ts +2 -1
  26. package/dist/implementations/database/feeds.js +2 -2
  27. package/dist/implementations/database/feeds.js.map +1 -1
  28. package/dist/implementations/database/fields.js +12 -14
  29. package/dist/implementations/database/fields.js.map +1 -1
  30. package/dist/implementations/database/instances.d.ts +3 -2
  31. package/dist/implementations/database/instances.js +4 -4
  32. package/dist/implementations/database/instances.js.map +1 -1
  33. package/dist/implementations/database/member.d.ts +41 -0
  34. package/dist/implementations/database/member.js +91 -0
  35. package/dist/implementations/database/member.js.map +1 -0
  36. package/dist/implementations/database/migrate.js.map +1 -1
  37. package/dist/implementations/database/payload.d.ts +3 -2
  38. package/dist/implementations/database/payload.js +33 -49
  39. package/dist/implementations/database/payload.js.map +1 -1
  40. package/dist/implementations/database/pipeline.js +4 -5
  41. package/dist/implementations/database/pipeline.js.map +1 -1
  42. package/dist/implementations/database/query.d.ts +4 -3
  43. package/dist/implementations/database/query.js +28 -22
  44. package/dist/implementations/database/query.js.map +1 -1
  45. package/dist/implementations/database/result.d.ts +6 -2
  46. package/dist/implementations/database/result.js +23 -19
  47. package/dist/implementations/database/result.js.map +1 -1
  48. package/dist/implementations/database/schema.js +30 -31
  49. package/dist/implementations/database/schema.js.map +1 -1
  50. package/dist/implementations/database/selection.js +33 -32
  51. package/dist/implementations/database/selection.js.map +1 -1
  52. package/dist/implementations/database/stage.js +4 -3
  53. package/dist/implementations/database/stage.js.map +1 -1
  54. package/dist/implementations/database/stages-aggregate.js +2 -1
  55. package/dist/implementations/database/stages-aggregate.js.map +1 -1
  56. package/dist/implementations/database/stages-array.js +1 -4
  57. package/dist/implementations/database/stages-array.js.map +1 -1
  58. package/dist/implementations/database/stages-core.js +9 -2
  59. package/dist/implementations/database/stages-core.js.map +1 -1
  60. package/dist/implementations/database/stages-date.js.map +1 -1
  61. package/dist/implementations/database/stages-group.js +16 -17
  62. package/dist/implementations/database/stages-group.js.map +1 -1
  63. package/dist/implementations/database/stages-join.js +6 -8
  64. package/dist/implementations/database/stages-join.js.map +1 -1
  65. package/dist/implementations/database/stages-numeric.js +4 -3
  66. package/dist/implementations/database/stages-numeric.js.map +1 -1
  67. package/dist/implementations/database/stages-projection.js +4 -2
  68. package/dist/implementations/database/stages-projection.js.map +1 -1
  69. package/dist/implementations/database/stages-rows.js +6 -4
  70. package/dist/implementations/database/stages-rows.js.map +1 -1
  71. package/dist/implementations/database/stages-selection.js +8 -6
  72. package/dist/implementations/database/stages-selection.js.map +1 -1
  73. package/dist/implementations/database/stages-string.js +4 -2
  74. package/dist/implementations/database/stages-string.js.map +1 -1
  75. package/dist/implementations/database/subquery.js +1 -1
  76. package/dist/implementations/database/subquery.js.map +1 -1
  77. package/dist/implementations/database/utils.d.ts +10 -2
  78. package/dist/implementations/database/utils.js +6 -1
  79. package/dist/implementations/database/utils.js.map +1 -1
  80. package/dist/implementations/database/value.d.ts +14 -6
  81. package/dist/implementations/database/value.js +58 -67
  82. package/dist/implementations/database/value.js.map +1 -1
  83. package/dist/implementations/database/writes-atomic.js +9 -3
  84. package/dist/implementations/database/writes-atomic.js.map +1 -1
  85. package/dist/implementations/database/writes-identity.js +11 -9
  86. package/dist/implementations/database/writes-identity.js.map +1 -1
  87. package/dist/implementations/database/writes-insert.js +11 -16
  88. package/dist/implementations/database/writes-insert.js.map +1 -1
  89. package/dist/implementations/database/writes-shared.d.ts +2 -2
  90. package/dist/implementations/database/writes-shared.js +4 -7
  91. package/dist/implementations/database/writes-shared.js.map +1 -1
  92. package/dist/implementations/database/writes.js +8 -8
  93. package/dist/implementations/database/writes.js.map +1 -1
  94. package/dist/test/contention.test.js +1 -2
  95. package/dist/test/contention.test.js.map +1 -1
  96. package/dist/test/indexes.test.js.map +1 -1
  97. package/dist/test/typed-operations.test.d.ts +1 -0
  98. package/dist/test/typed-operations.test.js +103 -0
  99. package/dist/test/typed-operations.test.js.map +1 -0
  100. package/dist/test/unit/config.spec.js +4 -2
  101. package/dist/test/unit/config.spec.js.map +1 -1
  102. package/dist/test/unit/expression-array-fixture.d.ts +19 -1
  103. package/dist/test/unit/expression-array-fixture.js.map +1 -1
  104. package/dist/test/unit/expression-array-walk.spec.js +4 -4
  105. package/dist/test/unit/expression-array-walk.spec.js.map +1 -1
  106. package/dist/test/unit/expression-array.spec.js +1 -1
  107. package/dist/test/unit/expression-array.spec.js.map +1 -1
  108. package/dist/test/unit/expression-date.spec.js +10 -11
  109. package/dist/test/unit/expression-date.spec.js.map +1 -1
  110. package/dist/test/unit/expression-numeric.spec.js +7 -10
  111. package/dist/test/unit/expression-numeric.spec.js.map +1 -1
  112. package/dist/test/unit/expression-object.spec.js.map +1 -1
  113. package/dist/test/unit/expression-predicate.spec.js +6 -5
  114. package/dist/test/unit/expression-predicate.spec.js.map +1 -1
  115. package/dist/test/unit/expression-string.spec.js +13 -4
  116. package/dist/test/unit/expression-string.spec.js.map +1 -1
  117. package/dist/test/unit/expression.spec.js +7 -1
  118. package/dist/test/unit/expression.spec.js.map +1 -1
  119. package/dist/test/unit/external-types.spec.js +10 -0
  120. package/dist/test/unit/external-types.spec.js.map +1 -1
  121. package/dist/test/unit/feeds.spec.js +18 -6
  122. package/dist/test/unit/feeds.spec.js.map +1 -1
  123. package/dist/test/unit/fields.spec.js +3 -6
  124. package/dist/test/unit/fields.spec.js.map +1 -1
  125. package/dist/test/unit/member.spec.d.ts +1 -0
  126. package/dist/test/unit/member.spec.js +234 -0
  127. package/dist/test/unit/member.spec.js.map +1 -0
  128. package/dist/test/unit/payload.spec.js +53 -48
  129. package/dist/test/unit/payload.spec.js.map +1 -1
  130. package/dist/test/unit/pipeline-fixture.js +5 -8
  131. package/dist/test/unit/pipeline-fixture.js.map +1 -1
  132. package/dist/test/unit/pipeline-group.spec.js.map +1 -1
  133. package/dist/test/unit/pipeline-lambda-ids.spec.d.ts +1 -0
  134. package/dist/test/unit/pipeline-lambda-ids.spec.js +35 -0
  135. package/dist/test/unit/pipeline-lambda-ids.spec.js.map +1 -0
  136. package/dist/test/unit/pipeline-lookup.spec.js +7 -7
  137. package/dist/test/unit/pipeline-lookup.spec.js.map +1 -1
  138. package/dist/test/unit/pipeline-projection.spec.js +5 -5
  139. package/dist/test/unit/pipeline-projection.spec.js.map +1 -1
  140. package/dist/test/unit/pipeline-selection.spec.js +44 -29
  141. package/dist/test/unit/pipeline-selection.spec.js.map +1 -1
  142. package/dist/test/unit/pipeline-stages.spec.js +2 -2
  143. package/dist/test/unit/pipeline-stages.spec.js.map +1 -1
  144. package/dist/test/unit/pipeline-substream.spec.js +2 -1
  145. package/dist/test/unit/pipeline-substream.spec.js.map +1 -1
  146. package/dist/test/unit/pipeline.spec.js +7 -7
  147. package/dist/test/unit/pipeline.spec.js.map +1 -1
  148. package/dist/test/unit/result.spec.js +4 -0
  149. package/dist/test/unit/result.spec.js.map +1 -1
  150. package/dist/test/unit/schema.spec.js +18 -0
  151. package/dist/test/unit/schema.spec.js.map +1 -1
  152. package/dist/test/unit/selection.spec.js +7 -9
  153. package/dist/test/unit/selection.spec.js.map +1 -1
  154. package/dist/test/unit/utils.spec.js +8 -6
  155. package/dist/test/unit/utils.spec.js.map +1 -1
  156. package/dist/test/unit/value.spec.js +46 -27
  157. package/dist/test/unit/value.spec.js.map +1 -1
  158. package/dist/test/unit/writes-insert.spec.js +2 -3
  159. package/dist/test/unit/writes-insert.spec.js.map +1 -1
  160. package/dist/test/unit/writes-replace.spec.js +1 -2
  161. package/dist/test/unit/writes-replace.spec.js.map +1 -1
  162. package/dist/test/unit/writes-update.spec.js +2 -3
  163. package/dist/test/unit/writes-update.spec.js.map +1 -1
  164. package/dist/test-external/reads.test.js.map +1 -1
  165. package/package.json +11 -8
  166. package/dist/test/unit/invalid-fixture.d.ts +0 -3
  167. package/dist/test/unit/invalid-fixture.js +0 -11
  168. package/dist/test/unit/invalid-fixture.js.map +0 -1
@@ -10,6 +10,7 @@ exports.CompileCursor = CompileCursor;
10
10
  exports.ReadCursor = ReadCursor;
11
11
  exports.CloseCursor = CloseCursor;
12
12
  const node_assert_1 = __importDefault(require("node:assert"));
13
+ const pg_1 = require("pg");
13
14
  const atomic_1 = require("@antelopejs/interface-database/atomic");
14
15
  const connection_1 = require("../../connection");
15
16
  const config_1 = require("../../config");
@@ -37,29 +38,35 @@ const guards_1 = require("./guards");
37
38
  const MISSING_SCHEMA_ID = "Lifecycle query is missing its schema id";
38
39
  const LIFECYCLE_STAGE_COUNT = 2;
39
40
  const NO_ROWS = 0;
40
- const LIFECYCLE_HANDLERS = {
41
- [utils_1.CREATE_INSTANCE]: (schemaId, stage) => (0, instances_1.CreateInstance)(schemaId, stage.options?.id),
42
- [utils_1.DESTROY_INSTANCE]: (schemaId, stage) => (0, instances_1.DestroyInstance)(schemaId, (0, schema_1.GetTableNames)(schemaId), stage.options?.id),
43
- listInstances: instances_1.ListInstances,
44
- };
45
- function IsLifecycleStage(name) {
46
- return Object.hasOwn(LIFECYCLE_HANDLERS, name);
47
- }
48
- const EXTERNAL_LIFECYCLE = {
49
- [utils_1.CREATE_INSTANCE]: (_schemaId, stage) => Promise.reject((0, external_refusals_1.ExternalInstanceRefusal)(stage.stage)),
50
- [utils_1.DESTROY_INSTANCE]: (_schemaId, stage) => Promise.reject((0, external_refusals_1.ExternalInstanceRefusal)(stage.stage)),
51
- listInstances: () => Promise.resolve([]),
52
- };
41
+ const LIFECYCLE_HANDLERS = new Map([
42
+ [utils_1.CREATE_INSTANCE, instances_1.CreateInstance],
43
+ [
44
+ utils_1.DESTROY_INSTANCE,
45
+ (schemaId, stage) => (0, instances_1.DestroyInstance)(schemaId, (0, schema_1.GetTableNames)(schemaId), stage),
46
+ ],
47
+ ["listInstances", instances_1.ListInstances],
48
+ ]);
49
+ const EXTERNAL_LIFECYCLE = new Map([
50
+ [
51
+ utils_1.CREATE_INSTANCE,
52
+ (_schemaId, stage) => Promise.reject((0, external_refusals_1.ExternalInstanceRefusal)(stage.stage)),
53
+ ],
54
+ [
55
+ utils_1.DESTROY_INSTANCE,
56
+ (_schemaId, stage) => Promise.reject((0, external_refusals_1.ExternalInstanceRefusal)(stage.stage)),
57
+ ],
58
+ ["listInstances", () => Promise.resolve([])],
59
+ ]);
53
60
  function Lifecycle(stages) {
54
61
  if (stages.length !== LIFECYCLE_STAGE_COUNT ||
55
62
  stages[0].stage !== selection_1.SCHEMA_STAGE) {
56
63
  return undefined;
57
64
  }
58
65
  const stage = stages[1];
59
- if (!IsLifecycleStage(stage.stage)) {
66
+ const handler = ((0, config_1.IsExternal)() ? EXTERNAL_LIFECYCLE : LIFECYCLE_HANDLERS).get(stage.stage);
67
+ if (!handler) {
60
68
  return undefined;
61
69
  }
62
- const handler = ((0, config_1.IsExternal)() ? EXTERNAL_LIFECYCLE : LIFECYCLE_HANDLERS)[stage.stage];
63
70
  const schemaId = stages[0].options?.id;
64
71
  (0, node_assert_1.default)((0, guards_1.IsString)(schemaId), MISSING_SCHEMA_ID);
65
72
  return (0, schema_1.WaitForSchemaReady)(schemaId).then(() => handler(schemaId, stage));
@@ -79,10 +86,6 @@ function DecodeResult(relation, rows) {
79
86
  }
80
87
  return decoded.length > 0 ? decoded[0] : relation.absent;
81
88
  }
82
- async function RunRead(relation, context) {
83
- const result = await (0, connection_1.Query)((0, render_1.Render)(relation), context.params.all());
84
- return DecodeResult(relation, result.rows);
85
- }
86
89
  async function RunWrite(target, stage, context) {
87
90
  const statement = (0, writes_1.CompileWrite)(target, stage, context);
88
91
  if (!statement.sql) {
@@ -97,7 +100,9 @@ async function RunWrite(target, stage, context) {
97
100
  return await RunManagedWrite(statement, stage, context);
98
101
  }
99
102
  catch (err) {
100
- throw await (0, duplicate_key_1.DuplicateKeyFailure)(err, target.origin);
103
+ throw await (err instanceof pg_1.DatabaseError
104
+ ? (0, duplicate_key_1.DuplicateKeyFailure)(err, target.origin)
105
+ : err);
101
106
  }
102
107
  }
103
108
  async function RunManagedWrite(statement, stage, context) {
@@ -128,7 +133,7 @@ async function RunExternalWrite(statement, external, context) {
128
133
  return result.rowCount ?? NO_ROWS;
129
134
  }
130
135
  catch (err) {
131
- throw (0, external_errors_1.ExternalWriteFailure)(err, external);
136
+ throw (0, external_errors_1.IsDatabaseError)(err) ? (0, external_errors_1.ExternalWriteFailure)(err, external) : err;
132
137
  }
133
138
  }
134
139
  function QueryContext() {
@@ -158,7 +163,8 @@ async function RunQuery(stages) {
158
163
  }
159
164
  const compiled = await ReadyQuery(stages, QueryContext());
160
165
  if (!compiled.split.write) {
161
- return RunRead(compiled.relation, compiled.context);
166
+ const result = await (0, connection_1.Query)((0, render_1.Render)(compiled.relation), compiled.context.params.all());
167
+ return DecodeResult(compiled.relation, result.rows);
162
168
  }
163
169
  if (compiled.root.external &&
164
170
  compiled.split.write.stage === writes_atomic_1.ATOMIC_MUTATION) {
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/implementations/database/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/implementations/database/query.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
1
  import type { TableModel } from "./fields";
2
2
  import type { SqlType } from "./types";
3
- export declare function ReviveValue(value: unknown, type: SqlType): unknown;
4
- export declare function DecodeRow(row: Record<string, unknown>, table: TableModel): Record<string, unknown>;
3
+ export type RowValue = string | number | boolean | Date | Buffer | null | undefined | RowValue[] | RowObject;
4
+ export interface RowObject {
5
+ [name: string]: RowValue;
6
+ }
7
+ export declare function ReviveValue(value: RowValue, type: SqlType): RowValue;
8
+ export declare function DecodeRow(row: RowObject, table: TableModel): RowObject;
@@ -4,11 +4,16 @@ exports.ReviveValue = ReviveValue;
4
4
  exports.DecodeRow = DecodeRow;
5
5
  const utils_1 = require("./utils");
6
6
  const guards_1 = require("./guards");
7
+ function InstantOf(cell) {
8
+ return (0, guards_1.IsNumber)(cell) || (0, guards_1.IsString)(cell)
9
+ ? new Date(cell)
10
+ : new Date(Number.NaN);
11
+ }
7
12
  function ReviveTimestamp(value) {
8
13
  if (value instanceof Date) {
9
14
  return value;
10
15
  }
11
- const date = (0, guards_1.IsNumber)(value) ? new Date(value) : new Date(String(value));
16
+ const date = InstantOf(value);
12
17
  return Number.isNaN(date.getTime()) ? value : date;
13
18
  }
14
19
  function ReviveValue(value, type) {
@@ -22,45 +27,44 @@ function ReviveValue(value, type) {
22
27
  return Array.isArray(value)
23
28
  ? value.map((item) => ReviveValue(item, type.elem))
24
29
  : value;
25
- case "json":
26
- return ReviveKeyTypes(value, type.keys);
30
+ case "json": {
31
+ if (!type.keys || !(0, guards_1.IsDocument)(value)) {
32
+ return value;
33
+ }
34
+ const result = { ...value };
35
+ for (const [name, keyType] of Object.entries(type.keys)) {
36
+ if (Object.hasOwn(result, name)) {
37
+ result[name] = ReviveValue(result[name], keyType);
38
+ }
39
+ }
40
+ return result;
41
+ }
27
42
  default:
28
43
  return value;
29
44
  }
30
45
  }
31
- function ReviveKeyTypes(value, keyTypes) {
32
- if (!keyTypes || !(0, guards_1.IsDocument)(value)) {
33
- return value;
34
- }
35
- const result = { ...value };
36
- for (const [name, type] of Object.entries(keyTypes)) {
37
- if (Object.hasOwn(result, name)) {
38
- result[name] = ReviveValue(result[name], type);
39
- }
40
- }
41
- return result;
42
- }
43
46
  function DecodeRow(row, table) {
44
47
  const document = {};
45
- const id = row[utils_1.ID_COLUMN];
48
+ const { [utils_1.ID_COLUMN]: id, [utils_1.INSTANCE_COLUMN]: instance, [utils_1.EXTRA_COLUMN]: overflow, } = row;
46
49
  if (id !== null && id !== undefined) {
47
50
  document[utils_1.ID_COLUMN] = id;
48
51
  }
49
- const instance = row[utils_1.INSTANCE_COLUMN];
50
52
  if (instance !== null &&
51
53
  instance !== undefined &&
52
54
  instance !== utils_1.DEFAULT_INSTANCE_ID) {
53
55
  document[utils_1.INSTANCE_COLUMN] = instance;
54
56
  }
55
57
  for (const [name, spec] of Object.entries(table.fields)) {
56
- const value = row[spec.column];
58
+ const value = Object.hasOwn(row, spec.column)
59
+ ? row[spec.column]
60
+ : undefined;
57
61
  if (value === null || value === undefined) {
58
62
  continue;
59
63
  }
60
64
  document[name] = ReviveValue(value, spec.type);
61
65
  }
62
66
  const extra = {
63
- ...row[utils_1.EXTRA_COLUMN],
67
+ ...overflow,
64
68
  };
65
69
  delete extra[utils_1.ID_COLUMN];
66
70
  delete extra[utils_1.INSTANCE_COLUMN];
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/implementations/database/result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/implementations/database/result.ts"],"names":[],"mappings":"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"}
@@ -20,11 +20,11 @@ const external_schema_1 = require("./external-schema");
20
20
  const ddl_1 = require("./ddl");
21
21
  const migrate_1 = require("./migrate");
22
22
  const fields_1 = require("./fields");
23
- const definitions = {};
24
- const schemaModels = {};
25
- const scanNotices = {};
26
- const ready = {};
27
- const indexing = {};
23
+ const definitions = new Map();
24
+ const schemaModels = new Map();
25
+ const scanNotices = new Map();
26
+ const ready = new Map();
27
+ const indexing = new Map();
28
28
  const guardedWrites = new Set();
29
29
  function UnservedScanWarning(schemaId, tableId, indexId) {
30
30
  return `A CROSS_INSTANCE query on '${schemaId}.${tableId}' scans index '${indexId}', which is not declared crossInstance: its physical index leads with the instance, so the query stays correct but may be slow. Set crossInstance: true on the index to keep such queries fast`;
@@ -58,8 +58,8 @@ function QuietNotices(schema) {
58
58
  return notices;
59
59
  }
60
60
  async function InitializeExternal(schemaId, schema, parsed) {
61
- schemaModels[schemaId] = await (0, external_schema_1.DescribeExternalSchema)(schemaId, schema, parsed);
62
- scanNotices[schemaId] = QuietNotices(schema);
61
+ schemaModels.set(schemaId, await (0, external_schema_1.DescribeExternalSchema)(schemaId, schema, parsed));
62
+ scanNotices.set(schemaId, QuietNotices(schema));
63
63
  }
64
64
  async function initialize(schemaId, schema) {
65
65
  const model = (0, fields_1.ParseSchema)(schemaId, schema);
@@ -67,10 +67,10 @@ async function initialize(schemaId, schema) {
67
67
  await InitializeExternal(schemaId, schema, model);
68
68
  return;
69
69
  }
70
- schemaModels[schemaId] = model;
71
- scanNotices[schemaId] = SchemaScanNotices(schemaId, schema, model);
70
+ schemaModels.set(schemaId, model);
71
+ scanNotices.set(schemaId, SchemaScanNotices(schemaId, schema, model));
72
72
  const plans = await (0, migrate_1.ConvergeTables)(schemaId, schema, model);
73
- indexing[schemaId] = (0, migrate_1.BuildIndexes)(schemaId, plans);
73
+ indexing.set(schemaId, (0, migrate_1.BuildIndexes)(schemaId, plans));
74
74
  guardedWrites.delete(schemaId);
75
75
  if (DeclaresUniqueIndex(schema)) {
76
76
  guardedWrites.add(schemaId);
@@ -81,26 +81,26 @@ function DeclaresUniqueIndex(schema) {
81
81
  }
82
82
  exports.Schemas = {
83
83
  register(schemaId, schema) {
84
- definitions[schemaId] = schema;
84
+ definitions.set(schemaId, schema);
85
85
  const pending = initialize(schemaId, schema).catch((err) => {
86
- if (ready[schemaId] === pending) {
87
- delete definitions[schemaId];
88
- delete schemaModels[schemaId];
89
- delete scanNotices[schemaId];
86
+ if (ready.get(schemaId) === pending) {
87
+ definitions.delete(schemaId);
88
+ schemaModels.delete(schemaId);
89
+ scanNotices.delete(schemaId);
90
90
  guardedWrites.delete(schemaId);
91
91
  }
92
92
  throw err;
93
93
  });
94
- ready[schemaId] = pending;
94
+ ready.set(schemaId, pending);
95
95
  pending.catch(() => { });
96
96
  return pending;
97
97
  },
98
98
  unregister(schemaId) {
99
- delete definitions[schemaId];
100
- delete schemaModels[schemaId];
101
- delete scanNotices[schemaId];
102
- delete ready[schemaId];
103
- delete indexing[schemaId];
99
+ definitions.delete(schemaId);
100
+ schemaModels.delete(schemaId);
101
+ scanNotices.delete(schemaId);
102
+ ready.delete(schemaId);
103
+ indexing.delete(schemaId);
104
104
  guardedWrites.delete(schemaId);
105
105
  },
106
106
  };
@@ -111,11 +111,12 @@ function MissingTable(schemaId, tableId) {
111
111
  return `Unknown table '${schemaId}.${tableId}'`;
112
112
  }
113
113
  function WaitForSchemaReady(schemaId) {
114
- return Object.hasOwn(ready, schemaId) ? ready[schemaId] : Promise.resolve();
114
+ return ready.get(schemaId) ?? Promise.resolve();
115
115
  }
116
116
  function GetSchema(schemaId) {
117
- (0, node_assert_1.default)(Object.hasOwn(definitions, schemaId), MissingSchema(schemaId));
118
- return definitions[schemaId];
117
+ const schema = definitions.get(schemaId);
118
+ (0, node_assert_1.default)(schema, MissingSchema(schemaId));
119
+ return schema;
119
120
  }
120
121
  function GetTable(schemaId, tableId) {
121
122
  const schema = GetSchema(schemaId);
@@ -123,8 +124,8 @@ function GetTable(schemaId, tableId) {
123
124
  return schema[tableId];
124
125
  }
125
126
  function GetTableModel(schemaId, tableId) {
126
- (0, node_assert_1.default)(Object.hasOwn(schemaModels, schemaId), MissingSchema(schemaId));
127
- const model = schemaModels[schemaId];
127
+ const model = schemaModels.get(schemaId);
128
+ (0, node_assert_1.default)(model, MissingSchema(schemaId));
128
129
  (0, node_assert_1.default)(Object.hasOwn(model, tableId), MissingTable(schemaId, tableId));
129
130
  return model[tableId];
130
131
  }
@@ -140,16 +141,14 @@ function GetIndex(schemaId, tableId, indexId, onlyIndex) {
140
141
  return { fields: [indexId] };
141
142
  }
142
143
  function GetCrossInstanceScanNotice(schemaId, tableId) {
143
- (0, node_assert_1.default)(Object.hasOwn(scanNotices, schemaId), MissingSchema(schemaId));
144
- const notices = scanNotices[schemaId];
144
+ const notices = scanNotices.get(schemaId);
145
+ (0, node_assert_1.default)(notices, MissingSchema(schemaId));
145
146
  (0, node_assert_1.default)(Object.hasOwn(notices, tableId), MissingTable(schemaId, tableId));
146
147
  return notices[tableId];
147
148
  }
148
149
  async function WaitForIndexes(schemaId) {
149
150
  await WaitForSchemaReady(schemaId);
150
- if (Object.hasOwn(indexing, schemaId)) {
151
- await indexing[schemaId];
152
- }
151
+ await indexing.get(schemaId);
153
152
  }
154
153
  async function WaitForUniqueIndexes(schemaId) {
155
154
  if (guardedWrites.has(schemaId)) {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/implementations/database/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/implementations/database/schema.ts"],"names":[],"mappings":";;;;;;AAuLA,gDAEC;AAED,8BAIC;AAED,4BAIC;AAED,sCAKC;AAED,sCAEC;AAcD,4BAYC;AAGD,gEAQC;AAMD,wCAGC;AAWD,oDAIC;AA7QD,8DAAiC;AAOjC,yCAAsC;AACtC,yCAA0C;AAC1C,uDAA2D;AAC3D,+BAA4C;AAC5C,uCAAyD;AACzD,qCAA0E;AAO1E,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;AACxD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;AACpD,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;AACxD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;AAC/C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;AAClD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;AAExC,SAAS,mBAAmB,CAC1B,QAAgB,EAChB,OAAe,EACf,OAAe;IAEf,OAAO,8BAA8B,QAAQ,IAAI,OAAO,kBAAkB,OAAO,gMAAgM,CAAC;AACpR,CAAC;AAGD,SAAS,eAAe,CACtB,KAAsB,EACtB,KAAiB;IAEjB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAC7B,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,yBAAmB,EAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAClE,CAAC;IACF,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AACvD,CAAC;AAOD,SAAS,UAAU,CACjB,QAAgB,EAChB,OAAe,EACf,QAAqB;IAErB,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,eAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAgB,EAChB,MAAwB,EACxB,KAAkB;IAElB,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,MAAM,GAA4B,GAAG,EAAE,GAAE,CAAC,CAAC;AAGjD,SAAS,YAAY,CAAC,MAAwB;IAC5C,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;IAC5B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAGD,KAAK,UAAU,kBAAkB,CAC/B,QAAgB,EAChB,MAAwB,EACxB,MAAmB;IAEnB,YAAY,CAAC,GAAG,CACd,QAAQ,EACR,MAAM,IAAA,wCAAsB,EAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CACvD,CAAC;IACF,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;AAClD,CAAC;AAMD,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,MAAwB;IAClE,MAAM,KAAK,GAAG,IAAA,oBAAW,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,IAAA,mBAAU,GAAE,EAAE,CAAC;QACjB,MAAM,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IACD,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,MAAM,IAAA,wBAAc,EAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5D,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAA,sBAAY,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IACtD,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAwB;IACnD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAC1E,CAAC;AACJ,CAAC;AAuBY,QAAA,OAAO,GAAG;IACrB,QAAQ,CAAC,QAAgB,EAAE,MAAwB;QACjD,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClC,MAAM,OAAO,GAAkB,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAC/D,CAAC,GAAY,EAAE,EAAE;YACf,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,OAAO,EAAE,CAAC;gBACpC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC7B,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9B,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC7B,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC,CACF,CAAC;QACF,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACxB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,UAAU,CAAC,QAAgB;QACzB,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7B,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9B,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7B,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;CACF,CAAC;AAEF,SAAS,aAAa,CAAC,QAAgB;IACrC,OAAO,mBAAmB,QAAQ,GAAG,CAAC;AACxC,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB,EAAE,OAAe;IACrD,OAAO,kBAAkB,QAAQ,IAAI,OAAO,GAAG,CAAC;AAClD,CAAC;AAED,SAAgB,kBAAkB,CAAC,QAAgB;IACjD,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;AAClD,CAAC;AAED,SAAgB,SAAS,CAAC,QAAgB;IACxC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAA,qBAAM,EAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,QAAQ,CAAC,QAAgB,EAAE,OAAe;IACxD,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAA,qBAAM,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AAED,SAAgB,aAAa,CAAC,QAAgB,EAAE,OAAe;IAC7D,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAA,qBAAM,EAAC,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvC,IAAA,qBAAM,EAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED,SAAgB,aAAa,CAAC,QAAgB;IAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1C,CAAC;AAcD,SAAgB,QAAQ,CACtB,QAAgB,EAChB,OAAe,EACf,OAAe,EACf,SAAmB;IAEnB,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;IAC1D,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IACD,IAAA,qBAAM,EAAC,CAAC,SAAS,EAAE,kBAAkB,OAAO,SAAS,QAAQ,IAAI,OAAO,GAAG,CAAC,CAAC;IAC7E,OAAO,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AAC/B,CAAC;AAGD,SAAgB,0BAA0B,CACxC,QAAgB,EAChB,OAAe;IAEf,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAA,qBAAM,EAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,IAAA,qBAAM,EAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACzE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC;AAMM,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAWM,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IACzD,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;AACH,CAAC"}
@@ -8,11 +8,10 @@ exports.RegisteredOrigin = RegisteredOrigin;
8
8
  exports.BuildRoot = BuildRoot;
9
9
  exports.CollectSchemaIds = CollectSchemaIds;
10
10
  const node_assert_1 = __importDefault(require("node:assert"));
11
- const common_1 = require("@antelopejs/interface-database/common");
12
11
  const schema_1 = require("@antelopejs/interface-database/schema");
13
12
  const types_1 = require("./types");
14
13
  const ddl_1 = require("./ddl");
15
- const value_1 = require("./value");
14
+ const member_1 = require("./member");
16
15
  const identifier_1 = require("./identifier");
17
16
  const sql_1 = require("./sql");
18
17
  const relation_1 = require("./relation");
@@ -42,11 +41,12 @@ function RootStage(stages, expected, index) {
42
41
  return stages[index];
43
42
  }
44
43
  function RootId(stage) {
45
- const id = stage.options?.id;
44
+ const id = (0, utils_1.OptionsOf)(stage)?.id;
46
45
  (0, node_assert_1.default)((0, guards_1.IsString)(id), `The '${stage.stage}' stage of a table query is missing its id`);
47
46
  return id;
48
47
  }
49
- function RootInstanceScope(id, context) {
48
+ function RootInstanceScope(instance, context) {
49
+ const id = (0, utils_1.OptionsOf)(instance)?.id;
50
50
  if (id === schema_1.CROSS_INSTANCE) {
51
51
  return schema_1.CROSS_INSTANCE;
52
52
  }
@@ -56,10 +56,8 @@ function RootInstanceScope(id, context) {
56
56
  function InstancePredicate(alias, value) {
57
57
  return `(${(0, sql_1.QualifiedColumn)(alias, utils_1.INSTANCE_COLUMN)} = ${value.sql})`;
58
58
  }
59
- function NamedInstance(external, id) {
60
- return new Error(`${(0, identifier_1.QualifiedName)(external.schema, external.table)} is an external relation and has no instances, so instance '${String(id)}' names nothing: read it through the default instance`);
61
- }
62
- function RefuseNamedInstance(external, id) {
59
+ function RefuseNamedInstance(external, instance) {
60
+ const id = (0, utils_1.OptionsOf)(instance)?.id;
63
61
  const unscoped = [
64
62
  undefined,
65
63
  null,
@@ -67,11 +65,11 @@ function RefuseNamedInstance(external, id) {
67
65
  utils_1.DEFAULT_INSTANCE_ID,
68
66
  ];
69
67
  if (!unscoped.includes(id)) {
70
- throw NamedInstance(external, id);
68
+ throw new Error(`${(0, identifier_1.QualifiedName)(external.schema, external.table)} is an external relation and has no instances, so instance '${String(id)}' names nothing: read it through the default instance`);
71
69
  }
72
70
  }
73
- function ExternalRoot(origin, external, instanceId, context) {
74
- RefuseNamedInstance(external, instanceId);
71
+ function ExternalRoot(origin, external, instance, context) {
72
+ RefuseNamedInstance(external, instance);
75
73
  const from = (0, identifier_1.QualifiedName)(external.schema, external.table);
76
74
  return (0, relation_1.TableRelation)(from, context.nextAlias(), origin);
77
75
  }
@@ -84,12 +82,12 @@ function BuildRoot(stages, context) {
84
82
  const rest = stages.slice(ROOT_STAGES.length);
85
83
  const external = origin.model.external;
86
84
  if (external) {
87
- const relation = ExternalRoot(origin, external, instance.options?.id, context);
85
+ const relation = ExternalRoot(origin, external, instance, context);
88
86
  return { relation, rest, instance: schema_1.CROSS_INSTANCE, external };
89
87
  }
90
88
  const alias = context.nextAlias();
91
89
  const relation = (0, relation_1.TableRelation)((0, identifier_1.TableReference)(schemaId, tableId), alias, origin);
92
- const scope = RootInstanceScope(instance.options?.id, context);
90
+ const scope = RootInstanceScope(instance, context);
93
91
  relation.crossInstance = scope === schema_1.CROSS_INSTANCE;
94
92
  if (scope !== schema_1.CROSS_INSTANCE) {
95
93
  relation.where.push(InstancePredicate(alias, scope));
@@ -97,33 +95,36 @@ function BuildRoot(stages, context) {
97
95
  return { relation, rest, instance: scope };
98
96
  }
99
97
  function CollectValue(value, walk) {
100
- if (!(0, guards_1.IsObject)(value) || walk.visited.has(value)) {
101
- return;
102
- }
103
- walk.visited.add(value);
104
- if (value instanceof common_1.StagedObject) {
105
- CollectInto(value.build(), walk);
98
+ if (!("identity" in value) || walk.visited.has(value.identity)) {
106
99
  return;
107
100
  }
108
- if (Array.isArray(value)) {
109
- for (const item of value) {
110
- CollectValue(item, walk);
111
- }
112
- return;
113
- }
114
- if ((0, value_1.IsPlainObject)(value)) {
115
- for (const item of Object.values(value)) {
116
- CollectValue(item, walk);
117
- }
101
+ walk.visited.add(value.identity);
102
+ switch (value.kind) {
103
+ case "proxy":
104
+ case "query":
105
+ case "staged":
106
+ CollectInto(value.value.build(), walk);
107
+ return;
108
+ case "list":
109
+ value.items().forEach((item) => CollectValue(item, walk));
110
+ return;
111
+ case "record":
112
+ for (const [, item] of value.document.entries()) {
113
+ CollectValue(item, walk);
114
+ }
115
+ return;
116
+ default:
117
+ return value;
118
118
  }
119
119
  }
120
120
  function CollectInto(stages, walk) {
121
121
  for (const stage of stages) {
122
- if (stage.stage === exports.SCHEMA_STAGE && (0, guards_1.IsString)(stage.options?.id)) {
123
- walk.ids.add(stage.options.id);
122
+ const id = (0, utils_1.OptionsOf)(stage)?.id;
123
+ if (stage.stage === exports.SCHEMA_STAGE && (0, guards_1.IsString)(id)) {
124
+ walk.ids.add(id);
124
125
  }
125
126
  for (const arg of stage.args ?? []) {
126
- CollectValue(arg, walk);
127
+ CollectValue((0, member_1.ClassifyMember)(arg), walk);
127
128
  }
128
129
  }
129
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"selection.js","sourceRoot":"","sources":["../../../src/implementations/database/selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selection.js","sourceRoot":"","sources":["../../../src/implementations/database/selection.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ exports.FieldOf = FieldOf;
12
12
  const value_1 = require("./value");
13
13
  const row_source_1 = require("./row-source");
14
14
  const guards_1 = require("./guards");
15
+ const member_1 = require("./member");
15
16
  exports.FIRST_OPERAND = 0;
16
17
  exports.SECOND_OPERAND = 1;
17
18
  const EMPTY_STATE = "Expression has no value to operate on";
@@ -49,7 +50,7 @@ function FieldNames(stage, index = exports.FIRST_OPERAND) {
49
50
  function Lift(handler) {
50
51
  return (state, stage, context) => {
51
52
  const value = AsValue(state);
52
- const args = stage.args.map((arg) => (0, value_1.DecodeValue)(arg, context));
53
+ const args = stage.args.map((arg) => (0, value_1.DecodeValue)((0, member_1.ClassifyMember)(arg), context));
53
54
  return { current: handler(value, args, stage, context) };
54
55
  };
55
56
  }
@@ -66,12 +67,12 @@ function BuildStages(operators, build) {
66
67
  return stages;
67
68
  }
68
69
  function FieldOf(source, stage, context) {
69
- const def = (0, value_1.DecodeValue)(stage.args[exports.SECOND_OPERAND], context);
70
+ const def = (0, value_1.DecodeValue)((0, member_1.ClassifyMember)(stage.args[exports.SECOND_OPERAND]), context);
70
71
  const name = stage.args[exports.FIRST_OPERAND];
71
72
  if ((0, guards_1.IsString)(name)) {
72
73
  return source.field(name, def);
73
74
  }
74
- const key = RequireOperand((0, value_1.DecodeValue)(name, context), stage, exports.FIRST_OPERAND);
75
+ const key = RequireOperand((0, value_1.DecodeValue)((0, member_1.ClassifyMember)(name), context), stage, exports.FIRST_OPERAND);
75
76
  return source.dynamicField(key, def);
76
77
  }
77
78
  //# sourceMappingURL=stage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stage.js","sourceRoot":"","sources":["../../../src/implementations/database/stage.ts"],"names":[],"mappings":";;;AAyDA,0BAGC;AAED,4BAGC;AAED,wCAWC;AASD,gCAUC;AAiBD,oBAMC;AAMD,0BAIC;AAGD,kCASC;AAWD,0BAYC;AAlKD,mCAAsC;AAEtC,6CAA6D;AAC7D,qCAAoC;AAmCvB,QAAA,aAAa,GAAG,CAAC,CAAC;AAClB,QAAA,cAAc,GAAG,CAAC,CAAC;AAEhC,MAAM,WAAW,GAAG,uCAAuC,CAAC;AAE5D,SAAS,cAAc,CAAC,KAAsB;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC;AAED,SAAS,UAAU,CAAC,OAA6B;IAC/C,OAAO,KAAK,IAAI,OAAO,CAAC;AAC1B,CAAC;AAED,SAAgB,OAAO,CAAC,KAAsB;IAC5C,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;AAC1D,CAAC;AAED,SAAgB,QAAQ,CAAC,KAAsB;IAC7C,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,0BAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACpE,CAAC;AAED,SAAgB,cAAc,CAC5B,KAA2B,EAC3B,KAAiB,EACjB,KAAa;IAEb,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,CAAC,KAAK,qCAAqC,KAAK,EAAE,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AASD,SAAgB,UAAU,CACxB,KAAiB,EACjB,QAAgB,qBAAa;IAE7B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,iBAAQ,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,KAAK,kCAAkC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAiBD,SAAgB,IAAI,CAAC,OAAmB;IACtC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;IAC3D,CAAC,CAAC;AACJ,CAAC;AAMD,SAAgB,OAAO,CAAC,OAAsB;IAC5C,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACjC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC;KACjD,CAAC,CAAC;AACL,CAAC;AAGD,SAAgB,WAAW,CACzB,SAAmC,EACnC,KAA2C;IAE3C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAWD,SAAgB,OAAO,CACrB,MAAiB,EACjB,KAAiB,EACjB,OAAwB;IAExB,MAAM,GAAG,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,IAAI,CAAC,sBAAc,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAa,CAAC,CAAC;IACvC,IAAI,IAAA,iBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,GAAG,GAAG,cAAc,CAAC,IAAA,mBAAW,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,qBAAa,CAAC,CAAC;IAC7E,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"stage.js","sourceRoot":"","sources":["../../../src/implementations/database/stage.ts"],"names":[],"mappings":"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"}