on-zero 0.4.7 → 0.4.9

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.
Files changed (49) hide show
  1. package/dist/cjs/createZeroClient.cjs +5 -1
  2. package/dist/cjs/createZeroClient.native.js +5 -1
  3. package/dist/cjs/createZeroClient.native.js.map +1 -1
  4. package/dist/cjs/generate-helpers.cjs +127 -20
  5. package/dist/cjs/generate-helpers.native.js +151 -26
  6. package/dist/cjs/generate-helpers.native.js.map +1 -1
  7. package/dist/cjs/generate-lite.native.js.map +1 -1
  8. package/dist/cjs/generate-lite.test.cjs +114 -0
  9. package/dist/cjs/generate-lite.test.native.js +114 -0
  10. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  11. package/dist/cjs/generate.cjs +9 -1
  12. package/dist/cjs/generate.native.js +9 -1
  13. package/dist/cjs/generate.native.js.map +1 -1
  14. package/dist/cjs/generate.test.cjs +90 -2
  15. package/dist/cjs/generate.test.native.js +90 -2
  16. package/dist/cjs/generate.test.native.js.map +1 -1
  17. package/dist/esm/createZeroClient.mjs +5 -1
  18. package/dist/esm/createZeroClient.mjs.map +1 -1
  19. package/dist/esm/createZeroClient.native.js +5 -1
  20. package/dist/esm/createZeroClient.native.js.map +1 -1
  21. package/dist/esm/generate-helpers.mjs +127 -20
  22. package/dist/esm/generate-helpers.mjs.map +1 -1
  23. package/dist/esm/generate-helpers.native.js +151 -26
  24. package/dist/esm/generate-helpers.native.js.map +1 -1
  25. package/dist/esm/generate-lite.mjs.map +1 -1
  26. package/dist/esm/generate-lite.native.js.map +1 -1
  27. package/dist/esm/generate-lite.test.mjs +114 -0
  28. package/dist/esm/generate-lite.test.mjs.map +1 -1
  29. package/dist/esm/generate-lite.test.native.js +114 -0
  30. package/dist/esm/generate-lite.test.native.js.map +1 -1
  31. package/dist/esm/generate.mjs +9 -1
  32. package/dist/esm/generate.mjs.map +1 -1
  33. package/dist/esm/generate.native.js +9 -1
  34. package/dist/esm/generate.native.js.map +1 -1
  35. package/dist/esm/generate.test.mjs +90 -2
  36. package/dist/esm/generate.test.mjs.map +1 -1
  37. package/dist/esm/generate.test.native.js +90 -2
  38. package/dist/esm/generate.test.native.js.map +1 -1
  39. package/package.json +2 -2
  40. package/src/createZeroClient.tsx +6 -1
  41. package/src/generate-helpers.ts +145 -21
  42. package/src/generate-lite.test.ts +138 -1
  43. package/src/generate-lite.ts +1 -2
  44. package/src/generate.test.ts +99 -2
  45. package/src/generate.ts +11 -3
  46. package/types/createZeroClient.d.ts.map +1 -1
  47. package/types/generate-helpers.d.ts.map +1 -1
  48. package/types/generate-lite.d.ts.map +1 -1
  49. package/types/generate.d.ts.map +1 -1
@@ -53,6 +53,8 @@ const DIR = "/proj/src/data";
53
53
  const models = result.files["models.ts"];
54
54
  (0, import_vitest.expect)(models).toContain("import * as todo from '../models/todo'");
55
55
  (0, import_vitest.expect)(models).toContain("import * as userPublic from '../models/user'");
56
+ (0, import_vitest.expect)(models).toContain("user: userPublic,");
57
+ (0, import_vitest.expect)(models).not.toContain("\n userPublic,");
56
58
  (0, import_vitest.expect)(models).toContain("export const models = {");
57
59
  const syncedMutations = result.files["syncedMutations.ts"];
58
60
  (0, import_vitest.expect)(syncedMutations).toContain("toggle:");
@@ -66,6 +68,94 @@ const DIR = "/proj/src/data";
66
68
  (0, import_vitest.expect)(result.schemaCount).toBe(0);
