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.
- package/README.md +3 -0
- package/dist/cjs/cli.native.js.map +1 -1
- package/dist/cjs/combineZeroClients.native.js.map +1 -1
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/createPermissions.native.js.map +1 -1
- package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
- package/dist/cjs/createUseQuery.native.js.map +1 -1
- package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
- package/dist/cjs/createZeroClient.authData.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.cjs +24 -6
- package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.headless.test.cjs +55 -0
- package/dist/cjs/createZeroClient.headless.test.native.js +64 -0
- package/dist/cjs/createZeroClient.headless.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.native.js +22 -4
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
- package/dist/cjs/generate-helpers.cjs +17 -0
- package/dist/cjs/generate-helpers.native.js +23 -0
- package/dist/cjs/generate-helpers.native.js.map +1 -1
- package/dist/cjs/generate-helpers.test.native.js.map +1 -1
- package/dist/cjs/generate-layout.cjs +47 -4
- package/dist/cjs/generate-layout.native.js +191 -81
- package/dist/cjs/generate-layout.native.js.map +1 -1
- package/dist/cjs/generate-lite.cjs +25 -5
- package/dist/cjs/generate-lite.native.js +205 -163
- package/dist/cjs/generate-lite.native.js.map +1 -1
- package/dist/cjs/generate-lite.test.cjs +58 -0
- package/dist/cjs/generate-lite.test.native.js +59 -0
- package/dist/cjs/generate-lite.test.native.js.map +1 -1
- package/dist/cjs/generate.cjs +9 -1
- package/dist/cjs/generate.native.js +13 -1
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/generate.test.cjs +16 -0
- package/dist/cjs/generate.test.native.js +16 -0
- package/dist/cjs/generate.test.native.js.map +1 -1
- package/dist/cjs/helpers/NullToOptional.native.js.map +1 -1
- package/dist/cjs/helpers/asyncContext.hostStorage.test.native.js.map +1 -1
- package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
- package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.cjs +3 -3
- package/dist/cjs/helpers/createMutators.native.js +3 -3
- package/dist/cjs/helpers/createMutators.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.test.cjs +6 -6
- package/dist/cjs/helpers/createMutators.test.native.js +6 -6
- package/dist/cjs/helpers/createMutators.test.native.js.map +1 -1
- package/dist/cjs/helpers/ellipsis.native.js.map +1 -1
- package/dist/cjs/helpers/emitter.native.js.map +1 -1
- package/dist/cjs/helpers/ensure.native.js.map +1 -1
- package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
- package/dist/cjs/helpers/errors.native.js.map +1 -1
- package/dist/cjs/helpers/getAuth.native.js.map +1 -1
- package/dist/cjs/helpers/getCurrentComponentStack.native.js.map +1 -1
- package/dist/cjs/helpers/globalValue.native.js.map +1 -1
- package/dist/cjs/helpers/hostStorageScope.native.js.map +1 -1
- package/dist/cjs/helpers/mapObject.native.js.map +1 -1
- package/dist/cjs/helpers/mutationLifecycle.native.js.map +1 -1
- package/dist/cjs/helpers/mutationLifecycle.test.native.js.map +1 -1
- package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
- package/dist/cjs/helpers/mutatorContext.test.native.js.map +1 -1
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
- package/dist/cjs/helpers/queryContext.native.js.map +1 -1
- package/dist/cjs/helpers/recoverZeroClient.cjs +27 -3
- package/dist/cjs/helpers/recoverZeroClient.native.js +28 -4
- package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
- package/dist/cjs/helpers/recoverZeroClient.test.cjs +32 -2
- package/dist/cjs/helpers/recoverZeroClient.test.native.js +38 -2
- package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
- package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
- package/dist/cjs/helpers/sleep.native.js.map +1 -1
- package/dist/cjs/helpers/time.native.js.map +1 -1
- package/dist/cjs/helpers/tuple.native.js.map +1 -1
- package/dist/cjs/helpers/useMutation.cjs +27 -2
- package/dist/cjs/helpers/useMutation.native.js +71 -6
- package/dist/cjs/helpers/useMutation.native.js.map +1 -1
- package/dist/cjs/helpers/useMutation.test.cjs +16 -0
- package/dist/cjs/helpers/useMutation.test.native.js +18 -0
- package/dist/cjs/helpers/useMutation.test.native.js.map +1 -1
- package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/instanceRegistry.native.js.map +1 -1
- package/dist/cjs/modelRegistry.native.js.map +1 -1
- package/dist/cjs/multi.cjs +1 -1
- package/dist/cjs/multi.native.js +1 -1
- package/dist/cjs/multi.native.js.map +1 -1
- package/dist/cjs/multiInstance.test.native.js.map +1 -1
- package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
- package/dist/cjs/multiPartition.test.native.js.map +1 -1
- package/dist/cjs/mutations.native.js.map +1 -1
- package/dist/cjs/mutations.test.native.js.map +1 -1
- package/dist/cjs/provideZero.hydration.test.native.js.map +1 -1
- package/dist/cjs/queryRegistry.native.js.map +1 -1
- package/dist/cjs/resolveQuery.native.js.map +1 -1
- package/dist/cjs/run.native.js.map +1 -1
- package/dist/cjs/server.native.js.map +1 -1
- package/dist/cjs/server.test.native.js.map +1 -1
- package/dist/cjs/serverWhere.native.js.map +1 -1
- package/dist/cjs/serverWhere.test.native.js.map +1 -1
- package/dist/cjs/state.native.js.map +1 -1
- package/dist/cjs/streaming.native.js.map +1 -1
- package/dist/cjs/testSetup.native.js.map +1 -1
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/usePermission.test.native.js.map +1 -1
- package/dist/cjs/useQuery.empty.test.native.js.map +1 -1
- package/dist/cjs/useQuery.ssr.test.native.js.map +1 -1
- package/dist/cjs/useStreamingField.loop.test.native.js.map +1 -1
- package/dist/cjs/useStreamingField.native.js.map +1 -1
- package/dist/cjs/vite-plugin.native.js.map +1 -1
- package/dist/cjs/where.native.js.map +1 -1
- package/dist/cjs/zeroRunner.native.js.map +1 -1
- package/dist/cjs/zql.native.js.map +1 -1
- package/dist/esm/createZeroClient.headless.test.mjs +55 -0
- package/dist/esm/createZeroClient.headless.test.mjs.map +1 -1
- package/dist/esm/createZeroClient.headless.test.native.js +64 -0
- package/dist/esm/createZeroClient.headless.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.mjs +24 -6
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +22 -4
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/generate-helpers.mjs +17 -1
- package/dist/esm/generate-helpers.mjs.map +1 -1
- package/dist/esm/generate-helpers.native.js +23 -1
- package/dist/esm/generate-helpers.native.js.map +1 -1
- package/dist/esm/generate-layout.mjs +47 -4
- package/dist/esm/generate-layout.mjs.map +1 -1
- package/dist/esm/generate-layout.native.js +191 -81
- package/dist/esm/generate-layout.native.js.map +1 -1
- package/dist/esm/generate-lite.mjs +26 -6
- package/dist/esm/generate-lite.mjs.map +1 -1
- package/dist/esm/generate-lite.native.js +206 -164
- package/dist/esm/generate-lite.native.js.map +1 -1
- package/dist/esm/generate-lite.test.mjs +58 -0
- package/dist/esm/generate-lite.test.mjs.map +1 -1
- package/dist/esm/generate-lite.test.native.js +59 -0
- package/dist/esm/generate-lite.test.native.js.map +1 -1
- package/dist/esm/generate.mjs +10 -2
- package/dist/esm/generate.mjs.map +1 -1
- package/dist/esm/generate.native.js +14 -2
- package/dist/esm/generate.native.js.map +1 -1
- package/dist/esm/generate.test.mjs +16 -0
- package/dist/esm/generate.test.mjs.map +1 -1
- package/dist/esm/generate.test.native.js +16 -0
- package/dist/esm/generate.test.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.mjs +3 -3
- package/dist/esm/helpers/createMutators.mjs.map +1 -1
- package/dist/esm/helpers/createMutators.native.js +3 -3
- package/dist/esm/helpers/createMutators.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.test.mjs +5 -5
- package/dist/esm/helpers/createMutators.test.mjs.map +1 -1
- package/dist/esm/helpers/createMutators.test.native.js +5 -5
- package/dist/esm/helpers/createMutators.test.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.mjs +27 -3
- package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.native.js +28 -4
- package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.test.mjs +32 -2
- package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.test.native.js +38 -2
- package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
- package/dist/esm/helpers/useMutation.mjs +27 -3
- package/dist/esm/helpers/useMutation.mjs.map +1 -1
- package/dist/esm/helpers/useMutation.native.js +71 -7
- package/dist/esm/helpers/useMutation.native.js.map +1 -1
- package/dist/esm/helpers/useMutation.test.mjs +16 -0
- package/dist/esm/helpers/useMutation.test.mjs.map +1 -1
- package/dist/esm/helpers/useMutation.test.native.js +18 -0
- package/dist/esm/helpers/useMutation.test.native.js.map +1 -1
- package/dist/esm/multi.mjs +1 -1
- package/dist/esm/multi.mjs.map +1 -1
- package/dist/esm/multi.native.js +1 -1
- package/dist/esm/multi.native.js.map +1 -1
- package/package.json +2 -2
- package/src/createZeroClient.headless.test.tsx +58 -0
- package/src/createZeroClient.tsx +28 -7
- package/src/generate-helpers.ts +29 -0
- package/src/generate-layout.ts +80 -11
- package/src/generate-lite.test.ts +56 -0
- package/src/generate-lite.ts +38 -9
- package/src/generate.test.ts +19 -0
- package/src/generate.ts +19 -2
- package/src/helpers/createMutators.test.ts +5 -5
- package/src/helpers/createMutators.ts +7 -5
- package/src/helpers/recoverZeroClient.test.ts +34 -5
- package/src/helpers/recoverZeroClient.ts +38 -8
- package/src/helpers/useMutation.test.ts +15 -0
- package/src/helpers/useMutation.tsx +41 -2
- package/src/multi.ts +3 -3
- package/types/createZeroClient.d.ts +3 -3
- package/types/createZeroClient.d.ts.map +1 -1
- package/types/generate-helpers.d.ts +4 -0
- package/types/generate-helpers.d.ts.map +1 -1
- package/types/generate-layout.d.ts +2 -0
- package/types/generate-layout.d.ts.map +1 -1
- package/types/generate-lite.d.ts.map +1 -1
- package/types/generate.d.ts.map +1 -1
- package/types/helpers/createMutators.d.ts +3 -3
- package/types/helpers/createMutators.d.ts.map +1 -1
- package/types/helpers/recoverZeroClient.d.ts +2 -1
- package/types/helpers/recoverZeroClient.d.ts.map +1 -1
- package/types/helpers/useMutation.d.ts +1 -0
- package/types/helpers/useMutation.d.ts.map +1 -1
- package/types/multi.d.ts +2 -2
- package/types/multi.d.ts.map +1 -1
|
@@ -288,7 +288,8 @@ function discoverLiteLayout(files, baseDir, parse, explicitConfigPath) {
|
|
|
288
288
|
name: baseName(path, ".ts"),
|
|
289
289
|
instance: instance.name,
|
|
290
290
|
queryPath: path,
|
|
291
|
-
modelPath: path
|
|
291
|
+
modelPath: path,
|
|
292
|
+
aggregatePath: null
|
|
292
293
|
});
|
|
293
294
|
}
|
|
294
295
|
} catch (err) {
|
|
@@ -341,7 +342,8 @@ function discoverLiteLayout(files, baseDir, parse, explicitConfigPath) {
|
|
|
341
342
|
if (folder === `${baseDir}/generated` || instanceDirs.has(folder)) continue;
|
|
342
343
|
var queries = `${folder}/queries.ts`;
|
|
343
344
|
var mutations = `${folder}/mutations.ts`;
|
|
344
|
-
|
|
345
|
+
var aggregates = `${folder}/aggregates.ts`;
|
|
346
|
+
if (!(queries in files) && !(mutations in files) && !(aggregates in files)) {
|
|
345
347
|
var oldName = baseName(folder);
|
|
346
348
|
if (["models", "mutations", "queries"].includes(oldName) && listDirectTsFiles(files, folder).length > 0) {
|
|
347
349
|
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`);
|
|
@@ -352,7 +354,8 @@ function discoverLiteLayout(files, baseDir, parse, explicitConfigPath) {
|
|
|
352
354
|
name: baseName(folder),
|
|
353
355
|
instance: instance.name,
|
|
354
356
|
queryPath: queries in files ? queries : null,
|
|
355
|
-
modelPath: mutations in files ? mutations : null
|
|
357
|
+
modelPath: mutations in files ? mutations : null,
|
|
358
|
+
aggregatePath: aggregates in files ? aggregates : null
|
|
356
359
|
});
|
|
357
360
|
}
|
|
358
361
|
} catch (err) {
|
|
@@ -428,8 +431,8 @@ function generateLite(opts) {
|
|
|
428
431
|
var namespaces = instances.flatMap(function (instance2) {
|
|
429
432
|
return instance2.namespaces;
|
|
430
433
|
});
|
|
431
|
-
var modelNamespaces = namespaces.filter(function (
|
|
432
|
-
return
|
|
434
|
+
var modelNamespaces = namespaces.filter(function (namespace4) {
|
|
435
|
+
return namespace4.modelPath !== null;
|
|
433
436
|
});
|
|
434
437
|
var relations = /* @__PURE__ */new Map();
|
|
435
438
|
var tableColumns = /* @__PURE__ */new Map();
|
|
@@ -507,6 +510,7 @@ function generateLite(opts) {
|
|
|
507
510
|
}
|
|
508
511
|
var allModelMutations = [];
|
|
509
512
|
var modelNamesWithSchema = [];
|
|
513
|
+
var modelTables = /* @__PURE__ */new Map();
|
|
510
514
|
var _iteratorNormalCompletion3 = true,
|
|
511
515
|
_didIteratorError3 = false,
|
|
512
516
|
_iteratorError3 = void 0;
|
|
@@ -514,11 +518,13 @@ function generateLite(opts) {
|
|
|
514
518
|
for (var _iterator3 = modelNamespaces[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
|
|
515
519
|
var namespace = _step3.value;
|
|
516
520
|
var _parsed_mutations_, _ref;
|
|
521
|
+
var _mutationExport_schema;
|
|
517
522
|
var filePath = namespace.modelPath;
|
|
518
523
|
var modelName = namespace.name;
|
|
519
524
|
var content = files[filePath];
|
|
520
525
|
var parsed1 = parse(content, filePath);
|
|
521
526
|
var mutationExport = (_parsed_mutations_ = parsed1.mutations[0]) !== null && _parsed_mutations_ !== void 0 ? _parsed_mutations_ : null;
|
|
527
|
+
modelTables.set(modelName, (mutationExport === null || mutationExport === void 0 ? void 0 : mutationExport.modelName) || (mutationExport === null || mutationExport === void 0 ? void 0 : (_mutationExport_schema = mutationExport.schema) === null || _mutationExport_schema === void 0 ? void 0 : _mutationExport_schema.tableName) || modelName);
|
|
522
528
|
var columns = {};
|
|
523
529
|
var primaryKeys = [];
|
|
524
530
|
var hasSchema = false;
|
|
@@ -632,8 +638,8 @@ function generateLite(opts) {
|
|
|
632
638
|
_didIteratorError6 = false,
|
|
633
639
|
_iteratorError6 = void 0;
|
|
634
640
|
try {
|
|
635
|
-
for (var _iterator6 = namespaces.filter(function (
|
|
636
|
-
return
|
|
641
|
+
for (var _iterator6 = namespaces.filter(function (namespace4) {
|
|
642
|
+
return namespace4.queryPath !== null;
|
|
637
643
|
})[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
|
|
638
644
|
var namespace1 = _step6.value;
|
|
639
645
|
var filePath1 = namespace1.queryPath;
|
|
@@ -711,156 +717,181 @@ function generateLite(opts) {
|
|
|
711
717
|
}
|
|
712
718
|
}
|
|
713
719
|
}
|
|
714
|
-
var owners = new Map(
|
|
715
|
-
return [namespace3.name, namespace3.instance];
|
|
716
|
-
}));
|
|
717
|
-
var relatedOwners = /* @__PURE__ */new Map();
|
|
718
|
-
var directTables = /* @__PURE__ */new Map();
|
|
719
|
-
var syncTables = /* @__PURE__ */new Map();
|
|
720
|
+
var owners = /* @__PURE__ */new Map();
|
|
720
721
|
var _iteratorNormalCompletion8 = true,
|
|
721
722
|
_didIteratorError8 = false,
|
|
722
723
|
_iteratorError8 = void 0;
|
|
723
724
|
try {
|
|
724
|
-
for (var _iterator8 =
|
|
725
|
-
var
|
|
726
|
-
var
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
725
|
+
for (var _iterator8 = modelNamespaces[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
|
|
726
|
+
var namespace2 = _step8.value;
|
|
727
|
+
var table1 = modelTables.get(namespace2.name);
|
|
728
|
+
var owner = owners.get(table1);
|
|
729
|
+
if (owner && owner !== namespace2.instance) {
|
|
730
|
+
throw new Error(`[on-zero] table '${table1}' is claimed by instances '${owner}' and '${namespace2.instance}'`);
|
|
731
|
+
}
|
|
732
|
+
owners.set(table1, namespace2.instance);
|
|
733
|
+
}
|
|
734
|
+
} catch (err) {
|
|
735
|
+
_didIteratorError8 = true;
|
|
736
|
+
_iteratorError8 = err;
|
|
737
|
+
} finally {
|
|
738
|
+
try {
|
|
739
|
+
if (!_iteratorNormalCompletion8 && _iterator8.return != null) {
|
|
740
|
+
_iterator8.return();
|
|
741
|
+
}
|
|
742
|
+
} finally {
|
|
743
|
+
if (_didIteratorError8) {
|
|
744
|
+
throw _iteratorError8;
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
var relatedOwners = /* @__PURE__ */new Map();
|
|
749
|
+
var directTables = /* @__PURE__ */new Map();
|
|
750
|
+
var syncTables = /* @__PURE__ */new Map();
|
|
751
|
+
var _iteratorNormalCompletion9 = true,
|
|
752
|
+
_didIteratorError9 = false,
|
|
753
|
+
_iteratorError9 = void 0;
|
|
754
|
+
try {
|
|
755
|
+
for (var _iterator9 = instances[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
|
|
756
|
+
var instance = _step9.value;
|
|
757
|
+
var direct = new Set(instance.namespaces.filter(function (namespace4) {
|
|
758
|
+
return namespace4.modelPath !== null;
|
|
759
|
+
}).map(function (namespace4) {
|
|
760
|
+
return modelTables.get(namespace4.name);
|
|
730
761
|
}));
|
|
731
762
|
var synced = new Set(direct);
|
|
732
|
-
var
|
|
733
|
-
|
|
734
|
-
|
|
763
|
+
var _iteratorNormalCompletion10 = true,
|
|
764
|
+
_didIteratorError10 = false,
|
|
765
|
+
_iteratorError10 = void 0;
|
|
735
766
|
try {
|
|
736
|
-
for (var
|
|
737
|
-
var
|
|
767
|
+
for (var _iterator10 = instance.namespaces[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) {
|
|
768
|
+
var namespace3 = _step10.value;
|
|
738
769
|
var _queryPaths_get1;
|
|
739
|
-
var
|
|
740
|
-
|
|
741
|
-
|
|
770
|
+
var _iteratorNormalCompletion11 = true,
|
|
771
|
+
_didIteratorError11 = false,
|
|
772
|
+
_iteratorError11 = void 0;
|
|
742
773
|
try {
|
|
743
|
-
for (var
|
|
744
|
-
var query =
|
|
774
|
+
for (var _iterator11 = ((_queryPaths_get1 = queryPaths.get(namespace3.name)) !== null && _queryPaths_get1 !== void 0 ? _queryPaths_get1 : [])[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) {
|
|
775
|
+
var query = _step11.value;
|
|
745
776
|
var _owners_get;
|
|
746
777
|
var rootOwner = (_owners_get = owners.get(query.rootTable)) !== null && _owners_get !== void 0 ? _owners_get : relatedOwners.get(query.rootTable);
|
|
747
778
|
if (rootOwner && rootOwner !== instance.name) {
|
|
748
|
-
throw new Error(`[on-zero] ${
|
|
779
|
+
throw new Error(`[on-zero] ${namespace3.name}.${query.query} in instance '${instance.name}' reaches table '${query.rootTable}' owned by instance '${rootOwner}'`);
|
|
749
780
|
}
|
|
750
781
|
relatedOwners.set(query.rootTable, instance.name);
|
|
751
782
|
direct.add(query.rootTable);
|
|
752
783
|
synced.add(query.rootTable);
|
|
753
|
-
var
|
|
754
|
-
|
|
755
|
-
|
|
784
|
+
var _iteratorNormalCompletion12 = true,
|
|
785
|
+
_didIteratorError12 = false,
|
|
786
|
+
_iteratorError12 = void 0;
|
|
756
787
|
try {
|
|
757
|
-
for (var
|
|
758
|
-
var path1 =
|
|
788
|
+
for (var _iterator12 = query.paths[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
|
|
789
|
+
var path1 = _step12.value;
|
|
759
790
|
var sourceTable = query.rootTable;
|
|
760
|
-
var
|
|
761
|
-
|
|
762
|
-
|
|
791
|
+
var _iteratorNormalCompletion13 = true,
|
|
792
|
+
_didIteratorError13 = false,
|
|
793
|
+
_iteratorError13 = void 0;
|
|
763
794
|
try {
|
|
764
|
-
for (var
|
|
765
|
-
var relationName =
|
|
795
|
+
for (var _iterator13 = path1[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) {
|
|
796
|
+
var relationName = _step13.value;
|
|
766
797
|
var _owners_get1;
|
|
767
798
|
var _relations_get1;
|
|
768
799
|
var target = (_relations_get1 = relations.get(sourceTable)) === null || _relations_get1 === void 0 ? void 0 : _relations_get1.get(relationName);
|
|
769
800
|
if (!target) {
|
|
770
|
-
throw new Error(`[on-zero] ${
|
|
801
|
+
throw new Error(`[on-zero] ${namespace3.name}.${query.query} related('${relationName}') cannot be resolved from table '${sourceTable}' through relations.ts`);
|
|
771
802
|
}
|
|
772
|
-
var
|
|
773
|
-
if (
|
|
774
|
-
throw new Error(`[on-zero] ${
|
|
803
|
+
var owner1 = (_owners_get1 = owners.get(target)) !== null && _owners_get1 !== void 0 ? _owners_get1 : relatedOwners.get(target);
|
|
804
|
+
if (owner1 && owner1 !== instance.name) {
|
|
805
|
+
throw new Error(`[on-zero] ${namespace3.name}.${query.query} in instance '${instance.name}' reaches table '${target}' owned by instance '${owner1}'`);
|
|
775
806
|
}
|
|
776
807
|
relatedOwners.set(target, instance.name);
|
|
777
808
|
synced.add(target);
|
|
778
809
|
sourceTable = target;
|
|
779
810
|
}
|
|
780
811
|
} catch (err) {
|
|
781
|
-
|
|
782
|
-
|
|
812
|
+
_didIteratorError13 = true;
|
|
813
|
+
_iteratorError13 = err;
|
|
783
814
|
} finally {
|
|
784
815
|
try {
|
|
785
|
-
if (!
|
|
786
|
-
|
|
816
|
+
if (!_iteratorNormalCompletion13 && _iterator13.return != null) {
|
|
817
|
+
_iterator13.return();
|
|
787
818
|
}
|
|
788
819
|
} finally {
|
|
789
|
-
if (
|
|
790
|
-
throw
|
|
820
|
+
if (_didIteratorError13) {
|
|
821
|
+
throw _iteratorError13;
|
|
791
822
|
}
|
|
792
823
|
}
|
|
793
824
|
}
|
|
794
825
|
}
|
|
795
826
|
} catch (err) {
|
|
796
|
-
|
|
797
|
-
|
|
827
|
+
_didIteratorError12 = true;
|
|
828
|
+
_iteratorError12 = err;
|
|
798
829
|
} finally {
|
|
799
830
|
try {
|
|
800
|
-
if (!
|
|
801
|
-
|
|
831
|
+
if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
|
|
832
|
+
_iterator12.return();
|
|
802
833
|
}
|
|
803
834
|
} finally {
|
|
804
|
-
if (
|
|
805
|
-
throw
|
|
835
|
+
if (_didIteratorError12) {
|
|
836
|
+
throw _iteratorError12;
|
|
806
837
|
}
|
|
807
838
|
}
|
|
808
839
|
}
|
|
809
840
|
}
|
|
810
841
|
} catch (err) {
|
|
811
|
-
|
|
812
|
-
|
|
842
|
+
_didIteratorError11 = true;
|
|
843
|
+
_iteratorError11 = err;
|
|
813
844
|
} finally {
|
|
814
845
|
try {
|
|
815
|
-
if (!
|
|
816
|
-
|
|
846
|
+
if (!_iteratorNormalCompletion11 && _iterator11.return != null) {
|
|
847
|
+
_iterator11.return();
|
|
817
848
|
}
|
|
818
849
|
} finally {
|
|
819
|
-
if (
|
|
820
|
-
throw
|
|
850
|
+
if (_didIteratorError11) {
|
|
851
|
+
throw _iteratorError11;
|
|
821
852
|
}
|
|
822
853
|
}
|
|
823
854
|
}
|
|
824
855
|
}
|
|
825
856
|
} catch (err) {
|
|
826
|
-
|
|
827
|
-
|
|
857
|
+
_didIteratorError10 = true;
|
|
858
|
+
_iteratorError10 = err;
|
|
828
859
|
} finally {
|
|
829
860
|
try {
|
|
830
|
-
if (!
|
|
831
|
-
|
|
861
|
+
if (!_iteratorNormalCompletion10 && _iterator10.return != null) {
|
|
862
|
+
_iterator10.return();
|
|
832
863
|
}
|
|
833
864
|
} finally {
|
|
834
|
-
if (
|
|
835
|
-
throw
|
|
865
|
+
if (_didIteratorError10) {
|
|
866
|
+
throw _iteratorError10;
|
|
836
867
|
}
|
|
837
868
|
}
|
|
838
869
|
}
|
|
839
870
|
directTables.set(instance.name, [...direct].sort());
|
|
840
871
|
var tables = [...synced].sort();
|
|
841
872
|
if (instance.scope) {
|
|
842
|
-
var
|
|
843
|
-
|
|
844
|
-
|
|
873
|
+
var _iteratorNormalCompletion14 = true,
|
|
874
|
+
_didIteratorError14 = false,
|
|
875
|
+
_iteratorError14 = void 0;
|
|
845
876
|
try {
|
|
846
|
-
for (var
|
|
847
|
-
var
|
|
877
|
+
for (var _iterator14 = tables[Symbol.iterator](), _step14; !(_iteratorNormalCompletion14 = (_step14 = _iterator14.next()).done); _iteratorNormalCompletion14 = true) {
|
|
878
|
+
var table2 = _step14.value;
|
|
848
879
|
var _tableColumns_get;
|
|
849
|
-
if (!((_tableColumns_get = tableColumns.get(
|
|
850
|
-
throw new Error(`[on-zero] table '${
|
|
880
|
+
if (!((_tableColumns_get = tableColumns.get(table2)) === null || _tableColumns_get === void 0 ? void 0 : _tableColumns_get.has(instance.scope))) {
|
|
881
|
+
throw new Error(`[on-zero] table '${table2}' in instance '${instance.name}' is missing scope column '${instance.scope}'`);
|
|
851
882
|
}
|
|
852
883
|
}
|
|
853
884
|
} catch (err) {
|
|
854
|
-
|
|
855
|
-
|
|
885
|
+
_didIteratorError14 = true;
|
|
886
|
+
_iteratorError14 = err;
|
|
856
887
|
} finally {
|
|
857
888
|
try {
|
|
858
|
-
if (!
|
|
859
|
-
|
|
889
|
+
if (!_iteratorNormalCompletion14 && _iterator14.return != null) {
|
|
890
|
+
_iterator14.return();
|
|
860
891
|
}
|
|
861
892
|
} finally {
|
|
862
|
-
if (
|
|
863
|
-
throw
|
|
893
|
+
if (_didIteratorError14) {
|
|
894
|
+
throw _iteratorError14;
|
|
864
895
|
}
|
|
865
896
|
}
|
|
866
897
|
}
|
|
@@ -868,34 +899,34 @@ function generateLite(opts) {
|
|
|
868
899
|
syncTables.set(instance.name, tables);
|
|
869
900
|
}
|
|
870
901
|
} catch (err) {
|
|
871
|
-
|
|
872
|
-
|
|
902
|
+
_didIteratorError9 = true;
|
|
903
|
+
_iteratorError9 = err;
|
|
873
904
|
} finally {
|
|
874
905
|
try {
|
|
875
|
-
if (!
|
|
876
|
-
|
|
906
|
+
if (!_iteratorNormalCompletion9 && _iterator9.return != null) {
|
|
907
|
+
_iterator9.return();
|
|
877
908
|
}
|
|
878
909
|
} finally {
|
|
879
|
-
if (
|
|
880
|
-
throw
|
|
910
|
+
if (_didIteratorError9) {
|
|
911
|
+
throw _iteratorError9;
|
|
881
912
|
}
|
|
882
913
|
}
|
|
883
914
|
}
|
|
884
915
|
var supportTables = /* @__PURE__ */new Map();
|
|
885
|
-
var
|
|
886
|
-
|
|
887
|
-
|
|
916
|
+
var _iteratorNormalCompletion15 = true,
|
|
917
|
+
_didIteratorError15 = false,
|
|
918
|
+
_iteratorError15 = void 0;
|
|
888
919
|
try {
|
|
889
920
|
var _loop = function () {
|
|
890
|
-
var instance2 =
|
|
921
|
+
var instance2 = _step15.value;
|
|
891
922
|
var supported = new Set(instance2.declaredSupportTables);
|
|
892
|
-
var
|
|
893
|
-
|
|
894
|
-
|
|
923
|
+
var _iteratorNormalCompletion17 = true,
|
|
924
|
+
_didIteratorError17 = false,
|
|
925
|
+
_iteratorError17 = void 0;
|
|
895
926
|
try {
|
|
896
927
|
var _loop2 = function () {
|
|
897
|
-
var
|
|
898
|
-
if (!
|
|
928
|
+
var namespace4 = _step17.value;
|
|
929
|
+
if (!namespace4.modelPath) return "continue";
|
|
899
930
|
var visited = /* @__PURE__ */new Set();
|
|
900
931
|
var scan = function scan1(path2) {
|
|
901
932
|
var _parsed_supportTables, _parsed_imports;
|
|
@@ -905,37 +936,37 @@ function generateLite(opts) {
|
|
|
905
936
|
if (parsed3.parseError) {
|
|
906
937
|
throw new Error(`[on-zero] unable to derive mutation dependencies from ${path2}: ${parsed3.parseError}`);
|
|
907
938
|
}
|
|
908
|
-
var
|
|
909
|
-
|
|
910
|
-
|
|
939
|
+
var _iteratorNormalCompletion18 = true,
|
|
940
|
+
_didIteratorError18 = false,
|
|
941
|
+
_iteratorError18 = void 0;
|
|
911
942
|
try {
|
|
912
|
-
for (var
|
|
913
|
-
var
|
|
914
|
-
if (owners.has(
|
|
915
|
-
if (!syncTables.get(instance2.name).includes(
|
|
916
|
-
supported.add(
|
|
943
|
+
for (var _iterator18 = ((_parsed_supportTables = parsed3.supportTables) !== null && _parsed_supportTables !== void 0 ? _parsed_supportTables : [])[Symbol.iterator](), _step18; !(_iteratorNormalCompletion18 = (_step18 = _iterator18.next()).done); _iteratorNormalCompletion18 = true) {
|
|
944
|
+
var table3 = _step18.value;
|
|
945
|
+
if (owners.has(table3) || relatedOwners.has(table3)) continue;
|
|
946
|
+
if (!syncTables.get(instance2.name).includes(table3)) {
|
|
947
|
+
supported.add(table3);
|
|
917
948
|
}
|
|
918
949
|
}
|
|
919
950
|
} catch (err) {
|
|
920
|
-
|
|
921
|
-
|
|
951
|
+
_didIteratorError18 = true;
|
|
952
|
+
_iteratorError18 = err;
|
|
922
953
|
} finally {
|
|
923
954
|
try {
|
|
924
|
-
if (!
|
|
925
|
-
|
|
955
|
+
if (!_iteratorNormalCompletion18 && _iterator18.return != null) {
|
|
956
|
+
_iterator18.return();
|
|
926
957
|
}
|
|
927
958
|
} finally {
|
|
928
|
-
if (
|
|
929
|
-
throw
|
|
959
|
+
if (_didIteratorError18) {
|
|
960
|
+
throw _iteratorError18;
|
|
930
961
|
}
|
|
931
962
|
}
|
|
932
963
|
}
|
|
933
|
-
var
|
|
934
|
-
|
|
935
|
-
|
|
964
|
+
var _iteratorNormalCompletion19 = true,
|
|
965
|
+
_didIteratorError19 = false,
|
|
966
|
+
_iteratorError19 = void 0;
|
|
936
967
|
try {
|
|
937
|
-
for (var
|
|
938
|
-
var specifier =
|
|
968
|
+
for (var _iterator19 = ((_parsed_imports = parsed3.imports) !== null && _parsed_imports !== void 0 ? _parsed_imports : [])[Symbol.iterator](), _step19; !(_iteratorNormalCompletion19 = (_step19 = _iterator19.next()).done); _iteratorNormalCompletion19 = true) {
|
|
969
|
+
var specifier = _step19.value;
|
|
939
970
|
var unresolved = specifier.startsWith("~/data/") ? `${baseDir}/${specifier.slice("~/data/".length)}` : specifier.startsWith(".") ? `${parentDir(path2)}/${specifier}` : null;
|
|
940
971
|
if (!unresolved) continue;
|
|
941
972
|
var normalized = resolvePath(unresolved);
|
|
@@ -947,72 +978,72 @@ function generateLite(opts) {
|
|
|
947
978
|
if (dependency) scan(dependency);
|
|
948
979
|
}
|
|
949
980
|
} catch (err) {
|
|
950
|
-
|
|
951
|
-
|
|
981
|
+
_didIteratorError19 = true;
|
|
982
|
+
_iteratorError19 = err;
|
|
952
983
|
} finally {
|
|
953
984
|
try {
|
|
954
|
-
if (!
|
|
955
|
-
|
|
985
|
+
if (!_iteratorNormalCompletion19 && _iterator19.return != null) {
|
|
986
|
+
_iterator19.return();
|
|
956
987
|
}
|
|
957
988
|
} finally {
|
|
958
|
-
if (
|
|
959
|
-
throw
|
|
989
|
+
if (_didIteratorError19) {
|
|
990
|
+
throw _iteratorError19;
|
|
960
991
|
}
|
|
961
992
|
}
|
|
962
993
|
}
|
|
963
994
|
};
|
|
964
|
-
scan(
|
|
995
|
+
scan(namespace4.modelPath);
|
|
965
996
|
};
|
|
966
|
-
for (var
|
|
997
|
+
for (var _iterator17 = instance2.namespaces[Symbol.iterator](), _step17; !(_iteratorNormalCompletion17 = (_step17 = _iterator17.next()).done); _iteratorNormalCompletion17 = true) _loop2();
|
|
967
998
|
} catch (err) {
|
|
968
|
-
|
|
969
|
-
|
|
999
|
+
_didIteratorError17 = true;
|
|
1000
|
+
_iteratorError17 = err;
|
|
970
1001
|
} finally {
|
|
971
1002
|
try {
|
|
972
|
-
if (!
|
|
973
|
-
|
|
1003
|
+
if (!_iteratorNormalCompletion17 && _iterator17.return != null) {
|
|
1004
|
+
_iterator17.return();
|
|
974
1005
|
}
|
|
975
1006
|
} finally {
|
|
976
|
-
if (
|
|
977
|
-
throw
|
|
1007
|
+
if (_didIteratorError17) {
|
|
1008
|
+
throw _iteratorError17;
|
|
978
1009
|
}
|
|
979
1010
|
}
|
|
980
1011
|
}
|
|
981
1012
|
supportTables.set(instance2.name, [...supported].sort());
|
|
982
1013
|
};
|
|
983
|
-
for (var
|
|
1014
|
+
for (var _iterator15 = instances[Symbol.iterator](), _step15; !(_iteratorNormalCompletion15 = (_step15 = _iterator15.next()).done); _iteratorNormalCompletion15 = true) _loop();
|
|
984
1015
|
} catch (err) {
|
|
985
|
-
|
|
986
|
-
|
|
1016
|
+
_didIteratorError15 = true;
|
|
1017
|
+
_iteratorError15 = err;
|
|
987
1018
|
} finally {
|
|
988
1019
|
try {
|
|
989
|
-
if (!
|
|
990
|
-
|
|
1020
|
+
if (!_iteratorNormalCompletion15 && _iterator15.return != null) {
|
|
1021
|
+
_iterator15.return();
|
|
991
1022
|
}
|
|
992
1023
|
} finally {
|
|
993
|
-
if (
|
|
994
|
-
throw
|
|
1024
|
+
if (_didIteratorError15) {
|
|
1025
|
+
throw _iteratorError15;
|
|
995
1026
|
}
|
|
996
1027
|
}
|
|
997
1028
|
}
|
|
998
|
-
var modelNames = modelNamespaces.map(function (
|
|
999
|
-
return
|
|
1029
|
+
var modelNames = modelNamespaces.map(function (namespace4) {
|
|
1030
|
+
return namespace4.name;
|
|
1000
1031
|
});
|
|
1001
1032
|
var out = {};
|
|
1002
|
-
out["models.ts"] = (0, import_generate_helpers.generateModelsFile)(modelNamespaces.map(function (
|
|
1033
|
+
out["models.ts"] = (0, import_generate_helpers.generateModelsFile)(modelNamespaces.map(function (namespace4) {
|
|
1003
1034
|
return {
|
|
1004
|
-
name:
|
|
1005
|
-
importPath: `../${relativePath(baseDir,
|
|
1035
|
+
name: namespace4.name,
|
|
1036
|
+
importPath: `../${relativePath(baseDir, namespace4.modelPath).replace(/\.ts$/, "")}`
|
|
1006
1037
|
};
|
|
1007
1038
|
}));
|
|
1008
1039
|
if (modelNamesWithSchema.length > 0) {
|
|
1009
1040
|
out["types.ts"] = (0, import_generate_helpers.generateTypesFile)(modelNamesWithSchema);
|
|
1010
|
-
out["tables.ts"] = (0, import_generate_helpers.generateTablesFile)(modelNamespaces.filter(function (
|
|
1011
|
-
return modelNamesWithSchema.includes(
|
|
1012
|
-
}).map(function (
|
|
1041
|
+
out["tables.ts"] = (0, import_generate_helpers.generateTablesFile)(modelNamespaces.filter(function (namespace4) {
|
|
1042
|
+
return modelNamesWithSchema.includes(namespace4.name);
|
|
1043
|
+
}).map(function (namespace4) {
|
|
1013
1044
|
return {
|
|
1014
|
-
name:
|
|
1015
|
-
importPath: `../${relativePath(baseDir,
|
|
1045
|
+
name: namespace4.name,
|
|
1046
|
+
importPath: `../${relativePath(baseDir, namespace4.modelPath).replace(/\.ts$/, "")}`
|
|
1016
1047
|
};
|
|
1017
1048
|
}));
|
|
1018
1049
|
}
|
|
@@ -1023,17 +1054,17 @@ function generateLite(opts) {
|
|
|
1023
1054
|
return {
|
|
1024
1055
|
name: instance2.name,
|
|
1025
1056
|
scope: instance2.scope,
|
|
1026
|
-
queryNames: instance2.namespaces.map(function (
|
|
1027
|
-
return
|
|
1057
|
+
queryNames: instance2.namespaces.map(function (namespace4) {
|
|
1058
|
+
return namespace4.name;
|
|
1028
1059
|
}).filter(function (name) {
|
|
1029
1060
|
return allQueries.some(function (query2) {
|
|
1030
1061
|
return query2.sourceFile === name;
|
|
1031
1062
|
});
|
|
1032
1063
|
}),
|
|
1033
|
-
modelNames: instance2.namespaces.filter(function (
|
|
1034
|
-
return
|
|
1035
|
-
}).map(function (
|
|
1036
|
-
return
|
|
1064
|
+
modelNames: instance2.namespaces.filter(function (namespace4) {
|
|
1065
|
+
return namespace4.modelPath;
|
|
1066
|
+
}).map(function (namespace4) {
|
|
1067
|
+
return namespace4.name;
|
|
1037
1068
|
}),
|
|
1038
1069
|
tables: directTables.get(instance2.name),
|
|
1039
1070
|
syncTables: syncTables.get(instance2.name),
|
|
@@ -1043,30 +1074,41 @@ function generateLite(opts) {
|
|
|
1043
1074
|
if (allModelMutations.length > 0) {
|
|
1044
1075
|
out["syncedMutations.ts"] = (0, import_generate_helpers.generateSyncedMutationsFile)(allModelMutations);
|
|
1045
1076
|
}
|
|
1077
|
+
var aggregateNamespaces = namespaces.filter(function (namespace4) {
|
|
1078
|
+
return namespace4.aggregatePath !== null;
|
|
1079
|
+
});
|
|
1080
|
+
if (aggregateNamespaces.length > 0) {
|
|
1081
|
+
out["aggregates.ts"] = (0, import_generate_helpers.generateAggregatesFile)(aggregateNamespaces.map(function (namespace4) {
|
|
1082
|
+
return {
|
|
1083
|
+
name: namespace4.name,
|
|
1084
|
+
importPath: `../${relativePath(baseDir, namespace4.aggregatePath).replace(/\.ts$/, "")}`
|
|
1085
|
+
};
|
|
1086
|
+
}));
|
|
1087
|
+
}
|
|
1046
1088
|
var mutationCount = 0;
|
|
1047
|
-
var
|
|
1048
|
-
|
|
1049
|
-
|
|
1089
|
+
var _iteratorNormalCompletion16 = true,
|
|
1090
|
+
_didIteratorError16 = false,
|
|
1091
|
+
_iteratorError16 = void 0;
|
|
1050
1092
|
try {
|
|
1051
1093
|
var _loop1 = function () {
|
|
1052
|
-
var m =
|
|
1094
|
+
var m = _step16.value;
|
|
1053
1095
|
if (m.hasCRUD) mutationCount += 3;
|
|
1054
1096
|
mutationCount += m.custom.filter(function (mut) {
|
|
1055
1097
|
return !m.hasCRUD || !["insert", "update", "delete", "upsert"].includes(mut.name);
|
|
1056
1098
|
}).length;
|
|
1057
1099
|
};
|
|
1058
|
-
for (var
|
|
1100
|
+
for (var _iterator16 = allModelMutations[Symbol.iterator](), _step16; !(_iteratorNormalCompletion16 = (_step16 = _iterator16.next()).done); _iteratorNormalCompletion16 = true) _loop1();
|
|
1059
1101
|
} catch (err) {
|
|
1060
|
-
|
|
1061
|
-
|
|
1102
|
+
_didIteratorError16 = true;
|
|
1103
|
+
_iteratorError16 = err;
|
|
1062
1104
|
} finally {
|
|
1063
1105
|
try {
|
|
1064
|
-
if (!
|
|
1065
|
-
|
|
1106
|
+
if (!_iteratorNormalCompletion16 && _iterator16.return != null) {
|
|
1107
|
+
_iterator16.return();
|
|
1066
1108
|
}
|
|
1067
1109
|
} finally {
|
|
1068
|
-
if (
|
|
1069
|
-
throw
|
|
1110
|
+
if (_didIteratorError16) {
|
|
1111
|
+
throw _iteratorError16;
|
|
1070
1112
|
}
|
|
1071
1113
|
}
|
|
1072
1114
|
}
|