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
@@ -77,10 +77,12 @@ describe('generateLite', () => {
77
77
  'syncedMutations.ts',
78
78
  ])
79
79
 
80
- // models.ts: imports both model files, handles user userPublic
80
+ // models.ts: aliases the user import without changing the model key
81
81
  const models = result.files['models.ts']!
82
82
  expect(models).toContain("import * as todo from '../models/todo'")
83
83
  expect(models).toContain("import * as userPublic from '../models/user'")
84
+ expect(models).toContain('user: userPublic,')
85
+ expect(models).not.toContain('\n userPublic,')
84
86
  expect(models).toContain('export const models = {')
85
87
 
86
88
  // syncedMutations.ts: inline types resolve to v.object validators
@@ -99,6 +101,114 @@ describe('generateLite', () => {
99
101
  expect(result.mutationCount).toBe(3)
100
102
  })
101
103
 
104
+ test('parses newline-separated mutation object types', () => {
105
+ const files: Record<string, string> = {
106
+ [`${DIR}/models/agentEvent.ts`]: '// fake',
107
+ [`${DIR}/models/deployment.ts`]: '// fake',
108
+ }
109
+
110
+ const fixtures: Record<string, LiteParsedFile> = {
111
+ [`${DIR}/models/agentEvent.ts`]: {
112
+ mutations: [
113
+ {
114
+ modelName: 'agentEvent',
115
+ handlers: [
116
+ {
117
+ name: 'claimReviewLease',
118
+ paramTypeText: `{
119
+ id: string
120
+ projectId: string
121
+ createdAt: number
122
+ }`,
123
+ },
124
+ ],
125
+ schema: null,
126
+ },
127
+ ],
128
+ queries: [],
129
+ },
130
+ [`${DIR}/models/deployment.ts`]: {
131
+ mutations: [
132
+ {
133
+ modelName: 'deployment',
134
+ handlers: [
135
+ {
136
+ name: 'deploy',
137
+ paramTypeText: `{
138
+ id: string
139
+ platform?: string // 'web' | 'ios'
140
+ buildTier?: string // 'dev' | 'testflight' | 'production'
141
+ }`,
142
+ },
143
+ ],
144
+ schema: null,
145
+ },
146
+ ],
147
+ queries: [],
148
+ },
149
+ }
150
+
151
+ const result = generateLite({
152
+ files,
153
+ dir: DIR,
154
+ parse: makeParse(fixtures),
155
+ })
156
+
157
+ const synced = result.files['syncedMutations.ts']!
158
+ expect(synced).toContain('claimReviewLease:')
159
+ expect(synced).toContain('projectId: v.string()')
160
+ expect(synced).toContain('createdAt: v.number()')
161
+ expect(synced).toContain('deploy:')
162
+ expect(synced).toContain('platform: v.optional(v.string())')
163
+ expect(synced).toContain('buildTier: v.optional(v.string())')
164
+ expect(synced).not.toContain('claimReviewLease: v.object({})')
165
+ expect(synced).not.toContain('deploy: v.object({})')
166
+ })
167
+
168
+ test('parses object intersections and skips index signatures', () => {
169
+ const files: Record<string, string> = {
170
+ [`${DIR}/models/agent.ts`]: '// fake',
171
+ }
172
+
173
+ const fixtures: Record<string, LiteParsedFile> = {
174
+ [`${DIR}/models/agent.ts`]: {
175
+ mutations: [
176
+ {
177
+ modelName: 'agent',
178
+ handlers: [
179
+ {
180
+ name: 'update',
181
+ paramTypeText: `{
182
+ id: string
183
+ } & {
184
+ status?: string
185
+ currentTaskId?: string
186
+ [key: string]: unknown
187
+ }`,
188
+ },
189
+ ],
190
+ schema: null,
191
+ },
192
+ ],
193
+ queries: [],
194
+ },
195
+ }
196
+
197
+ const result = generateLite({
198
+ files,
199
+ dir: DIR,
200
+ parse: makeParse(fixtures),
201
+ })
202
+
203
+ const synced = result.files['syncedMutations.ts']!
204
+ expect(synced).toContain('update:')
205
+ expect(synced).toContain('id: v.string()')
206
+ expect(synced).toContain('status: v.optional(v.string())')
207
+ expect(synced).toContain('currentTaskId: v.optional(v.string())')
208
+ expect(synced).not.toContain('[key')
209
+ expect(synced).not.toContain('update: v.object({})')
210
+ })
211
+
102
212
  test('falls back to v.unknown() for type references', () => {
103
213
  const files: Record<string, string> = {
104
214
  [`${DIR}/models/post.ts`]: '// fake',
@@ -141,6 +251,33 @@ describe('generateLite', () => {
141
251
  expect(synced).toContain('publish: v.string()')
142
252
  })
143
253
 
254
+ test('uses v.unknown() for explicitly unknown mutation params', () => {
255
+ const files: Record<string, string> = {
256
+ [`${DIR}/models/project.ts`]: '// fake',
257
+ }
258
+
259
+ const fixtures: Record<string, LiteParsedFile> = {
260
+ [`${DIR}/models/project.ts`]: {
261
+ mutations: [
262
+ {
263
+ modelName: 'project',
264
+ handlers: [{ name: 'insert', paramTypeText: 'unknown' }],
265
+ schema: null,
266
+ },
267
+ ],
268
+ queries: [],
269
+ },
270
+ }
271
+
272
+ const result = generateLite({
273
+ files,
274
+ dir: DIR,
275
+ parse: makeParse(fixtures),
276
+ })
277
+
278
+ expect(result.files['syncedMutations.ts']!).toContain('insert: v.unknown()')
279
+ })
280
+
144
281
  test('emits query files with v.unknown() fallback for references', () => {
145
282
  const files: Record<string, string> = {
146
283
  [`${DIR}/models/post.ts`]: '// fake',
@@ -209,8 +209,7 @@ export function generateLite(opts: LiteGenerateOptions): LiteGenerateResult {
209
209
 
210
210
  const paramType = h.paramTypeText.trim()
211
211
 
212
- // unknown explicitly → no validator (becomes v.void_ in the emitter,
213
- // matching the existing generator's behavior for 'unknown')
212
+ // unknown explicitly → permissive validator
214
213
  if (paramType === 'unknown') {
215
214
  return { name: h.name, paramType: 'unknown', valibotCode: '' }
216
215
  }
@@ -152,7 +152,7 @@ export const allPosts = () => zero.query.post
152
152
  expect(syncedContent).not.toContain('permission:')
153
153
  })
154
154
 
155
- test('handles user model special case (userPublic)', async () => {
155
+ test('aliases user import without changing the model key', async () => {
156
156
  writeFileSync(
157
157
  join(testDir, 'models/user.ts'),
158
158
  `export const schema = table('user', { id: string(), name: string() })`,
@@ -162,7 +162,8 @@ export const allPosts = () => zero.query.post
162
162
 
163
163
  const modelsContent = readFileSync(join(testDir, 'generated/models.ts'), 'utf-8')
164
164
  expect(modelsContent).toContain("import * as userPublic from '../models/user'")
165
- expect(modelsContent).toContain('userPublic,')
165
+ expect(modelsContent).toContain('user: userPublic,')
166
+ expect(modelsContent).not.toContain('\n userPublic,')
166
167
 
167
168
  const typesContent = readFileSync(join(testDir, 'generated/types.ts'), 'utf-8')
168
169
  expect(typesContent).toContain('typeof schema.userPublic')
@@ -311,6 +312,102 @@ export const mutate = mutations({
311
312
  expect(content).toContain('v.string()')
312
313
  })
313
314
 
315
+ test('generates validators for string-model multiline mutation params', async () => {
316
+ writeFileSync(
317
+ join(testDir, 'models/agentEvent.ts'),
318
+ `
319
+ import { mutations, serverWhere } from 'on-zero'
320
+
321
+ const perm = serverWhere('agentEvent', () => true)
322
+
323
+ export const mutate = mutations('agentEvent', perm, {
324
+ claimReviewLease: async (
325
+ { tx },
326
+ props: {
327
+ id: string
328
+ projectId: string
329
+ agentId: string
330
+ userId: string
331
+ taskId: string
332
+ reviewKey: string
333
+ runnerId: string
334
+ createdAt: number
335
+ },
336
+ ) => {
337
+ await tx.mutate.agentEvent.insert(props)
338
+ },
339
+ })
340
+ `,
341
+ )
342
+
343
+ await generate({ dir: testDir, silent: true })
344
+
345
+ const content = readFileSync(join(testDir, 'generated/syncedMutations.ts'), 'utf-8')
346
+ expect(content).toContain('claimReviewLease')
347
+ expect(content).toContain('projectId: v.string()')
348
+ expect(content).toContain('createdAt: v.number()')
349
+ expect(content).not.toContain('claimReviewLease: v.object({})')
350
+ })
351
+
352
+ test('generates validators for object intersections', async () => {
353
+ writeFileSync(
354
+ join(testDir, 'models/agent.ts'),
355
+ `
356
+ import { mutations, serverWhere } from 'on-zero'
357
+
358
+ const perm = serverWhere('agent', () => true)
359
+
360
+ export const mutate = mutations('agent', perm, {
361
+ update: async (
362
+ { tx },
363
+ props: {
364
+ id: string
365
+ } & {
366
+ status?: string
367
+ currentTaskId?: string
368
+ [key: string]: unknown
369
+ },
370
+ ) => {
371
+ await tx.mutate.agent.update(props)
372
+ },
373
+ })
374
+ `,
375
+ )
376
+
377
+ await generate({ dir: testDir, silent: true })
378
+
379
+ const content = readFileSync(join(testDir, 'generated/syncedMutations.ts'), 'utf-8')
380
+ expect(content).toContain('update')
381
+ expect(content).toContain('id: v.string()')
382
+ expect(content).toContain('status: v.optional(v.string())')
383
+ expect(content).toContain('currentTaskId: v.optional(v.string())')
384
+ expect(content).not.toContain('update: v.object({})')
385
+ expect(content).not.toContain('[key')
386
+ })
387
+
388
+ test('uses v.unknown for untyped mutation payloads', async () => {
389
+ writeFileSync(
390
+ join(testDir, 'models/project.ts'),
391
+ `
392
+ import { mutations, serverWhere } from 'on-zero'
393
+
394
+ const perm = serverWhere('project', () => true)
395
+
396
+ export const mutate = mutations('project', perm, {
397
+ insert: async ({ tx }, project) => {
398
+ await tx.mutate.project.insert(project)
399
+ },
400
+ })
401
+ `,
402
+ )
403
+
404
+ await generate({ dir: testDir, silent: true })
405
+
406
+ const content = readFileSync(join(testDir, 'generated/syncedMutations.ts'), 'utf-8')
407
+ expect(content).toContain('insert: v.unknown()')
408
+ expect(content).not.toContain('insert: v.void_()')
409
+ })
410
+
314
411
  test('handles mutations with only context param (void)', async () => {
315
412
  writeFileSync(
316
413
  join(testDir, 'models/user.ts'),
package/src/generate.ts CHANGED
@@ -274,13 +274,21 @@ function extractMutationsFromModel(
274
274
 
275
275
  // determine overload
276
276
  // 1-arg: mutations({ ... })
277
- // 2-arg: mutations(schema, perm)
278
- // 3-arg: mutations(schema, perm, { ... })
279
- const hasCRUD = args.length >= 2
277
+ // schema model: mutations(schema, perm) / mutations(schema, perm, { ... })
278
+ // named model: mutations('name', handlers) / mutations('name', perm, { ... })
279
+ const firstArg = args[0]
280
+ const hasNamedModel = Boolean(firstArg && ts.isStringLiteralLike(firstArg))
281
+ const hasCRUD = args.length >= 2 && !hasNamedModel
280
282
  let handlersArg: import('typescript').ObjectLiteralExpression | null = null
281
283
 
282
284
  if (args.length === 1 && ts.isObjectLiteralExpression(args[0]!)) {
283
285
  handlersArg = args[0] as import('typescript').ObjectLiteralExpression
286
+ } else if (hasNamedModel) {
287
+ if (args.length >= 3 && ts.isObjectLiteralExpression(args[2]!)) {
288
+ handlersArg = args[2] as import('typescript').ObjectLiteralExpression
289
+ } else if (args.length >= 2 && ts.isObjectLiteralExpression(args[1]!)) {
290
+ handlersArg = args[1] as import('typescript').ObjectLiteralExpression
291
+ }
284
292
  } else if (args.length === 3 && ts.isObjectLiteralExpression(args[2]!)) {
285
293
  handlersArg = args[2] as import('typescript').ObjectLiteralExpression
286
294
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createZeroClient.d.ts","sourceRoot":"","sources":["../src/createZeroClient.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createZeroClient.d.ts","sourceRoot":"","sources":["../src/createZeroClient.tsx"],"names":[],"mappings":"AAGA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAQd,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAOhE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAClF,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEzF,KAAK,cAAc,GAAG;IAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AAEvE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;AAMpF,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,iBAAiB,GAAG,kBAAkB,CAAA;AAOtF,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,EACA,MAAM,EACN,MAAM,EACN,cAAc,EACd,kBAAiC,GAClC,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,cAAc,CAAA;IAC9B,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CACxC;;yEA4LI,IAAI,CAAC,WAAW,CAAC,MAAM,0BAAe,EAAE,QAAQ,GAAG,UAAU,CAAC,GAAG;QAClE,QAAQ,EAAE,SAAS,CAAA;QACnB,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;QAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB;0DAiIE;QACD,QAAQ,EAAE,SAAS,CAAA;QACnB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;QAC7B,YAAY,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;KACtC;;2BAxLQ,oCAAY,CAAC,MAAM,GAAG,EAAE,CAAC,WACvB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,yCAG9C,OAAO,GAAG,IAAI;;;SA0IA,IAAI,EAAE,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,MACxE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,UAC9C,IAAI,YACF,cAAc,GACvB;YAAE,OAAO,EAAE,MAAM,IAAI,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE;SAClC,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,MAClE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,YAC5C,cAAc,GACvB;YAAE,OAAO,EAAE,MAAM,IAAI,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE;;;SAejC,IAAI,EAAE,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,MACzE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,UAC9C,IAAI,GACX,UAAU,CAAC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;SACxB,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,MACnE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,GACrD,UAAU,CAAC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;;EA4B3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-helpers.d.ts","sourceRoot":"","sources":["../src/generate-helpers.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IAEZ,SAAS,EAAE,MAAM,CAAA;IAEjB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAEhB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACrC,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B,CAAA;AAID,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAGD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAoFD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA0D3D;AAMD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAkBtF;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAY9D;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAWtF;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CA2D3C;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,GACnD,MAAM,CAgBR;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAC,GACD,MAAM,CAyDR;AAID,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAoB7D;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EACrC,WAAW,EAAE,MAAM,EAAE,EACrB,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GACnC,MAAM,CAkCR;AAGD,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEpE;AAKD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAU9D;AAED,wBAAgB,2BAA2B,CAAC,cAAc,EAAE,cAAc,EAAE,GAAG,MAAM,CA0DpF"}
1
+ {"version":3,"file":"generate-helpers.d.ts","sourceRoot":"","sources":["../src/generate-helpers.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IAEZ,SAAS,EAAE,MAAM,CAAA;IAEjB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAEhB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACrC,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B,CAAA;AAID,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAGD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAyMD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA0D3D;AAMD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAqBtF;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAY9D;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAWtF;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CA2D3C;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,GACnD,MAAM,CAgBR;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAC,GACD,MAAM,CAyDR;AAID,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAoB7D;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EACrC,WAAW,EAAE,MAAM,EAAE,EACrB,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GACnC,MAAM,CAkCR;AAGD,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEpE;AAKD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAU9D;AAED,wBAAgB,2BAA2B,CAAC,cAAc,EAAE,cAAc,EAAE,GAAG,MAAM,CA8DpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-lite.d.ts","sourceRoot":"","sources":["../src/generate-lite.ts"],"names":[],"mappings":"AAgCA,MAAM,MAAM,kBAAkB,GAAG;IAK/B,SAAS,EAAE,MAAM,CAAA;IAEjB,QAAQ,EAAE,KAAK,CAAC;QAEd,IAAI,EAAE,MAAM,CAAA;QAMZ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAC7B,CAAC,CAAA;IAKF,MAAM,EAAE,cAAc,GAAG,IAAI,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,EAAE,CAAA;IAGrB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACtD,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAE5B,IAAI,EAAE,MAAM,CAAA;IAIZ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B,CAAA;AAGD,MAAM,MAAM,cAAc,GAAG;IAG3B,SAAS,EAAE,kBAAkB,EAAE,CAAA;IAC/B,OAAO,EAAE,eAAe,EAAE,CAAA;CAC3B,CAAA;AAID,MAAM,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAA;AAElF,MAAM,MAAM,mBAAmB,GAAG;IAKhC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAG7B,GAAG,EAAE,MAAM,CAAA;IAIX,SAAS,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAA;IAClC,KAAK,EAAE,WAAW,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAG/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAoCD,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,kBAAkB,CA2L1E"}
1
+ {"version":3,"file":"generate-lite.d.ts","sourceRoot":"","sources":["../src/generate-lite.ts"],"names":[],"mappings":"AAgCA,MAAM,MAAM,kBAAkB,GAAG;IAK/B,SAAS,EAAE,MAAM,CAAA;IAEjB,QAAQ,EAAE,KAAK,CAAC;QAEd,IAAI,EAAE,MAAM,CAAA;QAMZ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAC7B,CAAC,CAAA;IAKF,MAAM,EAAE,cAAc,GAAG,IAAI,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,EAAE,CAAA;IAGrB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACtD,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAE5B,IAAI,EAAE,MAAM,CAAA;IAIZ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B,CAAA;AAGD,MAAM,MAAM,cAAc,GAAG;IAG3B,SAAS,EAAE,kBAAkB,EAAE,CAAA;IAC/B,OAAO,EAAE,eAAe,EAAE,CAAA;CAC3B,CAAA;AAID,MAAM,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAA;AAElF,MAAM,MAAM,mBAAmB,GAAG;IAKhC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAG7B,GAAG,EAAE,MAAM,CAAA;IAIX,SAAS,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAA;IAClC,KAAK,EAAE,WAAW,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAG/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAoCD,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,kBAAkB,CA0L1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAqC,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAqiBzF,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACrC,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,KAAK,GAAG,MAAM,CAAA;CAC5B,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACnC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAA;CACnE,CAAA;AAkCD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAiF3E;AAED,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAiVhF;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,yCAmChD"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAqC,YAAY,EAAE,MAAM,oBAAoB,CAAA;AA6iBzF,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACrC,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,KAAK,GAAG,MAAM,CAAA;CAC5B,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACnC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAA;CACnE,CAAA;AAkCD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAiF3E;AAED,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAiVhF;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,yCAmChD"}