@zenstackhq/tanstack-query 2.21.0 → 3.0.0-beta.17

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 (93) hide show
  1. package/.turbo/turbo-build.log +31 -0
  2. package/LICENSE +1 -1
  3. package/dist/react.cjs +1238 -0
  4. package/dist/react.cjs.map +1 -0
  5. package/dist/react.d.cts +696 -0
  6. package/dist/react.d.ts +696 -0
  7. package/dist/react.js +1195 -0
  8. package/dist/react.js.map +1 -0
  9. package/eslint.config.js +4 -0
  10. package/package.json +56 -109
  11. package/scripts/generate.ts +27 -0
  12. package/src/react.ts +531 -0
  13. package/src/utils/common.ts +457 -0
  14. package/src/utils/mutator.ts +441 -0
  15. package/src/utils/nested-read-visitor.ts +61 -0
  16. package/src/utils/nested-write-visitor.ts +359 -0
  17. package/src/utils/query-analysis.ts +116 -0
  18. package/src/utils/serialization.ts +39 -0
  19. package/src/utils/types.ts +19 -0
  20. package/test/react-query.test.tsx +1787 -0
  21. package/test/schemas/basic/input.ts +70 -0
  22. package/test/schemas/basic/models.ts +12 -0
  23. package/test/schemas/basic/schema-lite.ts +124 -0
  24. package/test/schemas/basic/schema.zmodel +25 -0
  25. package/tsconfig.json +7 -0
  26. package/tsconfig.test.json +8 -0
  27. package/tsup.config.ts +13 -0
  28. package/vitest.config.ts +11 -0
  29. package/README.md +0 -5
  30. package/generator.d.ts +0 -6
  31. package/generator.js +0 -578
  32. package/generator.js.map +0 -1
  33. package/index.d.ts +0 -4
  34. package/index.js +0 -22
  35. package/index.js.map +0 -1
  36. package/runtime/common-CXlL7vTW.d.mts +0 -121
  37. package/runtime/common-CXlL7vTW.d.ts +0 -121
  38. package/runtime/index.d.mts +0 -20
  39. package/runtime/index.d.ts +0 -20
  40. package/runtime/index.js +0 -44
  41. package/runtime/index.js.map +0 -1
  42. package/runtime/index.mjs +0 -21
  43. package/runtime/index.mjs.map +0 -1
  44. package/runtime/react.d.mts +0 -322
  45. package/runtime/react.d.ts +0 -322
  46. package/runtime/react.js +0 -408
  47. package/runtime/react.js.map +0 -1
  48. package/runtime/react.mjs +0 -380
  49. package/runtime/react.mjs.map +0 -1
  50. package/runtime/svelte.d.mts +0 -322
  51. package/runtime/svelte.d.ts +0 -322
  52. package/runtime/svelte.js +0 -407
  53. package/runtime/svelte.js.map +0 -1
  54. package/runtime/svelte.mjs +0 -379
  55. package/runtime/svelte.mjs.map +0 -1
  56. package/runtime/vue.d.mts +0 -330
  57. package/runtime/vue.d.ts +0 -330
  58. package/runtime/vue.js +0 -418
  59. package/runtime/vue.js.map +0 -1
  60. package/runtime/vue.mjs +0 -390
  61. package/runtime/vue.mjs.map +0 -1
  62. package/runtime-v5/angular.d.mts +0 -59
  63. package/runtime-v5/angular.d.ts +0 -59
  64. package/runtime-v5/angular.js +0 -425
  65. package/runtime-v5/angular.js.map +0 -1
  66. package/runtime-v5/angular.mjs +0 -397
  67. package/runtime-v5/angular.mjs.map +0 -1
  68. package/runtime-v5/common-CXlL7vTW.d.mts +0 -121
  69. package/runtime-v5/common-CXlL7vTW.d.ts +0 -121
  70. package/runtime-v5/index.d.mts +0 -20
  71. package/runtime-v5/index.d.ts +0 -20
  72. package/runtime-v5/index.js +0 -44
  73. package/runtime-v5/index.js.map +0 -1
  74. package/runtime-v5/index.mjs +0 -21
  75. package/runtime-v5/index.mjs.map +0 -1
  76. package/runtime-v5/react.d.mts +0 -474
  77. package/runtime-v5/react.d.ts +0 -474
  78. package/runtime-v5/react.js +0 -440
  79. package/runtime-v5/react.js.map +0 -1
  80. package/runtime-v5/react.mjs +0 -412
  81. package/runtime-v5/react.mjs.map +0 -1
  82. package/runtime-v5/svelte.d.mts +0 -386
  83. package/runtime-v5/svelte.d.ts +0 -386
  84. package/runtime-v5/svelte.js +0 -436
  85. package/runtime-v5/svelte.js.map +0 -1
  86. package/runtime-v5/svelte.mjs +0 -408
  87. package/runtime-v5/svelte.mjs.map +0 -1
  88. package/runtime-v5/vue.d.mts +0 -330
  89. package/runtime-v5/vue.d.ts +0 -330
  90. package/runtime-v5/vue.js +0 -420
  91. package/runtime-v5/vue.js.map +0 -1
  92. package/runtime-v5/vue.mjs +0 -392
  93. package/runtime-v5/vue.mjs.map +0 -1
