on-zero 0.12.21 → 0.13.0

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 (203) hide show
  1. package/README.md +3 -0
  2. package/dist/cjs/cli.native.js.map +1 -1
  3. package/dist/cjs/combineZeroClients.native.js.map +1 -1
  4. package/dist/cjs/config.native.js.map +1 -1
  5. package/dist/cjs/createPermissions.native.js.map +1 -1
  6. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  7. package/dist/cjs/createUseQuery.native.js.map +1 -1
  8. package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
  9. package/dist/cjs/createZeroClient.authData.test.native.js.map +1 -1
  10. package/dist/cjs/createZeroClient.cjs +24 -6
  11. package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
  12. package/dist/cjs/createZeroClient.headless.test.cjs +55 -0
  13. package/dist/cjs/createZeroClient.headless.test.native.js +64 -0
  14. package/dist/cjs/createZeroClient.headless.test.native.js.map +1 -1
  15. package/dist/cjs/createZeroClient.native.js +22 -4
  16. package/dist/cjs/createZeroClient.native.js.map +1 -1
  17. package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
  18. package/dist/cjs/generate-helpers.cjs +17 -0
  19. package/dist/cjs/generate-helpers.native.js +23 -0
  20. package/dist/cjs/generate-helpers.native.js.map +1 -1
  21. package/dist/cjs/generate-helpers.test.native.js.map +1 -1
  22. package/dist/cjs/generate-layout.cjs +47 -4
  23. package/dist/cjs/generate-layout.native.js +191 -81
  24. package/dist/cjs/generate-layout.native.js.map +1 -1
  25. package/dist/cjs/generate-lite.cjs +25 -5
  26. package/dist/cjs/generate-lite.native.js +205 -163
  27. package/dist/cjs/generate-lite.native.js.map +1 -1
  28. package/dist/cjs/generate-lite.test.cjs +58 -0
  29. package/dist/cjs/generate-lite.test.native.js +59 -0
  30. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  31. package/dist/cjs/generate.cjs +9 -1
  32. package/dist/cjs/generate.native.js +13 -1
  33. package/dist/cjs/generate.native.js.map +1 -1
  34. package/dist/cjs/generate.test.cjs +16 -0
  35. package/dist/cjs/generate.test.native.js +16 -0
  36. package/dist/cjs/generate.test.native.js.map +1 -1
  37. package/dist/cjs/helpers/NullToOptional.native.js.map +1 -1
  38. package/dist/cjs/helpers/asyncContext.hostStorage.test.native.js.map +1 -1
  39. package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
  40. package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
  41. package/dist/cjs/helpers/createMutators.cjs +3 -3
  42. package/dist/cjs/helpers/createMutators.native.js +3 -3
  43. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  44. package/dist/cjs/helpers/createMutators.test.cjs +6 -6
  45. package/dist/cjs/helpers/createMutators.test.native.js +6 -6
  46. package/dist/cjs/helpers/createMutators.test.native.js.map +1 -1
  47. package/dist/cjs/helpers/ellipsis.native.js.map +1 -1
  48. package/dist/cjs/helpers/emitter.native.js.map +1 -1
  49. package/dist/cjs/helpers/ensure.native.js.map +1 -1
  50. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
  51. package/dist/cjs/helpers/errors.native.js.map +1 -1
  52. package/dist/cjs/helpers/getAuth.native.js.map +1 -1
  53. package/dist/cjs/helpers/getCurrentComponentStack.native.js.map +1 -1
  54. package/dist/cjs/helpers/globalValue.native.js.map +1 -1
  55. package/dist/cjs/helpers/hostStorageScope.native.js.map +1 -1
  56. package/dist/cjs/helpers/mapObject.native.js.map +1 -1
  57. package/dist/cjs/helpers/mutationLifecycle.native.js.map +1 -1
  58. package/dist/cjs/helpers/mutationLifecycle.test.native.js.map +1 -1
  59. package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
  60. package/dist/cjs/helpers/mutatorContext.test.native.js.map +1 -1
  61. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  62. package/dist/cjs/helpers/queryContext.native.js.map +1 -1
  63. package/dist/cjs/helpers/recoverZeroClient.cjs +27 -3
  64. package/dist/cjs/helpers/recoverZeroClient.native.js +28 -4
  65. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  66. package/dist/cjs/helpers/recoverZeroClient.test.cjs +32 -2
  67. package/dist/cjs/helpers/recoverZeroClient.test.native.js +38 -2
  68. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
  69. package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
  70. package/dist/cjs/helpers/sleep.native.js.map +1 -1
  71. package/dist/cjs/helpers/time.native.js.map +1 -1
  72. package/dist/cjs/helpers/tuple.native.js.map +1 -1
  73. package/dist/cjs/helpers/useMutation.cjs +27 -2
  74. package/dist/cjs/helpers/useMutation.native.js +71 -6
  75. package/dist/cjs/helpers/useMutation.native.js.map +1 -1
  76. package/dist/cjs/helpers/useMutation.test.cjs +16 -0
  77. package/dist/cjs/helpers/useMutation.test.native.js +18 -0
  78. package/dist/cjs/helpers/useMutation.test.native.js.map +1 -1
  79. package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
  80. package/dist/cjs/index.native.js.map +1 -1
  81. package/dist/cjs/instanceRegistry.native.js.map +1 -1
  82. package/dist/cjs/modelRegistry.native.js.map +1 -1
  83. package/dist/cjs/multi.cjs +1 -1
  84. package/dist/cjs/multi.native.js +1 -1
  85. package/dist/cjs/multi.native.js.map +1 -1
  86. package/dist/cjs/multiInstance.test.native.js.map +1 -1
  87. package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
  88. package/dist/cjs/multiPartition.test.native.js.map +1 -1
  89. package/dist/cjs/mutations.native.js.map +1 -1
  90. package/dist/cjs/mutations.test.native.js.map +1 -1
  91. package/dist/cjs/provideZero.hydration.test.native.js.map +1 -1
  92. package/dist/cjs/queryRegistry.native.js.map +1 -1
  93. package/dist/cjs/resolveQuery.native.js.map +1 -1
  94. package/dist/cjs/run.native.js.map +1 -1
  95. package/dist/cjs/server.native.js.map +1 -1
  96. package/dist/cjs/server.test.native.js.map +1 -1
  97. package/dist/cjs/serverWhere.native.js.map +1 -1
  98. package/dist/cjs/serverWhere.test.native.js.map +1 -1
  99. package/dist/cjs/state.native.js.map +1 -1
  100. package/dist/cjs/streaming.native.js.map +1 -1
  101. package/dist/cjs/testSetup.native.js.map +1 -1
  102. package/dist/cjs/types.native.js.map +1 -1
  103. package/dist/cjs/usePermission.test.native.js.map +1 -1
  104. package/dist/cjs/useQuery.empty.test.native.js.map +1 -1
  105. package/dist/cjs/useQuery.ssr.test.native.js.map +1 -1
  106. package/dist/cjs/useStreamingField.loop.test.native.js.map +1 -1
  107. package/dist/cjs/useStreamingField.native.js.map +1 -1
  108. package/dist/cjs/vite-plugin.native.js.map +1 -1
  109. package/dist/cjs/where.native.js.map +1 -1
  110. package/dist/cjs/zeroRunner.native.js.map +1 -1
  111. package/dist/cjs/zql.native.js.map +1 -1
  112. package/dist/esm/createZeroClient.headless.test.mjs +55 -0
  113. package/dist/esm/createZeroClient.headless.test.mjs.map +1 -1
  114. package/dist/esm/createZeroClient.headless.test.native.js +64 -0
  115. package/dist/esm/createZeroClient.headless.test.native.js.map +1 -1
  116. package/dist/esm/createZeroClient.mjs +24 -6
  117. package/dist/esm/createZeroClient.mjs.map +1 -1
  118. package/dist/esm/createZeroClient.native.js +22 -4
  119. package/dist/esm/createZeroClient.native.js.map +1 -1
  120. package/dist/esm/generate-helpers.mjs +17 -1
  121. package/dist/esm/generate-helpers.mjs.map +1 -1
  122. package/dist/esm/generate-helpers.native.js +23 -1
  123. package/dist/esm/generate-helpers.native.js.map +1 -1
  124. package/dist/esm/generate-layout.mjs +47 -4
  125. package/dist/esm/generate-layout.mjs.map +1 -1
  126. package/dist/esm/generate-layout.native.js +191 -81
  127. package/dist/esm/generate-layout.native.js.map +1 -1
  128. package/dist/esm/generate-lite.mjs +26 -6
  129. package/dist/esm/generate-lite.mjs.map +1 -1
  130. package/dist/esm/generate-lite.native.js +206 -164
  131. package/dist/esm/generate-lite.native.js.map +1 -1
  132. package/dist/esm/generate-lite.test.mjs +58 -0
  133. package/dist/esm/generate-lite.test.mjs.map +1 -1
  134. package/dist/esm/generate-lite.test.native.js +59 -0
  135. package/dist/esm/generate-lite.test.native.js.map +1 -1
  136. package/dist/esm/generate.mjs +10 -2
  137. package/dist/esm/generate.mjs.map +1 -1
  138. package/dist/esm/generate.native.js +14 -2
  139. package/dist/esm/generate.native.js.map +1 -1
  140. package/dist/esm/generate.test.mjs +16 -0
  141. package/dist/esm/generate.test.mjs.map +1 -1
  142. package/dist/esm/generate.test.native.js +16 -0
  143. package/dist/esm/generate.test.native.js.map +1 -1
  144. package/dist/esm/helpers/createMutators.mjs +3 -3
  145. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  146. package/dist/esm/helpers/createMutators.native.js +3 -3
  147. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  148. package/dist/esm/helpers/createMutators.test.mjs +5 -5
  149. package/dist/esm/helpers/createMutators.test.mjs.map +1 -1
  150. package/dist/esm/helpers/createMutators.test.native.js +5 -5
  151. package/dist/esm/helpers/createMutators.test.native.js.map +1 -1
  152. package/dist/esm/helpers/recoverZeroClient.mjs +27 -3
  153. package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -1
  154. package/dist/esm/helpers/recoverZeroClient.native.js +28 -4
  155. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
  156. package/dist/esm/helpers/recoverZeroClient.test.mjs +32 -2
  157. package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -1
  158. package/dist/esm/helpers/recoverZeroClient.test.native.js +38 -2
  159. package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
  160. package/dist/esm/helpers/useMutation.mjs +27 -3
  161. package/dist/esm/helpers/useMutation.mjs.map +1 -1
  162. package/dist/esm/helpers/useMutation.native.js +71 -7
  163. package/dist/esm/helpers/useMutation.native.js.map +1 -1
  164. package/dist/esm/helpers/useMutation.test.mjs +16 -0
  165. package/dist/esm/helpers/useMutation.test.mjs.map +1 -1
  166. package/dist/esm/helpers/useMutation.test.native.js +18 -0
  167. package/dist/esm/helpers/useMutation.test.native.js.map +1 -1
  168. package/dist/esm/multi.mjs +1 -1
  169. package/dist/esm/multi.mjs.map +1 -1
  170. package/dist/esm/multi.native.js +1 -1
  171. package/dist/esm/multi.native.js.map +1 -1
  172. package/package.json +2 -2
  173. package/src/createZeroClient.headless.test.tsx +58 -0
  174. package/src/createZeroClient.tsx +28 -7
  175. package/src/generate-helpers.ts +29 -0
  176. package/src/generate-layout.ts +80 -11
  177. package/src/generate-lite.test.ts +56 -0
  178. package/src/generate-lite.ts +38 -9
  179. package/src/generate.test.ts +19 -0
  180. package/src/generate.ts +19 -2
  181. package/src/helpers/createMutators.test.ts +5 -5
  182. package/src/helpers/createMutators.ts +7 -5
  183. package/src/helpers/recoverZeroClient.test.ts +34 -5
  184. package/src/helpers/recoverZeroClient.ts +38 -8
  185. package/src/helpers/useMutation.test.ts +15 -0
  186. package/src/helpers/useMutation.tsx +41 -2
  187. package/src/multi.ts +3 -3
  188. package/types/createZeroClient.d.ts +3 -3
  189. package/types/createZeroClient.d.ts.map +1 -1
  190. package/types/generate-helpers.d.ts +4 -0
  191. package/types/generate-helpers.d.ts.map +1 -1
  192. package/types/generate-layout.d.ts +2 -0
  193. package/types/generate-layout.d.ts.map +1 -1
  194. package/types/generate-lite.d.ts.map +1 -1
  195. package/types/generate.d.ts.map +1 -1
  196. package/types/helpers/createMutators.d.ts +3 -3
  197. package/types/helpers/createMutators.d.ts.map +1 -1
  198. package/types/helpers/recoverZeroClient.d.ts +2 -1
  199. package/types/helpers/recoverZeroClient.d.ts.map +1 -1
  200. package/types/helpers/useMutation.d.ts +1 -0
  201. package/types/helpers/useMutation.d.ts.map +1 -1
  202. package/types/multi.d.ts +2 -2
  203. package/types/multi.d.ts.map +1 -1
