on-zero 0.9.7 → 0.10.1
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/generate-helpers.test.cjs +0 -38
- package/dist/cjs/generate-helpers.test.native.js +0 -38
- package/dist/cjs/generate-helpers.test.native.js.map +1 -1
- package/dist/cjs/generate-lite.test.cjs +0 -522
- package/dist/cjs/generate-lite.test.native.js +0 -525
- package/dist/cjs/generate-lite.test.native.js.map +1 -1
- package/dist/cjs/generate.test.cjs +0 -691
- package/dist/cjs/generate.test.native.js +0 -691
- package/dist/cjs/generate.test.native.js.map +1 -1
- package/dist/cjs/mutations.test.cjs +0 -11
- package/dist/cjs/mutations.test.native.js +0 -18
- package/dist/cjs/mutations.test.native.js.map +1 -1
- package/dist/cjs/server.test.cjs +0 -93
- package/dist/cjs/server.test.native.js +0 -101
- package/dist/cjs/server.test.native.js.map +1 -1
- package/dist/cjs/serverWhere.test.cjs +0 -45
- package/dist/cjs/serverWhere.test.native.js +0 -51
- package/dist/cjs/serverWhere.test.native.js.map +1 -1
- package/dist/esm/generate-helpers.test.mjs +1 -39
- package/dist/esm/generate-helpers.test.mjs.map +1 -1
- package/dist/esm/generate-helpers.test.native.js +1 -39
- package/dist/esm/generate-helpers.test.native.js.map +1 -1
- package/dist/esm/generate-lite.test.mjs +0 -522
- package/dist/esm/generate-lite.test.mjs.map +1 -1
- package/dist/esm/generate-lite.test.native.js +0 -525
- package/dist/esm/generate-lite.test.native.js.map +1 -1
- package/dist/esm/generate.test.mjs +2 -668
- package/dist/esm/generate.test.mjs.map +1 -1
- package/dist/esm/generate.test.native.js +2 -668
- package/dist/esm/generate.test.native.js.map +1 -1
- package/dist/esm/mutations.test.mjs +0 -11
- package/dist/esm/mutations.test.mjs.map +1 -1
- package/dist/esm/mutations.test.native.js +0 -18
- package/dist/esm/mutations.test.native.js.map +1 -1
- package/dist/esm/server.test.mjs +0 -93
- package/dist/esm/server.test.mjs.map +1 -1
- package/dist/esm/server.test.native.js +0 -101
- package/dist/esm/server.test.native.js.map +1 -1
- package/dist/esm/serverWhere.test.mjs +0 -45
- package/dist/esm/serverWhere.test.mjs.map +1 -1
- package/dist/esm/serverWhere.test.native.js +0 -51
- package/dist/esm/serverWhere.test.native.js.map +1 -1
- package/package.json +1 -1
- package/src/generate-helpers.test.ts +0 -40
- package/src/generate-lite.test.ts +0 -586
- package/src/generate.test.ts +0 -844
- package/src/mutations.test.ts +0 -21
- package/src/server.test.ts +0 -75
- package/src/serverWhere.test.ts +0 -42
|
@@ -15,391 +15,6 @@ afterEach(function () {
|
|
|
15
15
|
vi.restoreAllMocks();
|
|
16
16
|
});
|
|
17
17
|
describe("generateLite", function () {
|
|
18
|
-
test("emits models.ts, syncedMutations.ts, and README.md from inline types", function () {
|
|
19
|
-
var files = {
|
|
20
|
-
[`${DIR}/todo.ts`]: "// fake source, parser returns fixture",
|
|
21
|
-
[`${DIR}/user.ts`]: "// fake source, parser returns fixture"
|
|
22
|
-
};
|
|
23
|
-
var fixtures = {
|
|
24
|
-
[`${DIR}/todo.ts`]: {
|
|
25
|
-
mutations: [{
|
|
26
|
-
modelName: "todo",
|
|
27
|
-
handlers: [{
|
|
28
|
-
name: "toggle",
|
|
29
|
-
paramTypeText: "{ id: string; isActive: boolean }"
|
|
30
|
-
}, {
|
|
31
|
-
name: "rename",
|
|
32
|
-
paramTypeText: "{ id: string; title: string }"
|
|
33
|
-
}],
|
|
34
|
-
schema: null
|
|
35
|
-
}],
|
|
36
|
-
queries: []
|
|
37
|
-
},
|
|
38
|
-
[`${DIR}/user.ts`]: {
|
|
39
|
-
mutations: [{
|
|
40
|
-
modelName: "user",
|
|
41
|
-
handlers: [{
|
|
42
|
-
name: "finishOnboarding",
|
|
43
|
-
// null = no second param / void
|
|
44
|
-
paramTypeText: null
|
|
45
|
-
}],
|
|
46
|
-
schema: null
|
|
47
|
-
}],
|
|
48
|
-
queries: []
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
var result = generateLite({
|
|
52
|
-
files,
|
|
53
|
-
dir: DIR,
|
|
54
|
-
parse: makeParse(fixtures)
|
|
55
|
-
});
|
|
56
|
-
expect(Object.keys(result.files).sort()).toEqual(["README.md", "groupedQueries.ts", "instances.ts", "models.ts", "syncedMutations.ts", "syncedQueries.ts"]);
|
|
57
|
-
var models = result.files["models.ts"];
|
|
58
|
-
expect(models).toContain("import * as todo from '../todo'");
|
|
59
|
-
expect(models).toContain("import * as userPublic from '../user'");
|
|
60
|
-
expect(models).toContain("user: userPublic,");
|
|
61
|
-
expect(models).not.toContain("\n userPublic,");
|
|
62
|
-
expect(models).toContain("export const models = {");
|
|
63
|
-
var syncedMutations = result.files["syncedMutations.ts"];
|
|
64
|
-
expect(syncedMutations).toContain("toggle:");
|
|
65
|
-
expect(syncedMutations).toContain("v.object({");
|
|
66
|
-
expect(syncedMutations).toContain("id: v.string()");
|
|
67
|
-
expect(syncedMutations).toContain("isActive: v.boolean()");
|
|
68
|
-
expect(syncedMutations).toContain("rename:");
|
|
69
|
-
expect(syncedMutations).toContain("title: v.string()");
|
|
70
|
-
expect(syncedMutations).toContain("finishOnboarding: v.void_()");
|
|
71
|
-
expect(result.modelCount).toBe(2);
|
|
72
|
-
expect(result.schemaCount).toBe(0);
|
|
73
|
-
expect(result.mutationCount).toBe(3);
|
|
74
|
-
});
|
|
75
|
-
test("parses newline-separated mutation object types", function () {
|
|
76
|
-
var files = {
|
|
77
|
-
[`${DIR}/agentEvent.ts`]: "// fake",
|
|
78
|
-
[`${DIR}/deployment.ts`]: "// fake"
|
|
79
|
-
};
|
|
80
|
-
var fixtures = {
|
|
81
|
-
[`${DIR}/agentEvent.ts`]: {
|
|
82
|
-
mutations: [{
|
|
83
|
-
modelName: "agentEvent",
|
|
84
|
-
handlers: [{
|
|
85
|
-
name: "claimReviewLease",
|
|
86
|
-
paramTypeText: `{
|
|
87
|
-
id: string
|
|
88
|
-
projectId: string
|
|
89
|
-
createdAt: number
|
|
90
|
-
}`
|
|
91
|
-
}],
|
|
92
|
-
schema: null
|
|
93
|
-
}],
|
|
94
|
-
queries: []
|
|
95
|
-
},
|
|
96
|
-
[`${DIR}/deployment.ts`]: {
|
|
97
|
-
mutations: [{
|
|
98
|
-
modelName: "deployment",
|
|
99
|
-
handlers: [{
|
|
100
|
-
name: "deploy",
|
|
101
|
-
paramTypeText: `{
|
|
102
|
-
id: string
|
|
103
|
-
platform?: string // 'web' | 'ios'
|
|
104
|
-
buildTier?: string // 'dev' | 'testflight' | 'production'
|
|
105
|
-
}`
|
|
106
|
-
}],
|
|
107
|
-
schema: null
|
|
108
|
-
}],
|
|
109
|
-
queries: []
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
var result = generateLite({
|
|
113
|
-
files,
|
|
114
|
-
dir: DIR,
|
|
115
|
-
parse: makeParse(fixtures)
|
|
116
|
-
});
|
|
117
|
-
var synced = result.files["syncedMutations.ts"];
|
|
118
|
-
expect(synced).toContain("claimReviewLease:");
|
|
119
|
-
expect(synced).toContain("projectId: v.string()");
|
|
120
|
-
expect(synced).toContain("createdAt: v.number()");
|
|
121
|
-
expect(synced).toContain("deploy:");
|
|
122
|
-
expect(synced).toContain("platform: v.optional(v.string())");
|
|
123
|
-
expect(synced).toContain("buildTier: v.optional(v.string())");
|
|
124
|
-
expect(synced).not.toContain("claimReviewLease: v.object({})");
|
|
125
|
-
expect(synced).not.toContain("deploy: v.object({})");
|
|
126
|
-
});
|
|
127
|
-
test("parses object intersections and skips index signatures", function () {
|
|
128
|
-
var files = {
|
|
129
|
-
[`${DIR}/agent.ts`]: "// fake"
|
|
130
|
-
};
|
|
131
|
-
var fixtures = {
|
|
132
|
-
[`${DIR}/agent.ts`]: {
|
|
133
|
-
mutations: [{
|
|
134
|
-
modelName: "agent",
|
|
135
|
-
handlers: [{
|
|
136
|
-
name: "update",
|
|
137
|
-
paramTypeText: `{
|
|
138
|
-
id: string
|
|
139
|
-
} & {
|
|
140
|
-
status?: string
|
|
141
|
-
currentTaskId?: string
|
|
142
|
-
[key: string]: unknown
|
|
143
|
-
}`
|
|
144
|
-
}],
|
|
145
|
-
schema: null
|
|
146
|
-
}],
|
|
147
|
-
queries: []
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
var result = generateLite({
|
|
151
|
-
files,
|
|
152
|
-
dir: DIR,
|
|
153
|
-
parse: makeParse(fixtures)
|
|
154
|
-
});
|
|
155
|
-
var synced = result.files["syncedMutations.ts"];
|
|
156
|
-
expect(synced).toContain("update:");
|
|
157
|
-
expect(synced).toContain("id: v.string()");
|
|
158
|
-
expect(synced).toContain("status: v.optional(v.string())");
|
|
159
|
-
expect(synced).toContain("currentTaskId: v.optional(v.string())");
|
|
160
|
-
expect(synced).not.toContain("[key");
|
|
161
|
-
expect(synced).not.toContain("update: v.object({})");
|
|
162
|
-
});
|
|
163
|
-
test("falls back to v.unknown() for type references", function () {
|
|
164
|
-
var files = {
|
|
165
|
-
[`${DIR}/post.ts`]: `export const allPosts = () => zql.post`
|
|
166
|
-
};
|
|
167
|
-
var fixtures = {
|
|
168
|
-
[`${DIR}/post.ts`]: {
|
|
169
|
-
mutations: [{
|
|
170
|
-
modelName: "post",
|
|
171
|
-
handlers: [{
|
|
172
|
-
name: "archive",
|
|
173
|
-
// bare type reference — parseTypeString returns null, so
|
|
174
|
-
// generate-lite should fall back to v.unknown() rather than
|
|
175
|
-
// attempting cross-file type resolution.
|
|
176
|
-
paramTypeText: "ArchiveParams"
|
|
177
|
-
}, {
|
|
178
|
-
name: "publish",
|
|
179
|
-
// primitive, should resolve
|
|
180
|
-
paramTypeText: "string"
|
|
181
|
-
}],
|
|
182
|
-
schema: null
|
|
183
|
-
}],
|
|
184
|
-
queries: []
|
|
185
|
-
}
|
|
186
|
-
};
|
|
187
|
-
var result = generateLite({
|
|
188
|
-
files,
|
|
189
|
-
dir: DIR,
|
|
190
|
-
parse: makeParse(fixtures)
|
|
191
|
-
});
|
|
192
|
-
var synced = result.files["syncedMutations.ts"];
|
|
193
|
-
expect(synced).toContain("archive: v.unknown()");
|
|
194
|
-
expect(synced).toContain("publish: v.string()");
|
|
195
|
-
});
|
|
196
|
-
test("uses v.unknown() for explicitly unknown mutation params", function () {
|
|
197
|
-
var files = {
|
|
198
|
-
[`${DIR}/project.ts`]: "// fake"
|
|
199
|
-
};
|
|
200
|
-
var fixtures = {
|
|
201
|
-
[`${DIR}/project.ts`]: {
|
|
202
|
-
mutations: [{
|
|
203
|
-
modelName: "project",
|
|
204
|
-
handlers: [{
|
|
205
|
-
name: "insert",
|
|
206
|
-
paramTypeText: "unknown"
|
|
207
|
-
}],
|
|
208
|
-
schema: null
|
|
209
|
-
}],
|
|
210
|
-
queries: []
|
|
211
|
-
}
|
|
212
|
-
};
|
|
213
|
-
var result = generateLite({
|
|
214
|
-
files,
|
|
215
|
-
dir: DIR,
|
|
216
|
-
parse: makeParse(fixtures)
|
|
217
|
-
});
|
|
218
|
-
expect(result.files["syncedMutations.ts"]).toContain("insert: v.unknown()");
|
|
219
|
-
});
|
|
220
|
-
test("emits query files with v.unknown() fallback for references", function () {
|
|
221
|
-
var files = {
|
|
222
|
-
[`${DIR}/post.ts`]: "// fake"
|
|
223
|
-
};
|
|
224
|
-
var fixtures = {
|
|
225
|
-
[`${DIR}/post.ts`]: {
|
|
226
|
-
mutations: [],
|
|
227
|
-
queries: [
|
|
228
|
-
// no-arg query → void
|
|
229
|
-
{
|
|
230
|
-
name: "allPosts",
|
|
231
|
-
rootTable: "post",
|
|
232
|
-
paramTypeText: null,
|
|
233
|
-
relatedPaths: []
|
|
234
|
-
},
|
|
235
|
-
// inline object → real validator
|
|
236
|
-
{
|
|
237
|
-
name: "postById",
|
|
238
|
-
rootTable: "post",
|
|
239
|
-
paramTypeText: "{ id: string }",
|
|
240
|
-
relatedPaths: []
|
|
241
|
-
},
|
|
242
|
-
// primitive
|
|
243
|
-
{
|
|
244
|
-
name: "byAuthorId",
|
|
245
|
-
rootTable: "post",
|
|
246
|
-
paramTypeText: "string",
|
|
247
|
-
relatedPaths: []
|
|
248
|
-
},
|
|
249
|
-
// optional nullable inline object
|
|
250
|
-
{
|
|
251
|
-
name: "paged",
|
|
252
|
-
rootTable: "post",
|
|
253
|
-
paramTypeText: "{ pageSize: number; cursor?: { id: string; createdAt: number } | null }",
|
|
254
|
-
relatedPaths: []
|
|
255
|
-
},
|
|
256
|
-
// type reference → fallback
|
|
257
|
-
{
|
|
258
|
-
name: "filtered",
|
|
259
|
-
rootTable: "post",
|
|
260
|
-
paramTypeText: "PostFilter",
|
|
261
|
-
relatedPaths: []
|
|
262
|
-
},
|
|
263
|
-
// permission should be skipped
|
|
264
|
-
{
|
|
265
|
-
name: "permission",
|
|
266
|
-
rootTable: "post",
|
|
267
|
-
paramTypeText: null,
|
|
268
|
-
relatedPaths: []
|
|
269
|
-
}]
|
|
270
|
-
}
|
|
271
|
-
};
|
|
272
|
-
var result = generateLite({
|
|
273
|
-
files,
|
|
274
|
-
dir: DIR,
|
|
275
|
-
parse: makeParse(fixtures)
|
|
276
|
-
});
|
|
277
|
-
expect(result.files["groupedQueries.ts"]).toBeDefined();
|
|
278
|
-
expect(result.files["syncedQueries.ts"]).toBeDefined();
|
|
279
|
-
var grouped = result.files["groupedQueries.ts"];
|
|
280
|
-
expect(grouped).toContain("import * as postSource from '../post'");
|
|
281
|
-
expect(grouped).toContain("postById: postSource.postById");
|
|
282
|
-
var synced = result.files["syncedQueries.ts"];
|
|
283
|
-
expect(synced).toContain("allPosts: defineQuery(() => Queries.post.allPosts())");
|
|
284
|
-
expect(synced).toContain("postById: defineQuery(");
|
|
285
|
-
expect(synced).toContain("id: v.string()");
|
|
286
|
-
expect(synced).toContain("byAuthorId: defineQuery(");
|
|
287
|
-
expect(synced).toMatch(/byAuthorId: defineQuery\(\s*v\.string\(\)/);
|
|
288
|
-
expect(synced).toContain("paged: defineQuery(");
|
|
289
|
-
expect(synced).toContain("cursor: v.optional(v.nullable(v.object({");
|
|
290
|
-
expect(synced).toContain("filtered: defineQuery(");
|
|
291
|
-
expect(synced).toMatch(/filtered: defineQuery\(\s*v\.unknown\(\)/);
|
|
292
|
-
expect(synced).not.toContain("permission: defineQuery");
|
|
293
|
-
expect(result.queryCount).toBe(5);
|
|
294
|
-
});
|
|
295
|
-
test("emits types.ts and tables.ts when a model declares a schema inline", function () {
|
|
296
|
-
var files = {
|
|
297
|
-
[`${DIR}/task.ts`]: "// fake"
|
|
298
|
-
};
|
|
299
|
-
var fixtures = {
|
|
300
|
-
[`${DIR}/task.ts`]: {
|
|
301
|
-
mutations: [{
|
|
302
|
-
modelName: "task",
|
|
303
|
-
handlers: [],
|
|
304
|
-
schema: {
|
|
305
|
-
tableName: "task",
|
|
306
|
-
primaryKeys: ["id"],
|
|
307
|
-
columns: [{
|
|
308
|
-
name: "id",
|
|
309
|
-
builderText: "string()"
|
|
310
|
-
}, {
|
|
311
|
-
name: "title",
|
|
312
|
-
builderText: "string()"
|
|
313
|
-
}, {
|
|
314
|
-
name: "priority",
|
|
315
|
-
builderText: "number()"
|
|
316
|
-
}, {
|
|
317
|
-
name: "done",
|
|
318
|
-
builderText: "boolean()"
|
|
319
|
-
}, {
|
|
320
|
-
name: "note",
|
|
321
|
-
builderText: "string().optional()"
|
|
322
|
-
}]
|
|
323
|
-
}
|
|
324
|
-
}],
|
|
325
|
-
queries: []
|
|
326
|
-
}
|
|
327
|
-
};
|
|
328
|
-
var result = generateLite({
|
|
329
|
-
files,
|
|
330
|
-
dir: DIR,
|
|
331
|
-
parse: makeParse(fixtures)
|
|
332
|
-
});
|
|
333
|
-
expect(result.schemaCount).toBe(1);
|
|
334
|
-
expect(result.files["types.ts"]).toBeDefined();
|
|
335
|
-
expect(result.files["tables.ts"]).toBeDefined();
|
|
336
|
-
var types = result.files["types.ts"];
|
|
337
|
-
expect(types).toContain("export type Task = TableInsertRow<typeof schema.task>");
|
|
338
|
-
var tables = result.files["tables.ts"];
|
|
339
|
-
expect(tables).toContain("export { schema as task } from '../task'");
|
|
340
|
-
var synced = result.files["syncedMutations.ts"];
|
|
341
|
-
expect(synced).toContain("insert:");
|
|
342
|
-
expect(synced).toContain("update:");
|
|
343
|
-
expect(synced).toContain("delete:");
|
|
344
|
-
expect(result.mutationCount).toBe(3);
|
|
345
|
-
});
|
|
346
|
-
test("ignores private files inside a namespace folder", function () {
|
|
347
|
-
var files = {
|
|
348
|
-
[`${DIR}/post/mutations.ts`]: "// fake",
|
|
349
|
-
[`${DIR}/post/README.md`]: "not a model",
|
|
350
|
-
[`${DIR}/post/helpers/util.ts`]: "private helper, ignored",
|
|
351
|
-
[`${DIR}/post/post.d.ts`]: "declaration file, ignored",
|
|
352
|
-
[`${DIR}/post/post.test.ts`]: "test file, ignored",
|
|
353
|
-
[`${DIR}/post/post.spec.ts`]: "spec file, ignored"
|
|
354
|
-
};
|
|
355
|
-
var fixtures = {
|
|
356
|
-
[`${DIR}/post/mutations.ts`]: {
|
|
357
|
-
mutations: [{
|
|
358
|
-
modelName: "post",
|
|
359
|
-
handlers: [],
|
|
360
|
-
schema: null
|
|
361
|
-
}],
|
|
362
|
-
queries: []
|
|
363
|
-
}
|
|
364
|
-
};
|
|
365
|
-
var result = generateLite({
|
|
366
|
-
files,
|
|
367
|
-
dir: DIR,
|
|
368
|
-
parse: makeParse(fixtures)
|
|
369
|
-
});
|
|
370
|
-
expect(result.modelCount).toBe(1);
|
|
371
|
-
var models = result.files["models.ts"];
|
|
372
|
-
expect(models).toContain("import * as post from '../post/mutations'");
|
|
373
|
-
expect(models).not.toContain("util");
|
|
374
|
-
expect(models).not.toContain("README");
|
|
375
|
-
expect(models).not.toContain("post.test");
|
|
376
|
-
expect(models).not.toContain("post.spec");
|
|
377
|
-
});
|
|
378
|
-
test("supports a split namespace folder", function () {
|
|
379
|
-
var files = {
|
|
380
|
-
[`${DIR}/post/mutations.ts`]: "// fake"
|
|
381
|
-
};
|
|
382
|
-
var fixtures = {
|
|
383
|
-
[`${DIR}/post/mutations.ts`]: {
|
|
384
|
-
mutations: [{
|
|
385
|
-
modelName: "post",
|
|
386
|
-
handlers: [{
|
|
387
|
-
name: "publish",
|
|
388
|
-
paramTypeText: "{ id: string }"
|
|
389
|
-
}],
|
|
390
|
-
schema: null
|
|
391
|
-
}],
|
|
392
|
-
queries: []
|
|
393
|
-
}
|
|
394
|
-
};
|
|
395
|
-
var result = generateLite({
|
|
396
|
-
files,
|
|
397
|
-
dir: DIR,
|
|
398
|
-
parse: makeParse(fixtures)
|
|
399
|
-
});
|
|
400
|
-
var models = result.files["models.ts"];
|
|
401
|
-
expect(models).toContain("from '../post/mutations'");
|
|
402
|
-
});
|
|
403
18
|
test("derives single-file namespaces from data exports", function () {
|
|
404
19
|
var files = {
|
|
405
20
|
[`${DIR}/server.ts`]: `export const serverRows = () => zql.server`,
|
|
@@ -464,146 +79,6 @@ describe("generateLite", function () {
|
|
|
464
79
|
});
|
|
465
80
|
}).toThrow(/removed top-level queries\/ layout/);
|
|
466
81
|
});
|
|
467
|
-
test("derives scoped related-table closure from lite metadata", function () {
|
|
468
|
-
var files = {
|
|
469
|
-
[`${DIR}/on-zero.config.ts`]: `export default defineConfig({ instances: { project: { scope: 'projectId' } } })`,
|
|
470
|
-
[`${DIR}/project/message/queries.ts`]: `export const messages = () => zql.message.related('comments')`,
|
|
471
|
-
[`${DIR}/project/message/mutations.ts`]: "// fake mutation",
|
|
472
|
-
["/proj/src/database/relations.ts"]: "// fake relations",
|
|
473
|
-
["/proj/src/database/schema.ts"]: "// fake tables"
|
|
474
|
-
};
|
|
475
|
-
var empty = {
|
|
476
|
-
mutations: [],
|
|
477
|
-
queries: []
|
|
478
|
-
};
|
|
479
|
-
var result = generateLite({
|
|
480
|
-
files,
|
|
481
|
-
dir: DIR,
|
|
482
|
-
parse: makeParse({
|
|
483
|
-
[`${DIR}/on-zero.config.ts`]: {
|
|
484
|
-
...empty,
|
|
485
|
-
dataConfig: {
|
|
486
|
-
instances: {
|
|
487
|
-
project: {
|
|
488
|
-
scope: "projectId"
|
|
489
|
-
}
|
|
490
|
-
}
|
|
491
|
-
}
|
|
492
|
-
},
|
|
493
|
-
[`${DIR}/project/message/queries.ts`]: {
|
|
494
|
-
...empty,
|
|
495
|
-
queries: [{
|
|
496
|
-
name: "messages",
|
|
497
|
-
rootTable: "message",
|
|
498
|
-
paramTypeText: null,
|
|
499
|
-
relatedPaths: [["comments", "author"]]
|
|
500
|
-
}]
|
|
501
|
-
},
|
|
502
|
-
[`${DIR}/project/message/mutations.ts`]: {
|
|
503
|
-
...empty,
|
|
504
|
-
mutations: [{
|
|
505
|
-
modelName: "message",
|
|
506
|
-
handlers: [],
|
|
507
|
-
schema: {
|
|
508
|
-
tableName: "message",
|
|
509
|
-
primaryKeys: ["id"],
|
|
510
|
-
columns: [{
|
|
511
|
-
name: "id",
|
|
512
|
-
builderText: "string()"
|
|
513
|
-
}, {
|
|
514
|
-
name: "projectId",
|
|
515
|
-
builderText: "string()"
|
|
516
|
-
}]
|
|
517
|
-
}
|
|
518
|
-
}]
|
|
519
|
-
},
|
|
520
|
-
"/proj/src/database/relations.ts": {
|
|
521
|
-
...empty,
|
|
522
|
-
relations: [{
|
|
523
|
-
sourceTable: "message",
|
|
524
|
-
name: "comments",
|
|
525
|
-
targetTable: "comment"
|
|
526
|
-
}, {
|
|
527
|
-
sourceTable: "comment",
|
|
528
|
-
name: "author",
|
|
529
|
-
targetTable: "userPublic"
|
|
530
|
-
}]
|
|
531
|
-
},
|
|
532
|
-
"/proj/src/database/schema.ts": {
|
|
533
|
-
...empty,
|
|
534
|
-
tables: [{
|
|
535
|
-
name: "comment",
|
|
536
|
-
columns: ["id", "projectId"]
|
|
537
|
-
}, {
|
|
538
|
-
name: "userPublic",
|
|
539
|
-
columns: ["id", "projectId"]
|
|
540
|
-
}]
|
|
541
|
-
}
|
|
542
|
-
})
|
|
543
|
-
});
|
|
544
|
-
expect(result.files["instances.ts"]).toContain('syncTables: ["comment","message","userPublic"]');
|
|
545
|
-
var instance = result.instances.find(function (entry) {
|
|
546
|
-
return entry.name === "project";
|
|
547
|
-
});
|
|
548
|
-
expect(instance === null || instance === void 0 ? void 0 : instance.syncTables).toEqual(["comment", "message", "userPublic"]);
|
|
549
|
-
expect(instance === null || instance === void 0 ? void 0 : instance.supportTables).toEqual([]);
|
|
550
|
-
});
|
|
551
|
-
test("derives query membership from the query root instead of its namespace", function () {
|
|
552
|
-
var _result_instances_, _result_instances_1;
|
|
553
|
-
var files = {
|
|
554
|
-
[`${DIR}/category/mutations.ts`]: "// fake category model",
|
|
555
|
-
[`${DIR}/dashboard/queries.ts`]: `export const monthSummary = () => zql.category.related('expenses')`,
|
|
556
|
-
["/proj/src/database/relations.ts"]: "// fake relations",
|
|
557
|
-
["/proj/src/database/schema.ts"]: "// fake tables"
|
|
558
|
-
};
|
|
559
|
-
var empty = {
|
|
560
|
-
mutations: [],
|
|
561
|
-
queries: []
|
|
562
|
-
};
|
|
563
|
-
var result = generateLite({
|
|
564
|
-
files,
|
|
565
|
-
dir: DIR,
|
|
566
|
-
parse: makeParse({
|
|
567
|
-
[`${DIR}/category/mutations.ts`]: {
|
|
568
|
-
...empty,
|
|
569
|
-
mutations: [{
|
|
570
|
-
modelName: "category",
|
|
571
|
-
handlers: [],
|
|
572
|
-
schema: null
|
|
573
|
-
}]
|
|
574
|
-
},
|
|
575
|
-
[`${DIR}/dashboard/queries.ts`]: {
|
|
576
|
-
...empty,
|
|
577
|
-
queries: [{
|
|
578
|
-
name: "monthSummary",
|
|
579
|
-
rootTable: "category",
|
|
580
|
-
paramTypeText: null,
|
|
581
|
-
relatedPaths: [["expenses"]]
|
|
582
|
-
}]
|
|
583
|
-
},
|
|
584
|
-
"/proj/src/database/relations.ts": {
|
|
585
|
-
...empty,
|
|
586
|
-
relations: [{
|
|
587
|
-
sourceTable: "category",
|
|
588
|
-
name: "expenses",
|
|
589
|
-
targetTable: "expense"
|
|
590
|
-
}]
|
|
591
|
-
},
|
|
592
|
-
"/proj/src/database/schema.ts": {
|
|
593
|
-
...empty,
|
|
594
|
-
tables: [{
|
|
595
|
-
name: "category",
|
|
596
|
-
columns: ["id"]
|
|
597
|
-
}, {
|
|
598
|
-
name: "expense",
|
|
599
|
-
columns: ["id", "categoryId"]
|
|
600
|
-
}]
|
|
601
|
-
}
|
|
602
|
-
})
|
|
603
|
-
});
|
|
604
|
-
expect((_result_instances_ = result.instances[0]) === null || _result_instances_ === void 0 ? void 0 : _result_instances_.syncTables).toEqual(["category", "expense"]);
|
|
605
|
-
expect((_result_instances_1 = result.instances[0]) === null || _result_instances_1 === void 0 ? void 0 : _result_instances_1.syncTables).not.toContain("dashboard");
|
|
606
|
-
});
|
|
607
82
|
test("ignores related syntax mentioned only in a query-file comment", function () {
|
|
608
83
|
var _result_instances_;
|
|
609
84
|
var files = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["runInNewContext","afterEach","describe","expect","test","vi","generateLite","makeParse","table","_src","path","entry","Error","DIR","restoreAllMocks","files","fixtures","mutations","modelName","handlers","name","paramTypeText","schema","queries","result","dir","parse","Object","keys","sort","toEqual","models","toContain","not","syncedMutations","modelCount","toBe","schemaCount","mutationCount","synced","rootTable","relatedPaths","toBeDefined","grouped","toMatch","queryCount","tableName","primaryKeys","columns","builderText","types","tables","warn","spyOn","console","mockImplementation","source","endsWith","includes","toHaveBeenCalledOnce","toHaveBeenCalledWith","mockRestore","toThrow","empty","dataConfig","instances","project","scope","relations","sourceTable","targetTable","instance","find","syncTables","supportTables","_result_instances_","_result_instances_1","_context_instances_default","_context_instances","imports","runnable","replace","context","groupedQueries","post","default","_context_instances_control","_context_instances_project","_context_instances1","control"],"sources":["../../src/generate-lite.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["runInNewContext","afterEach","describe","expect","test","vi","generateLite","makeParse","table","_src","path","entry","Error","DIR","restoreAllMocks","files","result","dir","parse","mutations","queries","name","rootTable","paramTypeText","relatedPaths","modelCount","toBe","queryCount","warn","spyOn","console","mockImplementation","source","endsWith","includes","toHaveBeenCalledOnce","toHaveBeenCalledWith","mockRestore","toThrow","_result_instances_","instances","syncTables","toEqual","_context_instances_default","_context_instances","empty","modelName","handlers","schema","imports","supportTables","runnable","replace","context","groupedQueries","models","post","default","_context_instances_control","_context_instances_project","_context_instances1","dataConfig","control","project","scope","tableName","primaryKeys","columns","builderText","tables","account","message"],"sources":["../../src/generate-lite.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,QAAuB;AAEhC,SAASC,SAAA,EAAWC,QAAA,EAAUC,MAAA,EAAQC,IAAA,EAAMC,EAAA,QAAU;AAEtD,SAASC,YAAA,QAAoB;AAQ7B,SAASC,UAAUC,KAAA,EAAoD;EACrE,OAAO,UAAOC,IAAA,EAAAC,IAAS;IACrB,IAAAC,KAAM,GAAAH,KAAQ,CAAAE,IAAM;IACpB,IAAI,CAACC,KAAA,EAAO;MACV,MAAM,IAAIC,KAAA,CAAM,2BAA2BF,IAAI,EAAE;IACnD;IACA,OAAOC,KAAA;EACT;AACF;AAEA,IAAAE,GAAM,mBAAM;AAEZZ,SAAA,CAAU,YAAM;EACdI,EAAA,CAAGS,eAAA,CAAgB;AACrB,CAAC;AAEDZ,QAAA,CAAS,gBAAgB,YAAM;EAC7BE,IAAA,CAAK,oDAAoD,YAAM;IAC7D,IAAAW,KAAM;MACJ,CAAC,GAAGF,GAAG,YAAY,GAAG;MACtB,CAAC,GAAGA,GAAG,WAAW,GAAG;IACvB;IACA,IAAAG,MAAM,GAAAV,YAAS;MACbS,KAAA;MACAE,GAAA,EAAKJ,GAAA;MACLK,KAAA,EAAOX,SAAA,CAAU;QACf,CAAC,GAAGM,GAAG,YAAY,GAAG;UACpBM,SAAA,EAAW,EAAC;UACZC,OAAA,EAAS,CACP;YACEC,IAAA,EAAM;YACNC,SAAA,EAAW;YACXC,aAAA,EAAe;YACfC,YAAA,EAAc;UAChB;QAEJ;QACA,CAAC,GAAGX,GAAG,WAAW,GAAG;UACnBM,SAAA,EAAW,EAAC;UACZC,OAAA,EAAS;QACX;MACF,CAAC;IACH,CAAC;IAEDjB,MAAA,CAAOa,MAAA,CAAOS,UAAU,EAAEC,IAAA,CAAK,CAAC;IAChCvB,MAAA,CAAOa,MAAA,CAAOW,UAAU,EAAED,IAAA,CAAK,CAAC;EAClC,CAAC;EAEDtB,IAAA,CAAK,uDAAuD,YAAM;IAChE,IAAAwB,IAAM,GAAAvB,EAAO,CAAAwB,KAAG,CAAAC,OAAM,QAAS,EAAMC,kBAAE,aAAyB,CAAC,CAAC;IAClE,IAAAf,MAAM,GAAAV,YAAS;MACbS,KAAA,EAAO;QACL,CAAC,GAAGF,GAAG,YAAY,GAAG;QACtB,CAAC,GAAGA,GAAG,WAAW,GAAG;MACvB;MACAI,GAAA,EAAKJ,GAAA;MACLK,KAAA,EAAO,SAASA,MAAAc,MAAS,EAAAtB,IAAA;QACvB,IAAIA,IAAA,CAAKuB,QAAA,CAAS,WAAW,GAAG,MAAM,IAAIrB,KAAA,CAAM,cAAc;QAC9D,OAAO;UACLO,SAAA,EAAW,EAAC;UACZC,OAAA,EAASY,MAAA,CAAOE,QAAA,CAAS,YAAY,IACjC,CACE;YACEb,IAAA,EAAM;YACNC,SAAA,EAAW;YACXC,aAAA,EAAe;YACfC,YAAA,EAAc;UAChB,EACF,GACA;QACN;MACF;IACF,CAAC;IAEDrB,MAAA,CAAOa,MAAA,CAAOS,UAAU,EAAEC,IAAA,CAAK,CAAC;IAChCvB,MAAA,CAAOyB,IAAI,EAAEO,oBAAA,CAAqB;IAClChC,MAAA,CAAOyB,IAAI,EAAEQ,oBAAA;IAAAR,IACX,CAAAS,WAAA;EAAA,EACF;EACAjC,IAAA,uCAAiB;IAClBD,MAAA;MAED,OAAKG,YAAA;QACHS,KAAA;UAAO,IACLF,GAAA,kBAAa;QACX;QACAI,GAAA,EAAKJ,GAAA;QACLK,KAAA,EAAOX,SAAA,CAAU,CAAC,CAAC;MACrB,CAAC;IACH,EAAE,CAAA+B,OAAQ,qCAAoC;EAChD,CAAC;EAEDlC,IAAA,CAAK,iEAAiE,YAAM;IAC1E,IAAAmC,kBAAc;IAAA,IACXxB,KAAM;MACT,IAAAF,GAAA;IACA;IAA4B,IAC1BG,MAAA,GAAAV,YAAA;MACAS,KAAK;MACLE,GAAA,EAAAJ,GAAO;MAAUK,KACd,EAAGX,SAAG;QACR,IAAAM,GAAA;UACFM,SAAA;UAEDC,OAAO,EAAO;QACd;MACD;IAED;IACEjB,MAAM,CAAAa,MAAA,CAAQW,UAAA,EAAAD,IAAA;IAAAvB,MACR,EAAAoC,kBAAgB,GAAAvB,MAAA,CAAAwB,SAAA,iBAAAD,kBAAA,uBAAAA,kBAAA,CAAAE,UAAA,EAAAC,OAAA;EAAA;EACctC,IAClC,CAAC,iEAAmC;IACtC,IAAAuC,0BAAA,EAAAC,kBAAA;IACA,IAAA7B,KAAM;MACN,IAAMF,GAAA,UAAS,iBAAa;MAC1B,IAAAA,GAAA;MACA,IAAAA,GAAK;IAAA;IACY,IACfgC,KAAI,GAAG;MAAa1B,SACf;MAAAC,OACH;IAA6D;IAC7B,IAAAJ,MAChC,GAAAV,YAAgB;MAAMS,KACxB;MAAAE,GACC,EAAAJ,GAAG;MAA8BK,KAChC,EAAGX,SAAA;QAAA,IACHM,GAAA,UAAU;UACV,GAAAgC,KAAA;UACF1B,SAAA,GACI;YACC2B,SAAA;YACHC,QAAA,IAAgB;YAClBC,MAAA;UACD,EACF;UACKC,OAAA,GACJ,uBACA;UAECC,aAAQ,GAKL;QAEJ;QACA,IAAArC,GAAS;UACX,GAAAgC,KAAA;UAEAI,OAAA,GAEO,gBAAQ,CAChB;UAEIC,aAAA,GACG,OAAQ;QAEX;QACA,IAAGrC,GAAG,0BAAwB;UAC9B,GAAAgC,KAAA;UACHK,aAAA,GACM,UAAU;QAGd;MACA;IAAK,EACL;IAAiB,IACfC,QAAO,GAAAnC,MAAA,CAAAD,KAAA,eAAuB,EAAAqC,OAAA,0CAAAA,OAAA,2DAAAA,OAAA,0CAAAA,OAAA,uDAAAA,OAAA,kBAAAA,OAAA;IAAA,IAAAC,OACzB;MAAAC,cACH,EAAY;MAAAC,MACV;QAAWC,IAAA,EACT;MAA8D;MAChCR,MAChC;IAAA;IACFhD,eACF,CAAAmD,QAAA,EAAAE,OAAA;IAAAlD,MACC,EAAGyC,kBAAG,GAAAS,OAAA,CAAAb,SAA+B,cAAAI,kBAAA,wBAAAD,0BAAA,GAAAC,kBAAA,CAAAa,OAAA,cAAAd,0BAAA,uBAAAA,0BAAA,CAAAO,aAAA,EAAAR,OAAA,SACjC,YACH,CAAgE;EACzC;EACzBtC,IAAA,wEAC+B;IAAA,IAAAsD,0BAC1B,EAAAd,kBAAA,EAAAe,0BAAA,EAAAC,mBAAA;IAAA,IAAA7C,KACH;MAAW,IAAAF,GACT;MAAA,IAAAA,GAAA,4BACa;MAAA,IAAAA,GAAA,qBACA;MAAA,+BACH;IAAA;IACK,IAAAgC,KAAA,GACX;MAAkB1B,SAAA,EAClB;MAASC,OAAA;IAC+B;IACO,IAAAJ,MAAA,GAC/CV,YAAA;MAAAS,KAAA;MACFE,GAAA,EAAAJ,GACF;MAAAK,KACF,EAAAX,SAAA;QAAA,IACAM,GAAA,oBAAuB;UACzB,GAAAgC,KAAA;UACAgB,UAAA;YACErB,SAAG;cACHsB,OAAW;gBACb7C,GAAA;gBACDiC,aAAA,GACF;cAEC;cACAa,OAAA;gBAESC,KAAA;cAKL;YACJ;UACA;QACA;QACF,IAAAnD,GAAA;UAEA,GAAAgC,KAAA;UAEA1B,SAAe,GACR;YACR2B,SAAA;YAEIC,QAAA;YACGC,MAAQ;UACR,CAAG,CACH;UACAE,aAAG,GACT;QAEA;QACE,IAAArC,GAAA;UACA,GAAKgC,KAAA;UACL1B,SAAO,GACD;YACC2B,SAAA;YACHC,QAAY;YACVC,MAAA;cACEiB,SAAW,WAAU;cACrBC,WAAW,GACb,KACF;cACFC,OAAA,GACO;gBACF9C,IAAA;gBACM+C,WAAA;cACP,GACE;gBACA/C,IAAA,EAAW;gBACX+C,WAAe;cACf;YAEJ;UACF,EACC;UACClB,aAAG,GACH;QACE;QACa,8BACA;UAAA,GAAAL,KACX;UAAQwB,MACN,GAAW;YACOhD,IAClB,WAAS;YAAA8C,OACL,GAAoC,IACpC,EACJ;UAEJ;QAEJ;MACF,CAAC;IACH,CAAC;IACD,IAAAhB,QAAM,GAAAnC,MAAW,CAAAD,KAAO,eAAM,EAAcqC,OAAG,0CAAAA,OAAA,2DAAAA,OAAA,0CAAAA,OAAA,uDAAAA,OAAA,kBAAAA,OAAA;IAAA,IAC7CC,OAAA;MACAC,cAAA;MAECC,MAAA,EAAQ;QAKXe,OAAM;QACJC,OAAA;MACA;MACAvB,MAAA,EAAQ,CAAC;IACX;IAEAhD,eAAA,CAAgBmD,QAAA,EAAUE,OAAO;IAEjClD,MAAA,CAAO,CAAAyC,kBAAmB,GAAAS,OAAS,CAAAb,SAAA,MAAe,QAAQI,kBAAA,wBAAAc,0BAAA,GAAAd,kBAAA,CAAAkB,OAAA,cAAAJ,0BAAA,uBAAAA,0BAAA,CAAAR,aAAA,EAAAR,OAAA,EACxD,SACA,SACD;IACDvC,MAAA,CAAO,CAAAyD,mBAAmB,GAAAP,OAAS,CAAAb,SAAA,MAAe,QAAUoB,mBAAA,wBAAAD,0BAAA,GAAAC,mBAAA,CAAAG,OAAA,cAAAJ,0BAAA,uBAAAA,0BAAA,CAAAT,aAAA,EAAAR,OAAA,EAC7D,QAED;EACE;EACAtC,IAAA;IAAA,IAAOuC,0BACQ,EAAAC,kBAAA,EAAAe,0BAAA,EAAAC,mBAAA;IAAA,IACX7C,KAAA,GAAO;MAAA,IACLF,GAAC,oBAAM,0JAAuB;MAAA,IAChCA,GAAA;MAAA,IACAA,GAAK;IAAA;IACY,IAAAgC,KACd,GAAG;MAA0B1B,SACzB;MAAAC,OACH;IAAyC;IAC3C,IACFJ,MAAC,GAAAV,YAAA;MACHS,KAAC;MACDE,GAAA,EAAAJ,GAAQ;MAEVK,KAAA,EAAAX,SAAA;QAAO,IACLM,GAAA,oBAAa;UACX,GAAAgC,KAAO;UACLgB,UAAO;YACNrB,SAAM;cACTiB,OAAA;gBACKxC,GAAA;gBACEiC,aAAU,GACR,eACF;cAED;cAAWa,OACT;gBACAC,KAAA;cACF;YACF;UACF;QACF,CAAC;QACF,IAAAnD,GAAA;UACD,GAAAgC,KAAQ;UAEVzB,OAAA,GACE;YACEC,IAAO;YACDC,SAAG,WAAa;YAChBC,aAAG;YACTC,YAAA;UACA,CAAK;QACY;QACK,IAClBX,GAAG;UAAA,GACHgC,KAAA;UACF1B,SAAA,GACD;YACF2B,SAAA;YACOC,QAAA;YACXC,MAAA;cACFiB,SAAA","ignoreList":[]}
|