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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","generate_layout_exports","__export","discoverDataLayout","namespaceImportPath","module","exports","import_fs","require","import_path","isSourceFile","isSourceFile2","name","endsWith","toImportPath","toImportPath2","baseDir","path","relative","split","sep","join","replace","isWithin","isWithin2","root","child","startsWith","propertyName","ts","isIdentifier","isStringLiteral","isNumericLiteral","text","readDataConfig","configPath","resolve","existsSync","Error","dirname","source","createSourceFile","readFileSync","ScriptTarget","Latest","hasParseErrors","config","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","statements","Symbol","iterator","_step","next","done","statement","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","statSync","isDirectory","found","_iterator3","length","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_loop1","_step4","duplicate","find","candidate","_iterator4","_source_parseDiagnostics","Boolean","parseDiagnostics","namespaceExportKinds","none","model","query","displayPath","console","warn","functions","exported","isVariableStatement","_statement_modifiers","isExported","modifiers","modifier","kind","SyntaxKind","ExportKeyword","declarationList","declarations","declaration","initializerText","isArrowFunction","isFunctionExpression","body","isFunctionDeclaration","_statement_modifiers1","visiting","reachesQuery","reachesQuery1","node","isPropertyAccessExpression","helper","delete","found1","forEachChild","discoverNamespaces","instanceDirs","namespaces","readdirSync","withFileTypes","sort","a","b","localeCompare","entry","isFile","kinds","basename","queryPath","modelPath","sourcePaths","folder","hasQueries","hasMutations","includes","filter","path2","metadataPaths","paths","relations","databaseDir","relationTargets","visit","visit1","factory","isParenthesizedExpression","tableProperty","_relations_get","tableRelations","relationProperty","tableColumns","columns","sources","flatMap","namespace","isVariableDeclaration","tableNames","foundColumns","inspect","inspect1","argument","test","names","map","_property_name"],"sources":["../../src/generate-layout.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","generate_layout_exports","discoverDataLayout","namespaceImportPath","module","exports","import_fs","require","import_path","_type_of","obj","Symbol","constructor","isSourceFile","isSourceFile2","endsWith","toImportPath","toImportPath2","baseDir","path","relative","split","sep","join","replace","isWithin","isWithin2","root","child","startsWith","propertyName","ts","isIdentifier","isStringLiteral","isNumericLiteral","text","readDataConfig","configPath","resolve","existsSync","Error","dirname","source","createSourceFile","readFileSync","ScriptTarget","Latest","hasParseErrors","config","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","statements","iterator","_step","next","done","statement","isExportAssignment","isExportEquals","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","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","statSync","isDirectory","_iterator3","length","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_loop1","_step4","duplicate","find","candidate","_iterator4","_source_parseDiagnostics","Boolean","parseDiagnostics","namespaceExportKinds","none","model","query","displayPath","console","warn","functions","exported","isVariableStatement","_statement_modifiers","isExported","modifiers","modifier","kind","SyntaxKind","ExportKeyword","declarationList","declarations","declaration","initializerText","isArrowFunction","isFunctionExpression","body","isFunctionDeclaration","_statement_modifiers1","visiting","reachesQuery","reachesQuery1","node","isPropertyAccessExpression","helper","found","delete","found1","forEachChild","mutationTable","namespace","schemaTable","firstArgument","isStringLiteralLike","v","visit","visit1","_ret","discoverNamespaces","instanceDirs","namespaces","readdirSync","withFileTypes","sort","a","b","localeCompare","entry","isFile","kinds","basename","queryPath","modelPath","aggregatePath","sourcePaths","folder","hasQueries","hasMutations","hasAggregates","includes","filter","path2","metadataPaths","paths","relations","databaseDir","relationTargets","factory","isParenthesizedExpression","tableProperty","_relations_get","tableRelations","relationProperty","tableColumns","columns","sources","flatMap","isVariableDeclaration","tableNames","foundColumns","inspect","inspect1","argument","test","names","map","_property_name","tableName","queriedTables","reached","rootTable","rootTable2","_ref","_text_match","match","currentTable","_rootTable","nameArg","sourceTable","callback","helperRoot","queryRoot","mutationSupportTables","sourceRoots","tables","visited","scan","scan1","transaction","isImportDeclaration","isExportDeclaration","moduleSpecifier","specifier","unresolved","slice","_i2","_iter2","_i","_iter","assertNoInstanceFiles","roots","walk","walk1","assertNoUnclaimedNamespaces","instanceDir","configured","instance2","syncTables","declaredSupportTables","namespaceOwners","owner","tableOwners","namespace1","owner1","metadata","relatedOwners","instance1","namespace3","table2","namespace2","_tableOwners_get","owner2","_iteratorNormalCompletion6","_didIteratorError6","_iteratorError6","_iterator6","_step6","_columns_get","_iteratorNormalCompletion7","_didIteratorError7","_iteratorError7","_step7","_iteratorNormalCompletion8","_didIteratorError8","_iteratorError8","_iterator8","_step8","table3","_iterator7"],"sources":["generate-layout.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar generate_layout_exports = {};\n__export(generate_layout_exports, {\n discoverDataLayout: () => discoverDataLayout,\n namespaceImportPath: () => namespaceImportPath\n});\nmodule.exports = __toCommonJS(generate_layout_exports);\nvar import_fs = require(\"fs\");\nvar import_path = require(\"path\");\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 (0, import_path.relative)(baseDir, path).split(import_path.sep).join(\"/\").replace(/\\.ts$/, \"\");\n};\nvar isWithin = function isWithin2(root, path) {\n var child = (0, import_path.relative)(root, path);\n return child === \"\" || child !== \"..\" && !child.startsWith(`..${import_path.sep}`);\n};\nfunction propertyName(ts, name) {\n if (ts.isIdentifier(name) || ts.isStringLiteral(name) || ts.isNumericLiteral(name)) {\n return name.text;\n }\n return null;\n}\nfunction readDataConfig(ts, baseDir, configPath) {\n var path = configPath ? (0, import_path.resolve)(configPath) : (0, import_path.resolve)(baseDir, \"on-zero.config.ts\");\n if (!(0, import_fs.existsSync)(path)) {\n if (configPath) throw new Error(`[on-zero] config file does not exist: ${path}`);\n return null;\n }\n if ((0, import_path.dirname)(path) !== baseDir) {\n throw new Error(`[on-zero] ${path} must be at the data root ${baseDir}`);\n }\n var source = ts.createSourceFile(path, (0, import_fs.readFileSync)(path, \"utf8\"), ts.ScriptTarget.Latest, true);\n if (hasParseErrors(source)) 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(ts, 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(ts, 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 = (0, import_path.resolve)((0, import_path.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(ts, 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 = (0, import_path.resolve)((0, import_path.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 (!(0, import_fs.existsSync)(dir) || !(0, import_fs.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 hasParseErrors(source) {\n var _source_parseDiagnostics;\n return Boolean((_source_parseDiagnostics = source.parseDiagnostics) === null || _source_parseDiagnostics === void 0 ? void 0 : _source_parseDiagnostics.length);\n}\nfunction namespaceExportKinds(ts, baseDir, path) {\n var none = {\n model: false,\n query: false\n };\n var source = ts.createSourceFile(path, (0, import_fs.readFileSync)(path, \"utf8\"), ts.ScriptTarget.Latest, true);\n if (hasParseErrors(source)) {\n var displayPath = (0, import_path.relative)((0, import_path.dirname)(baseDir), path).split(import_path.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 ts.forEachChild(node, 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(ts, path, namespace) {\n var source = ts.createSourceFile(path, (0, import_fs.readFileSync)(path, \"utf8\"), ts.ScriptTarget.Latest, true);\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.isStringLiteralLike(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.isStringLiteralLike(node.arguments[0])) {\n schemaTable = node.arguments[0].text;\n return;\n }\n ts.forEachChild(node, 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(ts, baseDir, instance, instanceDirs) {\n var namespaces = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = (0, import_fs.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 = (0, import_path.resolve)(instance.dir, entry.name);\n var kinds = namespaceExportKinds(ts, baseDir, path);\n if (!kinds.model && !kinds.query) continue;\n var name = (0, import_path.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(ts, path, name) : null,\n sourcePaths: [\n path\n ]\n });\n continue;\n }\n if (!entry.isDirectory()) continue;\n var folder = (0, import_path.resolve)(instance.dir, entry.name);\n if (entry.name === \"generated\" || instanceDirs.has(folder)) continue;\n var queryPath = (0, import_path.resolve)(folder, \"queries.ts\");\n var modelPath = (0, import_path.resolve)(folder, \"mutations.ts\");\n var aggregatePath = (0, import_path.resolve)(folder, \"aggregates.ts\");\n var hasQueries = (0, import_fs.existsSync)(queryPath);\n var hasMutations = (0, import_fs.existsSync)(modelPath);\n var hasAggregates = (0, import_fs.existsSync)(aggregatePath);\n if (!hasQueries && !hasMutations && !hasAggregates) {\n if ([\n \"models\",\n \"mutations\",\n \"queries\"\n ].includes(entry.name) && (0, import_fs.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(ts, 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 = (0, import_path.resolve)(baseDir, \"relations.ts\");\n if ((0, import_fs.existsSync)(relations)) paths.push(relations);\n var databaseDir = (0, import_path.resolve)((0, import_path.dirname)(baseDir), \"database\");\n if (!(0, import_fs.existsSync)(databaseDir)) return paths;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = (0, import_fs.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((0, import_path.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(ts, 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 = ts.createSourceFile(path, (0, import_fs.readFileSync)(path, \"utf8\"), ts.ScriptTarget.Latest, true);\n var visit = function visit1(node) {\n if (!ts.isCallExpression(node) || node.expression.getText(source) !== \"defineRelations\") {\n ts.forEachChild(node, 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 (0, import_path.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(ts, 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 = ts.createSourceFile(path, (0, import_fs.readFileSync)(path, \"utf8\"), ts.ScriptTarget.Latest, true);\n var visit = function visit1(node) {\n if (!ts.isVariableDeclaration(node) || !ts.isIdentifier(node.name) || !node.initializer) {\n ts.forEachChild(node, 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 ts.forEachChild(candidate, 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 (_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 ts.forEachChild(node, 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(ts, namespace, relations) {\n if (!namespace.queryPath) return [];\n var source = ts.createSourceFile(namespace.queryPath, (0, import_fs.readFileSync)(namespace.queryPath, \"utf8\"), ts.ScriptTarget.Latest, true);\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 ts.forEachChild(node, 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 mutationSupportTables(ts, 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 = ts.createSourceFile(path, (0, import_fs.readFileSync)(path, \"utf8\"), ts.ScriptTarget.Latest, true);\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/\") ? (0, import_path.resolve)(baseDir, specifier.slice(\"~/data/\".length)) : specifier.startsWith(\".\") ? (0, import_path.resolve)((0, import_path.dirname)(path), specifier) : null;\n if (unresolved) {\n var _loop = function(_i2, _iter2) {\n var candidate = _iter2[_i2];\n if ((0, import_fs.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 (0, import_path.resolve)(unresolved, \"index.ts\")\n ]; _i < _iter.length; _i++) {\n var _ret = _loop(_i, _iter);\n if (_ret === \"break\") break;\n }\n }\n }\n ts.forEachChild(node, 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) || !(0, import_fs.existsSync)(dir)) return;\n visited.add(dir);\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = (0, import_fs.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 = (0, import_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(ts, 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 = (0, import_fs.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 = (0, import_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(ts, 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(ts, baseDir, configPath) {\n var _ref;\n var config = readDataConfig(ts, 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(ts, 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(ts, 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(ts, metadata);\n var columns = tableColumns(ts, 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 = queriedTables(ts, namespace2, relations)[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var reached = _step5.value;\n var _tableOwners_get;\n var owner2 = (_tableOwners_get = tableOwners.get(reached.table)) !== null && _tableOwners_get !== void 0 ? _tableOwners_get : relatedOwners.get(reached.table);\n if (owner2 && owner2 !== instance1.name) {\n throw new Error(`[on-zero] ${namespace2.name}.${reached.query} in instance '${instance1.name}' reaches table '${reached.table}' owned by instance '${owner2}'`);\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 _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 }\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 _iteratorNormalCompletion6 = true, _didIteratorError6 = false, _iteratorError6 = void 0;\n try {\n for (var _iterator6 = instance1.syncTables[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {\n var table = _step6.value;\n var _columns_get;\n if (!((_columns_get = columns.get(table)) === null || _columns_get === void 0 ? void 0 : _columns_get.has(instance1.scope))) {\n throw new Error(`[on-zero] table '${table}' in instance '${instance1.name}' is missing scope column '${instance1.scope}'`);\n }\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 }\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 _iteratorNormalCompletion7 = true, _didIteratorError7 = false, _iteratorError7 = void 0;\n try {\n var _loop = function() {\n var instance2 = _step7.value;\n var supportTables = new Set(instance2.declaredSupportTables);\n var _iteratorNormalCompletion8 = true, _didIteratorError8 = false, _iteratorError8 = void 0;\n try {\n for (var _iterator8 = instance2.namespaces[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {\n var namespace3 = _step8.value;\n var _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;\n try {\n for (var _iterator12 = mutationSupportTables(ts, 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 _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 instance2.supportTables = [\n ...supportTables\n ].filter(function(table3) {\n return !instance2.syncTables.includes(table3);\n }).sort();\n };\n for (var _iterator7 = instances[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) _loop();\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 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}\n//# sourceMappingURL=generate-layout.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -169,7 +169,8 @@ function discoverLiteLayout(files, baseDir, parse, explicitConfigPath) {
|
|
|
169
169
|
name: baseName(path, ".ts"),
|
|
170
170
|
instance: instance.name,
|
|
171
171
|
queryPath: path,
|
|
172
|
-
modelPath: path
|
|
172
|
+
modelPath: path,
|
|
173
|
+
aggregatePath: null
|
|
173
174
|
});
|
|
174
175
|
}
|
|
175
176
|
const prefix = `${instance.dir}/`;
|
|
@@ -184,7 +185,8 @@ function discoverLiteLayout(files, baseDir, parse, explicitConfigPath) {
|
|
|
184
185
|
if (folder === `${baseDir}/generated` || instanceDirs.has(folder)) continue;
|
|
185
186
|
const queries = `${folder}/queries.ts`;
|
|
186
187
|
const mutations = `${folder}/mutations.ts`;
|
|
187
|
-
|
|
188
|
+
const aggregates = `${folder}/aggregates.ts`;
|
|
189
|
+
if (!(queries in files) && !(mutations in files) && !(aggregates in files)) {
|
|
188
190
|
const oldName = baseName(folder);
|
|
189
191
|
if (["models", "mutations", "queries"].includes(oldName) && listDirectTsFiles(files, folder).length > 0) {
|
|
190
192
|
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`);
|
|
@@ -195,7 +197,8 @@ function discoverLiteLayout(files, baseDir, parse, explicitConfigPath) {
|
|
|
195
197
|
name: baseName(folder),
|
|
196
198
|
instance: instance.name,
|
|
197
199
|
queryPath: queries in files ? queries : null,
|
|
198
|
-
modelPath: mutations in files ? mutations : null
|
|
200
|
+
modelPath: mutations in files ? mutations : null,
|
|
201
|
+
aggregatePath: aggregates in files ? aggregates : null
|
|
199
202
|
});
|
|
200
203
|
}
|
|
201
204
|
}
|
|
@@ -234,12 +237,14 @@ function generateLite(opts) {
|
|
|
234
237
|
}
|
|
235
238
|
const allModelMutations = [];
|
|
236
239
|
const modelNamesWithSchema = [];
|
|
240
|
+
const modelTables = /* @__PURE__ */new Map();
|
|
237
241
|
for (const namespace of modelNamespaces) {
|
|
238
242
|
const filePath = namespace.modelPath;
|
|
239
243
|
const modelName = namespace.name;
|
|
240
244
|
const content = files[filePath];
|
|
241
245
|
const parsed = parse(content, filePath);
|
|
242
246
|
const mutationExport = parsed.mutations[0] ?? null;
|
|
247
|
+
modelTables.set(modelName, mutationExport?.modelName || mutationExport?.schema?.tableName || modelName);
|
|
243
248
|
const columns = {};
|
|
244
249
|
const primaryKeys = [];
|
|
245
250
|
let hasSchema = false;
|
|
@@ -335,12 +340,20 @@ function generateLite(opts) {
|
|
|
335
340
|
});
|
|
336
341
|
}
|
|
337
342
|
}
|
|
338
|
-
const owners = new Map(
|
|
343
|
+
const owners = /* @__PURE__ */new Map();
|
|
344
|
+
for (const namespace of modelNamespaces) {
|
|
345
|
+
const table = modelTables.get(namespace.name);
|
|
346
|
+
const owner = owners.get(table);
|
|
347
|
+
if (owner && owner !== namespace.instance) {
|
|
348
|
+
throw new Error(`[on-zero] table '${table}' is claimed by instances '${owner}' and '${namespace.instance}'`);
|
|
349
|
+
}
|
|
350
|
+
owners.set(table, namespace.instance);
|
|
351
|
+
}
|
|
339
352
|
const relatedOwners = /* @__PURE__ */new Map();
|
|
340
353
|
const directTables = /* @__PURE__ */new Map();
|
|
341
354
|
const syncTables = /* @__PURE__ */new Map();
|
|
342
355
|
for (const instance of instances) {
|
|
343
|
-
const direct = new Set(instance.namespaces.filter(namespace => namespace.modelPath !== null).map(namespace => namespace.name));
|
|
356
|
+
const direct = new Set(instance.namespaces.filter(namespace => namespace.modelPath !== null).map(namespace => modelTables.get(namespace.name)));
|
|
344
357
|
const synced = new Set(direct);
|
|
345
358
|
for (const namespace of instance.namespaces) {
|
|
346
359
|
for (const query of queryPaths.get(namespace.name) ?? []) {
|
|
@@ -439,6 +452,13 @@ function generateLite(opts) {
|
|
|
439
452
|
if (allModelMutations.length > 0) {
|
|
440
453
|
out["syncedMutations.ts"] = (0, import_generate_helpers.generateSyncedMutationsFile)(allModelMutations);
|
|
441
454
|
}
|
|
455
|
+
const aggregateNamespaces = namespaces.filter(namespace => namespace.aggregatePath !== null);
|
|
456
|
+
if (aggregateNamespaces.length > 0) {
|
|
457
|
+
out["aggregates.ts"] = (0, import_generate_helpers.generateAggregatesFile)(aggregateNamespaces.map(namespace => ({
|
|
458
|
+
name: namespace.name,
|
|
459
|
+
importPath: `../${relativePath(baseDir, namespace.aggregatePath).replace(/\.ts$/, "")}`
|
|
460
|
+
})));
|
|
461
|
+
}
|
|
442
462
|
let mutationCount = 0;
|
|
443
463
|
for (const m of allModelMutations) {
|
|
444
464
|
if (m.hasCRUD) mutationCount += 3;
|