@@ -1,5 +1,10 @@
1
1
  import { existsSync, readFileSync, readdirSync, statSync } from "fs";
2
2
  import { basename, dirname, relative, resolve, sep } from "path";
3
+ function _type_of(obj) {
4
+ "@swc/helpers - typeof";
5
+
6
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
7
+ }
3
8
  var isSourceFile = function isSourceFile2(name) {
4
9
  return name.endsWith(".ts") && !name.endsWith(".d.ts") && !name.endsWith(".test.ts") && !name.endsWith(".spec.ts");
5
10
  };
@@ -405,6 +410,82 @@ function namespaceExportKinds(ts, baseDir, path) {
405
410
  query
406
411
  };
407
412
  }
413
+ function mutationTable(ts, path, namespace) {
414
+ var source = ts.createSourceFile(path, readFileSync(path, "utf8"), ts.ScriptTarget.Latest, true);
415
+ var schemaTable = null;
416
+ var _iteratorNormalCompletion = true,
417
+ _didIteratorError = false,
418
+ _iteratorError = void 0;
419
+ try {
420
+ for (var _iterator = source.statements[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
421
+ var statement = _step.value;
422
+ var _statement_modifiers;
423
+ if (!ts.isVariableStatement(statement)) continue;
424
+ if (!((_statement_modifiers = statement.modifiers) === null || _statement_modifiers === void 0 ? void 0 : _statement_modifiers.some(function (modifier) {
425
+ return modifier.kind === ts.SyntaxKind.ExportKeyword;
426
+ }))) {
427
+ continue;
428
+ }
429
+ var _iteratorNormalCompletion1 = true,
430
+ _didIteratorError1 = false,
431
+ _iteratorError1 = void 0;
432
+ try {
433
+ var _loop = function () {
434
+ var declaration = _step1.value;
435
+ if (!ts.isIdentifier(declaration.name) || !declaration.initializer) return "continue";
436
+ if (declaration.name.text === "mutate" && ts.isCallExpression(declaration.initializer)) {
437
+ var firstArgument = declaration.initializer.arguments[0];
438
+ if (firstArgument && ts.isStringLiteralLike(firstArgument)) {
439
+ return {
440
+ v: firstArgument.text
441
+ };
442
+ }
443
+ }
444
+ if (declaration.name.text !== "schema") return "continue";
445
+ var visit = function visit1(node) {
446
+ if (ts.isCallExpression(node) && node.expression.getText(source) === "table" && node.arguments[0] && ts.isStringLiteralLike(node.arguments[0])) {
447
+ schemaTable = node.arguments[0].text;
448
+ return;
449
+ }
450
+ ts.forEachChild(node, visit);
451
+ };
452
+ visit(declaration.initializer);
453
+ };
454
+ for (var _iterator1 = statement.declarationList.declarations[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
455
+ var _ret = _loop();
456
+ if (_type_of(_ret) === "object") return _ret.v;
457
+ }
458
+ } catch (err) {
459
+ _didIteratorError1 = true;
460
+ _iteratorError1 = err;
461
+ } finally {
462
+ try {
463
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
464
+ _iterator1.return();
465
+ }
466
+ } finally {
467
+ if (_didIteratorError1) {
468
+ throw _iteratorError1;
469
+ }
470
+ }
471
+ }
472
+ }
473
+ } catch (err) {
474
+ _didIteratorError = true;
475
+ _iteratorError = err;
476
+ } finally {
477
+ try {
478
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
479
+ _iterator.return();
480
+ }
481
+ } finally {
482
+ if (_didIteratorError) {
483
+ throw _iteratorError;
484
+ }
485
+ }
486
+ }
487
+ return schemaTable !== null && schemaTable !== void 0 ? schemaTable : namespace;
488
+ }
408
489
  function discoverNamespaces(ts, baseDir, instance, instanceDirs) {
409
490
  var namespaces = [];
410
491
  var _iteratorNormalCompletion = true,
@@ -430,6 +511,8 @@ function discoverNamespaces(ts, baseDir, instance, instanceDirs) {
430
511
  // a query-only file is not a model, matching the folder layout where a
431
512
  // missing mutations.ts leaves modelPath null
432
513
  modelPath: kinds.model ? path : null,
514
+ aggregatePath: null,
515
+ table: kinds.model ? mutationTable(ts, path, name) : null,
433
516
  sourcePaths: [path]
434
517
  });
