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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { generateGroupedQueriesFile, generateInstancesFile, generateModelsFile, generateReadmeFile, generateSyncedMutationsFile, generateSyncedQueriesFile, generateTablesFile, generateTypesFile, parseColumnType, parseTypeString } from "./generate-helpers.native.js";
|
|
1
|
+
import { generateAggregatesFile, generateGroupedQueriesFile, generateInstancesFile, generateModelsFile, generateReadmeFile, generateSyncedMutationsFile, generateSyncedQueriesFile, generateTablesFile, generateTypesFile, parseColumnType, parseTypeString } from "./generate-helpers.native.js";
|
|
2
2
|
function stripTrailingSlash(s) {
|
|
3
3
|
return s.endsWith("/") ? s.slice(0, -1) : s;
|
|
4
4
|
}
|
|
@@ -259,7 +259,8 @@ function discoverLiteLayout(files, baseDir, parse, explicitConfigPath) {
|
|
|
259
259
|
name: baseName(path, ".ts"),
|
|
260
260
|
instance: instance.name,
|
|
261
261
|
queryPath: path,
|
|
262
|
-
modelPath: path
|
|
262
|
+
modelPath: path,
|
|
263
|
+
aggregatePath: null
|
|
263
264
|
});
|
|
264
265
|
}
|
|
265
266
|
} catch (err) {
|
|
@@ -312,7 +313,8 @@ function discoverLiteLayout(files, baseDir, parse, explicitConfigPath) {
|
|
|
312
313
|
if (folder === `${baseDir}/generated` || instanceDirs.has(folder)) continue;
|
|
313
314
|
var queries = `${folder}/queries.ts`;
|
|
314
315
|
var mutations = `${folder}/mutations.ts`;
|
|
315
|
-
|
|
316
|
+
var aggregates = `${folder}/aggregates.ts`;
|
|
317
|
+
if (!(queries in files) && !(mutations in files) && !(aggregates in files)) {
|
|
316
318
|
var oldName = baseName(folder);
|
|
317
319
|
if (["models", "mutations", "queries"].includes(oldName) && listDirectTsFiles(files, folder).length > 0) {
|
|
318
320
|
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`);
|
|
@@ -323,7 +325,8 @@ function discoverLiteLayout(files, baseDir, parse, explicitConfigPath) {
|
|
|
323
325
|
name: baseName(folder),
|
|
324
326
|
instance: instance.name,
|
|
325
327
|
queryPath: queries in files ? queries : null,
|
|
326
|
-
modelPath: mutations in files ? mutations : null
|
|
328
|
+
modelPath: mutations in files ? mutations : null,
|
|
329
|
+
aggregatePath: aggregates in files ? aggregates : null
|
|
327
330
|
});
|
|
328
331
|
}
|
|
329
332
|
} catch (err) {
|
|
@@ -399,8 +402,8 @@ function generateLite(opts) {
|
|
|
399
402
|
var namespaces = instances.flatMap(function (instance2) {
|
|
400
403
|
return instance2.namespaces;
|
|
401
404
|
});
|
|
402
|
-
var modelNamespaces = namespaces.filter(function (
|
|
403
|
-
return
|
|
405
|
+
var modelNamespaces = namespaces.filter(function (namespace4) {
|
|
406
|
+
return namespace4.modelPath !== null;
|
|
404
407
|
});
|
|
405
408
|
var relations = /* @__PURE__ */new Map();
|
|
406
409
|
var tableColumns = /* @__PURE__ */new Map();
|
|
@@ -478,6 +481,7 @@ function generateLite(opts) {
|
|
|
478
481
|
}
|
|
479
482
|
var allModelMutations = [];
|
|
480
483
|
var modelNamesWithSchema = [];
|
|
484
|
+
var modelTables = /* @__PURE__ */new Map();
|
|
481
485
|
var _iteratorNormalCompletion3 = true,
|
|
482
486
|
_didIteratorError3 = false,
|
|
483
487
|
_iteratorError3 = void 0;
|
|
@@ -485,11 +489,13 @@ function generateLite(opts) {
|
|
|
485
489
|
for (var _iterator3 = modelNamespaces[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
|
|
486
490
|
var namespace = _step3.value;
|
|
487
491
|
var _parsed_mutations_, _ref;
|
|
492
|
+
var _mutationExport_schema;
|
|
488
493
|
var filePath = namespace.modelPath;
|
|
489
494
|
var modelName = namespace.name;
|
|
490
495
|
var content = files[filePath];
|
|
491
496
|
var parsed1 = parse(content, filePath);
|
|
492
497
|
var mutationExport = (_parsed_mutations_ = parsed1.mutations[0]) !== null && _parsed_mutations_ !== void 0 ? _parsed_mutations_ : null;
|
|
498
|
+
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);
|
|
493
499
|
var columns = {};
|
|
494
500
|
var primaryKeys = [];
|
|
495
501
|
var hasSchema = false;
|
|
@@ -603,8 +609,8 @@ function generateLite(opts) {
|
|
|
603
609
|
_didIteratorError6 = false,
|
|
604
610
|
_iteratorError6 = void 0;
|
|
605
611
|
try {
|
|
606
|
-
for (var _iterator6 = namespaces.filter(function (
|
|
607
|
-
return
|
|
612
|
+
for (var _iterator6 = namespaces.filter(function (namespace4) {
|
|
613
|
+
return namespace4.queryPath !== null;
|
|
608
614
|
})[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
|
|
609
615
|
var namespace1 = _step6.value;
|
|
610
616
|
var filePath1 = namespace1.queryPath;
|
|
@@ -682,156 +688,181 @@ function generateLite(opts) {
|
|
|
682
688
|
}
|
|
683
689
|
}
|
|
684
690
|
}
|
|
685
|
-
var owners = new Map(
|
|
686
|
-
return [namespace3.name, namespace3.instance];
|
|
687
|
-
}));
|
|
688
|
-
var relatedOwners = /* @__PURE__ */new Map();
|
|
689
|
-
var directTables = /* @__PURE__ */new Map();
|
|
690
|
-
var syncTables = /* @__PURE__ */new Map();
|
|
691
|
+
var owners = /* @__PURE__ */new Map();
|
|
691
692
|
var _iteratorNormalCompletion8 = true,
|
|
692
693
|
_didIteratorError8 = false,
|
|
693
694
|
_iteratorError8 = void 0;
|
|
694
695
|
try {
|
|
695
|
-
for (var _iterator8 =
|
|
696
|
-
var
|
|
697
|
-
var
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
696
|
+
for (var _iterator8 = modelNamespaces[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
|
|
697
|
+
var namespace2 = _step8.value;
|
|
698
|
+
var table1 = modelTables.get(namespace2.name);
|
|
699
|
+
var owner = owners.get(table1);
|
|
700
|
+
if (owner && owner !== namespace2.instance) {
|
|
701
|
+
throw new Error(`[on-zero] table '${table1}' is claimed by instances '${owner}' and '${namespace2.instance}'`);
|
|
702
|
+
}
|
|
703
|
+
owners.set(table1, namespace2.instance);
|
|
704
|
+
}
|
|
705
|
+
} catch (err) {
|
|
706
|
+
_didIteratorError8 = true;
|
|
707
|
+
_iteratorError8 = err;
|
|
708
|
+
} finally {
|
|
709
|
+
try {
|
|
710
|
+
if (!_iteratorNormalCompletion8 && _iterator8.return != null) {
|
|
711
|
+
_iterator8.return();
|
|
712
|
+
}
|
|
713
|
+
} finally {
|
|
714
|
+
if (_didIteratorError8) {
|
|
715
|
+
throw _iteratorError8;
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
var relatedOwners = /* @__PURE__ */new Map();
|
|
720
|
+
var directTables = /* @__PURE__ */new Map();
|
|
721
|
+
var syncTables = /* @__PURE__ */new Map();
|
|
722
|
+
var _iteratorNormalCompletion9 = true,
|
|
723
|
+
_didIteratorError9 = false,
|
|
724
|
+
_iteratorError9 = void 0;
|
|
725
|
+
try {
|
|
726
|
+
for (var _iterator9 = instances[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
|
|
727
|
+
var instance = _step9.value;
|
|
728
|
+
var direct = new Set(instance.namespaces.filter(function (namespace4) {
|
|
729
|
+
return namespace4.modelPath !== null;
|
|
730
|
+
}).map(function (namespace4) {
|
|
731
|
+
return modelTables.get(namespace4.name);
|
|
701
732
|
}));
|
|
702
733
|
var synced = new Set(direct);
|
|
703
|
-
var
|
|
704
|
-
|
|
705
|
-
|
|
734
|
+
var _iteratorNormalCompletion10 = true,
|
|
735
|
+
_didIteratorError10 = false,
|
|
736
|
+
_iteratorError10 = void 0;
|
|
706
737
|
try {
|
|
707
|
-
for (var
|
|
708
|
-
var
|
|
738
|
+
for (var _iterator10 = instance.namespaces[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) {
|
|
739
|
+
var namespace3 = _step10.value;
|
|
709
740
|
var _queryPaths_get1;
|
|
710
|
-
var
|
|
711
|
-
|
|
712
|
-
|
|
741
|
+
var _iteratorNormalCompletion11 = true,
|
|
742
|
+
_didIteratorError11 = false,
|
|
743
|
+
_iteratorError11 = void 0;
|
|
713
744
|
try {
|
|
714
|
-
for (var
|
|
715
|
-
var query =
|
|
745
|
+
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) {
|
|
746
|
+
var query = _step11.value;
|
|
716
747
|
var _owners_get;
|
|
717
748
|
var rootOwner = (_owners_get = owners.get(query.rootTable)) !== null && _owners_get !== void 0 ? _owners_get : relatedOwners.get(query.rootTable);
|
|
718
749
|
if (rootOwner && rootOwner !== instance.name) {
|
|
719
|
-
throw new Error(`[on-zero] ${
|
|
750
|
+
throw new Error(`[on-zero] ${namespace3.name}.${query.query} in instance '${instance.name}' reaches table '${query.rootTable}' owned by instance '${rootOwner}'`);
|
|
720
751
|
}
|
|
721
752
|
relatedOwners.set(query.rootTable, instance.name);
|
|
722
753
|
direct.add(query.rootTable);
|
|
723
754
|
synced.add(query.rootTable);
|
|
724
|
-
var
|
|
725
|
-
|
|
726
|
-
|
|
755
|
+
var _iteratorNormalCompletion12 = true,
|
|
756
|
+
_didIteratorError12 = false,
|
|
757
|
+
_iteratorError12 = void 0;
|
|
727
758
|
try {
|
|
728
|
-
for (var
|
|
729
|
-
var path1 =
|
|
759
|
+
for (var _iterator12 = query.paths[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
|
|
760
|
+
var path1 = _step12.value;
|
|
730
761
|
var sourceTable = query.rootTable;
|
|
731
|
-
var
|
|
732
|
-
|
|
733
|
-
|
|
762
|
+
var _iteratorNormalCompletion13 = true,
|
|
763
|
+
_didIteratorError13 = false,
|
|
764
|
+
_iteratorError13 = void 0;
|
|
734
765
|
try {
|
|
735
|
-
for (var
|
|
736
|
-
var relationName =
|
|
766
|
+
for (var _iterator13 = path1[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) {
|
|
767
|
+
var relationName = _step13.value;
|
|
737
768
|
var _owners_get1;
|
|
738
769
|
var _relations_get1;
|
|
739
770
|
var target = (_relations_get1 = relations.get(sourceTable)) === null || _relations_get1 === void 0 ? void 0 : _relations_get1.get(relationName);
|
|
740
771
|
if (!target) {
|
|
741
|
-
throw new Error(`[on-zero] ${
|
|
772
|
+
throw new Error(`[on-zero] ${namespace3.name}.${query.query} related('${relationName}') cannot be resolved from table '${sourceTable}' through relations.ts`);
|
|
742
773
|
}
|
|
743
|
-
var
|
|
744
|
-
if (
|
|
745
|
-
throw new Error(`[on-zero] ${
|
|
774
|
+
var owner1 = (_owners_get1 = owners.get(target)) !== null && _owners_get1 !== void 0 ? _owners_get1 : relatedOwners.get(target);
|
|
775
|
+
if (owner1 && owner1 !== instance.name) {
|
|
776
|
+
throw new Error(`[on-zero] ${namespace3.name}.${query.query} in instance '${instance.name}' reaches table '${target}' owned by instance '${owner1}'`);
|
|
746
777
|
}
|
|
747
778
|
relatedOwners.set(target, instance.name);
|
|
748
779
|
synced.add(target);
|
|
749
780
|
sourceTable = target;
|
|
750
781
|
}
|
|
751
782
|
} catch (err) {
|
|
752
|
-
|
|
753
|
-
|
|
783
|
+
_didIteratorError13 = true;
|
|
784
|
+
_iteratorError13 = err;
|
|
754
785
|
} finally {
|
|
755
786
|
try {
|
|
756
|
-
if (!
|
|
757
|
-
|
|
787
|
+
if (!_iteratorNormalCompletion13 && _iterator13.return != null) {
|
|
788
|
+
_iterator13.return();
|
|
758
789
|
}
|
|
759
790
|
} finally {
|
|
760
|
-
if (
|
|
761
|
-
throw
|
|
791
|
+
if (_didIteratorError13) {
|
|
792
|
+
throw _iteratorError13;
|
|
762
793
|
}
|
|
763
794
|
}
|
|
764
795
|
}
|
|
765
796
|
}
|
|
766
797
|
} catch (err) {
|
|
767
|
-
|
|
768
|
-
|
|
798
|
+
_didIteratorError12 = true;
|
|
799
|
+
_iteratorError12 = err;
|
|
769
800
|
} finally {
|
|
770
801
|
try {
|
|
771
|
-
if (!
|
|
772
|
-
|
|
802
|
+
if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
|
|
803
|
+
_iterator12.return();
|
|
773
804
|
}
|
|
774
805
|
} finally {
|
|
775
|
-
if (
|
|
776
|
-
throw
|
|
806
|
+
if (_didIteratorError12) {
|
|
807
|
+
throw _iteratorError12;
|
|
777
808
|
}
|
|
778
809
|
}
|
|
779
810
|
}
|
|
780
811
|
}
|
|
781
812
|
} catch (err) {
|
|
782
|
-
|
|
783
|
-
|
|
813
|
+
_didIteratorError11 = true;
|
|
814
|
+
_iteratorError11 = err;
|
|
784
815
|
} finally {
|
|
785
816
|
try {
|
|
786
|
-
if (!
|
|
787
|
-
|
|
817
|
+
if (!_iteratorNormalCompletion11 && _iterator11.return != null) {
|
|
818
|
+
_iterator11.return();
|
|
788
819
|
}
|
|
789
820
|
} finally {
|
|
790
|
-
if (
|
|
791
|
-
throw
|
|
821
|
+
if (_didIteratorError11) {
|
|
822
|
+
throw _iteratorError11;
|
|
792
823
|
}
|
|
793
824
|
}
|
|
794
825
|
}
|
|
795
826
|
}
|
|
796
827
|
} catch (err) {
|
|
797
|
-
|
|
798
|
-
|
|
828
|
+
_didIteratorError10 = true;
|
|
829
|
+
_iteratorError10 = err;
|
|
799
830
|
} finally {
|
|
800
831
|
try {
|
|
801
|
-
if (!
|
|
802
|
-
|
|
832
|
+
if (!_iteratorNormalCompletion10 && _iterator10.return != null) {
|
|
833
|
+
_iterator10.return();
|
|
803
834
|
}
|
|
804
835
|
} finally {
|
|
805
|
-
if (
|
|
806
|
-
throw
|
|
836
|
+
if (_didIteratorError10) {
|
|
837
|
+
throw _iteratorError10;
|
|
807
838
|
}
|
|
808
839
|
}
|
|
809
840
|
}
|
|
810
841
|
directTables.set(instance.name, [...direct].sort());
|
|
811
842
|
var tables = [...synced].sort();
|
|
812
843
|
if (instance.scope) {
|
|
813
|
-
var
|
|
814
|
-
|
|
815
|
-
|
|
844
|
+
var _iteratorNormalCompletion14 = true,
|
|
845
|
+
_didIteratorError14 = false,
|
|
846
|
+
_iteratorError14 = void 0;
|
|
816
847
|
try {
|
|
817
|
-
for (var
|
|
818
|
-
var
|
|
848
|
+
for (var _iterator14 = tables[Symbol.iterator](), _step14; !(_iteratorNormalCompletion14 = (_step14 = _iterator14.next()).done); _iteratorNormalCompletion14 = true) {
|
|
849
|
+
var table2 = _step14.value;
|
|
819
850
|
var _tableColumns_get;
|
|
820
|
-
if (!((_tableColumns_get = tableColumns.get(
|
|
821
|
-
throw new Error(`[on-zero] table '${
|
|
851
|
+
if (!((_tableColumns_get = tableColumns.get(table2)) === null || _tableColumns_get === void 0 ? void 0 : _tableColumns_get.has(instance.scope))) {
|
|
852
|
+
throw new Error(`[on-zero] table '${table2}' in instance '${instance.name}' is missing scope column '${instance.scope}'`);
|
|
822
853
|
}
|
|
823
854
|
}
|
|
824
855
|
} catch (err) {
|
|
825
|
-
|
|
826
|
-
|
|
856
|
+
_didIteratorError14 = true;
|
|
857
|
+
_iteratorError14 = err;
|
|
827
858
|
} finally {
|
|
828
859
|
try {
|
|
829
|
-
if (!
|
|
830
|
-
|
|
860
|
+
if (!_iteratorNormalCompletion14 && _iterator14.return != null) {
|
|
861
|
+
_iterator14.return();
|
|
831
862
|
}
|
|
832
863
|
} finally {
|
|
833
|
-
if (
|
|
834
|
-
throw
|
|
864
|
+
if (_didIteratorError14) {
|
|
865
|
+
throw _iteratorError14;
|
|
835
866
|
}
|
|
836
867
|
}
|
|
837
868
|
}
|
|
@@ -839,34 +870,34 @@ function generateLite(opts) {
|
|
|
839
870
|
syncTables.set(instance.name, tables);
|
|
840
871
|
}
|
|
841
872
|
} catch (err) {
|
|
842
|
-
|
|
843
|
-
|
|
873
|
+
_didIteratorError9 = true;
|
|
874
|
+
_iteratorError9 = err;
|
|
844
875
|
} finally {
|
|
845
876
|
try {
|
|
846
|
-
if (!
|
|
847
|
-
|
|
877
|
+
if (!_iteratorNormalCompletion9 && _iterator9.return != null) {
|
|
878
|
+
_iterator9.return();
|
|
848
879
|
}
|
|
849
880
|
} finally {
|
|
850
|
-
if (
|
|
851
|
-
throw
|
|
881
|
+
if (_didIteratorError9) {
|
|
882
|
+
throw _iteratorError9;
|
|
852
883
|
}
|
|
853
884
|
}
|
|
854
885
|
}
|
|
855
886
|
var supportTables = /* @__PURE__ */new Map();
|
|
856
|
-
var
|
|
857
|
-
|
|
858
|
-
|
|
887
|
+
var _iteratorNormalCompletion15 = true,
|
|
888
|
+
_didIteratorError15 = false,
|
|
889
|
+
_iteratorError15 = void 0;
|
|
859
890
|
try {
|
|
860
891
|
var _loop = function () {
|
|
861
|
-
var instance2 =
|
|
892
|
+
var instance2 = _step15.value;
|
|
862
893
|
var supported = new Set(instance2.declaredSupportTables);
|
|
863
|
-
var
|
|
864
|
-
|
|
865
|
-
|
|
894
|
+
var _iteratorNormalCompletion17 = true,
|
|
895
|
+
_didIteratorError17 = false,
|
|
896
|
+
_iteratorError17 = void 0;
|
|
866
897
|
try {
|
|
867
898
|
var _loop2 = function () {
|
|
868
|
-
var
|
|
869
|
-
if (!
|
|
899
|
+
var namespace4 = _step17.value;
|
|
900
|
+
if (!namespace4.modelPath) return "continue";
|
|
870
901
|
var visited = /* @__PURE__ */new Set();
|
|
871
902
|
var scan = function scan1(path2) {
|
|
872
903
|
var _parsed_supportTables, _parsed_imports;
|
|
@@ -876,37 +907,37 @@ function generateLite(opts) {
|
|
|
876
907
|
if (parsed3.parseError) {
|
|
877
908
|
throw new Error(`[on-zero] unable to derive mutation dependencies from ${path2}: ${parsed3.parseError}`);
|
|
878
909
|
}
|
|
879
|
-
var
|
|
880
|
-
|
|
881
|
-
|
|
910
|
+
var _iteratorNormalCompletion18 = true,
|
|
911
|
+
_didIteratorError18 = false,
|
|
912
|
+
_iteratorError18 = void 0;
|
|
882
913
|
try {
|
|
883
|
-
for (var
|
|
884
|
-
var
|
|
885
|
-
if (owners.has(
|
|
886
|
-
if (!syncTables.get(instance2.name).includes(
|
|
887
|
-
supported.add(
|
|
914
|
+
for (var _iterator18 = ((_parsed_supportTables = parsed3.supportTables) !== null && _parsed_supportTables !== void 0 ? _parsed_supportTables : [])[Symbol.iterator](), _step18; !(_iteratorNormalCompletion18 = (_step18 = _iterator18.next()).done); _iteratorNormalCompletion18 = true) {
|
|
915
|
+
var table3 = _step18.value;
|
|
916
|
+
if (owners.has(table3) || relatedOwners.has(table3)) continue;
|
|
917
|
+
if (!syncTables.get(instance2.name).includes(table3)) {
|
|
918
|
+
supported.add(table3);
|
|
888
919
|
}
|
|
889
920
|
}
|
|
890
921
|
} catch (err) {
|
|
891
|
-
|
|
892
|
-
|
|
922
|
+
_didIteratorError18 = true;
|
|
923
|
+
_iteratorError18 = err;
|
|
893
924
|
} finally {
|
|
894
925
|
try {
|
|
895
|
-
if (!
|
|
896
|
-
|
|
926
|
+
if (!_iteratorNormalCompletion18 && _iterator18.return != null) {
|
|
927
|
+
_iterator18.return();
|
|
897
928
|
}
|
|
898
929
|
} finally {
|
|
899
|
-
if (
|
|
900
|
-
throw
|
|
930
|
+
if (_didIteratorError18) {
|
|
931
|
+
throw _iteratorError18;
|
|
901
932
|
}
|
|
902
933
|
}
|
|
903
934
|
}
|
|
904
|
-
var
|
|
905
|
-
|
|
906
|
-
|
|
935
|
+
var _iteratorNormalCompletion19 = true,
|
|
936
|
+
_didIteratorError19 = false,
|
|
937
|
+
_iteratorError19 = void 0;
|
|
907
938
|
try {
|
|
908
|
-
for (var
|
|
909
|
-
var specifier =
|
|
939
|
+
for (var _iterator19 = ((_parsed_imports = parsed3.imports) !== null && _parsed_imports !== void 0 ? _parsed_imports : [])[Symbol.iterator](), _step19; !(_iteratorNormalCompletion19 = (_step19 = _iterator19.next()).done); _iteratorNormalCompletion19 = true) {
|
|
940
|
+
var specifier = _step19.value;
|
|
910
941
|
var unresolved = specifier.startsWith("~/data/") ? `${baseDir}/${specifier.slice("~/data/".length)}` : specifier.startsWith(".") ? `${parentDir(path2)}/${specifier}` : null;
|
|
911
942
|
if (!unresolved) continue;
|
|
912
943
|
var normalized = resolvePath(unresolved);
|
|
@@ -918,72 +949,72 @@ function generateLite(opts) {
|
|
|
918
949
|
if (dependency) scan(dependency);
|
|
919
950
|
}
|
|
920
951
|
} catch (err) {
|
|
921
|
-
|
|
922
|
-
|
|
952
|
+
_didIteratorError19 = true;
|
|
953
|
+
_iteratorError19 = err;
|
|
923
954
|
} finally {
|
|
924
955
|
try {
|
|
925
|
-
if (!
|
|
926
|
-
|
|
956
|
+
if (!_iteratorNormalCompletion19 && _iterator19.return != null) {
|
|
957
|
+
_iterator19.return();
|
|
927
958
|
}
|
|
928
959
|
} finally {
|
|
929
|
-
if (
|
|
930
|
-
throw
|
|
960
|
+
if (_didIteratorError19) {
|
|
961
|
+
throw _iteratorError19;
|
|
931
962
|
}
|
|
932
963
|
}
|
|
933
964
|
}
|
|
934
965
|
};
|
|
935
|
-
scan(
|
|
966
|
+
scan(namespace4.modelPath);
|
|
936
967
|
};
|
|
937
|
-
for (var
|
|
968
|
+
for (var _iterator17 = instance2.namespaces[Symbol.iterator](), _step17; !(_iteratorNormalCompletion17 = (_step17 = _iterator17.next()).done); _iteratorNormalCompletion17 = true) _loop2();
|
|
938
969
|
} catch (err) {
|
|
939
|
-
|
|
940
|
-
|
|
970
|
+
_didIteratorError17 = true;
|
|
971
|
+
_iteratorError17 = err;
|
|
941
972
|
} finally {
|
|
942
973
|
try {
|
|
943
|
-
if (!
|
|
944
|
-
|
|
974
|
+
if (!_iteratorNormalCompletion17 && _iterator17.return != null) {
|
|
975
|
+
_iterator17.return();
|
|
945
976
|
}
|
|
946
977
|
} finally {
|
|
947
|
-
if (
|
|
948
|
-
throw
|
|
978
|
+
if (_didIteratorError17) {
|
|
979
|
+
throw _iteratorError17;
|
|
949
980
|
}
|
|
950
981
|
}
|
|
951
982
|
}
|
|
952
983
|
supportTables.set(instance2.name, [...supported].sort());
|
|
953
984
|
};
|
|
954
|
-
for (var
|
|
985
|
+
for (var _iterator15 = instances[Symbol.iterator](), _step15; !(_iteratorNormalCompletion15 = (_step15 = _iterator15.next()).done); _iteratorNormalCompletion15 = true) _loop();
|
|
955
986
|
} catch (err) {
|
|
956
|
-
|
|
957
|
-
|
|
987
|
+
_didIteratorError15 = true;
|
|
988
|
+
_iteratorError15 = err;
|
|
958
989
|
} finally {
|
|
959
990
|
try {
|
|
960
|
-
if (!
|
|
961
|
-
|
|
991
|
+
if (!_iteratorNormalCompletion15 && _iterator15.return != null) {
|
|
992
|
+
_iterator15.return();
|
|
962
993
|
}
|
|
963
994
|
} finally {
|
|
964
|
-
if (
|
|
965
|
-
throw
|
|
995
|
+
if (_didIteratorError15) {
|
|
996
|
+
throw _iteratorError15;
|
|
966
997
|
}
|
|
967
998
|
}
|
|
968
999
|
}
|
|
969
|
-
var modelNames = modelNamespaces.map(function (
|
|
970
|
-
return
|
|
1000
|
+
var modelNames = modelNamespaces.map(function (namespace4) {
|
|
1001
|
+
return namespace4.name;
|
|
971
1002
|
});
|
|
972
1003
|
var out = {};
|
|
973
|
-
out["models.ts"] = generateModelsFile(modelNamespaces.map(function (
|
|
1004
|
+
out["models.ts"] = generateModelsFile(modelNamespaces.map(function (namespace4) {
|
|
974
1005
|
return {
|
|
975
|
-
name:
|
|
976
|
-
importPath: `../${relativePath(baseDir,
|
|
1006
|
+
name: namespace4.name,
|
|
1007
|
+
importPath: `../${relativePath(baseDir, namespace4.modelPath).replace(/\.ts$/, "")}`
|
|
977
1008
|
};
|
|
978
1009
|
}));
|
|
979
1010
|
if (modelNamesWithSchema.length > 0) {
|
|
980
1011
|
out["types.ts"] = generateTypesFile(modelNamesWithSchema);
|
|
981
|
-
out["tables.ts"] = generateTablesFile(modelNamespaces.filter(function (
|
|
982
|
-
return modelNamesWithSchema.includes(
|
|
983
|
-
}).map(function (
|
|
1012
|
+
out["tables.ts"] = generateTablesFile(modelNamespaces.filter(function (namespace4) {
|
|
1013
|
+
return modelNamesWithSchema.includes(namespace4.name);
|
|
1014
|
+
}).map(function (namespace4) {
|
|
984
1015
|
return {
|
|
985
|
-
name:
|
|
986
|
-
importPath: `../${relativePath(baseDir,
|
|
1016
|
+
name: namespace4.name,
|
|
1017
|
+
importPath: `../${relativePath(baseDir, namespace4.modelPath).replace(/\.ts$/, "")}`
|
|
987
1018
|
};
|
|
988
1019
|
}));
|
|
989
1020
|
}
|
|
@@ -994,17 +1025,17 @@ function generateLite(opts) {
|
|
|
994
1025
|
return {
|
|
995
1026
|
name: instance2.name,
|
|
996
1027
|
scope: instance2.scope,
|
|
997
|
-
queryNames: instance2.namespaces.map(function (
|
|
998
|
-
return
|
|
1028
|
+
queryNames: instance2.namespaces.map(function (namespace4) {
|
|
1029
|
+
return namespace4.name;
|
|
999
1030
|
}).filter(function (name) {
|
|
1000
1031
|
return allQueries.some(function (query2) {
|
|
1001
1032
|
return query2.sourceFile === name;
|
|
1002
1033
|
});
|
|
1003
1034
|
}),
|
|
1004
|
-
modelNames: instance2.namespaces.filter(function (
|
|
1005
|
-
return
|
|
1006
|
-
}).map(function (
|
|
1007
|
-
return
|
|
1035
|
+
modelNames: instance2.namespaces.filter(function (namespace4) {
|
|
1036
|
+
return namespace4.modelPath;
|
|
1037
|
+
}).map(function (namespace4) {
|
|
1038
|
+
return namespace4.name;
|
|
1008
1039
|
}),
|
|
1009
1040
|
tables: directTables.get(instance2.name),
|
|
1010
1041
|
syncTables: syncTables.get(instance2.name),
|
|
@@ -1014,30 +1045,41 @@ function generateLite(opts) {
|
|
|
1014
1045
|
if (allModelMutations.length > 0) {
|
|
1015
1046
|
out["syncedMutations.ts"] = generateSyncedMutationsFile(allModelMutations);
|
|
1016
1047
|
}
|
|
1048
|
+
var aggregateNamespaces = namespaces.filter(function (namespace4) {
|
|
1049
|
+
return namespace4.aggregatePath !== null;
|
|
1050
|
+
});
|
|
1051
|
+
if (aggregateNamespaces.length > 0) {
|
|
1052
|
+
out["aggregates.ts"] = generateAggregatesFile(aggregateNamespaces.map(function (namespace4) {
|
|
1053
|
+
return {
|
|
1054
|
+
name: namespace4.name,
|
|
1055
|
+
importPath: `../${relativePath(baseDir, namespace4.aggregatePath).replace(/\.ts$/, "")}`
|
|
1056
|
+
};
|
|
1057
|
+
}));
|
|
1058
|
+
}
|
|
1017
1059
|
var mutationCount = 0;
|
|
1018
|
-
var
|
|
1019
|
-
|
|
1020
|
-
|
|
1060
|
+
var _iteratorNormalCompletion16 = true,
|
|
1061
|
+
_didIteratorError16 = false,
|
|
1062
|
+
_iteratorError16 = void 0;
|
|
1021
1063
|
try {
|
|
1022
1064
|
var _loop1 = function () {
|
|
1023
|
-
var m =
|
|
1065
|
+
var m = _step16.value;
|
|
1024
1066
|
if (m.hasCRUD) mutationCount += 3;
|
|
1025
1067
|
mutationCount += m.custom.filter(function (mut) {
|
|
1026
1068
|
return !m.hasCRUD || !["insert", "update", "delete", "upsert"].includes(mut.name);
|
|
1027
1069
|
}).length;
|
|
1028
1070
|
};
|
|
1029
|
-
for (var
|
|
1071
|
+
for (var _iterator16 = allModelMutations[Symbol.iterator](), _step16; !(_iteratorNormalCompletion16 = (_step16 = _iterator16.next()).done); _iteratorNormalCompletion16 = true) _loop1();
|
|
1030
1072
|
} catch (err) {
|
|
1031
|
-
|
|
1032
|
-
|
|
1073
|
+
_didIteratorError16 = true;
|
|
1074
|
+
_iteratorError16 = err;
|
|
1033
1075
|
} finally {
|
|
1034
1076
|
try {
|
|
1035
|
-
if (!
|
|
1036
|
-
|
|
1077
|
+
if (!_iteratorNormalCompletion16 && _iterator16.return != null) {
|
|
1078
|
+
_iterator16.return();
|
|
1037
1079
|
}
|
|
1038
1080
|
} finally {
|
|
1039
|
-
if (
|
|
1040
|
-
throw
|
|
1081
|
+
if (_didIteratorError16) {
|
|
1082
|
+
throw _iteratorError16;
|
|
1041
1083
|
}
|
|
1042
1084
|
}
|
|
1043
1085
|
}
|