package/generator.js DELETED
@@ -1,578 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.generate = generate;
16
- const sdk_1 = require("@zenstackhq/sdk");
17
- const ast_1 = require("@zenstackhq/sdk/ast");
18
- const prisma_1 = require("@zenstackhq/sdk/prisma");
19
- const local_helpers_1 = require("@zenstackhq/runtime/local-helpers");
20
- const fs_1 = __importDefault(require("fs"));
21
- const path_1 = __importDefault(require("path"));
22
- const ts_morph_1 = require("ts-morph");
23
- const ts_pattern_1 = require("ts-pattern");
24
- const _1 = require(".");
25
- const supportedTargets = ['react', 'vue', 'svelte', 'angular'];
26
- function generate(model, options, dmmf) {
27
- return __awaiter(this, void 0, void 0, function* () {
28
- const project = (0, sdk_1.createProject)();
29
- const warnings = [];
30
- const models = (0, sdk_1.getDataModels)(model);
31
- const typeDefs = model.declarations.filter(ast_1.isTypeDef);
32
- const target = (0, sdk_1.requireOption)(options, 'target', _1.name);
33
- if (!supportedTargets.includes(target)) {
34
- throw new sdk_1.PluginError(_1.name, `Unsupported target "${target}", supported values: ${supportedTargets.join(', ')}`);
35
- }
36
- const version = typeof options.version === 'string' ? options.version : 'v5';
37
- if (version !== 'v4' && version !== 'v5') {
38
- throw new sdk_1.PluginError(_1.name, `Unsupported version "${version}": use "v4" or "v5"`);
39
- }
40
- // Angular is only supported in v5
41
- if (target === 'angular' && version !== 'v5') {
42
- throw new sdk_1.PluginError(_1.name, `Angular target is only supported with version "v5", got "${version}"`);
43
- }
44
- let outDir = (0, sdk_1.requireOption)(options, 'output', _1.name);
45
- outDir = (0, sdk_1.resolvePath)(outDir, options);
46
- (0, sdk_1.ensureEmptyDir)(outDir);
47
- if (options.portable && typeof options.portable !== 'boolean') {
48
- throw new sdk_1.PluginError(_1.name, `Invalid value for "portable" option: ${options.portable}, a boolean value is expected`);
49
- }
50
- yield (0, sdk_1.generateModelMeta)(project, models, typeDefs, {
51
- output: path_1.default.join(outDir, '__model_meta.ts'),
52
- generateAttributes: false,
53
- });
54
- generateIndex(project, outDir, models, target, version);
55
- models.forEach((dataModel) => {
56
- const mapping = dmmf.mappings.modelOperations.find((op) => op.model === dataModel.name);
57
- if (!mapping) {
58
- warnings.push(`Unable to find mapping for model ${dataModel.name}`);
59
- return;
60
- }
61
- generateModelHooks(target, version, project, outDir, dataModel, mapping, options);
62
- });
63
- if (options.portable) {
64
- const gen = (0, sdk_1.getPrismaClientGenerator)(model);
65
- if (gen === null || gen === void 0 ? void 0 : gen.isNewGenerator) {
66
- warnings.push(`The "portable" option is not supported with the "prisma-client" generator and is ignored.`);
67
- }
68
- else {
69
- generateBundledTypes(project, outDir, options);
70
- }
71
- }
72
- yield (0, sdk_1.saveProject)(project);
73
- return { warnings };
74
- });
75
- }
76
- function generateQueryHook(target, version, sf, model, operation, returnArray, optionalInput, overrideReturnType, overrideInputType, overrideTypeParameters, supportInfinite = false, supportOptimistic = false) {
77
- const generateModes = [''];
78
- if (supportInfinite) {
79
- generateModes.push('Infinite');
80
- }
81
- if (target === 'react' && version === 'v5') {
82
- // react-query v5 supports suspense query
83
- generateModes.push('Suspense');
84
- if (supportInfinite) {
85
- generateModes.push('SuspenseInfinite');
86
- }
87
- }
88
- for (const generateMode of generateModes) {
89
- const capOperation = (0, local_helpers_1.upperCaseFirst)(operation);
90
- const argsType = overrideInputType !== null && overrideInputType !== void 0 ? overrideInputType : `Prisma.${model}${capOperation}Args`;
91
- let inputType = makeQueryArgsType(target, argsType);
92
- if (target === 'angular') {
93
- inputType = `${inputType} | (() => ${inputType})`;
94
- }
95
- const infinite = generateMode.includes('Infinite');
96
- const suspense = generateMode.includes('Suspense');
97
- const optimistic = supportOptimistic &&
98
- // infinite queries are not subject to optimistic updates
99
- !infinite;
100
- let defaultReturnType = `Prisma.${model}GetPayload<TArgs>`;
101
- if (optimistic) {
102
- defaultReturnType += '& { $optimistic?: boolean }';
103
- }
104
- if (returnArray) {
105
- defaultReturnType = `Array<${defaultReturnType}>`;
106
- }
107
- const returnType = overrideReturnType !== null && overrideReturnType !== void 0 ? overrideReturnType : defaultReturnType;
108
- const optionsType = makeQueryOptions(target, 'TQueryFnData', 'TData', infinite, suspense, version);
109
- const func = sf.addFunction({
110
- name: `use${generateMode}${capOperation}${model}`,
111
- typeParameters: overrideTypeParameters !== null && overrideTypeParameters !== void 0 ? overrideTypeParameters : [
112
- `TArgs extends ${argsType}`,
113
- `TQueryFnData = ${returnType} `,
114
- 'TData = TQueryFnData',
115
- 'TError = DefaultError',
116
- ],
117
- parameters: [
118
- {
119
- name: optionalInput ? 'args?' : 'args',
120
- type: inputType,
121
- },
122
- {
123
- name: 'options?',
124
- type: optionsType,
125
- },
126
- ],
127
- isExported: true,
128
- });
129
- if (version === 'v5' && infinite && ['react', 'svelte', 'angular'].includes(target)) {
130
- // getNextPageParam option is required in v5
131
- func.addStatements([`options = options ?? { getNextPageParam: () => null };`]);
132
- }
133
- func.addStatements([
134
- makeGetContext(target),
135
- `return use${generateMode}ModelQuery<TQueryFnData, TData, TError>('${model}', \`\${endpoint}/${(0, local_helpers_1.lowerCaseFirst)(model)}/${operation}\`, args, options, fetch);`,
136
- ]);
137
- }
138
- }
139
- function generateMutationHook(target, sf, model, operation, httpVerb, checkReadBack, overrideReturnType) {
140
- const capOperation = (0, local_helpers_1.upperCaseFirst)(operation);
141
- const argsType = `Prisma.${model}${capOperation}Args`;
142
- const inputType = `Prisma.SelectSubset<T, ${argsType}>`;
143
- let returnType = overrideReturnType !== null && overrideReturnType !== void 0 ? overrideReturnType : `CheckSelect<T, ${model}, Prisma.${model}GetPayload<T>>`;
144
- if (checkReadBack) {
145
- returnType = `(${returnType} | undefined )`;
146
- }
147
- const nonGenericOptionsType = `Omit<${makeMutationOptions(target, checkReadBack ? `(${overrideReturnType !== null && overrideReturnType !== void 0 ? overrideReturnType : model} | undefined)` : overrideReturnType !== null && overrideReturnType !== void 0 ? overrideReturnType : model, argsType)}, 'mutationFn'>`;
148
- const optionsType = `Omit<${makeMutationOptions(target, returnType, inputType)}, 'mutationFn'>`;
149
- const func = sf.addFunction({
150
- name: `use${capOperation}${model}`,
151
- isExported: true,
152
- parameters: [
153
- {
154
- name: 'options?',
155
- type: nonGenericOptionsType,
156
- },
157
- ],
158
- });
159
- // get endpoint from context
160
- func.addStatements([makeGetContext(target)]);
161
- func.addVariableStatement({
162
- declarationKind: ts_morph_1.VariableDeclarationKind.Const,
163
- declarations: [
164
- {
165
- name: `_mutation`,
166
- initializer: `
167
- useModelMutation<${argsType}, DefaultError, ${overrideReturnType !== null && overrideReturnType !== void 0 ? overrideReturnType : model}, ${checkReadBack}>('${model}', '${httpVerb.toUpperCase()}', \`\${endpoint}/${(0, local_helpers_1.lowerCaseFirst)(model)}/${operation}\`, metadata, options, fetch, ${checkReadBack})
168
- `,
169
- },
170
- ],
171
- });
172
- switch (target) {
173
- case 'react':
174
- case 'vue':
175
- case 'angular':
176
- // override the mutateAsync function to return the correct type
177
- func.addVariableStatement({
178
- declarationKind: ts_morph_1.VariableDeclarationKind.Const,
179
- declarations: [
180
- {
181
- name: 'mutation',
182
- initializer: `{
183
- ..._mutation,
184
- mutateAsync: async <T extends ${argsType}>(
185
- args: Prisma.SelectSubset<T, ${argsType}>,
186
- options?: ${optionsType}
187
- ) => {
188
- return (await _mutation.mutateAsync(
189
- args,
190
- options as any
191
- )) as ${returnType};
192
- },
193
- }`,
194
- },
195
- ],
196
- });
197
- break;
198
- case 'svelte':
199
- // svelte-query returns a store for mutations
200
- // here we override the mutateAsync function to return the correct type
201
- // and call `derived` to return a new reactive store
202
- func.addVariableStatement({
203
- declarationKind: ts_morph_1.VariableDeclarationKind.Const,
204
- declarations: [
205
- {
206
- name: 'mutation',
207
- initializer: `derived(_mutation, value => ({
208
- ...value,
209
- mutateAsync: async <T extends ${argsType}>(
210
- args: Prisma.SelectSubset<T, ${argsType}>,
211
- options?: ${optionsType}
212
- ) => {
213
- return (await value.mutateAsync(
214
- args,
215
- options as any
216
- )) as ${returnType};
217
- },
218
- }))`,
219
- },
220
- ],
221
- });
222
- break;
223
- default:
224
- throw new sdk_1.PluginError(_1.name, `Unsupported target "${target}"`);
225
- }
226
- func.addStatements('return mutation;');
227
- }
228
- function generateCheckHook(target, version, sf, model, prismaImport) {
229
- const mapFilterType = (type) => {
230
- return (0, ts_pattern_1.match)(type.type)
231
- .with(ts_pattern_1.P.union('Int', 'BigInt'), () => 'number')
232
- .with('String', () => 'string')
233
- .with('Boolean', () => 'boolean')
234
- .otherwise(() => undefined);
235
- };
236
- const filterFields = [];
237
- const enumsToImport = new Set();
238
- // collect filterable fields and enums to import
239
- model.fields.forEach((f) => {
240
- var _a;
241
- if ((0, ast_1.isEnum)((_a = f.type.reference) === null || _a === void 0 ? void 0 : _a.ref)) {
242
- enumsToImport.add(f.type.reference.$refText);
243
- filterFields.push({ name: f.name, type: f.type.reference.$refText });
244
- }
245
- const mappedType = mapFilterType(f.type);
246
- if (mappedType) {
247
- filterFields.push({ name: f.name, type: mappedType });
248
- }
249
- });
250
- if (enumsToImport.size > 0) {
251
- // import enums
252
- sf.addStatements(`import type { ${Array.from(enumsToImport).join(', ')} } from '${prismaImport}';`);
253
- }
254
- const whereType = `{ ${filterFields.map(({ name, type }) => `${name}?: ${type}`).join('; ')} }`;
255
- const func = sf.addFunction({
256
- name: `useCheck${model.name}`,
257
- isExported: true,
258
- typeParameters: ['TError = DefaultError'],
259
- parameters: [
260
- { name: 'args', type: `{ operation: PolicyCrudKind; where?: ${whereType}; }` },
261
- { name: 'options?', type: makeQueryOptions(target, 'boolean', 'boolean', false, false, version) },
262
- ],
263
- });
264
- func.addStatements([
265
- makeGetContext(target),
266
- `return useModelQuery<boolean, boolean, TError>('${model.name}', \`\${endpoint}/${(0, local_helpers_1.lowerCaseFirst)(model.name)}/check\`, args, options, fetch);`,
267
- ]);
268
- }
269
- function generateModelHooks(target, version, project, outDir, model, mapping, options) {
270
- const modelNameCap = (0, local_helpers_1.upperCaseFirst)(model.name);
271
- const fileName = (0, local_helpers_1.paramCase)(model.name);
272
- const sf = project.createSourceFile(path_1.default.join(outDir, `${fileName}.ts`), undefined, { overwrite: true });
273
- const prismaImport = options.portable ? './__types' : (0, prisma_1.getPrismaClientImportSpec)(outDir, options);
274
- sf.addImportDeclaration({
275
- namedImports: ['Prisma', model.name],
276
- isTypeOnly: true,
277
- moduleSpecifier: prismaImport,
278
- });
279
- sf.addStatements(makeBaseImports(target, version));
280
- // Note: delegate models don't support create and upsert operations
281
- // create is somehow named "createOne" in the DMMF
282
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
283
- if (!(0, sdk_1.isDelegateModel)(model) && (mapping.create || mapping.createOne)) {
284
- generateMutationHook(target, sf, model.name, 'create', 'post', true);
285
- }
286
- // createMany
287
- if (!(0, sdk_1.isDelegateModel)(model) && mapping.createMany && (0, prisma_1.supportCreateMany)(model.$container)) {
288
- generateMutationHook(target, sf, model.name, 'createMany', 'post', false, 'Prisma.BatchPayload');
289
- }
290
- // findMany
291
- if (mapping.findMany) {
292
- // regular findMany
293
- generateQueryHook(target, version, sf, model.name, 'findMany', true, true, undefined, undefined, undefined, true, true);
294
- }
295
- // findUnique
296
- if (mapping.findUnique) {
297
- generateQueryHook(target, version, sf, model.name, 'findUnique', false, false, undefined, undefined, undefined, false, true);
298
- }
299
- // findFirst
300
- if (mapping.findFirst) {
301
- generateQueryHook(target, version, sf, model.name, 'findFirst', false, true, undefined, undefined, undefined, false, true);
302
- }
303
- // update
304
- // update is somehow named "updateOne" in the DMMF
305
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
306
- if (mapping.update || mapping.updateOne) {
307
- generateMutationHook(target, sf, model.name, 'update', 'put', true);
308
- }
309
- // updateMany
310
- if (mapping.updateMany) {
311
- generateMutationHook(target, sf, model.name, 'updateMany', 'put', false, 'Prisma.BatchPayload');
312
- }
313
- // upsert
314
- // upsert is somehow named "upsertOne" in the DMMF
315
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
316
- if (!(0, sdk_1.isDelegateModel)(model) && (mapping.upsert || mapping.upsertOne)) {
317
- generateMutationHook(target, sf, model.name, 'upsert', 'post', true);
318
- }
319
- // del
320
- // delete is somehow named "deleteOne" in the DMMF
321
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
322
- if (mapping.delete || mapping.deleteOne) {
323
- generateMutationHook(target, sf, model.name, 'delete', 'delete', true);
324
- }
325
- // deleteMany
326
- if (mapping.deleteMany) {
327
- generateMutationHook(target, sf, model.name, 'deleteMany', 'delete', false, 'Prisma.BatchPayload');
328
- }
329
- // aggregate
330
- if (mapping.aggregate) {
331
- generateQueryHook(target, version, sf, modelNameCap, 'aggregate', false, false, `Prisma.Get${modelNameCap}AggregateType<TArgs>`);
332
- }
333
- // groupBy
334
- if (mapping.groupBy) {
335
- const useName = model.name;
336
- const returnType = `{} extends InputErrors ?
337
- Array<PickEnumerable<Prisma.${modelNameCap}GroupByOutputType, TArgs['by']> &
338
- {
339
- [P in ((keyof TArgs) & (keyof Prisma.${modelNameCap}GroupByOutputType))]: P extends '_count'
340
- ? TArgs[P] extends boolean
341
- ? number
342
- : Prisma.GetScalarType<TArgs[P], Prisma.${modelNameCap}GroupByOutputType[P]>
343
- : Prisma.GetScalarType<TArgs[P], Prisma.${modelNameCap}GroupByOutputType[P]>
344
- }
345
- > : InputErrors`;
346
- const typeParameters = [
347
- `TArgs extends Prisma.${useName}GroupByArgs`,
348
- `HasSelectOrTake extends Prisma.Or<Prisma.Extends<'skip', Prisma.Keys<TArgs>>, Prisma.Extends<'take', Prisma.Keys<TArgs>>>`,
349
- `OrderByArg extends Prisma.True extends HasSelectOrTake ? { orderBy: Prisma.${useName}GroupByArgs['orderBy'] }: { orderBy?: Prisma.${useName}GroupByArgs['orderBy'] },`,
350
- `OrderFields extends Prisma.ExcludeUnderscoreKeys<Prisma.Keys<Prisma.MaybeTupleToUnion<TArgs['orderBy']>>>`,
351
- `ByFields extends Prisma.MaybeTupleToUnion<TArgs['by']>`,
352
- `ByValid extends Prisma.Has<ByFields, OrderFields>`,
353
- `HavingFields extends Prisma.GetHavingFields<TArgs['having']>`,
354
- `HavingValid extends Prisma.Has<ByFields, HavingFields>`,
355
- `ByEmpty extends TArgs['by'] extends never[] ? Prisma.True : Prisma.False`,
356
- `InputErrors extends ByEmpty extends Prisma.True
357
- ? \`Error: "by" must not be empty.\`
358
- : HavingValid extends Prisma.False
359
- ? {
360
- [P in HavingFields]: P extends ByFields
361
- ? never
362
- : P extends string
363
- ? \`Error: Field "\${P}" used in "having" needs to be provided in "by".\`
364
- : [
365
- Error,
366
- 'Field ',
367
- P,
368
- \` in "having" needs to be provided in "by"\`,
369
- ]
370
- }[HavingFields]
371
- : 'take' extends Prisma.Keys<TArgs>
372
- ? 'orderBy' extends Prisma.Keys<TArgs>
373
- ? ByValid extends Prisma.True
374
- ? {}
375
- : {
376
- [P in OrderFields]: P extends ByFields
377
- ? never
378
- : \`Error: Field "\${P}" in "orderBy" needs to be provided in "by"\`
379
- }[OrderFields]
380
- : 'Error: If you provide "take", you also need to provide "orderBy"'
381
- : 'skip' extends Prisma.Keys<TArgs>
382
- ? 'orderBy' extends Prisma.Keys<TArgs>
383
- ? ByValid extends Prisma.True
384
- ? {}
385
- : {
386
- [P in OrderFields]: P extends ByFields
387
- ? never
388
- : \`Error: Field "\${P}" in "orderBy" needs to be provided in "by"\`
389
- }[OrderFields]
390
- : 'Error: If you provide "skip", you also need to provide "orderBy"'
391
- : ByValid extends Prisma.True
392
- ? {}
393
- : {
394
- [P in OrderFields]: P extends ByFields
395
- ? never
396
- : \`Error: Field "\${P}" in "orderBy" needs to be provided in "by"\`
397
- }[OrderFields]`,
398
- `TQueryFnData = ${returnType}`,
399
- `TData = TQueryFnData`,
400
- `TError = DefaultError`,
401
- ];
402
- generateQueryHook(target, version, sf, model.name, 'groupBy', false, false, returnType, `Prisma.SubsetIntersection<TArgs, Prisma.${useName}GroupByArgs, OrderByArg> & InputErrors`, typeParameters);
403
- }
404
- // somehow dmmf doesn't contain "count" operation, so we unconditionally add it here
405
- {
406
- generateQueryHook(target, version, sf, model.name, 'count', false, true, `TArgs extends { select: any; } ? TArgs['select'] extends true ? number : Prisma.GetScalarType<TArgs['select'], Prisma.${modelNameCap}CountAggregateOutputType> : number`);
407
- }
408
- {
409
- // extra `check` hook for ZenStack's permission checker API
410
- generateCheckHook(target, version, sf, model, prismaImport);
411
- }
412
- }
413
- function generateIndex(project, outDir, models, target, version) {
414
- const runtimeImportBase = makeRuntimeImportBase(version);
415
- const sf = project.createSourceFile(path_1.default.join(outDir, 'index.ts'), undefined, { overwrite: true });
416
- sf.addStatements(models.map((d) => `export * from './${(0, local_helpers_1.paramCase)(d.name)}';`));
417
- sf.addStatements(`export { getQueryKey } from '${runtimeImportBase}';`);
418
- switch (target) {
419
- case 'react':
420
- sf.addStatements(`export { Provider } from '${runtimeImportBase}/react';`);
421
- break;
422
- case 'vue':
423
- sf.addStatements(`export { VueQueryContextKey, provideHooksContext } from '${runtimeImportBase}/vue';`);
424
- break;
425
- case 'svelte':
426
- sf.addStatements(`export { SvelteQueryContextKey, setHooksContext } from '${runtimeImportBase}/svelte';`);
427
- break;
428
- case 'angular':
429
- sf.addStatements(`export { AngularQueryContextKey, provideAngularQueryContext } from '${runtimeImportBase}/angular';`);
430
- break;
431
- }
432
- sf.addStatements(`export { default as metadata } from './__model_meta';`);
433
- }
434
- function makeGetContext(target) {
435
- switch (target) {
436
- case 'react':
437
- return 'const { endpoint, fetch } = getHooksContext();';
438
- case 'vue':
439
- return 'const { endpoint, fetch } = getHooksContext();';
440
- case 'svelte':
441
- return `const { endpoint, fetch } = getHooksContext();`;
442
- case 'angular':
443
- return 'const { endpoint, fetch } = getHooksContext();';
444
- default:
445
- throw new sdk_1.PluginError(_1.name, `Unsupported target "${target}"`);
446
- }
447
- }
448
- function makeBaseImports(target, version) {
449
- const runtimeImportBase = makeRuntimeImportBase(version);
450
- const shared = [
451
- `import { useModelQuery, useInfiniteModelQuery, useModelMutation } from '${runtimeImportBase}/${target}';`,
452
- `import type { PickEnumerable, CheckSelect, QueryError, ExtraQueryOptions, ExtraMutationOptions } from '${runtimeImportBase}';`,
453
- `import type { PolicyCrudKind } from '${sdk_1.RUNTIME_PACKAGE}'`,
454
- `import metadata from './__model_meta';`,
455
- `type DefaultError = QueryError;`,
456
- ];
457
- switch (target) {
458
- case 'react': {
459
- const suspense = version === 'v5'
460
- ? [
461
- `import { useSuspenseModelQuery, useSuspenseInfiniteModelQuery } from '${runtimeImportBase}/${target}';`,
462
- `import type { UseSuspenseQueryOptions, UseSuspenseInfiniteQueryOptions } from '@tanstack/react-query';`,
463
- ]
464
- : [];
465
- return [
466
- `import type { UseMutationOptions, UseQueryOptions, UseInfiniteQueryOptions, InfiniteData } from '@tanstack/react-query';`,
467
- `import { getHooksContext } from '${runtimeImportBase}/${target}';`,
468
- ...shared,
469
- ...suspense,
470
- ];
471
- }
472
- case 'vue': {
473
- return [
474
- `import type { UseMutationOptions, UseQueryOptions, UseInfiniteQueryOptions, InfiniteData } from '@tanstack/vue-query';`,
475
- `import { getHooksContext } from '${runtimeImportBase}/${target}';`,
476
- `import type { MaybeRefOrGetter, ComputedRef, UnwrapRef } from 'vue';`,
477
- ...shared,
478
- ];
479
- }
480
- case 'svelte': {
481
- return [
482
- `import { derived } from 'svelte/store';`,
483
- `import type { MutationOptions, CreateQueryOptions, CreateInfiniteQueryOptions } from '@tanstack/svelte-query';`,
484
- ...(version === 'v5'
485
- ? [`import type { InfiniteData, StoreOrVal } from '@tanstack/svelte-query';`]
486
- : []),
487
- `import { getHooksContext } from '${runtimeImportBase}/${target}';`,
488
- ...shared,
489
- ];
490
- }
491
- case 'angular': {
492
- return [
493
- `import type { CreateMutationOptions, CreateQueryOptions, CreateInfiniteQueryOptions, InfiniteData } from '@tanstack/angular-query-experimental';`,
494
- `import { getHooksContext } from '${runtimeImportBase}/${target}';`,
495
- ...shared,
496
- ];
497
- }
498
- default:
499
- throw new sdk_1.PluginError(_1.name, `Unsupported target: ${target}`);
500
- }
501
- }
502
- function makeQueryArgsType(target, argsType) {
503
- const type = `Prisma.SelectSubset<TArgs, ${argsType}>`;
504
- if (target === 'vue') {
505
- return `MaybeRefOrGetter<${type}> | ComputedRef<${type}>`;
506
- }
507
- else {
508
- return type;
509
- }
510
- }
511
- function makeQueryOptions(target, returnType, dataType, infinite, suspense, version) {
512
- let result = (0, ts_pattern_1.match)(target)
513
- .with('react', () => infinite
514
- ? version === 'v4'
515
- ? `Omit<UseInfiniteQueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>`
516
- : `Omit<Use${suspense ? 'Suspense' : ''}InfiniteQueryOptions<${returnType}, TError, InfiniteData<${dataType}>>, 'queryKey' | 'initialPageParam'>`
517
- : `Omit<Use${suspense ? 'Suspense' : ''}QueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>`)
518
- .with('vue', () => {
519
- const baseOption = infinite
520
- ? `Omit<UseInfiniteQueryOptions<${returnType}, TError, InfiniteData<${dataType}>>, 'queryKey' | 'initialPageParam'>`
521
- : version === 'v4'
522
- ? `Omit<UseQueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>`
523
- : `Omit<UnwrapRef<UseQueryOptions<${returnType}, TError, ${dataType}>>, 'queryKey'>`;
524
- return `MaybeRefOrGetter<${baseOption}> | ComputedRef<${baseOption}>`;
525
- })
526
- .with('svelte', () => infinite
527
- ? version === 'v4'
528
- ? `Omit<CreateInfiniteQueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>`
529
- : `StoreOrVal<Omit<CreateInfiniteQueryOptions<${returnType}, TError, InfiniteData<${dataType}>>, 'queryKey' | 'initialPageParam'>>`
530
- : version === 'v4'
531
- ? `Omit<CreateQueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>`
532
- : `StoreOrVal<Omit<CreateQueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>>`)
533
- .with('angular', () => infinite
534
- ? `Omit<CreateInfiniteQueryOptions<${returnType}, TError, InfiniteData<${dataType}>>, 'queryKey' | 'initialPageParam'>`
535
- : `Omit<CreateQueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>`)
536
- .otherwise(() => {
537
- throw new sdk_1.PluginError(_1.name, `Unsupported target: ${target}`);
538
- });
539
- if (!infinite) {
540
- // non-infinite queries support extra options like optimistic updates
541
- result = `(${result} & ExtraQueryOptions)`;
542
- }
543
- return result;
544
- }
545
- function makeMutationOptions(target, returnType, argsType) {
546
- let result = (0, ts_pattern_1.match)(target)
547
- .with('react', () => `UseMutationOptions<${returnType}, DefaultError, ${argsType}>`)
548
- .with('vue', () => {
549
- const baseOption = `UseMutationOptions<${returnType}, DefaultError, ${argsType}, unknown>`;
550
- return `MaybeRefOrGetter<${baseOption}> | ComputedRef<${baseOption}>`;
551
- })
552
- .with('svelte', () => `MutationOptions<${returnType}, DefaultError, ${argsType}>`)
553
- .with('angular', () => `CreateMutationOptions<${returnType}, DefaultError, ${argsType}>`)
554
- .otherwise(() => {
555
- throw new sdk_1.PluginError(_1.name, `Unsupported target: ${target}`);
556
- });
557
- result = `(${result} & ExtraMutationOptions)`;
558
- return result;
559
- }
560
- function makeRuntimeImportBase(version) {
561
- return `@zenstackhq/tanstack-query/runtime${version === 'v5' ? '-v5' : ''}`;
562
- }
563
- function generateBundledTypes(project, outDir, options) {
564
- if (!options.prismaClientDtsPath) {
565
- throw new sdk_1.PluginError(_1.name, `Unable to determine the location of PrismaClient types`);
566
- }
567
- // copy PrismaClient index.d.ts
568
- const content = fs_1.default.readFileSync(options.prismaClientDtsPath, 'utf-8');
569
- project.createSourceFile(path_1.default.join(outDir, '__types.d.ts'), content, { overwrite: true });
570
- // "runtime/library.d.ts" is referenced by Prisma's DTS, and it's generated into Prisma's output
571
- // folder if a custom output is specified; if not, it's referenced from '@prisma/client'
572
- const libraryDts = path_1.default.join(path_1.default.dirname(options.prismaClientDtsPath), 'runtime', 'library.d.ts');
573
- if (fs_1.default.existsSync(libraryDts)) {
574
- const content = fs_1.default.readFileSync(libraryDts, 'utf-8');
575
- project.createSourceFile(path_1.default.join(outDir, 'runtime', 'library.d.ts'), content, { overwrite: true });
576
- }
577
- }
578
- //# sourceMappingURL=generator.js.map
package/generator.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
package/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import type { PluginFunction } from '@zenstackhq/sdk';
2
- export declare const name = "Tanstack Query";
3
- declare const run: PluginFunction;
4
- export default run;
package/index.js DELETED
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.name = void 0;
13
- const generator_1 = require("./generator");
14
- exports.name = 'Tanstack Query';
15
- const run = (model, options, dmmf) => __awaiter(void 0, void 0, void 0, function* () {
16
- if (!dmmf) {
17
- throw new Error('DMMF is required');
18
- }
19
- return (0, generator_1.generate)(model, options, dmmf);
20
- });
21
- exports.default = run;
22
- //# sourceMappingURL=index.js.map
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2CAAuC;AAE1B,QAAA,IAAI,GAAG,gBAAgB,CAAC;AAErC,MAAM,GAAG,GAAmB,CAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACvD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,IAAA,oBAAQ,EAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC,CAAA,CAAC;AAEF,kBAAe,GAAG,CAAC"}