435
518
  continue;
@@ -439,9 +522,11 @@ function discoverNamespaces(ts, baseDir, instance, instanceDirs) {
439
522
  if (entry.name === "generated" || instanceDirs.has(folder)) continue;
440
523
  var queryPath = resolve(folder, "queries.ts");
441
524
  var modelPath = resolve(folder, "mutations.ts");
525
+ var aggregatePath = resolve(folder, "aggregates.ts");
442
526
  var hasQueries = existsSync(queryPath);
443
527
  var hasMutations = existsSync(modelPath);
444
- if (!hasQueries && !hasMutations) {
528
+ var hasAggregates = existsSync(aggregatePath);
529
+ if (!hasQueries && !hasMutations && !hasAggregates) {
445
530
  if (["models", "mutations", "queries"].includes(entry.name) && readdirSync(folder).some(isSourceFile)) {
446
531
  throw new Error(`[on-zero] ${folder} uses the removed top-level ${entry.name}/ layout; move each namespace to <name>.ts or <name>/queries.ts + mutations.ts`);
447
532
  }
@@ -452,7 +537,9 @@ function discoverNamespaces(ts, baseDir, instance, instanceDirs) {
452
537
  instance: instance.name,
453
538
  queryPath: hasQueries ? queryPath : null,
454
539
  modelPath: hasMutations ? modelPath : null,
455
- sourcePaths: [hasQueries && queryPath, hasMutations && modelPath].filter(function (path2) {
540
+ aggregatePath: hasAggregates ? aggregatePath : null,
541
+ table: hasMutations ? mutationTable(ts, modelPath, entry.name) : null,
542
+ sourcePaths: [hasQueries && queryPath, hasMutations && modelPath, hasAggregates && aggregatePath].filter(function (path2) {
456
543
  return Boolean(path2);
457
544
  })
458
545
  });
@@ -1085,139 +1172,162 @@ function discoverDataLayout(ts, baseDir, configPath) {
1085
1172
  }
1086
1173
  }
1087
1174
  }
1088
- var tableOwners = new Map(namespaces.filter(function (namespace2) {
1089
- return namespace2.modelPath !== null;
1090
- }).map(function (namespace2) {
1091
- return [namespace2.name, namespace2.instance];
1092
- }));
1175
+ var tableOwners = /* @__PURE__ */new Map();
1176
+ var _iteratorNormalCompletion2 = true,
1177
+ _didIteratorError2 = false,
1178
+ _iteratorError2 = void 0;
1179
+ try {
1180
+ for (var _iterator2 = namespaces[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
1181
+ var namespace1 = _step2.value;
1182
+ if (namespace1.table === null) continue;
1183
+ var owner1 = tableOwners.get(namespace1.table);
1184
+ if (owner1 && owner1 !== namespace1.instance) {
1185
+ throw new Error(`[on-zero] table '${namespace1.table}' is claimed by instances '${owner1}' and '${namespace1.instance}'`);
1186
+ }
1187
+ tableOwners.set(namespace1.table, namespace1.instance);
1188
+ }
1189
+ } catch (err) {
1190
+ _didIteratorError2 = true;
1191
+ _iteratorError2 = err;
1192
+ } finally {
1193
+ try {
1194
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
1195
+ _iterator2.return();
1196
+ }
1197
+ } finally {
1198
+ if (_didIteratorError2) {
1199
+ throw _iteratorError2;
1200
+ }
1201
+ }
1202
+ }
1093
1203
  var metadata = metadataPaths(baseDir);
1094
1204
  var relations = relationTargets(ts, metadata);
1095
1205
  var columns = tableColumns(ts, metadata, namespaces);
1096
1206
  var relatedOwners = /* @__PURE__ */new Map();
1097
- var _iteratorNormalCompletion2 = true,
1098
- _didIteratorError2 = false,
1099
- _iteratorError2 = void 0;
1207
+ var _iteratorNormalCompletion3 = true,
1208
+ _didIteratorError3 = false,
1209
+ _iteratorError3 = void 0;
1100
1210
  try {
1101
- for (var _iterator2 = instances[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
1102
- var instance1 = _step2.value;
1103
- var tables = new Set(instance1.namespaces.filter(function (namespace2) {
1104
- return namespace2.modelPath !== null;
1105
- }).map(function (namespace2) {
1106
- return namespace2.name;
1211
+ for (var _iterator3 = instances[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
1212
+ var instance1 = _step3.value;
1213
+ var tables = new Set(instance1.namespaces.map(function (namespace3) {
1214
+ return namespace3.table;
1215
+ }).filter(function (table2) {
1216
+ return table2 !== null;
1107
1217
  }));
1108
1218
  var syncTables = new Set(tables);
1109
- var _iteratorNormalCompletion3 = true,
1110
- _didIteratorError3 = false,
1111
- _iteratorError3 = void 0;
1219
+ var _iteratorNormalCompletion4 = true,
1220
+ _didIteratorError4 = false,
1221
+ _iteratorError4 = void 0;
1112
1222
  try {
1113
- for (var _iterator3 = instance1.namespaces[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
1114
- var namespace1 = _step3.value;
1115
- var _iteratorNormalCompletion4 = true,
1116
- _didIteratorError4 = false,
1117
- _iteratorError4 = void 0;
1223
+ for (var _iterator4 = instance1.namespaces[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
1224
+ var namespace2 = _step4.value;
1225
+ var _iteratorNormalCompletion5 = true,
1226
+ _didIteratorError5 = false,
1227
+ _iteratorError5 = void 0;
1118
1228
  try {
1119
- for (var _iterator4 = queriedTables(ts, namespace1, relations)[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
1120
- var reached = _step4.value;
1229
+ for (var _iterator5 = queriedTables(ts, namespace2, relations)[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
1230
+ var reached = _step5.value;
1121
1231
  var _tableOwners_get;
1122
- var owner1 = (_tableOwners_get = tableOwners.get(reached.table)) !== null && _tableOwners_get !== void 0 ? _tableOwners_get : relatedOwners.get(reached.table);
1123
- if (owner1 && owner1 !== instance1.name) {
1124
- throw new Error(`[on-zero] ${namespace1.name}.${reached.query} in instance '${instance1.name}' reaches table '${reached.table}' owned by instance '${owner1}'`);
1232
+ var owner2 = (_tableOwners_get = tableOwners.get(reached.table)) !== null && _tableOwners_get !== void 0 ? _tableOwners_get : relatedOwners.get(reached.table);
1233
+ if (owner2 && owner2 !== instance1.name) {
1234
+ throw new Error(`[on-zero] ${namespace2.name}.${reached.query} in instance '${instance1.name}' reaches table '${reached.table}' owned by instance '${owner2}'`);
1125
1235
  }
1126
1236
  relatedOwners.set(reached.table, instance1.name);
1127
1237
  if (reached.root) tables.add(reached.table);
1128
1238
  syncTables.add(reached.table);
1129
1239
  }
1130
1240
  } catch (err) {
1131
- _didIteratorError4 = true;
1132
- _iteratorError4 = err;
1241
+ _didIteratorError5 = true;
1242
+ _iteratorError5 = err;
1133
1243
  } finally {
1134
1244
  try {
1135
- if (!_iteratorNormalCompletion4 && _iterator4.return != null) {
1136
- _iterator4.return();
1245
+ if (!_iteratorNormalCompletion5 && _iterator5.return != null) {
1246
+ _iterator5.return();
1137
1247
  }
1138
1248
  } finally {
1139
- if (_didIteratorError4) {
1140
- throw _iteratorError4;
1249
+ if (_didIteratorError5) {
1250
+ throw _iteratorError5;
1141
1251
  }
1142
1252
  }
1143
1253
  }
1144
1254
  }
1145
1255
  } catch (err) {
1146
- _didIteratorError3 = true;
1147
- _iteratorError3 = err;
1256
+ _didIteratorError4 = true;
1257
+ _iteratorError4 = err;
1148
1258
  } finally {
1149
1259
  try {
1150
- if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
1151
- _iterator3.return();
1260
+ if (!_iteratorNormalCompletion4 && _iterator4.return != null) {
1261
+ _iterator4.return();
1152
1262
  }
1153
1263
  } finally {
1154
- if (_didIteratorError3) {
1155
- throw _iteratorError3;
1264
+ if (_didIteratorError4) {
1265
+ throw _iteratorError4;
1156
1266
  }
1157
1267
  }
1158
1268
  }
1159
1269
  instance1.tables = [...tables].sort();
1160
1270
  instance1.syncTables = [...syncTables].sort();
1161
1271
  if (instance1.scope) {
1162
- var _iteratorNormalCompletion5 = true,
1163
- _didIteratorError5 = false,
1164
- _iteratorError5 = void 0;
1272
+ var _iteratorNormalCompletion6 = true,
1273
+ _didIteratorError6 = false,
1274
+ _iteratorError6 = void 0;
1165
1275
  try {
1166
- for (var _iterator5 = instance1.syncTables[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
1167
- var table = _step5.value;
1276
+ for (var _iterator6 = instance1.syncTables[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
1277
+ var table = _step6.value;
1168
1278
  var _columns_get;
1169
1279
  if (!((_columns_get = columns.get(table)) === null || _columns_get === void 0 ? void 0 : _columns_get.has(instance1.scope))) {
1170
1280
  throw new Error(`[on-zero] table '${table}' in instance '${instance1.name}' is missing scope column '${instance1.scope}'`);
1171
1281
  }
1172
1282
  }
1173
1283
  } catch (err) {
1174
- _didIteratorError5 = true;
1175
- _iteratorError5 = err;
1284
+ _didIteratorError6 = true;
1285
+ _iteratorError6 = err;
1176
1286
  } finally {
1177
1287
  try {
1178
- if (!_iteratorNormalCompletion5 && _iterator5.return != null) {
1179
- _iterator5.return();
1288
+ if (!_iteratorNormalCompletion6 && _iterator6.return != null) {
1289
+ _iterator6.return();
1180
1290
  }
1181
1291
  } finally {
1182
- if (_didIteratorError5) {
1183
- throw _iteratorError5;
1292
+ if (_didIteratorError6) {
1293
+ throw _iteratorError6;
1184
1294
  }
1185
1295
  }
1186
1296
  }
1187
1297
  }
1188
1298
  }
1189
1299
  } catch (err) {
1190
- _didIteratorError2 = true;
1191
- _iteratorError2 = err;
1300
+ _didIteratorError3 = true;
1301
+ _iteratorError3 = err;
1192
1302
  } finally {
1193
1303
  try {
1194
- if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
1195
- _iterator2.return();
1304
+ if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
1305
+ _iterator3.return();
1196
1306
  }
1197
1307
  } finally {
1198
- if (_didIteratorError2) {
1199
- throw _iteratorError2;
1308
+ if (_didIteratorError3) {
1309
+ throw _iteratorError3;
1200
1310
  }
1201
1311
  }
1202
1312
  }
1203
- var _iteratorNormalCompletion6 = true,
1204
- _didIteratorError6 = false,
1205
- _iteratorError6 = void 0;
1313
+ var _iteratorNormalCompletion7 = true,
1314
+ _didIteratorError7 = false,
1315
+ _iteratorError7 = void 0;
1206
1316
  try {
1207
1317
  var _loop = function () {
1208
- var instance2 = _step6.value;
1318
+ var instance2 = _step7.value;
1209
1319
  var supportTables = new Set(instance2.declaredSupportTables);
1210
- var _iteratorNormalCompletion7 = true,
1211
- _didIteratorError7 = false,
1212
- _iteratorError7 = void 0;
1320
+ var _iteratorNormalCompletion8 = true,
1321
+ _didIteratorError8 = false,
1322
+ _iteratorError8 = void 0;
1213
1323
  try {
1214
- for (var _iterator7 = instance2.namespaces[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
1215
- var namespace2 = _step7.value;
1324
+ for (var _iterator8 = instance2.namespaces[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
1325
+ var namespace3 = _step8.value;
1216
1326
  var _iteratorNormalCompletion12 = true,
1217
1327
  _didIteratorError12 = false,
1218
1328
  _iteratorError12 = void 0;
1219
1329
  try {
1220
- for (var _iterator12 = mutationSupportTables(ts, baseDir, sourceRoots, namespace2)[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
1330
+ for (var _iterator12 = mutationSupportTables(ts, baseDir, sourceRoots, namespace3)[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
1221
1331
  var table2 = _step12.value;
1222
1332
  if (tableOwners.has(table2) || relatedOwners.has(table2)) continue;
1223
1333
  if (!instance2.syncTables.includes(table2)) {
@@ -1240,16 +1350,16 @@ function discoverDataLayout(ts, baseDir, configPath) {
1240
1350
  }
1241
1351
  }
1242
1352
  } catch (err) {
1243
- _didIteratorError7 = true;
1244
- _iteratorError7 = err;
1353
+ _didIteratorError8 = true;
1354
+ _iteratorError8 = err;
1245
1355
  } finally {
1246
1356
  try {
1247
- if (!_iteratorNormalCompletion7 && _iterator7.return != null) {
1248
- _iterator7.return();
1357
+ if (!_iteratorNormalCompletion8 && _iterator8.return != null) {
1358
+ _iterator8.return();
1249
1359
  }
1250
1360
  } finally {
1251
- if (_didIteratorError7) {
1252
- throw _iteratorError7;
1361
+ if (_didIteratorError8) {
1362
+ throw _iteratorError8;
1253
1363
  }
1254
1364
  }
1255
1365
  }
@@ -1257,18 +1367,18 @@ function discoverDataLayout(ts, baseDir, configPath) {
1257
1367
  return !instance2.syncTables.includes(table3);
1258
1368
  }).sort();
1259
1369
  };
1260
- for (var _iterator6 = instances[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) _loop();
1370
+ for (var _iterator7 = instances[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) _loop();
1261
1371
  } catch (err) {
1262
- _didIteratorError6 = true;
1263
- _iteratorError6 = err;
1372
+ _didIteratorError7 = true;
1373
+ _iteratorError7 = err;
1264
1374
  } finally {
1265
1375
  try {
1266
- if (!_iteratorNormalCompletion6 && _iterator6.return != null) {
1267
- _iterator6.return();
1376
+ if (!_iteratorNormalCompletion7 && _iterator7.return != null) {
1377
+ _iterator7.return();
1268
1378
  }
1269
1379
  } finally {
1270
- if (_didIteratorError6) {
1271
- throw _iteratorError6;
1380
+ if (_didIteratorError7) {
1381
+ throw _iteratorError7;
1272
1382
  }
1273
1383
  }
1274
1384
  }
@@ -1 +1 @@
1
- {"version":3,"names":["existsSync","readFileSync","readdirSync","statSync","basename","dirname","relative","resolve","sep","isSourceFile","isSourceFile2","name","endsWith","toImportPath","toImportPath2","baseDir","path","split","join","replace","isWithin","isWithin2","root","child","startsWith","propertyName","ts","isIdentifier","isStringLiteral","isNumericLiteral","text","readDataConfig","configPath","Error","source","createSourceFile","ScriptTarget","Latest","hasParseErrors","config","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","statements","Symbol","iterator","_step","next","done","statement","value","isExportAssignment","isExportEquals","call","expression","isCallExpression","getText","arguments","isObjectLiteralExpression","err","return","rootOptions","Map","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","properties","_step1","option","isPropertyAssignment","has","set","initializer","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","keys","_step2","name1","instancesNode","get","instances","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_loop","property","_step3","name2","some","instance","dir","scope","supportTables","seen","Set","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_iterator5","_step5","option2","optionName","add","isArrayLiteralExpression","_iteratorNormalCompletion12","_didIteratorError12","_iteratorError12","_iterator12","elements","_step12","table","push","isDirectory","_iterator3","length","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_loop1","_step4","duplicate","find","candidate","_iterator4","_source_parseDiagnostics","Boolean","parseDiagnostics","namespaceExportKinds","none","model","query","displayPath","console","warn","functions","exported","isVariableStatement","_statement_modifiers","isExported","modifiers","modifier","kind","SyntaxKind","ExportKeyword","declarationList","declarations","declaration","initializerText","isArrowFunction","isFunctionExpression","body","isFunctionDeclaration","_statement_modifiers1","visiting","reachesQuery","reachesQuery1","node","isPropertyAccessExpression","helper","found","delete","found1","forEachChild","discoverNamespaces","instanceDirs","namespaces","withFileTypes","sort","a","b","localeCompare","entry","isFile","kinds","queryPath","modelPath","sourcePaths","folder","hasQueries","hasMutations","includes","filter","path2","metadataPaths","paths","relations","databaseDir","relationTargets","visit","visit1","factory","isParenthesizedExpression","tableProperty","_relations_get","tableRelations","relationProperty","tableColumns","columns","sources","flatMap","namespace","isVariableDeclaration","tableNames","foundColumns","inspect","inspect1","argument","test","names","map","_property_name"],"sources":["../../src/generate-layout.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["existsSync","readFileSync","readdirSync","statSync","basename","dirname","relative","resolve","sep","_type_of","obj","Symbol","constructor","isSourceFile","isSourceFile2","name","endsWith","toImportPath","toImportPath2","baseDir","path","split","join","replace","isWithin","isWithin2","root","child","startsWith","propertyName","ts","isIdentifier","isStringLiteral","isNumericLiteral","text","readDataConfig","configPath","Error","source","createSourceFile","ScriptTarget","Latest","hasParseErrors","config","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","statements","iterator","_step","next","done","statement","value","isExportAssignment","isExportEquals","call","expression","isCallExpression","getText","arguments","isObjectLiteralExpression","err","return","rootOptions","Map","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","properties","_step1","option","isPropertyAssignment","has","set","initializer","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","keys","_step2","name1","instancesNode","get","instances","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_loop","property","_step3","name2","some","instance","dir","scope","supportTables","seen","Set","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_iterator5","_step5","option2","optionName","add","isArrayLiteralExpression","_iteratorNormalCompletion12","_didIteratorError12","_iteratorError12","_iterator12","elements","_step12","table","push","isDirectory","_iterator3","length","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_loop1","_step4","duplicate","find","candidate","_iterator4","_source_parseDiagnostics","Boolean","parseDiagnostics","namespaceExportKinds","none","model","query","displayPath","console","warn","functions","exported","isVariableStatement","_statement_modifiers","isExported","modifiers","modifier","kind","SyntaxKind","ExportKeyword","declarationList","declarations","declaration","initializerText","isArrowFunction","isFunctionExpression","body","isFunctionDeclaration","_statement_modifiers1","visiting","reachesQuery","reachesQuery1","node","isPropertyAccessExpression","helper","found","delete","found1","forEachChild","mutationTable","namespace","schemaTable","firstArgument","isStringLiteralLike","v","visit","visit1","_ret","discoverNamespaces","instanceDirs","namespaces","withFileTypes","sort","a","b","localeCompare","entry","isFile","kinds","queryPath","modelPath","aggregatePath","sourcePaths","folder","hasQueries","hasMutations","hasAggregates","includes","filter","path2","metadataPaths","paths","relations","databaseDir","relationTargets","factory","isParenthesizedExpression","tableProperty","_relations_get","tableRelations","relationProperty","tableColumns","columns","sources","flatMap","isVariableDeclaration","tableNames","foundColumns","inspect","inspect1"],"sources":["../../src/generate-layout.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { generateGroupedQueriesFile, generateInstancesFile, generateModelsFile, generateReadmeFile, generateSyncedMutationsFile, generateSyncedQueriesFile, generateTablesFile, generateTypesFile, parseColumnType, parseTypeString } from "./generate-helpers.mjs";
1
+ import { generateAggregatesFile, generateGroupedQueriesFile, generateInstancesFile, generateModelsFile, generateReadmeFile, generateSyncedMutationsFile, generateSyncedQueriesFile, generateTablesFile, generateTypesFile, parseColumnType, parseTypeString } from "./generate-helpers.mjs";
2
2
  function stripTrailingSlash(s) {
3
3
  return s.endsWith("/") ? s.slice(0, -1) : s;
4
4
  }
@@ -142,7 +142,8 @@ function discoverLiteLayout(files, baseDir, parse, explicitConfigPath) {
142
142
  name: baseName(path, ".ts"),
143
143
  instance: instance.name,
144
144
  queryPath: path,
145
- modelPath: path
145
+ modelPath: path,
146
+ aggregatePath: null
146
147
  });
147
148
  }
148
149
  const prefix = `${instance.dir}/`;
@@ -157,7 +158,8 @@ function discoverLiteLayout(files, baseDir, parse, explicitConfigPath) {
157
158
  if (folder === `${baseDir}/generated` || instanceDirs.has(folder)) continue;
158
159
  const queries = `${folder}/queries.ts`;
159
160
  const mutations = `${folder}/mutations.ts`;
160
- if (!(queries in files) && !(mutations in files)) {
161
+ const aggregates = `${folder}/aggregates.ts`;
162
+ if (!(queries in files) && !(mutations in files) && !(aggregates in files)) {
161
163
  const oldName = baseName(folder);
162
164
  if (["models", "mutations", "queries"].includes(oldName) && listDirectTsFiles(files, folder).length > 0) {
163
165
  throw new Error(`[on-zero] ${folder} uses the removed top-level ${oldName}/ layout; move each namespace to <name>.ts or <name>/queries.ts + mutations.ts`);
@@ -168,7 +170,8 @@ function discoverLiteLayout(files, baseDir, parse, explicitConfigPath) {
168
170
  name: baseName(folder),
169
171
  instance: instance.name,
170
172
  queryPath: queries in files ? queries : null,
171
- modelPath: mutations in files ? mutations : null
173
+ modelPath: mutations in files ? mutations : null,
174
+ aggregatePath: aggregates in files ? aggregates : null
172
175
  });
173
176
  }
174
177
  }
@@ -207,12 +210,14 @@ function generateLite(opts) {
207
210
  }
208
211
  const allModelMutations = [];
209
212
  const modelNamesWithSchema = [];
213
+ const modelTables = /* @__PURE__ */new Map();
210
214
  for (const namespace of modelNamespaces) {
211
215
  const filePath = namespace.modelPath;
212
216
  const modelName = namespace.name;
213
217
  const content = files[filePath];
214
218
  const parsed = parse(content, filePath);
215
219
  const mutationExport = parsed.mutations[0] ?? null;
220
+ modelTables.set(modelName, mutationExport?.modelName || mutationExport?.schema?.tableName || modelName);
216
221
  const columns = {};
217
222
  const primaryKeys = [];
218
223
  let hasSchema = false;
@@ -308,12 +313,20 @@ function generateLite(opts) {
308
313
  });
309
314
  }
310
315
  }
311
- const owners = new Map(modelNamespaces.map(namespace => [namespace.name, namespace.instance]));
316
+ const owners = /* @__PURE__ */new Map();
317
+ for (const namespace of modelNamespaces) {
318
+ const table = modelTables.get(namespace.name);
319
+ const owner = owners.get(table);
320
+ if (owner && owner !== namespace.instance) {
321
+ throw new Error(`[on-zero] table '${table}' is claimed by instances '${owner}' and '${namespace.instance}'`);
322
+ }
323
+ owners.set(table, namespace.instance);
324
+ }
312
325
  const relatedOwners = /* @__PURE__ */new Map();
313
326
  const directTables = /* @__PURE__ */new Map();
314
327
  const syncTables = /* @__PURE__ */new Map();
315
328
  for (const instance of instances) {
316
- const direct = new Set(instance.namespaces.filter(namespace => namespace.modelPath !== null).map(namespace => namespace.name));
329
+ const direct = new Set(instance.namespaces.filter(namespace => namespace.modelPath !== null).map(namespace => modelTables.get(namespace.name)));
317
330
  const synced = new Set(direct);
318
331
  for (const namespace of instance.namespaces) {
319
332
  for (const query of queryPaths.get(namespace.name) ?? []) {
@@ -412,6 +425,13 @@ function generateLite(opts) {
412
425
  if (allModelMutations.length > 0) {
413
426
  out["syncedMutations.ts"] = generateSyncedMutationsFile(allModelMutations);
414
427
  }
428
+ const aggregateNamespaces = namespaces.filter(namespace => namespace.aggregatePath !== null);
429
+ if (aggregateNamespaces.length > 0) {
430
+ out["aggregates.ts"] = generateAggregatesFile(aggregateNamespaces.map(namespace => ({
431
+ name: namespace.name,
432
+ importPath: `../${relativePath(baseDir, namespace.aggregatePath).replace(/\.ts$/, "")}`
433
+ })));
434
+ }
415
435
  let mutationCount = 0;
416
436
  for (const m of allModelMutations) {
417
437
  if (m.hasCRUD) mutationCount += 3;