on-zero 0.4.3 → 0.4.4
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 +46 -41
- package/dist/cjs/cli.native.js +48 -43
- package/dist/cjs/cli.native.js.map +1 -1
- package/dist/cjs/constants.cjs +14 -12
- package/dist/cjs/constants.native.js +14 -12
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/createPermissions.cjs +66 -34
- package/dist/cjs/createPermissions.native.js +143 -87
- package/dist/cjs/createPermissions.native.js.map +1 -1
- package/dist/cjs/createSchemaFromDrizzle.cjs +15 -13
- package/dist/cjs/createSchemaFromDrizzle.native.js +15 -13
- package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
- package/dist/cjs/createUseQuery.cjs +48 -35
- package/dist/cjs/createUseQuery.native.js +52 -38
- package/dist/cjs/createUseQuery.native.js.map +1 -1
- package/dist/cjs/createZeroClient.cjs +177 -135
- package/dist/cjs/createZeroClient.native.js +246 -195
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/createZeroServer.cjs +175 -129
- package/dist/cjs/createZeroServer.native.js +170 -138
- package/dist/cjs/createZeroServer.native.js.map +1 -1
- package/dist/cjs/generate-helpers.cjs +122 -88
- package/dist/cjs/generate-helpers.native.js +209 -174
- package/dist/cjs/generate-helpers.native.js.map +1 -1
- package/dist/cjs/generate-lite.cjs +90 -58
- package/dist/cjs/generate-lite.native.js +200 -140
- package/dist/cjs/generate-lite.native.js.map +1 -1
- package/dist/cjs/generate-lite.test.cjs +229 -192
- package/dist/cjs/generate-lite.test.native.js +229 -194
- package/dist/cjs/generate-lite.test.native.js.map +1 -1
- package/dist/cjs/generate.cjs +455 -291
- package/dist/cjs/generate.native.js +747 -565
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/generate.test.cjs +170 -106
- package/dist/cjs/generate.test.native.js +171 -107
- package/dist/cjs/generate.test.native.js.map +1 -1
- package/dist/cjs/helpers/batchQuery.cjs +29 -18
- package/dist/cjs/helpers/batchQuery.native.js +36 -21
- package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
- package/dist/cjs/helpers/clearZeroClientData.cjs +30 -21
- package/dist/cjs/helpers/clearZeroClientData.native.js +42 -33
- package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.cjs +80 -42
- package/dist/cjs/helpers/createMutators.native.js +139 -87
- package/dist/cjs/helpers/createMutators.native.js.map +1 -1
- package/dist/cjs/helpers/didRunPermissionCheck.cjs +19 -13
- package/dist/cjs/helpers/didRunPermissionCheck.native.js +22 -20
- package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +1 -1
- package/dist/cjs/helpers/ensureLoggedIn.cjs +16 -13
- package/dist/cjs/helpers/ensureLoggedIn.native.js +21 -18
- package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
- package/dist/cjs/helpers/getAuth.cjs +25 -15
- package/dist/cjs/helpers/getAuth.native.js +25 -15
- package/dist/cjs/helpers/getAuth.native.js.map +1 -1
- package/dist/cjs/helpers/mutatorContext.cjs +21 -14
- package/dist/cjs/helpers/mutatorContext.native.js +21 -15
- package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
- package/dist/cjs/helpers/prettyFormatZeroQuery.cjs +126 -81
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js +135 -92
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
- package/dist/cjs/helpers/queryContext.cjs +12 -10
- package/dist/cjs/helpers/queryContext.native.js +16 -13
- package/dist/cjs/helpers/queryContext.native.js.map +1 -1
- package/dist/cjs/helpers/showZeroClientError.cjs +24 -19
- package/dist/cjs/helpers/showZeroClientError.native.js +38 -34
- package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
- package/dist/cjs/helpers/useZeroDebug.cjs +82 -49
- package/dist/cjs/helpers/useZeroDebug.native.js +83 -55
- package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
- package/dist/cjs/index.cjs +17 -15
- package/dist/cjs/index.native.js +17 -15
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/modelRegistry.cjs +12 -10
- package/dist/cjs/modelRegistry.native.js +12 -10
- package/dist/cjs/modelRegistry.native.js.map +1 -1
- package/dist/cjs/mutations.cjs +66 -42
- package/dist/cjs/mutations.native.js +68 -46
- package/dist/cjs/mutations.native.js.map +1 -1
- package/dist/cjs/queryRegistry.cjs +13 -10
- package/dist/cjs/queryRegistry.native.js +14 -11
- package/dist/cjs/queryRegistry.native.js.map +1 -1
- package/dist/cjs/resolveQuery.cjs +22 -18
- package/dist/cjs/resolveQuery.native.js +32 -28
- package/dist/cjs/resolveQuery.native.js.map +1 -1
- package/dist/cjs/run.cjs +35 -28
- package/dist/cjs/run.native.js +35 -29
- package/dist/cjs/run.native.js.map +1 -1
- package/dist/cjs/server.cjs +7 -5
- package/dist/cjs/serverWhere.cjs +13 -11
- package/dist/cjs/serverWhere.native.js +13 -11
- package/dist/cjs/serverWhere.native.js.map +1 -1
- package/dist/cjs/serverWhere.test.cjs +83 -55
- package/dist/cjs/serverWhere.test.native.js +72 -50
- package/dist/cjs/serverWhere.test.native.js.map +1 -1
- package/dist/cjs/state.cjs +49 -44
- package/dist/cjs/state.native.js +56 -53
- package/dist/cjs/state.native.js.map +1 -1
- package/dist/cjs/types.cjs +7 -5
- package/dist/cjs/types.native.js +7 -5
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/usePermission.test.cjs +58 -45
- package/dist/cjs/usePermission.test.native.js +59 -48
- package/dist/cjs/usePermission.test.native.js.map +1 -1
- package/dist/cjs/vite-plugin.cjs +41 -21
- package/dist/cjs/vite-plugin.native.js +61 -47
- package/dist/cjs/vite-plugin.native.js.map +1 -1
- package/dist/cjs/where.cjs +39 -24
- package/dist/cjs/where.native.js +44 -29
- package/dist/cjs/where.native.js.map +1 -1
- package/dist/cjs/zeroRunner.cjs +18 -12
- package/dist/cjs/zeroRunner.native.js +22 -16
- package/dist/cjs/zeroRunner.native.js.map +1 -1
- package/dist/cjs/zql.cjs +14 -11
- package/dist/cjs/zql.native.js +19 -17
- package/dist/cjs/zql.native.js.map +1 -1
- package/dist/esm/cli.mjs +43 -38
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/cli.native.js +44 -39
- package/dist/esm/cli.native.js.map +1 -1
- package/dist/esm/constants.mjs +2 -2
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js +2 -2
- package/dist/esm/constants.native.js.map +1 -1
- package/dist/esm/createPermissions.mjs +48 -18
- package/dist/esm/createPermissions.mjs.map +1 -1
- package/dist/esm/createPermissions.native.js +125 -71
- package/dist/esm/createPermissions.native.js.map +1 -1
- package/dist/esm/createUseQuery.mjs +32 -21
- package/dist/esm/createUseQuery.mjs.map +1 -1
- package/dist/esm/createUseQuery.native.js +36 -24
- package/dist/esm/createUseQuery.native.js.map +1 -1
- package/dist/esm/createZeroClient.mjs +148 -108
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +217 -168
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroServer.mjs +148 -104
- package/dist/esm/createZeroServer.mjs.map +1 -1
- package/dist/esm/createZeroServer.native.js +143 -113
- package/dist/esm/createZeroServer.native.js.map +1 -1
- package/dist/esm/generate-helpers.mjs +110 -78
- package/dist/esm/generate-helpers.mjs.map +1 -1
- package/dist/esm/generate-helpers.native.js +197 -164
- package/dist/esm/generate-helpers.native.js.map +1 -1
- package/dist/esm/generate-lite.mjs +78 -48
- package/dist/esm/generate-lite.mjs.map +1 -1
- package/dist/esm/generate-lite.native.js +188 -130
- package/dist/esm/generate-lite.native.js.map +1 -1
- package/dist/esm/generate-lite.test.mjs +227 -190
- package/dist/esm/generate-lite.test.mjs.map +1 -1
- package/dist/esm/generate-lite.test.native.js +227 -192
- package/dist/esm/generate-lite.test.native.js.map +1 -1
- package/dist/esm/generate.mjs +427 -265
- package/dist/esm/generate.mjs.map +1 -1
- package/dist/esm/generate.native.js +718 -538
- package/dist/esm/generate.native.js.map +1 -1
- package/dist/esm/generate.test.mjs +165 -101
- package/dist/esm/generate.test.mjs.map +1 -1
- package/dist/esm/generate.test.native.js +165 -101
- package/dist/esm/generate.test.native.js.map +1 -1
- package/dist/esm/helpers/batchQuery.mjs +17 -8
- package/dist/esm/helpers/batchQuery.mjs.map +1 -1
- package/dist/esm/helpers/batchQuery.native.js +24 -11
- package/dist/esm/helpers/batchQuery.native.js.map +1 -1
- package/dist/esm/helpers/clearZeroClientData.mjs +18 -11
- package/dist/esm/helpers/clearZeroClientData.mjs.map +1 -1
- package/dist/esm/helpers/clearZeroClientData.native.js +30 -23
- package/dist/esm/helpers/clearZeroClientData.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.mjs +53 -17
- package/dist/esm/helpers/createMutators.mjs.map +1 -1
- package/dist/esm/helpers/createMutators.native.js +112 -62
- package/dist/esm/helpers/createMutators.native.js.map +1 -1
- package/dist/esm/helpers/didRunPermissionCheck.mjs +7 -3
- package/dist/esm/helpers/didRunPermissionCheck.mjs.map +1 -1
- package/dist/esm/helpers/didRunPermissionCheck.native.js +9 -9
- package/dist/esm/helpers/didRunPermissionCheck.native.js.map +1 -1
- package/dist/esm/helpers/ensureLoggedIn.mjs +2 -1
- package/dist/esm/helpers/ensureLoggedIn.mjs.map +1 -1
- package/dist/esm/helpers/ensureLoggedIn.native.js +2 -1
- package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
- package/dist/esm/helpers/getAuth.mjs +10 -2
- package/dist/esm/helpers/getAuth.mjs.map +1 -1
- package/dist/esm/helpers/getAuth.native.js +10 -2
- package/dist/esm/helpers/getAuth.native.js.map +1 -1
- package/dist/esm/helpers/mutatorContext.mjs +9 -4
- package/dist/esm/helpers/mutatorContext.mjs.map +1 -1
- package/dist/esm/helpers/mutatorContext.native.js +8 -4
- package/dist/esm/helpers/mutatorContext.native.js.map +1 -1
- package/dist/esm/helpers/prettyFormatZeroQuery.mjs +114 -71
- package/dist/esm/helpers/prettyFormatZeroQuery.mjs.map +1 -1
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js +121 -80
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -1
- package/dist/esm/helpers/queryContext.native.js +2 -1
- package/dist/esm/helpers/queryContext.native.js.map +1 -1
- package/dist/esm/helpers/showZeroClientError.mjs +12 -9
- package/dist/esm/helpers/showZeroClientError.mjs.map +1 -1
- package/dist/esm/helpers/showZeroClientError.native.js +25 -23
- package/dist/esm/helpers/showZeroClientError.native.js.map +1 -1
- package/dist/esm/helpers/useZeroDebug.mjs +67 -36
- package/dist/esm/helpers/useZeroDebug.mjs.map +1 -1
- package/dist/esm/helpers/useZeroDebug.native.js +68 -42
- package/dist/esm/helpers/useZeroDebug.native.js.map +1 -1
- package/dist/esm/mutations.mjs +51 -29
- package/dist/esm/mutations.mjs.map +1 -1
- package/dist/esm/mutations.native.js +53 -33
- package/dist/esm/mutations.native.js.map +1 -1
- package/dist/esm/queryRegistry.mjs +1 -0
- package/dist/esm/queryRegistry.mjs.map +1 -1
- package/dist/esm/queryRegistry.native.js +2 -1
- package/dist/esm/queryRegistry.native.js.map +1 -1
- package/dist/esm/resolveQuery.mjs +10 -8
- package/dist/esm/resolveQuery.mjs.map +1 -1
- package/dist/esm/resolveQuery.native.js +20 -18
- package/dist/esm/resolveQuery.native.js.map +1 -1
- package/dist/esm/run.mjs +21 -16
- package/dist/esm/run.mjs.map +1 -1
- package/dist/esm/run.native.js +20 -16
- package/dist/esm/run.native.js.map +1 -1
- package/dist/esm/serverWhere.mjs +1 -1
- package/dist/esm/serverWhere.mjs.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.mjs +79 -51
- package/dist/esm/serverWhere.test.mjs.map +1 -1
- package/dist/esm/serverWhere.test.native.js +68 -46
- package/dist/esm/serverWhere.test.native.js.map +1 -1
- package/dist/esm/state.mjs +35 -32
- package/dist/esm/state.mjs.map +1 -1
- package/dist/esm/state.native.js +41 -40
- package/dist/esm/state.native.js.map +1 -1
- package/dist/esm/usePermission.test.mjs +53 -40
- package/dist/esm/usePermission.test.mjs.map +1 -1
- package/dist/esm/usePermission.test.native.js +54 -43
- package/dist/esm/usePermission.test.native.js.map +1 -1
- package/dist/esm/vite-plugin.mjs +27 -9
- package/dist/esm/vite-plugin.mjs.map +1 -1
- package/dist/esm/vite-plugin.native.js +47 -35
- package/dist/esm/vite-plugin.native.js.map +1 -1
- package/dist/esm/where.mjs +24 -11
- package/dist/esm/where.mjs.map +1 -1
- package/dist/esm/where.native.js +29 -16
- package/dist/esm/where.native.js.map +1 -1
- package/dist/esm/zeroRunner.mjs +6 -2
- package/dist/esm/zeroRunner.mjs.map +1 -1
- package/dist/esm/zeroRunner.native.js +8 -4
- package/dist/esm/zeroRunner.native.js.map +1 -1
- package/dist/esm/zql.mjs +2 -1
- package/dist/esm/zql.mjs.map +1 -1
- package/dist/esm/zql.native.js.map +1 -1
- package/package.json +3 -3
|
@@ -8,7 +8,8 @@ function getModelImportName(name) {
|
|
|
8
8
|
return name === "user" ? "userPublic" : name;
|
|
9
9
|
}
|
|
10
10
|
function parseTypeString(type) {
|
|
11
|
-
|
|
11
|
+
type = type.trim();
|
|
12
|
+
if (type === "string") return "v.string()";
|
|
12
13
|
if (type === "number") return "v.number()";
|
|
13
14
|
if (type === "boolean") return "v.boolean()";
|
|
14
15
|
if (type === "void" || type === "undefined") return "v.void_()";
|
|
@@ -17,38 +18,42 @@ function parseTypeString(type) {
|
|
|
17
18
|
if (type.startsWith("{") && type.endsWith("}")) {
|
|
18
19
|
var inner = type.slice(1, -1).trim();
|
|
19
20
|
if (!inner) return "v.object({})";
|
|
20
|
-
var normalized = inner.replace(/\n/g, "; ").replace(/;\s*;/g, ";")
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
_didIteratorError =
|
|
21
|
+
var normalized = inner.replace(/\n/g, "; ").replace(/;\s*;/g, ";");
|
|
22
|
+
var entries = [];
|
|
23
|
+
var _iteratorNormalCompletion = true,
|
|
24
|
+
_didIteratorError = false,
|
|
24
25
|
_iteratorError = void 0;
|
|
25
26
|
try {
|
|
26
|
-
for (var _iterator = normalized.split(";")[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion =
|
|
27
|
-
var part = _step.value
|
|
28
|
-
|
|
29
|
-
if (trimmed)
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
27
|
+
for (var _iterator = normalized.split(";")[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
28
|
+
var part = _step.value;
|
|
29
|
+
var trimmed = part.trim().replace(/,\s*$/, "");
|
|
30
|
+
if (!trimmed) continue;
|
|
31
|
+
var match = trimmed.match(/^(?:readonly\s+)?(\w+)(\?)?:\s*(.+)$/);
|
|
32
|
+
if (!match) continue;
|
|
33
|
+
var [, name, opt, typeStr] = match;
|
|
34
|
+
var parsed = parseTypeString(typeStr.trim());
|
|
35
|
+
if (!parsed) return null;
|
|
36
|
+
var val = parsed;
|
|
37
|
+
if (opt) val = `v.optional(${val})`;
|
|
38
|
+
entries.push(`${formatObjectKey(name)}: ${val}`);
|
|
39
39
|
}
|
|
40
40
|
} catch (err) {
|
|
41
|
-
_didIteratorError =
|
|
41
|
+
_didIteratorError = true;
|
|
42
|
+
_iteratorError = err;
|
|
42
43
|
} finally {
|
|
43
44
|
try {
|
|
44
|
-
!_iteratorNormalCompletion && _iterator.return != null
|
|
45
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
46
|
+
_iterator.return();
|
|
47
|
+
}
|
|
45
48
|
} finally {
|
|
46
|
-
if (_didIteratorError)
|
|
49
|
+
if (_didIteratorError) {
|
|
50
|
+
throw _iteratorError;
|
|
51
|
+
}
|
|
47
52
|
}
|
|
48
53
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
54
|
+
if (entries.length === 0) return "v.object({})";
|
|
55
|
+
return `v.object({
|
|
56
|
+
${entries.join(",\n ")},
|
|
52
57
|
})`;
|
|
53
58
|
}
|
|
54
59
|
if (type.endsWith("[]")) {
|
|
@@ -58,19 +63,17 @@ function parseTypeString(type) {
|
|
|
58
63
|
return null;
|
|
59
64
|
}
|
|
60
65
|
function generateModelsFile(modelNames, modelsDirName) {
|
|
61
|
-
var sorted = [...modelNames].sort()
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
modelsObj = `export const models = {
|
|
66
|
+
var sorted = [...modelNames].sort();
|
|
67
|
+
var imports = sorted.map(function (name) {
|
|
68
|
+
return `import * as ${getModelImportName(name)} from '../${modelsDirName}/${name}'`;
|
|
69
|
+
}).join("\n");
|
|
70
|
+
var sortedByImportName = [...sorted].sort(function (a, b) {
|
|
71
|
+
return getModelImportName(a).localeCompare(getModelImportName(b));
|
|
72
|
+
});
|
|
73
|
+
var modelsObj = `export const models = {
|
|
70
74
|
${sortedByImportName.map(function (name) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
`)}
|
|
75
|
+
return ` ${getModelImportName(name)},`;
|
|
76
|
+
}).join("\n")}
|
|
74
77
|
}`;
|
|
75
78
|
return `// auto-generated by: on-zero generate
|
|
76
79
|
${imports}
|
|
@@ -79,15 +82,13 @@ ${modelsObj}
|
|
|
79
82
|
`;
|
|
80
83
|
}
|
|
81
84
|
function generateTypesFile(modelNames) {
|
|
82
|
-
var sorted = [...modelNames].sort()
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
var sorted = [...modelNames].sort();
|
|
86
|
+
var typeExports = sorted.map(function (name) {
|
|
87
|
+
var pascalName = name.charAt(0).toUpperCase() + name.slice(1);
|
|
88
|
+
var schemaName = getModelImportName(name);
|
|
89
|
+
return `export type ${pascalName} = TableInsertRow<typeof schema.${schemaName}>
|
|
87
90
|
export type ${pascalName}Update = TableUpdateRow<typeof schema.${schemaName}>`;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
`);
|
|
91
|
+
}).join("\n\n");
|
|
91
92
|
return `import type { TableInsertRow, TableUpdateRow } from 'on-zero'
|
|
92
93
|
import type * as schema from './tables'
|
|
93
94
|
|
|
@@ -95,11 +96,10 @@ ${typeExports}
|
|
|
95
96
|
`;
|
|
96
97
|
}
|
|
97
98
|
function generateTablesFile(modelNames, modelsDirName) {
|
|
98
|
-
var sorted = [...modelNames].sort()
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
`);
|
|
99
|
+
var sorted = [...modelNames].sort();
|
|
100
|
+
var exports = sorted.map(function (name) {
|
|
101
|
+
return `export { schema as ${getModelImportName(name)} } from '../${modelsDirName}/${name}'`;
|
|
102
|
+
}).join("\n");
|
|
103
103
|
return `// auto-generated by: on-zero generate
|
|
104
104
|
|
|
105
105
|
${exports}
|
|
@@ -167,12 +167,11 @@ see the [on-zero readme](./node_modules/on-zero/README.md) for full documentatio
|
|
|
167
167
|
}
|
|
168
168
|
function generateGroupedQueriesFile(queries) {
|
|
169
169
|
var sortedFiles = [...new Set(queries.map(function (q) {
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
`);
|
|
170
|
+
return q.sourceFile;
|
|
171
|
+
}))].sort();
|
|
172
|
+
var exports = sortedFiles.map(function (file) {
|
|
173
|
+
return `export * as ${file} from '../queries/${file}'`;
|
|
174
|
+
}).join("\n");
|
|
176
175
|
return `/**
|
|
177
176
|
* auto-generated by: on-zero generate
|
|
178
177
|
*
|
|
@@ -184,59 +183,63 @@ ${exports}
|
|
|
184
183
|
`;
|
|
185
184
|
}
|
|
186
185
|
function generateSyncedQueriesFile(queries) {
|
|
187
|
-
var queryByFile = /* @__PURE__ */new Map()
|
|
188
|
-
|
|
189
|
-
_didIteratorError =
|
|
186
|
+
var queryByFile = /* @__PURE__ */new Map();
|
|
187
|
+
var _iteratorNormalCompletion = true,
|
|
188
|
+
_didIteratorError = false,
|
|
190
189
|
_iteratorError = void 0;
|
|
191
190
|
try {
|
|
192
|
-
for (var _iterator = queries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion =
|
|
191
|
+
for (var _iterator = queries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
193
192
|
var q = _step.value;
|
|
194
|
-
queryByFile.has(q.sourceFile)
|
|
193
|
+
if (!queryByFile.has(q.sourceFile)) {
|
|
194
|
+
queryByFile.set(q.sourceFile, []);
|
|
195
|
+
}
|
|
196
|
+
queryByFile.get(q.sourceFile).push(q);
|
|
195
197
|
}
|
|
196
198
|
} catch (err) {
|
|
197
|
-
_didIteratorError =
|
|
199
|
+
_didIteratorError = true;
|
|
200
|
+
_iteratorError = err;
|
|
198
201
|
} finally {
|
|
199
202
|
try {
|
|
200
|
-
!_iteratorNormalCompletion && _iterator.return != null
|
|
203
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
204
|
+
_iterator.return();
|
|
205
|
+
}
|
|
201
206
|
} finally {
|
|
202
|
-
if (_didIteratorError)
|
|
207
|
+
if (_didIteratorError) {
|
|
208
|
+
throw _iteratorError;
|
|
209
|
+
}
|
|
203
210
|
}
|
|
204
211
|
}
|
|
205
|
-
var sortedFiles = Array.from(queryByFile.keys()).sort()
|
|
206
|
-
|
|
212
|
+
var sortedFiles = Array.from(queryByFile.keys()).sort();
|
|
213
|
+
var imports = `// auto-generated by: on-zero generate
|
|
207
214
|
// server-side query definitions with validators
|
|
208
215
|
import { defineQuery, defineQueries } from '@rocicorp/zero'
|
|
209
216
|
import * as v from 'valibot'
|
|
210
217
|
import * as Queries from './groupedQueries'
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
218
|
+
`;
|
|
219
|
+
var namespaceDefs = sortedFiles.map(function (file) {
|
|
220
|
+
var fileQueries = queryByFile.get(file).sort(function (a, b) {
|
|
221
|
+
return a.name.localeCompare(b.name);
|
|
222
|
+
});
|
|
223
|
+
var queryDefs = fileQueries.map(function (q2) {
|
|
224
|
+
var validatorDef = q2.valibotCode.trim();
|
|
225
|
+
if (q2.params === "void" || !validatorDef) {
|
|
226
|
+
return ` ${q2.name}: defineQuery(() => Queries.${file}.${q2.name}()),`;
|
|
227
|
+
}
|
|
228
|
+
var indentedValidator = validatorDef.split("\n").map(function (line, i) {
|
|
229
|
+
return i === 0 ? line : ` ${line}`;
|
|
230
|
+
}).join("\n");
|
|
231
|
+
return ` ${q2.name}: defineQuery(
|
|
225
232
|
${indentedValidator},
|
|
226
233
|
({ args }) => Queries.${file}.${q2.name}(args)
|
|
227
234
|
),`;
|
|
228
|
-
|
|
229
|
-
`
|
|
230
|
-
return `const ${file} = {
|
|
235
|
+
}).join("\n");
|
|
236
|
+
return `const ${file} = {
|
|
231
237
|
${queryDefs}
|
|
232
238
|
}`;
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
`
|
|
236
|
-
|
|
237
|
-
return ` ${file},`;
|
|
238
|
-
}).join(`
|
|
239
|
-
`);
|
|
239
|
+
}).join("\n\n");
|
|
240
|
+
var queriesObject = sortedFiles.map(function (file) {
|
|
241
|
+
return ` ${file},`;
|
|
242
|
+
}).join("\n");
|
|
240
243
|
return `${imports}
|
|
241
244
|
${namespaceDefs}
|
|
242
245
|
|
|
@@ -269,83 +272,102 @@ function columnTypeToValibot(col) {
|
|
|
269
272
|
function schemaColumnsToValibot(columns, primaryKeys, mode) {
|
|
270
273
|
var entries = [];
|
|
271
274
|
if (mode === "delete") {
|
|
272
|
-
var _iteratorNormalCompletion =
|
|
273
|
-
_didIteratorError =
|
|
275
|
+
var _iteratorNormalCompletion = true,
|
|
276
|
+
_didIteratorError = false,
|
|
274
277
|
_iteratorError = void 0;
|
|
275
278
|
try {
|
|
276
|
-
for (var _iterator = primaryKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion =
|
|
277
|
-
var pk = _step.value
|
|
278
|
-
|
|
279
|
-
col
|
|
279
|
+
for (var _iterator = primaryKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
280
|
+
var pk = _step.value;
|
|
281
|
+
var col = columns[pk];
|
|
282
|
+
if (col) entries.push(`${formatObjectKey(pk)}: ${columnTypeToValibot({
|
|
280
283
|
...col,
|
|
281
|
-
optional:
|
|
284
|
+
optional: false
|
|
282
285
|
})}`);
|
|
283
286
|
}
|
|
284
287
|
} catch (err) {
|
|
285
|
-
_didIteratorError =
|
|
288
|
+
_didIteratorError = true;
|
|
289
|
+
_iteratorError = err;
|
|
286
290
|
} finally {
|
|
287
291
|
try {
|
|
288
|
-
!_iteratorNormalCompletion && _iterator.return != null
|
|
292
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
293
|
+
_iterator.return();
|
|
294
|
+
}
|
|
289
295
|
} finally {
|
|
290
|
-
if (_didIteratorError)
|
|
296
|
+
if (_didIteratorError) {
|
|
297
|
+
throw _iteratorError;
|
|
298
|
+
}
|
|
291
299
|
}
|
|
292
300
|
}
|
|
293
301
|
} else if (mode === "update") {
|
|
294
|
-
var _iteratorNormalCompletion1 =
|
|
295
|
-
_didIteratorError1 =
|
|
302
|
+
var _iteratorNormalCompletion1 = true,
|
|
303
|
+
_didIteratorError1 = false,
|
|
296
304
|
_iteratorError1 = void 0;
|
|
297
305
|
try {
|
|
298
|
-
for (var _iterator1 = Object.entries(columns)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 =
|
|
299
|
-
var [name, col1] = _step1.value
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
306
|
+
for (var _iterator1 = Object.entries(columns)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
307
|
+
var [name, col1] = _step1.value;
|
|
308
|
+
var isPK = primaryKeys.includes(name);
|
|
309
|
+
if (isPK) {
|
|
310
|
+
entries.push(`${formatObjectKey(name)}: ${columnTypeToValibot({
|
|
311
|
+
...col1,
|
|
312
|
+
optional: false
|
|
313
|
+
})}`);
|
|
314
|
+
} else {
|
|
315
|
+
entries.push(`${formatObjectKey(name)}: ${columnTypeToValibot({
|
|
316
|
+
...col1,
|
|
317
|
+
optional: true
|
|
318
|
+
})}`);
|
|
319
|
+
}
|
|
308
320
|
}
|
|
309
321
|
} catch (err) {
|
|
310
|
-
_didIteratorError1 =
|
|
322
|
+
_didIteratorError1 = true;
|
|
323
|
+
_iteratorError1 = err;
|
|
311
324
|
} finally {
|
|
312
325
|
try {
|
|
313
|
-
!_iteratorNormalCompletion1 && _iterator1.return != null
|
|
326
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
327
|
+
_iterator1.return();
|
|
328
|
+
}
|
|
314
329
|
} finally {
|
|
315
|
-
if (_didIteratorError1)
|
|
330
|
+
if (_didIteratorError1) {
|
|
331
|
+
throw _iteratorError1;
|
|
332
|
+
}
|
|
316
333
|
}
|
|
317
334
|
}
|
|
318
335
|
} else {
|
|
319
|
-
var _iteratorNormalCompletion2 =
|
|
320
|
-
_didIteratorError2 =
|
|
336
|
+
var _iteratorNormalCompletion2 = true,
|
|
337
|
+
_didIteratorError2 = false,
|
|
321
338
|
_iteratorError2 = void 0;
|
|
322
339
|
try {
|
|
323
|
-
for (var _iterator2 = Object.entries(columns)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 =
|
|
340
|
+
for (var _iterator2 = Object.entries(columns)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
|
324
341
|
var [name1, col2] = _step2.value;
|
|
325
342
|
entries.push(`${formatObjectKey(name1)}: ${columnTypeToValibot(col2)}`);
|
|
326
343
|
}
|
|
327
344
|
} catch (err) {
|
|
328
|
-
_didIteratorError2 =
|
|
345
|
+
_didIteratorError2 = true;
|
|
346
|
+
_iteratorError2 = err;
|
|
329
347
|
} finally {
|
|
330
348
|
try {
|
|
331
|
-
!_iteratorNormalCompletion2 && _iterator2.return != null
|
|
349
|
+
if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
|
|
350
|
+
_iterator2.return();
|
|
351
|
+
}
|
|
332
352
|
} finally {
|
|
333
|
-
if (_didIteratorError2)
|
|
353
|
+
if (_didIteratorError2) {
|
|
354
|
+
throw _iteratorError2;
|
|
355
|
+
}
|
|
334
356
|
}
|
|
335
357
|
}
|
|
336
358
|
}
|
|
337
359
|
return `v.object({
|
|
338
|
-
${entries.join(
|
|
339
|
-
`)},
|
|
360
|
+
${entries.join(",\n ")},
|
|
340
361
|
})`;
|
|
341
362
|
}
|
|
342
363
|
function extractValibotExpression(valibotCode) {
|
|
343
364
|
return valibotCode.trim() || "v.unknown()";
|
|
344
365
|
}
|
|
345
366
|
function parseColumnType(initText) {
|
|
346
|
-
var optional = initText.includes(".optional()")
|
|
347
|
-
|
|
348
|
-
|
|
367
|
+
var optional = initText.includes(".optional()");
|
|
368
|
+
var type = "string";
|
|
369
|
+
if (initText.startsWith("number(")) type = "number";else if (initText.startsWith("boolean(")) type = "boolean";else if (initText.startsWith("json(") || initText.startsWith("json<")) type = "json";else if (initText.startsWith("enumeration(")) type = "enum";
|
|
370
|
+
return {
|
|
349
371
|
type,
|
|
350
372
|
optional,
|
|
351
373
|
customType: void 0
|
|
@@ -353,51 +375,62 @@ function parseColumnType(initText) {
|
|
|
353
375
|
}
|
|
354
376
|
function generateSyncedMutationsFile(modelMutations) {
|
|
355
377
|
var sorted = [...modelMutations].sort(function (a, b) {
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
_iteratorError = void 0;
|
|
375
|
-
try {
|
|
376
|
-
for (var _iterator = model.custom[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
377
|
-
var mut = _step.value;
|
|
378
|
-
if (!(model.hasCRUD && ["insert", "update", "delete", "upsert"].includes(mut.name))) {
|
|
379
|
-
if (mut.paramType === "void" || !mut.valibotCode) {
|
|
380
|
-
entries.push(` ${mut.name}: v.void_(),`);
|
|
381
|
-
continue;
|
|
382
|
-
}
|
|
383
|
-
entries.push(` ${mut.name}: ${extractValibotExpression(mut.valibotCode)},`);
|
|
378
|
+
return a.modelName.localeCompare(b.modelName);
|
|
379
|
+
});
|
|
380
|
+
var modelDefs = sorted.map(function (model) {
|
|
381
|
+
var entries = [];
|
|
382
|
+
if (model.hasCRUD && Object.keys(model.columns).length > 0) {
|
|
383
|
+
var _loop = function (_i2, _iter2) {
|
|
384
|
+
var mode = _iter2[_i2];
|
|
385
|
+
var hasCustomOverride = model.custom.some(function (m) {
|
|
386
|
+
return m.name === mode;
|
|
387
|
+
});
|
|
388
|
+
if (hasCustomOverride) {
|
|
389
|
+
var customMut = model.custom.find(function (m) {
|
|
390
|
+
return m.name === mode;
|
|
391
|
+
});
|
|
392
|
+
if (customMut.valibotCode) {
|
|
393
|
+
entries.push(` ${mode}: ${extractValibotExpression(customMut.valibotCode)},`);
|
|
394
|
+
} else {
|
|
395
|
+
entries.push(` ${mode}: ${schemaColumnsToValibot(model.columns, model.primaryKeys, mode)},`);
|
|
384
396
|
}
|
|
397
|
+
} else {
|
|
398
|
+
entries.push(` ${mode}: ${schemaColumnsToValibot(model.columns, model.primaryKeys, mode)},`);
|
|
399
|
+
}
|
|
400
|
+
};
|
|
401
|
+
for (var _i = 0, _iter = ["insert", "update", "delete"]; _i < _iter.length; _i++) _loop(_i, _iter);
|
|
402
|
+
}
|
|
403
|
+
var _iteratorNormalCompletion = true,
|
|
404
|
+
_didIteratorError = false,
|
|
405
|
+
_iteratorError = void 0;
|
|
406
|
+
try {
|
|
407
|
+
for (var _iterator = model.custom[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
408
|
+
var mut = _step.value;
|
|
409
|
+
if (model.hasCRUD && ["insert", "update", "delete", "upsert"].includes(mut.name)) continue;
|
|
410
|
+
if (mut.paramType === "void" || !mut.valibotCode) {
|
|
411
|
+
entries.push(` ${mut.name}: v.void_(),`);
|
|
412
|
+
continue;
|
|
413
|
+
}
|
|
414
|
+
entries.push(` ${mut.name}: ${extractValibotExpression(mut.valibotCode)},`);
|
|
415
|
+
}
|
|
416
|
+
} catch (err) {
|
|
417
|
+
_didIteratorError = true;
|
|
418
|
+
_iteratorError = err;
|
|
419
|
+
} finally {
|
|
420
|
+
try {
|
|
421
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
422
|
+
_iterator.return();
|
|
385
423
|
}
|
|
386
|
-
} catch (err) {
|
|
387
|
-
_didIteratorError = !0, _iteratorError = err;
|
|
388
424
|
} finally {
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
} finally {
|
|
392
|
-
if (_didIteratorError) throw _iteratorError;
|
|
425
|
+
if (_didIteratorError) {
|
|
426
|
+
throw _iteratorError;
|
|
393
427
|
}
|
|
394
428
|
}
|
|
395
|
-
|
|
396
|
-
${
|
|
397
|
-
|
|
429
|
+
}
|
|
430
|
+
return ` ${model.modelName}: {
|
|
431
|
+
${entries.join("\n")}
|
|
398
432
|
},`;
|
|
399
|
-
|
|
400
|
-
`);
|
|
433
|
+
}).join("\n");
|
|
401
434
|
return `// auto-generated by: on-zero generate
|
|
402
435
|
// mutation validators derived from model schemas and handler types
|
|
403
436
|
import * as v from 'valibot'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["shouldSkipObjectKey","name","startsWith","formatObjectKey","test","JSON","stringify","getModelImportName","parseTypeString","type","trim","endsWith","inner","slice","normalized","replace","entries","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","split","Symbol","iterator","_step","next","done","part","value","trimmed","match","opt","typeStr","parsed","val","push","err","return","length","join","inner1","generateModelsFile","modelNames","modelsDirName","sorted","sort","imports","map","sortedByImportName","a","b","localeCompare","modelsObj","generateTypesFile","typeExports","pascalName","charAt","toUpperCase","schemaName","generateTablesFile","exports","generateReadmeFile","generateGroupedQueriesFile","queries","sortedFiles","Set","q","sourceFile","file","generateSyncedQueriesFile","queryByFile","Map","has","set","get","Array","from","keys","namespaceDefs","fileQueries","queryDefs","q2","validatorDef","valibotCode","params","indentedValidator","line","i","queriesObject","columnTypeToValibot","col","base","optional","schemaColumnsToValibot","columns","primaryKeys","mode","pk"],"sources":["../../src/generate-helpers.ts"],"sourcesContent":[null],"mappings":"AAkCO,SAASA,oBAAoBC,IAAA,EAAuB;EAGzD,OAAOA,IAAA,CAAKC,UAAA,CAAW,KAAK;AAC9B;AAEO,SAASC,gBAAgBF,IAAA,EAAsB;EACpD,OAAO,qBAAqBG,IAAA,CAAKH,IAAI,IAAIA,IAAA,GAAOI,IAAA,CAAKC,SAAA,CAAUL,IAAI;AACrE;AAGO,SAASM,mBAAmBN,IAAA,EAAsB;EACvD,OAAOA,IAAA,KAAS,SAAS,eAAeA,IAAA;AAC1C;AAQO,SAASO,gBAAgBC,IAAA,EAA6B;
|
|
1
|
+
{"version":3,"names":["shouldSkipObjectKey","name","startsWith","formatObjectKey","test","JSON","stringify","getModelImportName","parseTypeString","type","trim","endsWith","inner","slice","normalized","replace","entries","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","split","Symbol","iterator","_step","next","done","part","value","trimmed","match","opt","typeStr","parsed","val","push","err","return","length","join","inner1","generateModelsFile","modelNames","modelsDirName","sorted","sort","imports","map","sortedByImportName","a","b","localeCompare","modelsObj","generateTypesFile","typeExports","pascalName","charAt","toUpperCase","schemaName","generateTablesFile","exports","generateReadmeFile","generateGroupedQueriesFile","queries","sortedFiles","Set","q","sourceFile","file","generateSyncedQueriesFile","queryByFile","Map","has","set","get","Array","from","keys","namespaceDefs","fileQueries","queryDefs","q2","validatorDef","valibotCode","params","indentedValidator","line","i","queriesObject","columnTypeToValibot","col","base","optional","schemaColumnsToValibot","columns","primaryKeys","mode","pk","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","Object","_step1","col1","isPK","includes"],"sources":["../../src/generate-helpers.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|