on-zero 0.16.20 → 0.16.21
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/dist/cjs/cli.cjs +6 -0
- package/dist/cjs/cli.native.js +6 -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.cjs +14 -4
- package/dist/cjs/createUseQuery.native.js +18 -5
- package/dist/cjs/createUseQuery.native.js.map +1 -1
- package/dist/cjs/createUseQueryDirect.cjs +13 -2
- package/dist/cjs/createUseQueryDirect.native.js +14 -2
- 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 +21 -3
- package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.exportProbe.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.headless.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.httpAuth.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.native.js +28 -3
- 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.native.js.map +1 -1
- package/dist/cjs/generate-helpers.test.native.js.map +1 -1
- package/dist/cjs/generate-layout.native.js.map +1 -1
- package/dist/cjs/generate-lite.native.js.map +1 -1
- package/dist/cjs/generate-lite.test.native.js.map +1 -1
- package/dist/cjs/generate.cjs +57 -30
- package/dist/cjs/generate.native.js +92 -31
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/generate.test.cjs +147 -0
- package/dist/cjs/generate.test.native.js +147 -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.native.js.map +1 -1
- 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.native.js.map +1 -1
- 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.native.js.map +1 -1
- 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 +10 -5
- package/dist/cjs/multi.native.js +10 -5
- package/dist/cjs/multi.native.js.map +1 -1
- package/dist/cjs/multiInstance.test.native.js.map +1 -1
- package/dist/cjs/multiInstanceMutations.test.native.js.map +1 -1
- package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
- package/dist/cjs/multiPartition.test.cjs +46 -2
- package/dist/cjs/multiPartition.test.native.js +50 -2
- 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/native-typescript.cjs +50 -11
- package/dist/cjs/native-typescript.native.js +158 -30
- package/dist/cjs/native-typescript.native.js.map +1 -1
- package/dist/cjs/provideZero.eagerInstance.test.cjs +22 -0
- package/dist/cjs/provideZero.eagerInstance.test.native.js +30 -0
- package/dist/cjs/provideZero.eagerInstance.test.native.js.map +1 -1
- package/dist/cjs/provideZero.hydration.test.native.js.map +1 -1
- package/dist/cjs/provideZero.ssr.test.native.js.map +1 -1
- package/dist/cjs/queryErrorRecovery.cjs +93 -0
- package/dist/cjs/queryErrorRecovery.native.js +205 -0
- package/dist/cjs/queryErrorRecovery.native.js.map +1 -0
- package/dist/cjs/queryJson.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.aggregate.zero.test.cjs +199 -4
- package/dist/cjs/useQuery.aggregate.zero.test.native.js +212 -4
- package/dist/cjs/useQuery.aggregate.zero.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.cjs +10 -0
- package/dist/cjs/vite-plugin.native.js +10 -0
- 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/cli.mjs +6 -0
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/cli.native.js +7 -1
- package/dist/esm/cli.native.js.map +1 -1
- package/dist/esm/combineZeroClients.native.js +4 -4
- package/dist/esm/combineZeroClients.native.js.map +1 -1
- package/dist/esm/config.native.js.map +1 -1
- package/dist/esm/createPermissions.native.js +4 -4
- package/dist/esm/createPermissions.native.js.map +1 -1
- package/dist/esm/createSchemaFromDrizzle.native.js +1 -1
- package/dist/esm/createSchemaFromDrizzle.native.js.map +1 -1
- package/dist/esm/createUseQuery.mjs +16 -6
- package/dist/esm/createUseQuery.mjs.map +1 -1
- package/dist/esm/createUseQuery.native.js +24 -11
- package/dist/esm/createUseQuery.native.js.map +1 -1
- package/dist/esm/createUseQueryDirect.mjs +13 -2
- package/dist/esm/createUseQueryDirect.mjs.map +1 -1
- package/dist/esm/createUseQueryDirect.native.js +19 -7
- package/dist/esm/createUseQueryDirect.native.js.map +1 -1
- package/dist/esm/createZeroClient.authData.test.native.js +2 -2
- package/dist/esm/createZeroClient.authData.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.connection.test.native.js +1 -1
- package/dist/esm/createZeroClient.connection.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.exportProbe.test.native.js +1 -1
- package/dist/esm/createZeroClient.exportProbe.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.headless.test.native.js +2 -2
- package/dist/esm/createZeroClient.headless.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.httpAuth.test.native.js +1 -1
- package/dist/esm/createZeroClient.httpAuth.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.mjs +21 -3
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +49 -24
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroClient.recovery.test.native.js +2 -2
- package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
- package/dist/esm/generate-helpers.native.js.map +1 -1
- package/dist/esm/generate-helpers.test.native.js +1 -1
- package/dist/esm/generate-helpers.test.native.js.map +1 -1
- package/dist/esm/generate-layout.native.js.map +1 -1
- package/dist/esm/generate-lite.native.js +1 -1
- package/dist/esm/generate-lite.native.js.map +1 -1
- package/dist/esm/generate-lite.test.native.js +1 -1
- package/dist/esm/generate-lite.test.native.js.map +1 -1
- package/dist/esm/generate.mjs +57 -30
- package/dist/esm/generate.mjs.map +1 -1
- package/dist/esm/generate.native.js +95 -34
- package/dist/esm/generate.native.js.map +1 -1
- package/dist/esm/generate.test.mjs +147 -0
- package/dist/esm/generate.test.mjs.map +1 -1
- package/dist/esm/generate.test.native.js +148 -1
- package/dist/esm/generate.test.native.js.map +1 -1
- package/dist/esm/helpers/NullToOptional.native.js.map +1 -1
- package/dist/esm/helpers/asyncContext.hostStorage.test.native.js +7 -7
- package/dist/esm/helpers/asyncContext.hostStorage.test.native.js.map +1 -1
- package/dist/esm/helpers/batchQuery.native.js +1 -1
- package/dist/esm/helpers/batchQuery.native.js.map +1 -1
- package/dist/esm/helpers/clearZeroClientData.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.native.js +4 -4
- package/dist/esm/helpers/createMutators.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.test.native.js +2 -2
- package/dist/esm/helpers/createMutators.test.native.js.map +1 -1
- package/dist/esm/helpers/ellipsis.native.js.map +1 -1
- package/dist/esm/helpers/emitter.native.js.map +1 -1
- package/dist/esm/helpers/ensure.native.js +1 -1
- package/dist/esm/helpers/ensure.native.js.map +1 -1
- package/dist/esm/helpers/ensureLoggedIn.native.js +2 -2
- package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
- package/dist/esm/helpers/errors.native.js.map +1 -1
- package/dist/esm/helpers/getAuth.native.js +3 -3
- package/dist/esm/helpers/getAuth.native.js.map +1 -1
- package/dist/esm/helpers/getCurrentComponentStack.native.js.map +1 -1
- package/dist/esm/helpers/globalValue.native.js.map +1 -1
- package/dist/esm/helpers/hostStorageScope.native.js.map +1 -1
- package/dist/esm/helpers/mapObject.native.js.map +1 -1
- package/dist/esm/helpers/mutationLifecycle.native.js +1 -1
- package/dist/esm/helpers/mutationLifecycle.native.js.map +1 -1
- package/dist/esm/helpers/mutationLifecycle.test.native.js +1 -1
- package/dist/esm/helpers/mutationLifecycle.test.native.js.map +1 -1
- package/dist/esm/helpers/mutatorContext.native.js +1 -1
- package/dist/esm/helpers/mutatorContext.native.js.map +1 -1
- package/dist/esm/helpers/mutatorContext.test.native.js +6 -6
- package/dist/esm/helpers/mutatorContext.test.native.js.map +1 -1
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js +1 -1
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -1
- package/dist/esm/helpers/queryContext.native.js +1 -1
- package/dist/esm/helpers/queryContext.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.native.js +1 -1
- package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.test.native.js +2 -2
- package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
- package/dist/esm/helpers/showZeroClientError.native.js +1 -1
- package/dist/esm/helpers/showZeroClientError.native.js.map +1 -1
- package/dist/esm/helpers/sleep.native.js +1 -1
- package/dist/esm/helpers/sleep.native.js.map +1 -1
- package/dist/esm/helpers/time.native.js.map +1 -1
- package/dist/esm/helpers/tuple.native.js.map +1 -1
- package/dist/esm/helpers/useMutation.native.js.map +1 -1
- package/dist/esm/helpers/useMutation.test.native.js +1 -1
- package/dist/esm/helpers/useMutation.test.native.js.map +1 -1
- package/dist/esm/helpers/useZeroDebug.native.js +2 -2
- package/dist/esm/helpers/useZeroDebug.native.js.map +1 -1
- package/dist/esm/index.native.js +23 -23
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/instanceRegistry.native.js +2 -2
- package/dist/esm/instanceRegistry.native.js.map +1 -1
- package/dist/esm/modelRegistry.native.js.map +1 -1
- package/dist/esm/multi.mjs +10 -5
- package/dist/esm/multi.mjs.map +1 -1
- package/dist/esm/multi.native.js +15 -10
- package/dist/esm/multi.native.js.map +1 -1
- package/dist/esm/multiInstance.test.native.js +10 -10
- package/dist/esm/multiInstance.test.native.js.map +1 -1
- package/dist/esm/multiInstanceMutations.test.native.js +4 -4
- package/dist/esm/multiInstanceMutations.test.native.js.map +1 -1
- package/dist/esm/multiInstanceNested.test.native.js +3 -3
- package/dist/esm/multiInstanceNested.test.native.js.map +1 -1
- package/dist/esm/multiPartition.test.mjs +47 -3
- package/dist/esm/multiPartition.test.mjs.map +1 -1
- package/dist/esm/multiPartition.test.native.js +52 -4
- package/dist/esm/multiPartition.test.native.js.map +1 -1
- package/dist/esm/mutations.native.js +2 -2
- package/dist/esm/mutations.native.js.map +1 -1
- package/dist/esm/mutations.test.native.js +4 -4
- package/dist/esm/mutations.test.native.js.map +1 -1
- package/dist/esm/native-typescript.mjs +50 -11
- package/dist/esm/native-typescript.mjs.map +1 -1
- package/dist/esm/native-typescript.native.js +158 -30
- package/dist/esm/native-typescript.native.js.map +1 -1
- package/dist/esm/provideZero.eagerInstance.test.mjs +22 -0
- package/dist/esm/provideZero.eagerInstance.test.mjs.map +1 -1
- package/dist/esm/provideZero.eagerInstance.test.native.js +31 -1
- package/dist/esm/provideZero.eagerInstance.test.native.js.map +1 -1
- package/dist/esm/provideZero.hydration.test.native.js +2 -2
- package/dist/esm/provideZero.hydration.test.native.js.map +1 -1
- package/dist/esm/provideZero.ssr.test.native.js +2 -2
- package/dist/esm/provideZero.ssr.test.native.js.map +1 -1
- package/dist/esm/queryErrorRecovery.mjs +66 -0
- package/dist/esm/queryErrorRecovery.mjs.map +1 -0
- package/dist/esm/queryErrorRecovery.native.js +175 -0
- package/dist/esm/queryErrorRecovery.native.js.map +1 -0
- package/dist/esm/queryJson.native.js +1 -1
- package/dist/esm/queryJson.native.js.map +1 -1
- package/dist/esm/queryRegistry.native.js.map +1 -1
- package/dist/esm/resolveQuery.native.js +2 -2
- package/dist/esm/resolveQuery.native.js.map +1 -1
- package/dist/esm/run.native.js +4 -4
- package/dist/esm/run.native.js.map +1 -1
- package/dist/esm/server.native.js +10 -10
- package/dist/esm/server.native.js.map +1 -1
- package/dist/esm/server.test.native.js +2 -2
- package/dist/esm/server.test.native.js.map +1 -1
- package/dist/esm/serverWhere.native.js +1 -1
- package/dist/esm/serverWhere.native.js.map +1 -1
- package/dist/esm/serverWhere.test.native.js +3 -3
- package/dist/esm/serverWhere.test.native.js.map +1 -1
- package/dist/esm/state.native.js +1 -1
- package/dist/esm/state.native.js.map +1 -1
- package/dist/esm/streaming.native.js +1 -1
- package/dist/esm/streaming.native.js.map +1 -1
- package/dist/esm/testSetup.native.js.map +1 -1
- package/dist/esm/types.native.js.map +1 -1
- package/dist/esm/usePermission.test.native.js +3 -3
- package/dist/esm/usePermission.test.native.js.map +1 -1
- package/dist/esm/useQuery.aggregate.zero.test.mjs +197 -2
- package/dist/esm/useQuery.aggregate.zero.test.mjs.map +1 -1
- package/dist/esm/useQuery.aggregate.zero.test.native.js +212 -4
- package/dist/esm/useQuery.aggregate.zero.test.native.js.map +1 -1
- package/dist/esm/useQuery.empty.test.native.js +3 -3
- package/dist/esm/useQuery.empty.test.native.js.map +1 -1
- package/dist/esm/useQuery.ssr.test.native.js +2 -2
- package/dist/esm/useQuery.ssr.test.native.js.map +1 -1
- package/dist/esm/useStreamingField.loop.test.native.js +1 -1
- package/dist/esm/useStreamingField.loop.test.native.js.map +1 -1
- package/dist/esm/useStreamingField.native.js.map +1 -1
- package/dist/esm/vite-plugin.mjs +10 -0
- package/dist/esm/vite-plugin.mjs.map +1 -1
- package/dist/esm/vite-plugin.native.js +11 -1
- package/dist/esm/vite-plugin.native.js.map +1 -1
- package/dist/esm/where.native.js +3 -3
- package/dist/esm/where.native.js.map +1 -1
- package/dist/esm/zeroRunner.native.js +1 -1
- package/dist/esm/zeroRunner.native.js.map +1 -1
- package/dist/esm/zql.native.js +1 -1
- package/dist/esm/zql.native.js.map +1 -1
- package/package.json +4 -4
- package/src/cli.ts +6 -0
- package/src/createUseQuery.tsx +20 -5
- package/src/createUseQueryDirect.tsx +17 -1
- package/src/createZeroClient.tsx +37 -4
- package/src/generate.test.ts +116 -0
- package/src/generate.ts +109 -52
- package/src/multi.ts +11 -3
- package/src/multiPartition.test.ts +55 -11
- package/src/native-typescript.ts +64 -11
- package/src/provideZero.eagerInstance.test.tsx +27 -0
- package/src/queryErrorRecovery.ts +95 -0
- package/src/useQuery.aggregate.zero.test.tsx +187 -2
- package/src/vite-plugin.ts +10 -0
- package/types/createUseQuery.d.ts +3 -1
- package/types/createUseQuery.d.ts.map +1 -1
- package/types/createUseQueryDirect.d.ts +3 -1
- package/types/createUseQueryDirect.d.ts.map +1 -1
- package/types/createZeroClient.d.ts +3 -1
- package/types/createZeroClient.d.ts.map +1 -1
- package/types/generate.d.ts +4 -0
- package/types/generate.d.ts.map +1 -1
- package/types/multi.d.ts +3 -1
- package/types/multi.d.ts.map +1 -1
- package/types/native-typescript.d.ts +7 -1
- package/types/native-typescript.d.ts.map +1 -1
- package/types/queryErrorRecovery.d.ts +33 -0
- package/types/queryErrorRecovery.d.ts.map +1 -0
- package/types/useQuery.aggregate.zero.test.d.ts.map +1 -1
- package/types/vite-plugin.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["existsSync","readdirSync","statSync","basename","dirname","relative","resolve","sep","ts","_type_of","obj","Symbol","constructor","isSourceFile","isSourceFile2","name","endsWith","toImportPath","toImportPath2","baseDir","path","split","join","replace","isWithin","isWithin2","root","child","startsWith","propertyName","isIdentifier","isStringLiteral","isNumericLiteral","text","readDataConfig","project","configPath","Error","source","sourceFile","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","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","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","Boolean","metadataPaths","paths","relations","databaseDir","relationTargets","factory","isParenthesizedExpression","tableProperty","_relations_get","tableRelations","relationProperty","tableColumns","columns","sources","flatMap","isVariableDeclaration","tableNames","foundColumns","inspect","inspect1","argument","test","names","map","_property_name","isSpreadAssignment","tableName"],"sources":["../../src/generate-layout.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["existsSync","readdirSync","statSync","basename","dirname","relative","resolve","sep","ts","_type_of","obj","Symbol","constructor","isSourceFile","isSourceFile2","name","endsWith","toImportPath","toImportPath2","baseDir","path","split","join","replace","isWithin","isWithin2","root","child","startsWith","propertyName","isIdentifier","isStringLiteral","isNumericLiteral","text","readDataConfig","project","configPath","Error","source","sourceFile","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","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","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","Boolean","metadataPaths","paths","relations","databaseDir","relationTargets","factory","isParenthesizedExpression","tableProperty","_relations_get","tableRelations","relationProperty","tableColumns","columns","sources","flatMap","isVariableDeclaration","tableNames","foundColumns","inspect","inspect1","argument","test","names","map","_property_name","isSpreadAssignment","tableName","queriedTables","reached","rootTable","rootTable2","_ref","_text_match","match","currentTable","_rootTable","nameArg","sourceTable","target","callback","key","helperRoot","queryRoot","aggregateTables","unwrap","unwrap2","current","isSatisfiesExpression","isAsExpression","tables","definitions","_i2","_iter2","fieldName","field","definition","_i","_iter","mutationSupportTables","sourceRoots","visited","scan","scan1","transaction","isImportDeclaration","isExportDeclaration","moduleSpecifier","specifier","unresolved","slice","assertNoInstanceFiles","roots","walk","walk1","assertNoUnclaimedNamespaces","instanceDir","discoverDataLayout","configured","instance2","syncTables","declaredSupportTables","namespaceOwners","owner","tableOwners","namespace1","owner1","metadata","relatedOwners","instance1","namespace3","table2","namespace2","_tableOwners_get","owner2","_iteratorNormalCompletion6","_didIteratorError6","_iteratorError6","_iterator6","_step6","_tableOwners_get1","owner3","_iteratorNormalCompletion7","_didIteratorError7","_iteratorError7","_iterator7","_step7","table1","_columns_get","_iteratorNormalCompletion8","_didIteratorError8","_iteratorError8","_step8","_iteratorNormalCompletion9","_didIteratorError9","_iteratorError9","_iterator9","_step9","table3","_iterator8","namespaceImportPath"],"sources":["generate-layout.native.js"],"sourcesContent":["import { existsSync, readdirSync, statSync } from \"fs\";\nimport { basename, dirname, relative, resolve, sep } from \"path\";\nimport * as ts from \"typescript/unstable/ast\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar isSourceFile = function isSourceFile2(name) {\n return name.endsWith(\".ts\") && !name.endsWith(\".d.ts\") && !name.endsWith(\".test.ts\") && !name.endsWith(\".spec.ts\");\n};\nvar toImportPath = function toImportPath2(baseDir, path) {\n return relative(baseDir, path).split(sep).join(\"/\").replace(/\\.ts$/, \"\");\n};\nvar isWithin = function isWithin2(root, path) {\n var child = relative(root, path);\n return child === \"\" || child !== \"..\" && !child.startsWith(`..${sep}`);\n};\nfunction propertyName(name) {\n if (ts.isIdentifier(name) || ts.isStringLiteral(name) || ts.isNumericLiteral(name)) {\n return name.text;\n }\n return null;\n}\nfunction readDataConfig(project, baseDir, configPath) {\n var path = configPath ? resolve(configPath) : resolve(baseDir, \"on-zero.config.ts\");\n if (!existsSync(path)) {\n if (configPath) throw new Error(`[on-zero] config file does not exist: ${path}`);\n return null;\n }\n if (dirname(path) !== baseDir) {\n throw new Error(`[on-zero] ${path} must be at the data root ${baseDir}`);\n }\n var source = project.sourceFile(path);\n if (project.hasParseErrors(path)) throw new Error(`[on-zero] unable to parse ${path}`);\n var config = null;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = source.statements[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var statement = _step.value;\n if (!ts.isExportAssignment(statement) || statement.isExportEquals) continue;\n var call = statement.expression;\n if (!ts.isCallExpression(call) || call.expression.getText(source) !== \"defineConfig\") {\n continue;\n }\n var value = call.arguments[0];\n if (value && ts.isObjectLiteralExpression(value)) config = value;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (!config) {\n throw new Error(`[on-zero] ${path} must default export defineConfig({ instances: { ... } })`);\n }\n var rootOptions = /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = config.properties[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var option = _step1.value;\n if (!ts.isPropertyAssignment(option)) {\n throw new Error(`[on-zero] ${path} options must use explicit property assignments`);\n }\n var name = propertyName(option.name);\n if (!name) throw new Error(`[on-zero] ${path} has an unsupported option name`);\n if (rootOptions.has(name)) throw new Error(`[on-zero] ${path} repeats option '${name}'`);\n rootOptions.set(name, option.initializer);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = rootOptions.keys()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var name1 = _step2.value;\n if (name1 !== \"instances\") throw new Error(`[on-zero] ${path} has unknown option '${name1}'`);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n var instancesNode = rootOptions.get(\"instances\");\n if (!instancesNode || !ts.isObjectLiteralExpression(instancesNode)) {\n throw new Error(`[on-zero] ${path} must declare a non-empty instances object`);\n }\n var instances = [];\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n var _loop = function() {\n var property = _step3.value;\n if (!ts.isPropertyAssignment(property)) {\n throw new Error(`[on-zero] ${path} instances must use explicit property assignments`);\n }\n var name2 = propertyName(property.name);\n if (!name2) throw new Error(`[on-zero] ${path} has an unsupported instance name`);\n if (!ts.isObjectLiteralExpression(property.initializer)) {\n throw new Error(`[on-zero] instance '${name2}' must be an object`);\n }\n if (instances.some(function(instance) {\n return instance.name === name2;\n })) {\n throw new Error(`[on-zero] duplicate instance name '${name2}'`);\n }\n var dir = resolve(dirname(path), name2);\n var scope = null;\n var supportTables = [];\n var seen = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion5 = true, _didIteratorError5 = false, _iteratorError5 = void 0;\n try {\n for (var _iterator5 = property.initializer.properties[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var option2 = _step5.value;\n if (!ts.isPropertyAssignment(option2)) {\n throw new Error(`[on-zero] instance '${name2}' options must be assignments`);\n }\n var optionName = propertyName(option2.name);\n if (!optionName) throw new Error(`[on-zero] instance '${name2}' has an invalid option`);\n if (seen.has(optionName)) {\n throw new Error(`[on-zero] instance '${name2}' repeats option '${optionName}'`);\n }\n seen.add(optionName);\n if (optionName === \"dir\") {\n if (!ts.isStringLiteral(option2.initializer)) {\n throw new Error(`[on-zero] instance '${name2}' dir must be a string literal`);\n }\n if (option2.initializer.text.startsWith(\"/\")) {\n throw new Error(`[on-zero] instance '${name2}' dir must be relative to ${path}`);\n }\n dir = resolve(dirname(path), option2.initializer.text);\n continue;\n }\n if (optionName === \"scope\") {\n if (!ts.isStringLiteral(option2.initializer)) {\n throw new Error(`[on-zero] instance '${name2}' scope must be a string literal`);\n }\n if (!option2.initializer.text) {\n throw new Error(`[on-zero] instance '${name2}' scope cannot be empty`);\n }\n scope = option2.initializer.text;\n continue;\n }\n if (optionName === \"supportTables\") {\n if (!ts.isArrayLiteralExpression(option2.initializer)) {\n throw new Error(`[on-zero] instance '${name2}' supportTables must be an array`);\n }\n var _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;\n try {\n for (var _iterator12 = option2.initializer.elements[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {\n var table = _step12.value;\n if (!ts.isStringLiteral(table)) {\n throw new Error(`[on-zero] instance '${name2}' supportTables must contain string literals`);\n }\n if (!table.text) {\n throw new Error(`[on-zero] instance '${name2}' supportTables cannot contain an empty table name`);\n }\n supportTables.push(table.text);\n }\n } catch (err) {\n _didIteratorError12 = true;\n _iteratorError12 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion12 && _iterator12.return != null) {\n _iterator12.return();\n }\n } finally {\n if (_didIteratorError12) {\n throw _iteratorError12;\n }\n }\n }\n continue;\n }\n throw new Error(`[on-zero] instance '${name2}' has unknown option '${optionName}'`);\n }\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5.return != null) {\n _iterator5.return();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n if (!existsSync(dir) || !statSync(dir).isDirectory()) {\n throw new Error(`[on-zero] instance '${name2}' directory does not exist: ${dir}`);\n }\n instances.push({\n name: name2,\n dir,\n scope,\n supportTables\n });\n };\n for (var _iterator3 = instancesNode.properties[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) _loop();\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n if (instances.length === 0) {\n throw new Error(`[on-zero] ${path} must declare at least one instance`);\n }\n var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;\n try {\n var _loop1 = function() {\n var instance = _step4.value;\n var duplicate = instances.find(function(candidate) {\n return candidate !== instance && candidate.dir === instance.dir;\n });\n if (duplicate) {\n throw new Error(`[on-zero] instances '${instance.name}' and '${duplicate.name}' resolve to the same directory: ${instance.dir}`);\n }\n };\n for (var _iterator4 = instances[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) _loop1();\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n return {\n path,\n instances\n };\n}\nfunction namespaceExportKinds(project, baseDir, path) {\n var none = {\n model: false,\n query: false\n };\n var source = project.sourceFile(path);\n if (project.hasParseErrors(path)) {\n var displayPath = relative(dirname(baseDir), path).split(sep).join(\"/\");\n console.warn(`[on-zero] ignoring ${displayPath}: no recognized data exports`);\n return none;\n }\n var functions = /* @__PURE__ */ new Map();\n var exported = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = source.statements[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var statement = _step.value;\n if (ts.isVariableStatement(statement)) {\n var _statement_modifiers;\n var isExported = (_statement_modifiers = statement.modifiers) === null || _statement_modifiers === void 0 ? void 0 : _statement_modifiers.some(function(modifier) {\n return modifier.kind === ts.SyntaxKind.ExportKeyword;\n });\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = statement.declarationList.declarations[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var declaration = _step1.value;\n if (!ts.isIdentifier(declaration.name) || !declaration.initializer) continue;\n var name = declaration.name.text;\n var initializer = declaration.initializer;\n if (isExported && ts.isCallExpression(initializer)) {\n var initializerText = initializer.getText(source);\n if (name === \"mutate\" && initializerText.startsWith(\"mutations(\") || name === \"where\" && initializerText.startsWith(\"serverWhere(\") || name === \"schema\" && initializerText.startsWith(\"table(\")) {\n return {\n model: true,\n query: false\n };\n }\n }\n if (ts.isArrowFunction(initializer) || ts.isFunctionExpression(initializer)) {\n functions.set(name, initializer.body);\n if (isExported) exported.add(name);\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n continue;\n }\n if (ts.isFunctionDeclaration(statement) && statement.name && statement.body) {\n var _statement_modifiers1;\n functions.set(statement.name.text, statement.body);\n if ((_statement_modifiers1 = statement.modifiers) === null || _statement_modifiers1 === void 0 ? void 0 : _statement_modifiers1.some(function(modifier) {\n return modifier.kind === ts.SyntaxKind.ExportKeyword;\n })) {\n exported.add(statement.name.text);\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var visiting = /* @__PURE__ */ new Set();\n var reachesQuery = function reachesQuery1(node) {\n if (ts.isPropertyAccessExpression(node)) {\n if (ts.isIdentifier(node.expression) && node.expression.text === \"zql\") return true;\n if (ts.isPropertyAccessExpression(node.expression) && node.expression.name.text === \"query\") return true;\n }\n if (ts.isCallExpression(node) && ts.isIdentifier(node.expression)) {\n var name2 = node.expression.text;\n var helper = functions.get(name2);\n if (helper && !visiting.has(name2)) {\n visiting.add(name2);\n var found = reachesQuery(helper);\n visiting.delete(name2);\n if (found) return true;\n }\n }\n var found1 = false;\n node.forEachChild(function(child) {\n if (!found1 && reachesQuery(child)) found1 = true;\n });\n return found1;\n };\n var query = [\n ...exported\n ].some(function(name2) {\n return reachesQuery(functions.get(name2));\n });\n return {\n model: false,\n query\n };\n}\nfunction mutationTable(project, path, namespace) {\n var source = project.sourceFile(path);\n var schemaTable = null;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = source.statements[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var statement = _step.value;\n var _statement_modifiers;\n if (!ts.isVariableStatement(statement)) continue;\n if (!((_statement_modifiers = statement.modifiers) === null || _statement_modifiers === void 0 ? void 0 : _statement_modifiers.some(function(modifier) {\n return modifier.kind === ts.SyntaxKind.ExportKeyword;\n }))) {\n continue;\n }\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n var _loop = function() {\n var declaration = _step1.value;\n if (!ts.isIdentifier(declaration.name) || !declaration.initializer) return \"continue\";\n if (declaration.name.text === \"mutate\" && ts.isCallExpression(declaration.initializer)) {\n var firstArgument = declaration.initializer.arguments[0];\n if (firstArgument && ts.isStringLiteral(firstArgument)) {\n return {\n v: firstArgument.text\n };\n }\n }\n if (declaration.name.text !== \"schema\") return \"continue\";\n var visit = function visit1(node) {\n if (ts.isCallExpression(node) && node.expression.getText(source) === \"table\" && node.arguments[0] && ts.isStringLiteral(node.arguments[0])) {\n schemaTable = node.arguments[0].text;\n return;\n }\n node.forEachChild(visit);\n };\n visit(declaration.initializer);\n };\n for (var _iterator1 = statement.declarationList.declarations[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var _ret = _loop();\n if (_type_of(_ret) === \"object\") return _ret.v;\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return schemaTable !== null && schemaTable !== void 0 ? schemaTable : namespace;\n}\nfunction discoverNamespaces(project, baseDir, instance, instanceDirs) {\n var namespaces = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = readdirSync(instance.dir, {\n withFileTypes: true\n }).sort(function(a, b) {\n return a.name.localeCompare(b.name);\n })[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var entry = _step.value;\n if (entry.isFile()) {\n if (!isSourceFile(entry.name) || entry.name === \"on-zero.config.ts\") continue;\n var path = resolve(instance.dir, entry.name);\n var kinds = namespaceExportKinds(project, baseDir, path);\n if (!kinds.model && !kinds.query) continue;\n var name = basename(entry.name, \".ts\");\n namespaces.push({\n name,\n instance: instance.name,\n queryPath: path,\n // a query-only file is not a model, matching the folder layout where a\n // missing mutations.ts leaves modelPath null\n modelPath: kinds.model ? path : null,\n aggregatePath: null,\n table: kinds.model ? mutationTable(project, path, name) : null,\n sourcePaths: [\n path\n ]\n });\n continue;\n }\n if (!entry.isDirectory()) continue;\n var folder = resolve(instance.dir, entry.name);\n if (entry.name === \"generated\" || instanceDirs.has(folder)) continue;\n var queryPath = resolve(folder, \"queries.ts\");\n var modelPath = resolve(folder, \"mutations.ts\");\n var aggregatePath = resolve(folder, \"aggregates.ts\");\n var hasQueries = existsSync(queryPath);\n var hasMutations = existsSync(modelPath);\n var hasAggregates = existsSync(aggregatePath);\n if (!hasQueries && !hasMutations && !hasAggregates) {\n if ([\n \"models\",\n \"mutations\",\n \"queries\"\n ].includes(entry.name) && readdirSync(folder).some(isSourceFile)) {\n 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`);\n }\n continue;\n }\n namespaces.push({\n name: entry.name,\n instance: instance.name,\n queryPath: hasQueries ? queryPath : null,\n modelPath: hasMutations ? modelPath : null,\n aggregatePath: hasAggregates ? aggregatePath : null,\n table: hasMutations ? mutationTable(project, modelPath, entry.name) : null,\n sourcePaths: [\n hasQueries && queryPath,\n hasMutations && modelPath,\n hasAggregates && aggregatePath\n ].filter(function(path2) {\n return Boolean(path2);\n })\n });\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return namespaces;\n}\nfunction metadataPaths(baseDir) {\n var paths = [];\n var relations = resolve(baseDir, \"relations.ts\");\n if (existsSync(relations)) paths.push(relations);\n var databaseDir = resolve(dirname(baseDir), \"database\");\n if (!existsSync(databaseDir)) return paths;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = readdirSync(databaseDir, {\n withFileTypes: true\n })[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var entry = _step.value;\n if (!entry.isFile() || !isSourceFile(entry.name)) continue;\n if (entry.name === \"relations.ts\" || entry.name === \"zeroSchemaInput.ts\" || entry.name.startsWith(\"schema\")) {\n paths.push(resolve(databaseDir, entry.name));\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return paths.sort();\n}\nfunction relationTargets(project, paths) {\n var relations = /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var path = _step.value;\n var source = project.sourceFile(path);\n var visit = function visit1(node) {\n if (!ts.isCallExpression(node) || node.expression.getText(source) !== \"defineRelations\") {\n node.forEachChild(visit);\n return;\n }\n var factory = node.arguments[1];\n if (!factory || !ts.isArrowFunction(factory) && !ts.isFunctionExpression(factory)) return;\n var body = ts.isParenthesizedExpression(factory.body) ? factory.body.expression : factory.body;\n if (!ts.isObjectLiteralExpression(body)) return;\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = body.properties[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var tableProperty = _step2.value;\n var _relations_get;\n if (!ts.isPropertyAssignment(tableProperty) || !ts.isObjectLiteralExpression(tableProperty.initializer)) {\n continue;\n }\n var table = tableProperty.name.getText(source).replace(/^['\"]|['\"]$/g, \"\");\n var tableRelations = (_relations_get = relations.get(table)) !== null && _relations_get !== void 0 ? _relations_get : /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = tableProperty.initializer.properties[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var relationProperty = _step1.value;\n if (!ts.isPropertyAssignment(relationProperty) || !ts.isCallExpression(relationProperty.initializer)) {\n continue;\n }\n var expression = relationProperty.initializer.expression;\n if (!ts.isPropertyAccessExpression(expression)) continue;\n var name = relationProperty.name.getText(source).replace(/^['\"]|['\"]$/g, \"\");\n tableRelations.set(name, expression.name.text);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n relations.set(table, tableRelations);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n };\n visit(source);\n };\n for (var _iterator = paths.filter(function(path) {\n return basename(path) === \"relations.ts\";\n })[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return relations;\n}\nfunction tableColumns(project, paths, namespaces) {\n var columns = /* @__PURE__ */ new Map();\n var sources = /* @__PURE__ */ new Set([\n ...paths,\n ...namespaces.flatMap(function(namespace) {\n return namespace.sourcePaths;\n })\n ]);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var path = _step.value;\n var source = project.sourceFile(path);\n var visit = function visit1(node) {\n if (!ts.isVariableDeclaration(node) || !ts.isIdentifier(node.name) || !node.initializer) {\n node.forEachChild(visit);\n return;\n }\n var tableNames = /* @__PURE__ */ new Set([\n node.name.text\n ]);\n var foundColumns = null;\n var inspect = function inspect1(candidate) {\n if (!ts.isCallExpression(candidate)) {\n candidate.forEachChild(inspect);\n return;\n }\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = candidate.arguments[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var argument = _step3.value;\n if (ts.isStringLiteral(argument) && /table/i.test(candidate.expression.getText(source))) {\n tableNames.add(argument.text);\n }\n if (ts.isObjectLiteralExpression(argument)) foundColumns = argument;\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n inspect(candidate.expression);\n };\n inspect(node.initializer);\n if (foundColumns) {\n var names = new Set(foundColumns.properties.map(function(property) {\n var _property_name;\n return ts.isSpreadAssignment(property) ? null : (_property_name = property.name) === null || _property_name === void 0 ? void 0 : _property_name.getText(source).replace(/^['\"]|['\"]$/g, \"\");\n }).filter(function(name) {\n return Boolean(name);\n }));\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = tableNames[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var tableName = _step2.value;\n columns.set(tableName, names);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n node.forEachChild(visit);\n };\n visit(source);\n };\n for (var _iterator = sources[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return columns;\n}\nfunction queriedTables(project, namespace, relations) {\n if (!namespace.queryPath) return [];\n var source = project.sourceFile(namespace.queryPath);\n var reached = [];\n var functions = /* @__PURE__ */ new Map();\n var exported = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = source.statements[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var statement = _step.value;\n if (ts.isVariableStatement(statement)) {\n var _statement_modifiers;\n var isExported = (_statement_modifiers = statement.modifiers) === null || _statement_modifiers === void 0 ? void 0 : _statement_modifiers.some(function(modifier) {\n return modifier.kind === ts.SyntaxKind.ExportKeyword;\n });\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = statement.declarationList.declarations[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var declaration = _step1.value;\n if (ts.isIdentifier(declaration.name) && declaration.initializer && (ts.isArrowFunction(declaration.initializer) || ts.isFunctionExpression(declaration.initializer))) {\n functions.set(declaration.name.text, declaration.initializer.body);\n if (isExported) exported.add(declaration.name.text);\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n } else if (ts.isFunctionDeclaration(statement) && statement.name && statement.body) {\n var _statement_modifiers1;\n functions.set(statement.name.text, statement.body);\n if ((_statement_modifiers1 = statement.modifiers) === null || _statement_modifiers1 === void 0 ? void 0 : _statement_modifiers1.some(function(modifier) {\n return modifier.kind === ts.SyntaxKind.ExportKeyword;\n })) {\n exported.add(statement.name.text);\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var rootTable = function rootTable2(node) {\n var _ref;\n var _text_match;\n var text = node.getText(source);\n return (_ref = (_text_match = text.match(/(?:\\bzql|\\.query)\\.([A-Za-z_$][\\w$]*)/)) === null || _text_match === void 0 ? void 0 : _text_match[1]) !== null && _ref !== void 0 ? _ref : null;\n };\n var visiting = /* @__PURE__ */ new Set();\n var visit = function visit1(node, currentTable, query) {\n if (ts.isCallExpression(node) && ts.isPropertyAccessExpression(node.expression) && node.expression.name.text === \"related\") {\n var _rootTable;\n var _relations_get;\n var nameArg = node.arguments[0];\n if (!nameArg || !ts.isStringLiteral(nameArg)) {\n throw new Error(`[on-zero] ${namespace.name}.${query} uses related() without a string literal; sync membership must be statically derivable`);\n }\n var sourceTable = (_rootTable = rootTable(node.expression.expression)) !== null && _rootTable !== void 0 ? _rootTable : currentTable;\n var target = (_relations_get = relations.get(sourceTable)) === null || _relations_get === void 0 ? void 0 : _relations_get.get(nameArg.text);\n if (!target) {\n throw new Error(`[on-zero] ${namespace.name}.${query} related('${nameArg.text}') cannot be resolved from table '${sourceTable}' through relations.ts`);\n }\n reached.push({\n table: target,\n query,\n root: false\n });\n visit(node.expression.expression, currentTable, query);\n var callback = node.arguments[1];\n if (callback && (ts.isArrowFunction(callback) || ts.isFunctionExpression(callback))) {\n visit(callback.body, target, query);\n }\n return;\n }\n if (ts.isCallExpression(node) && ts.isIdentifier(node.expression)) {\n var helper = functions.get(node.expression.text);\n var key = `${query}:${node.expression.text}`;\n if (helper && !visiting.has(key)) {\n visiting.add(key);\n var helperRoot = rootTable(helper);\n if (helperRoot) reached.push({\n table: helperRoot,\n query,\n root: true\n });\n visit(helper, helperRoot !== null && helperRoot !== void 0 ? helperRoot : currentTable, query);\n visiting.delete(key);\n }\n }\n node.forEachChild(function(child) {\n return visit(child, currentTable, query);\n });\n };\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = exported[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var name = _step2.value;\n if ([\n \"mutate\",\n \"schema\",\n \"where\"\n ].includes(name)) continue;\n var body = functions.get(name);\n var queryRoot = rootTable(body);\n if (queryRoot) reached.push({\n table: queryRoot,\n query: name,\n root: true\n });\n visit(body, queryRoot !== null && queryRoot !== void 0 ? queryRoot : namespace.name, name);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n return reached;\n}\nfunction aggregateTables(project, namespace) {\n if (!namespace.aggregatePath) return [];\n var source = project.sourceFile(namespace.aggregatePath);\n var unwrap = function unwrap2(node) {\n var current = node;\n while (ts.isSatisfiesExpression(current) || ts.isAsExpression(current) || ts.isParenthesizedExpression(current)) {\n current = current.expression;\n }\n return current;\n };\n var tables = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = source.statements[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var statement = _step.value;\n var _statement_modifiers;\n if (!ts.isVariableStatement(statement)) continue;\n if (!((_statement_modifiers = statement.modifiers) === null || _statement_modifiers === void 0 ? void 0 : _statement_modifiers.some(function(modifier) {\n return modifier.kind === ts.SyntaxKind.ExportKeyword;\n }))) {\n continue;\n }\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = statement.declarationList.declarations[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var declaration = _step1.value;\n if (!ts.isIdentifier(declaration.name) || declaration.name.text !== \"aggregates\" || !declaration.initializer) {\n continue;\n }\n var definitions = unwrap(declaration.initializer);\n if (!ts.isObjectLiteralExpression(definitions)) {\n throw new Error(`[on-zero] ${namespace.aggregatePath} must export aggregates as an object literal`);\n }\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = definitions.properties[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var _loop = function(_i2, _iter2) {\n var fieldName = _iter2[_i2];\n var field = definition.properties.find(function(candidate) {\n return ts.isPropertyAssignment(candidate) && propertyName(candidate.name) === fieldName;\n });\n if (!field || !ts.isStringLiteral(unwrap(field.initializer))) {\n throw new Error(`[on-zero] ${namespace.aggregatePath} aggregate ${property.name.getText(source)} ${fieldName} must be a string literal`);\n }\n tables.add(unwrap(field.initializer).text);\n };\n var property = _step2.value;\n if (!ts.isPropertyAssignment(property)) {\n throw new Error(`[on-zero] ${namespace.aggregatePath} aggregate definitions must use explicit properties`);\n }\n var definition = unwrap(property.initializer);\n if (!ts.isObjectLiteralExpression(definition)) {\n throw new Error(`[on-zero] ${namespace.aggregatePath} aggregate ${property.name.getText(source)} must be an object literal`);\n }\n for (var _i = 0, _iter = [\n \"source\",\n \"target\"\n ]; _i < _iter.length; _i++) _loop(_i, _iter);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return [\n ...tables\n ].sort();\n}\nfunction mutationSupportTables(project, baseDir, sourceRoots, namespace) {\n if (!namespace.modelPath) return [];\n var tables = /* @__PURE__ */ new Set();\n var visited = /* @__PURE__ */ new Set();\n var scan = function scan1(path) {\n if (visited.has(path)) return;\n visited.add(path);\n var source = project.sourceFile(path);\n var visit = function visit1(node) {\n if (ts.isPropertyAccessExpression(node) && ts.isPropertyAccessExpression(node.expression) && [\n \"mutate\",\n \"query\"\n ].includes(node.expression.name.text)) {\n var transaction = node.expression.expression;\n if (ts.isIdentifier(transaction) && transaction.text === \"tx\" || ts.isPropertyAccessExpression(transaction) && transaction.name.text === \"tx\") {\n tables.add(node.name.text);\n }\n }\n if ((ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) && node.moduleSpecifier && ts.isStringLiteral(node.moduleSpecifier)) {\n var specifier = node.moduleSpecifier.text;\n var unresolved = specifier.startsWith(\"~/data/\") ? resolve(baseDir, specifier.slice(\"~/data/\".length)) : specifier.startsWith(\".\") ? resolve(dirname(path), specifier) : null;\n if (unresolved) {\n var _loop = function(_i2, _iter2) {\n var candidate = _iter2[_i2];\n if (existsSync(candidate) && sourceRoots.some(function(root) {\n return isWithin(root, candidate);\n })) {\n scan(candidate);\n return \"break\";\n }\n };\n for (var _i = 0, _iter = [\n unresolved.endsWith(\".ts\") ? unresolved : `${unresolved}.ts`,\n resolve(unresolved, \"index.ts\")\n ]; _i < _iter.length; _i++) {\n var _ret = _loop(_i, _iter);\n if (_ret === \"break\") break;\n }\n }\n }\n node.forEachChild(visit);\n };\n visit(source);\n };\n scan(namespace.modelPath);\n return [\n ...tables\n ].sort();\n}\nfunction assertNoInstanceFiles(roots) {\n var visited = /* @__PURE__ */ new Set();\n var walk = function walk1(dir) {\n if (visited.has(dir) || !existsSync(dir)) return;\n visited.add(dir);\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = readdirSync(dir, {\n withFileTypes: true\n })[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var entry = _step2.value;\n if (entry.name === \"node_modules\" || entry.name === \"generated\") continue;\n var path = resolve(dir, entry.name);\n if (entry.isDirectory()) {\n walk(path);\n } else if (entry.isFile() && entry.name === \"instance.ts\") {\n throw new Error(`[on-zero] ${path} uses removed instance.ts configuration; delete it and configure instances in on-zero.config.ts`);\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = roots[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var root = _step.value;\n walk(root);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction assertNoUnclaimedNamespaces(project, baseDir, configPath, instanceDirs) {\n var walk = function walk1(dir) {\n if (instanceDirs.some(function(instanceDir) {\n return isWithin(instanceDir, dir);\n })) return;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = readdirSync(dir, {\n withFileTypes: true\n })[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var entry = _step.value;\n if (entry.name === \"node_modules\" || entry.name === \"generated\") continue;\n var path = resolve(dir, entry.name);\n if (entry.isDirectory()) {\n walk(path);\n continue;\n }\n if (!entry.isFile() || !isSourceFile(entry.name) || path === configPath || entry.name === \"instance.ts\") {\n continue;\n }\n var kinds = namespaceExportKinds(project, baseDir, path);\n if (kinds.model || kinds.query) {\n throw new Error(`[on-zero] data namespace ${path} is outside every instance directory declared in ${configPath}`);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n };\n walk(baseDir);\n}\nfunction discoverDataLayout(project, baseDir, configPath) {\n var _ref;\n var config = readDataConfig(project, baseDir, configPath);\n var configured = (_ref = config === null || config === void 0 ? void 0 : config.instances) !== null && _ref !== void 0 ? _ref : [\n {\n name: \"default\",\n dir: baseDir,\n scope: null,\n supportTables: []\n }\n ];\n var sourceRoots = [\n .../* @__PURE__ */ new Set([\n baseDir,\n ...configured.map(function(instance2) {\n return instance2.dir;\n })\n ])\n ];\n assertNoInstanceFiles(sourceRoots);\n if (config) {\n assertNoUnclaimedNamespaces(project, baseDir, config.path, configured.map(function(instance2) {\n return instance2.dir;\n }));\n }\n var instances = configured.map(function(instance2) {\n return {\n name: instance2.name,\n dir: instance2.dir,\n scope: instance2.scope,\n namespaces: [],\n tables: [],\n syncTables: [],\n supportTables: [],\n declaredSupportTables: instance2.supportTables\n };\n });\n var instanceDirs = new Set(instances.map(function(instance2) {\n return instance2.dir;\n }));\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = instances[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var instance = _step.value;\n instance.namespaces = discoverNamespaces(project, baseDir, instance, instanceDirs);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var namespaces = instances.flatMap(function(instance2) {\n return instance2.namespaces;\n });\n var namespaceOwners = /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = namespaces[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var namespace = _step1.value;\n var owner = namespaceOwners.get(namespace.name);\n if (owner) {\n throw new Error(`[on-zero] namespace '${namespace.name}' is claimed by instances '${owner}' and '${namespace.instance}'`);\n }\n namespaceOwners.set(namespace.name, namespace.instance);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n var tableOwners = /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = namespaces[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var namespace1 = _step2.value;\n if (namespace1.table === null) continue;\n var owner1 = tableOwners.get(namespace1.table);\n if (owner1 && owner1 !== namespace1.instance) {\n throw new Error(`[on-zero] table '${namespace1.table}' is claimed by instances '${owner1}' and '${namespace1.instance}'`);\n }\n tableOwners.set(namespace1.table, namespace1.instance);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n var metadata = metadataPaths(baseDir);\n var relations = relationTargets(project, metadata);\n var columns = tableColumns(project, metadata, namespaces);\n var relatedOwners = /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = instances[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var instance1 = _step3.value;\n var tables = new Set(instance1.namespaces.map(function(namespace3) {\n return namespace3.table;\n }).filter(function(table2) {\n return table2 !== null;\n }));\n var syncTables = new Set(tables);\n var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;\n try {\n for (var _iterator4 = instance1.namespaces[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var namespace2 = _step4.value;\n var _iteratorNormalCompletion5 = true, _didIteratorError5 = false, _iteratorError5 = void 0;\n try {\n for (var _iterator5 = aggregateTables(project, namespace2)[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var table = _step5.value;\n var _tableOwners_get;\n var owner2 = (_tableOwners_get = tableOwners.get(table)) !== null && _tableOwners_get !== void 0 ? _tableOwners_get : relatedOwners.get(table);\n if (owner2 && owner2 !== instance1.name) {\n throw new Error(`[on-zero] ${namespace2.name} aggregates in instance '${instance1.name}' reach table '${table}' owned by instance '${owner2}'`);\n }\n relatedOwners.set(table, instance1.name);\n tables.add(table);\n syncTables.add(table);\n }\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5.return != null) {\n _iterator5.return();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n var _iteratorNormalCompletion6 = true, _didIteratorError6 = false, _iteratorError6 = void 0;\n try {\n for (var _iterator6 = queriedTables(project, namespace2, relations)[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {\n var reached = _step6.value;\n var _tableOwners_get1;\n var owner3 = (_tableOwners_get1 = tableOwners.get(reached.table)) !== null && _tableOwners_get1 !== void 0 ? _tableOwners_get1 : relatedOwners.get(reached.table);\n if (owner3 && owner3 !== instance1.name) {\n throw new Error(`[on-zero] ${namespace2.name}.${reached.query} in instance '${instance1.name}' reaches table '${reached.table}' owned by instance '${owner3}'`);\n }\n relatedOwners.set(reached.table, instance1.name);\n if (reached.root) tables.add(reached.table);\n syncTables.add(reached.table);\n }\n } catch (err) {\n _didIteratorError6 = true;\n _iteratorError6 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion6 && _iterator6.return != null) {\n _iterator6.return();\n }\n } finally {\n if (_didIteratorError6) {\n throw _iteratorError6;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n instance1.tables = [\n ...tables\n ].sort();\n instance1.syncTables = [\n ...syncTables\n ].sort();\n if (instance1.scope) {\n var _iteratorNormalCompletion7 = true, _didIteratorError7 = false, _iteratorError7 = void 0;\n try {\n for (var _iterator7 = instance1.syncTables[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {\n var table1 = _step7.value;\n var _columns_get;\n if (!((_columns_get = columns.get(table1)) === null || _columns_get === void 0 ? void 0 : _columns_get.has(instance1.scope))) {\n throw new Error(`[on-zero] table '${table1}' in instance '${instance1.name}' is missing scope column '${instance1.scope}'`);\n }\n }\n } catch (err) {\n _didIteratorError7 = true;\n _iteratorError7 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion7 && _iterator7.return != null) {\n _iterator7.return();\n }\n } finally {\n if (_didIteratorError7) {\n throw _iteratorError7;\n }\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n var _iteratorNormalCompletion8 = true, _didIteratorError8 = false, _iteratorError8 = void 0;\n try {\n var _loop = function() {\n var instance2 = _step8.value;\n var supportTables = new Set(instance2.declaredSupportTables);\n var _iteratorNormalCompletion9 = true, _didIteratorError9 = false, _iteratorError9 = void 0;\n try {\n for (var _iterator9 = instance2.namespaces[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {\n var namespace3 = _step9.value;\n var _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;\n try {\n for (var _iterator12 = mutationSupportTables(project, baseDir, sourceRoots, namespace3)[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {\n var table2 = _step12.value;\n if (tableOwners.has(table2) || relatedOwners.has(table2)) continue;\n if (!instance2.syncTables.includes(table2)) {\n supportTables.add(table2);\n }\n }\n } catch (err) {\n _didIteratorError12 = true;\n _iteratorError12 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion12 && _iterator12.return != null) {\n _iterator12.return();\n }\n } finally {\n if (_didIteratorError12) {\n throw _iteratorError12;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError9 = true;\n _iteratorError9 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion9 && _iterator9.return != null) {\n _iterator9.return();\n }\n } finally {\n if (_didIteratorError9) {\n throw _iteratorError9;\n }\n }\n }\n instance2.supportTables = [\n ...supportTables\n ].filter(function(table3) {\n return !instance2.syncTables.includes(table3);\n }).sort();\n };\n for (var _iterator8 = instances[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) _loop();\n } catch (err) {\n _didIteratorError8 = true;\n _iteratorError8 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion8 && _iterator8.return != null) {\n _iterator8.return();\n }\n } finally {\n if (_didIteratorError8) {\n throw _iteratorError8;\n }\n }\n }\n return {\n instances,\n namespaces,\n metadataPaths: config ? [\n ...metadata,\n config.path\n ].sort() : metadata,\n sourceRoots\n };\n}\nfunction namespaceImportPath(baseDir, path) {\n return `../${toImportPath(baseDir, path)}`;\n}\nexport {\n discoverDataLayout,\n namespaceImportPath\n};\n//# sourceMappingURL=generate-layout.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CRUD_MUTATION_NAMES, generateAggregatesFile, generateGroupedQueriesFile, generateInstancesFile, generateModelsFile, generateReadmeFile, generateSyncedMutationsFile, generateSyncedQueriesFile, generateTablesFile, generateTypesFile, parseColumnType, parseTypeString, renderDrizzleSchemaInputModule, renderDrizzleZeroSqliteSchemaModule } from "./generate-helpers
|
|
1
|
+
import { CRUD_MUTATION_NAMES, generateAggregatesFile, generateGroupedQueriesFile, generateInstancesFile, generateModelsFile, generateReadmeFile, generateSyncedMutationsFile, generateSyncedQueriesFile, generateTablesFile, generateTypesFile, parseColumnType, parseTypeString, renderDrizzleSchemaInputModule, renderDrizzleZeroSqliteSchemaModule } from "./generate-helpers";
|
|
2
2
|
function stripTrailingSlash(s) {
|
|
3
3
|
return s.endsWith("/") ? s.slice(0, -1) : s;
|
|
4
4
|
}
|