67
69
  (0, import_vitest.expect)(result.mutationCount).toBe(3);
68
70
  });
71
+ (0, import_vitest.test)("parses newline-separated mutation object types", () => {
72
+ const files = {
73
+ [`${DIR}/models/agentEvent.ts`]: "// fake",
74
+ [`${DIR}/models/deployment.ts`]: "// fake"
75
+ };
76
+ const fixtures = {
77
+ [`${DIR}/models/agentEvent.ts`]: {
78
+ mutations: [{
79
+ modelName: "agentEvent",
80
+ handlers: [{
81
+ name: "claimReviewLease",
82
+ paramTypeText: `{
83
+ id: string
84
+ projectId: string
85
+ createdAt: number
86
+ }`
87
+ }],
88
+ schema: null
89
+ }],
90
+ queries: []
91
+ },
92
+ [`${DIR}/models/deployment.ts`]: {
93
+ mutations: [{
94
+ modelName: "deployment",
95
+ handlers: [{
96
+ name: "deploy",
97
+ paramTypeText: `{
98
+ id: string
99
+ platform?: string // 'web' | 'ios'
100
+ buildTier?: string // 'dev' | 'testflight' | 'production'
101
+ }`
102
+ }],
103
+ schema: null
104
+ }],
105
+ queries: []
106
+ }
107
+ };
108
+ const result = (0, import_generate_lite.generateLite)({
109
+ files,
110
+ dir: DIR,
111
+ parse: makeParse(fixtures)
112
+ });
113
+ const synced = result.files["syncedMutations.ts"];
114
+ (0, import_vitest.expect)(synced).toContain("claimReviewLease:");
115
+ (0, import_vitest.expect)(synced).toContain("projectId: v.string()");
116
+ (0, import_vitest.expect)(synced).toContain("createdAt: v.number()");
117
+ (0, import_vitest.expect)(synced).toContain("deploy:");
118
+ (0, import_vitest.expect)(synced).toContain("platform: v.optional(v.string())");
119
+ (0, import_vitest.expect)(synced).toContain("buildTier: v.optional(v.string())");
120
+ (0, import_vitest.expect)(synced).not.toContain("claimReviewLease: v.object({})");
121
+ (0, import_vitest.expect)(synced).not.toContain("deploy: v.object({})");
122
+ });
123
+ (0, import_vitest.test)("parses object intersections and skips index signatures", () => {
124
+ const files = {
125
+ [`${DIR}/models/agent.ts`]: "// fake"
126
+ };
127
+ const fixtures = {
128
+ [`${DIR}/models/agent.ts`]: {
129
+ mutations: [{
130
+ modelName: "agent",
131
+ handlers: [{
132
+ name: "update",
133
+ paramTypeText: `{
134
+ id: string
135
+ } & {
136
+ status?: string
137
+ currentTaskId?: string
138
+ [key: string]: unknown
139
+ }`
140
+ }],
141
+ schema: null
142
+ }],
143
+ queries: []
144
+ }
145
+ };
146
+ const result = (0, import_generate_lite.generateLite)({
147
+ files,
148
+ dir: DIR,
149
+ parse: makeParse(fixtures)
150
+ });
151
+ const synced = result.files["syncedMutations.ts"];
152
+ (0, import_vitest.expect)(synced).toContain("update:");
153
+ (0, import_vitest.expect)(synced).toContain("id: v.string()");
154
+ (0, import_vitest.expect)(synced).toContain("status: v.optional(v.string())");
155
+ (0, import_vitest.expect)(synced).toContain("currentTaskId: v.optional(v.string())");
156
+ (0, import_vitest.expect)(synced).not.toContain("[key");
157
+ (0, import_vitest.expect)(synced).not.toContain("update: v.object({})");
158
+ });
69
159
  (0, import_vitest.test)("falls back to v.unknown() for type references", () => {
70
160
  const files = {
71
161
  [`${DIR}/models/post.ts`]: "// fake"
@@ -99,6 +189,30 @@ const DIR = "/proj/src/data";
99
189
  (0, import_vitest.expect)(synced).toContain("archive: v.unknown()");
100
190
  (0, import_vitest.expect)(synced).toContain("publish: v.string()");
101
191
  });
192
+ (0, import_vitest.test)("uses v.unknown() for explicitly unknown mutation params", () => {
193
+ const files = {
194
+ [`${DIR}/models/project.ts`]: "// fake"
195
+ };
196
+ const fixtures = {
197
+ [`${DIR}/models/project.ts`]: {
198
+ mutations: [{
199
+ modelName: "project",
200
+ handlers: [{
201
+ name: "insert",
202
+ paramTypeText: "unknown"
203
+ }],
204
+ schema: null
205
+ }],
206
+ queries: []
207
+ }
208
+ };
209
+ const result = (0, import_generate_lite.generateLite)({
210
+ files,
211
+ dir: DIR,
212
+ parse: makeParse(fixtures)
213
+ });
214
+ (0, import_vitest.expect)(result.files["syncedMutations.ts"]).toContain("insert: v.unknown()");
215
+ });
102
216
  (0, import_vitest.test)("emits query files with v.unknown() fallback for references", () => {
103
217
  const files = {
104
218
  [`${DIR}/models/post.ts`]: "// fake",
@@ -55,6 +55,8 @@ var DIR = "/proj/src/data";
55
55
  var models = result.files["models.ts"];
56
56
  (0, import_vitest.expect)(models).toContain("import * as todo from '../models/todo'");
57
57
  (0, import_vitest.expect)(models).toContain("import * as userPublic from '../models/user'");
58
+ (0, import_vitest.expect)(models).toContain("user: userPublic,");
59
+ (0, import_vitest.expect)(models).not.toContain("\n userPublic,");
58
60
  (0, import_vitest.expect)(models).toContain("export const models = {");
59
61
  var syncedMutations = result.files["syncedMutations.ts"];
60
62
  (0, import_vitest.expect)(syncedMutations).toContain("toggle:");
@@ -68,6 +70,94 @@ var DIR = "/proj/src/data";
68
70
  (0, import_vitest.expect)(result.schemaCount).toBe(0);
69
71
  (0, import_vitest.expect)(result.mutationCount).toBe(3);
70
72
  });
73
+ (0, import_vitest.test)("parses newline-separated mutation object types", function () {
74
+ var files = {
75
+ [`${DIR}/models/agentEvent.ts`]: "// fake",
76
+ [`${DIR}/models/deployment.ts`]: "// fake"
77
+ };
78
+ var fixtures = {
79
+ [`${DIR}/models/agentEvent.ts`]: {
80
+ mutations: [{
81
+ modelName: "agentEvent",
82
+ handlers: [{
83
+ name: "claimReviewLease",
84
+ paramTypeText: `{
85
+ id: string
86
+ projectId: string
87
+ createdAt: number
88
+ }`
89
+ }],
90
+ schema: null
91
+ }],
92
+ queries: []
93
+ },
94
+ [`${DIR}/models/deployment.ts`]: {
95
+ mutations: [{
96
+ modelName: "deployment",
97
+ handlers: [{
98
+ name: "deploy",
99
+ paramTypeText: `{
100
+ id: string
101
+ platform?: string // 'web' | 'ios'
102
+ buildTier?: string // 'dev' | 'testflight' | 'production'
103
+ }`
104
+ }],
105
+ schema: null
106
+ }],
107
+ queries: []
108
+ }
109
+ };
110
+ var result = (0, import_generate_lite.generateLite)({
111
+ files,
112
+ dir: DIR,
113
+ parse: makeParse(fixtures)
114
+ });
115
+ var synced = result.files["syncedMutations.ts"];
116
+ (0, import_vitest.expect)(synced).toContain("claimReviewLease:");
117
+ (0, import_vitest.expect)(synced).toContain("projectId: v.string()");
118
+ (0, import_vitest.expect)(synced).toContain("createdAt: v.number()");
119
+ (0, import_vitest.expect)(synced).toContain("deploy:");
120
+ (0, import_vitest.expect)(synced).toContain("platform: v.optional(v.string())");
121
+ (0, import_vitest.expect)(synced).toContain("buildTier: v.optional(v.string())");
122
+ (0, import_vitest.expect)(synced).not.toContain("claimReviewLease: v.object({})");
123
+ (0, import_vitest.expect)(synced).not.toContain("deploy: v.object({})");
124
+ });
125
+ (0, import_vitest.test)("parses object intersections and skips index signatures", function () {
126
+ var files = {
127
+ [`${DIR}/models/agent.ts`]: "// fake"
128
+ };
129
+ var fixtures = {
130
+ [`${DIR}/models/agent.ts`]: {
131
+ mutations: [{
132
+ modelName: "agent",
133
+ handlers: [{
134
+ name: "update",
135
+ paramTypeText: `{
136
+ id: string
137
+ } & {
138
+ status?: string
139
+ currentTaskId?: string
140
+ [key: string]: unknown
141
+ }`
142
+ }],
143
+ schema: null
144
+ }],
145
+ queries: []
146
+ }
147
+ };
148
+ var result = (0, import_generate_lite.generateLite)({
149
+ files,
150
+ dir: DIR,
151
+ parse: makeParse(fixtures)
152
+ });
153
+ var synced = result.files["syncedMutations.ts"];
154
+ (0, import_vitest.expect)(synced).toContain("update:");
155
+ (0, import_vitest.expect)(synced).toContain("id: v.string()");
156
+ (0, import_vitest.expect)(synced).toContain("status: v.optional(v.string())");
157
+ (0, import_vitest.expect)(synced).toContain("currentTaskId: v.optional(v.string())");
158
+ (0, import_vitest.expect)(synced).not.toContain("[key");
159
+ (0, import_vitest.expect)(synced).not.toContain("update: v.object({})");
160
+ });
71
161
  (0, import_vitest.test)("falls back to v.unknown() for type references", function () {
72
162
  var files = {
73
163
  [`${DIR}/models/post.ts`]: "// fake"
@@ -101,6 +191,30 @@ var DIR = "/proj/src/data";
101
191
  (0, import_vitest.expect)(synced).toContain("archive: v.unknown()");
102
192
  (0, import_vitest.expect)(synced).toContain("publish: v.string()");
103
193
  });
194
+ (0, import_vitest.test)("uses v.unknown() for explicitly unknown mutation params", function () {
195
+ var files = {
196
+ [`${DIR}/models/project.ts`]: "// fake"
197
+ };
198
+ var fixtures = {
199
+ [`${DIR}/models/project.ts`]: {
200
+ mutations: [{
201
+ modelName: "project",
202
+ handlers: [{
203
+ name: "insert",
204
+ paramTypeText: "unknown"
205
+ }],
206
+ schema: null
207
+ }],
208
+ queries: []
209
+ }
210
+ };
211
+ var result = (0, import_generate_lite.generateLite)({
212
+ files,
213
+ dir: DIR,
214
+ parse: makeParse(fixtures)
215
+ });
216
+ (0, import_vitest.expect)(result.files["syncedMutations.ts"]).toContain("insert: v.unknown()");
217
+ });
104
218
  (0, import_vitest.test)("emits query files with v.unknown() fallback for references", function () {
105
219
  var files = {
106
220
  [`${DIR}/models/post.ts`]: "// fake",
@@ -1 +1 @@
1
- {"version":3,"names":["import_vitest","require","import_generate_lite","makeParse","table","_src","path","entry","Error","DIR","describe","test","files","fixtures","mutations","modelName","handlers","name","paramTypeText","schema","queries","result","generateLite","dir","parse","expect","Object","keys","sort","toEqual","models","toContain","syncedMutations","modelCount","toBe","schemaCount","mutationCount","synced","toBeDefined","grouped","toMatch","not","queryCount","tableName","primaryKeys","columns","builderText","types","tables"],"sources":["../../src/generate-lite.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["import_vitest","require","import_generate_lite","makeParse","table","_src","path","entry","Error","DIR","describe","test","files","fixtures","mutations","modelName","handlers","name","paramTypeText","schema","queries","result","generateLite","dir","parse","expect","Object","keys","sort","toEqual","models","toContain","not","syncedMutations","modelCount","toBe","schemaCount","mutationCount","synced","toBeDefined","grouped","toMatch","queryCount","tableName","primaryKeys","columns","builderText","types","tables"],"sources":["../../src/generate-lite.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -224,10 +224,18 @@ function extractMutationsFromModel(ts, sourceFile, content, fileName, silent, ty
224
224
  }
225
225
  const call = mutateNode;
226
226
  const args = call.arguments;
227
- const hasCRUD = args.length >= 2;
227
+ const firstArg = args[0];
228
+ const hasNamedModel = Boolean(firstArg && ts.isStringLiteralLike(firstArg));
229
+ const hasCRUD = args.length >= 2 && !hasNamedModel;
228
230
  let handlersArg = null;
229
231
  if (args.length === 1 && ts.isObjectLiteralExpression(args[0])) {
230
232
  handlersArg = args[0];
233
+ } else if (hasNamedModel) {
234
+ if (args.length >= 3 && ts.isObjectLiteralExpression(args[2])) {
235
+ handlersArg = args[2];
236
+ } else if (args.length >= 2 && ts.isObjectLiteralExpression(args[1])) {
237
+ handlersArg = args[1];
238
+ }
231
239
  } else if (args.length === 3 && ts.isObjectLiteralExpression(args[2])) {
232
240
  handlersArg = args[2];
233
241
  }
@@ -283,10 +283,18 @@ function extractMutationsFromModel(ts, sourceFile, content, fileName, silent, ty
283
283
  }
284
284
  var call = mutateNode;
285
285
  var args = call.arguments;
286
- var hasCRUD = args.length >= 2;
286
+ var firstArg = args[0];
287
+ var hasNamedModel = Boolean(firstArg && ts.isStringLiteralLike(firstArg));
288
+ var hasCRUD = args.length >= 2 && !hasNamedModel;
287
289
  var handlersArg = null;
288
290
  if (args.length === 1 && ts.isObjectLiteralExpression(args[0])) {
289
291
  handlersArg = args[0];
292
+ } else if (hasNamedModel) {
293
+ if (args.length >= 3 && ts.isObjectLiteralExpression(args[2])) {
294
+ handlersArg = args[2];
295
+ } else if (args.length >= 2 && ts.isObjectLiteralExpression(args[1])) {
296
+ handlersArg = args[1];
297
+ }
290
298
  } else if (args.length === 3 && ts.isObjectLiteralExpression(args[2])) {
291
299
  handlersArg = args[2];
292
300
  }
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","generate_exports","__export","generate","generateDrizzleSchemaFile","watch","module","exports","import_crypto","require","import_fs","import_path","import_generate_helpers","hash","s","createHash","update","digest","generateCache","generateCachePath","getCacheDir","dir","process","cwd","nm","resolve","existsSync","cacheDir","mkdirSync","recursive","loadCache","JSON","parse","readFileSync","e","saveCache","writeFileSync","stringify","writeFileIfChanged","filePath","content","contentHash","cachedHash","createTypeResolver","ts","files","configPath","findConfigFile","sys","fileExists","compilerOptions","target","ScriptTarget","Latest","ModuleKind","ESNext","moduleResolution","ModuleResolutionKind","Bundler","strict","skipLibCheck","noEmit","configFile","readConfigFile","readFile","config","parsed","parseJsonConfigFileContent","dirname","options","fileMap","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","f","set","path","err","return","host","createCompilerHost","originalGetSourceFile","getSourceFile","bind","fileName","languageVersion","onError","get","createSourceFile","has","_fileMap_get","program","createProgram","map","f2","checker","getTypeChecker","resolveType","node","getTypeFromTypeNode","typeToValibot","type","tsTypeToValibot","resolveParamType","resolver","sourceFile","exportName","paramIndex","result","forEachChild","_node_modifiers","isVariableStatement","modifiers","some","m","kind","SyntaxKind","ExportKeyword","decl","declarationList","declarations","isVariableDeclaration","name","getText","initializer","isArrowFunction","param","parameters","resolveMutationParamTypes","resolved","isCallExpression","args","arguments","handlersArg","i","length","isObjectLiteralExpression","properties","prop","_prop_name","isPropertyAssignment","isMethodDeclaration","params","init","isFunctionExpression","typeNode","expanded","extractMutationsFromModel","silent","resolvedTypes","resolvedTypeToValibot","mutateNode","modelName","basename","hasCRUD","columns","primaryKeys","custom","call","extractSchemaColumns","_secondParam_type","push","paramType","valibotCode","secondParam","resolvedType","visit","text","expression","endsWith","arg","isStringLiteral","obj","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","colName","initText","colType","parseColumnType","seen","Set","flags","getFlags","TypeFlags","Object","Intersection","add","recurse","t","String","Number","Boolean","Void","Undefined","Null","Any","Unknown","Never","StringLiteral","NumberLiteral","BooleanLiteral","intrinsicName","isUnion","members","types","hasNull","hasUndefined","rest","filter","every","inner","inner1","join","resolveSymbolType","prop2","_prop_declarations","valueDeclaration","getTypeOfSymbolAtLocation","getDeclaredTypeOfSymbol","isIntersection","props","getProperties","entries","name1","getName","shouldSkipObjectKey","propType","isOptional","SymbolFlags","Optional","val","startsWith","formatObjectKey","props1","objectFlags","_type_objectFlags","ObjectFlags","Reference","_typeRef_typeArguments","typeRef","symbol","getSymbol","name2","typeArguments","Tuple","typeRef1","typeArgs","entries1","prop1","name3","propType1","isOptional1","val1","stringIndex","getStringIndexType","numberIndex","getNumberIndexType","serializeColumnBuilder","col","zeroType","expr","serverName","optional","schema","lines","tableNames","keys","tables","sort","tableName","colEntries","pkArgs","primaryKey","k","relTableNames","relationships","tableName1","rels","relEntries","relBody","relName","hops","hop","fn","cardinality","sf","sourceField","df","destField","destSchema","hopCode","hop2","fn2","sf2","df2","tableList","n","relList","after","baseDir","mutationsDir","usesMutationsDir","modelsDir","modelsDirName","generatedDir","queriesDir","allModelFiles","readdirSync","filesWithSchema","includes","allModelNames","schemaModelNames","writeResults","generateModelsFile","generateTypesFile","generateTablesFile","generateReadmeFile","filesChanged","queryCount","mutationCount","parseTypeString","trim","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles2","_loop","file2","filePath2","fileBaseName2","content2","sourceFile2"],"sources":["../../src/generate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","generate_exports","__export","generate","generateDrizzleSchemaFile","watch","module","exports","import_crypto","require","import_fs","import_path","import_generate_helpers","hash","s","createHash","update","digest","generateCache","generateCachePath","getCacheDir","dir","process","cwd","nm","resolve","existsSync","cacheDir","mkdirSync","recursive","loadCache","JSON","parse","readFileSync","e","saveCache","writeFileSync","stringify","writeFileIfChanged","filePath","content","contentHash","cachedHash","createTypeResolver","ts","files","configPath","findConfigFile","sys","fileExists","compilerOptions","target","ScriptTarget","Latest","ModuleKind","ESNext","moduleResolution","ModuleResolutionKind","Bundler","strict","skipLibCheck","noEmit","configFile","readConfigFile","readFile","config","parsed","parseJsonConfigFileContent","dirname","options","fileMap","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","f","set","path","err","return","host","createCompilerHost","originalGetSourceFile","getSourceFile","bind","fileName","languageVersion","onError","get","createSourceFile","has","_fileMap_get","program","createProgram","map","f2","checker","getTypeChecker","resolveType","node","getTypeFromTypeNode","typeToValibot","type","tsTypeToValibot","resolveParamType","resolver","sourceFile","exportName","paramIndex","result","forEachChild","_node_modifiers","isVariableStatement","modifiers","some","m","kind","SyntaxKind","ExportKeyword","decl","declarationList","declarations","isVariableDeclaration","name","getText","initializer","isArrowFunction","param","parameters","resolveMutationParamTypes","resolved","isCallExpression","args","arguments","handlersArg","i","length","isObjectLiteralExpression","properties","prop","_prop_name","isPropertyAssignment","isMethodDeclaration","params","init","isFunctionExpression","typeNode","expanded","extractMutationsFromModel","silent","resolvedTypes","resolvedTypeToValibot","mutateNode","modelName","basename","hasCRUD","columns","primaryKeys","custom","call","firstArg","hasNamedModel","Boolean","isStringLiteralLike","extractSchemaColumns","_secondParam_type","push","paramType","valibotCode","secondParam","resolvedType","visit","text","expression","endsWith","arg","isStringLiteral","obj","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","colName","initText","colType","parseColumnType","seen","Set","flags","getFlags","TypeFlags","Object","Intersection","add","recurse","t","String","Number","Void","Undefined","Null","Any","Unknown","Never","StringLiteral","NumberLiteral","BooleanLiteral","intrinsicName","isUnion","members","types","hasNull","hasUndefined","rest","filter","every","inner","inner1","join","resolveSymbolType","prop2","_prop_declarations","valueDeclaration","getTypeOfSymbolAtLocation","getDeclaredTypeOfSymbol","isIntersection","props","getProperties","entries","name1","getName","shouldSkipObjectKey","propType","isOptional","SymbolFlags","Optional","val","startsWith","formatObjectKey","props1","objectFlags","_type_objectFlags","ObjectFlags","Reference","_typeRef_typeArguments","typeRef","symbol","getSymbol","name2","typeArguments","Tuple","typeRef1","typeArgs","entries1","prop1","name3","propType1","isOptional1","val1","stringIndex","getStringIndexType","numberIndex","getNumberIndexType","serializeColumnBuilder","col","zeroType","expr","serverName","optional","schema","lines","tableNames","keys","tables","sort","tableName","colEntries","pkArgs","primaryKey","k","relTableNames","relationships","tableName1","rels","relEntries","relBody","relName","hops","hop","fn","cardinality","sf","sourceField","df","destField","destSchema","hopCode","hop2","fn2","sf2","df2","tableList","n","relList","after","baseDir","mutationsDir","usesMutationsDir","modelsDir","modelsDirName","generatedDir","queriesDir","allModelFiles","readdirSync","filesWithSchema","includes","allModelNames","schemaModelNames","writeResults","generateModelsFile","generateTypesFile","generateTablesFile","generateReadmeFile","filesChanged","queryCount","mutationCount","parseTypeString","trim","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles2","_loop","file2","filePath2","fileBaseName2","content2","sourceFile2"],"sources":["../../src/generate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -101,7 +101,7 @@ export const allPosts = () => zero.query.post
101
101
  (0, import_vitest.expect)(syncedContent).toContain("allPosts");
102
102
  (0, import_vitest.expect)(syncedContent).not.toContain("permission:");
103
103
  });
104
- (0, import_vitest.test)("handles user model special case (userPublic)", async () => {
104
+ (0, import_vitest.test)("aliases user import without changing the model key", async () => {
105
105
  (0, import_node_fs.writeFileSync)((0, import_node_path.join)(testDir, "models/user.ts"), `export const schema = table('user', { id: string(), name: string() })`);
106
106
  await (0, import_generate.generate)({
107
107
  dir: testDir,
@@ -109,7 +109,8 @@ export const allPosts = () => zero.query.post
109
109
  });
110
110
  const modelsContent = (0, import_node_fs.readFileSync)((0, import_node_path.join)(testDir, "generated/models.ts"), "utf-8");
111
111
  (0, import_vitest.expect)(modelsContent).toContain("import * as userPublic from '../models/user'");
112
- (0, import_vitest.expect)(modelsContent).toContain("userPublic,");
112
+ (0, import_vitest.expect)(modelsContent).toContain("user: userPublic,");
113
+ (0, import_vitest.expect)(modelsContent).not.toContain("\n userPublic,");
113
114
  const typesContent = (0, import_node_fs.readFileSync)((0, import_node_path.join)(testDir, "generated/types.ts"), "utf-8");
114
115
  (0, import_vitest.expect)(typesContent).toContain("typeof schema.userPublic");
115
116
  });
@@ -230,6 +231,93 @@ export const mutate = mutations({
230
231
  (0, import_vitest.expect)(content).toContain("reset");
231
232
  (0, import_vitest.expect)(content).toContain("v.string()");
232
233
  });
234
+ (0, import_vitest.test)("generates validators for string-model multiline mutation params", async () => {
235
+ (0, import_node_fs.writeFileSync)((0, import_node_path.join)(testDir, "models/agentEvent.ts"), `
236
+ import { mutations, serverWhere } from 'on-zero'
237
+
238
+ const perm = serverWhere('agentEvent', () => true)
239
+
240
+ export const mutate = mutations('agentEvent', perm, {
241
+ claimReviewLease: async (
242
+ { tx },
243
+ props: {
244
+ id: string
245
+ projectId: string
246
+ agentId: string
247
+ userId: string
248
+ taskId: string
249
+ reviewKey: string
250
+ runnerId: string
251
+ createdAt: number
252
+ },
253
+ ) => {
254
+ await tx.mutate.agentEvent.insert(props)
255
+ },
256
+ })
257
+ `);
258
+ await (0, import_generate.generate)({
259
+ dir: testDir,
260
+ silent: true
261
+ });
262
+ const content = (0, import_node_fs.readFileSync)((0, import_node_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
263
+ (0, import_vitest.expect)(content).toContain("claimReviewLease");
264
+ (0, import_vitest.expect)(content).toContain("projectId: v.string()");
265
+ (0, import_vitest.expect)(content).toContain("createdAt: v.number()");
266
+ (0, import_vitest.expect)(content).not.toContain("claimReviewLease: v.object({})");
267
+ });
268
+ (0, import_vitest.test)("generates validators for object intersections", async () => {
269
+ (0, import_node_fs.writeFileSync)((0, import_node_path.join)(testDir, "models/agent.ts"), `
270
+ import { mutations, serverWhere } from 'on-zero'
271
+
272
+ const perm = serverWhere('agent', () => true)
273
+
274
+ export const mutate = mutations('agent', perm, {
275
+ update: async (
276
+ { tx },
277
+ props: {
278
+ id: string
279
+ } & {
280
+ status?: string
281
+ currentTaskId?: string
282
+ [key: string]: unknown
283
+ },
284
+ ) => {
285
+ await tx.mutate.agent.update(props)
286
+ },
287
+ })
288
+ `);
289
+ await (0, import_generate.generate)({
290
+ dir: testDir,
291
+ silent: true
292
+ });
293
+ const content = (0, import_node_fs.readFileSync)((0, import_node_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
294
+ (0, import_vitest.expect)(content).toContain("update");
295
+ (0, import_vitest.expect)(content).toContain("id: v.string()");
296
+ (0, import_vitest.expect)(content).toContain("status: v.optional(v.string())");
297
+ (0, import_vitest.expect)(content).toContain("currentTaskId: v.optional(v.string())");
298
+ (0, import_vitest.expect)(content).not.toContain("update: v.object({})");
299
+ (0, import_vitest.expect)(content).not.toContain("[key");
300
+ });
301
+ (0, import_vitest.test)("uses v.unknown for untyped mutation payloads", async () => {
302
+ (0, import_node_fs.writeFileSync)((0, import_node_path.join)(testDir, "models/project.ts"), `
303
+ import { mutations, serverWhere } from 'on-zero'
304
+
305
+ const perm = serverWhere('project', () => true)
306
+
307
+ export const mutate = mutations('project', perm, {
308
+ insert: async ({ tx }, project) => {
309
+ await tx.mutate.project.insert(project)
310
+ },
311
+ })
312
+ `);
313
+ await (0, import_generate.generate)({
314
+ dir: testDir,
315
+ silent: true
316
+ });
317
+ const content = (0, import_node_fs.readFileSync)((0, import_node_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
318
+ (0, import_vitest.expect)(content).toContain("insert: v.unknown()");
319
+ (0, import_vitest.expect)(content).not.toContain("insert: v.void_()");
320
+ });
233
321
  (0, import_vitest.test)("handles mutations with only context param (void)", async () => {
234
322
  (0, import_node_fs.writeFileSync)((0, import_node_path.join)(testDir, "models/user.ts"), `
235
323
  import { table, string } from 'on-zero'