@zenstackhq/tanstack-query 1.0.0-beta.2 → 1.0.0-beta.21

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/generator.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { DMMF } from '@prisma/generator-helper';
1
+ import type { DMMF } from '@prisma/generator-helper';
2
2
  import { PluginOptions } from '@zenstackhq/sdk';
3
3
  import { Model } from '@zenstackhq/sdk/ast';
4
4
  export declare function generate(model: Model, options: PluginOptions, dmmf: DMMF.Document): Promise<string[]>;
package/generator.js CHANGED
@@ -15,9 +15,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.generate = void 0;
16
16
  const sdk_1 = require("@zenstackhq/sdk");
17
17
  const change_case_1 = require("change-case");
18
- const fs_1 = __importDefault(require("fs"));
19
18
  const lower_case_first_1 = require("lower-case-first");
20
19
  const path_1 = __importDefault(require("path"));
20
+ const semver_1 = __importDefault(require("semver"));
21
21
  const ts_morph_1 = require("ts-morph");
22
22
  const upper_case_first_1 = require("upper-case-first");
23
23
  const _1 = require(".");
@@ -33,8 +33,7 @@ function generate(model, options, dmmf) {
33
33
  if (!supportedTargets.includes(target)) {
34
34
  throw new sdk_1.PluginError(options.name, `Unsupported target "${target}", supported values: ${supportedTargets.join(', ')}`);
35
35
  }
36
- generateIndex(project, outDir, models);
37
- generateHelper(target, project, outDir, options.useSuperJson === true);
36
+ generateIndex(project, outDir, models, target);
38
37
  models.forEach((dataModel) => {
39
38
  const mapping = dmmf.mappings.modelOperations.find((op) => op.model === dataModel.name);
40
39
  if (!mapping) {
@@ -71,15 +70,18 @@ function generateQueryHook(target, sf, model, operation, returnArray, optionalIn
71
70
  });
72
71
  func.addStatements([
73
72
  makeGetContext(target),
74
- `return query<${returnType}>('${model}', \`\${endpoint}/${(0, lower_case_first_1.lowerCaseFirst)(model)}/${operation}\`, args, options);`,
73
+ `return query<${returnType}>('${model}', \`\${endpoint}/${(0, lower_case_first_1.lowerCaseFirst)(model)}/${operation}\`, args, options, fetch);`,
75
74
  ]);
76
75
  }
77
- function generateMutationHook(target, sf, model, operation, httpVerb, overrideReturnType) {
76
+ function generateMutationHook(target, sf, model, operation, httpVerb, checkReadBack, overrideReturnType) {
78
77
  const capOperation = (0, upper_case_first_1.upperCaseFirst)(operation);
79
78
  const argsType = `Prisma.${model}${capOperation}Args`;
80
79
  const inputType = `Prisma.SelectSubset<T, ${argsType}>`;
81
- const returnType = overrideReturnType !== null && overrideReturnType !== void 0 ? overrideReturnType : `Prisma.CheckSelect<T, ${model}, Prisma.${model}GetPayload<T>>`;
82
- const nonGenericOptionsType = `Omit<${makeMutationOptions(target, overrideReturnType !== null && overrideReturnType !== void 0 ? overrideReturnType : model, argsType)}, 'mutationFn'>`;
80
+ let returnType = overrideReturnType !== null && overrideReturnType !== void 0 ? overrideReturnType : `CheckSelect<T, ${model}, Prisma.${model}GetPayload<T>>`;
81
+ if (checkReadBack) {
82
+ returnType = `(${returnType} | undefined )`;
83
+ }
84
+ const nonGenericOptionsType = `Omit<${makeMutationOptions(target, checkReadBack ? `(${overrideReturnType !== null && overrideReturnType !== void 0 ? overrideReturnType : model} | undefined)` : overrideReturnType !== null && overrideReturnType !== void 0 ? overrideReturnType : model, argsType)}, 'mutationFn'>`;
83
85
  const optionsType = `Omit<${makeMutationOptions(target, returnType, inputType)}, 'mutationFn'>`;
84
86
  const func = sf.addFunction({
85
87
  name: `use${capOperation}${model}`,
@@ -104,7 +106,7 @@ function generateMutationHook(target, sf, model, operation, httpVerb, overrideRe
104
106
  {
105
107
  name: `_mutation`,
106
108
  initializer: `
107
- ${httpVerb}Mutation<${argsType}, ${overrideReturnType !== null && overrideReturnType !== void 0 ? overrideReturnType : model}>('${model}', \`\${endpoint}/${(0, lower_case_first_1.lowerCaseFirst)(model)}/${operation}\`, options, invalidateQueries)
109
+ ${httpVerb}Mutation<${argsType}, ${overrideReturnType !== null && overrideReturnType !== void 0 ? overrideReturnType : model}, ${checkReadBack}>('${model}', \`\${endpoint}/${(0, lower_case_first_1.lowerCaseFirst)(model)}/${operation}\`, options, fetch, invalidateQueries, ${checkReadBack})
108
110
  `,
109
111
  },
110
112
  ],
@@ -164,23 +166,26 @@ function generateMutationHook(target, sf, model, operation, httpVerb, overrideRe
164
166
  func.addStatements('return mutation;');
165
167
  }
166
168
  function generateModelHooks(target, project, outDir, model, mapping) {
169
+ const modelNameCap = (0, upper_case_first_1.upperCaseFirst)(model.name);
170
+ const prismaVersion = (0, sdk_1.getPrismaVersion)();
167
171
  const fileName = (0, change_case_1.paramCase)(model.name);
168
172
  const sf = project.createSourceFile(path_1.default.join(outDir, `${fileName}.ts`), undefined, { overwrite: true });
169
173
  sf.addStatements('/* eslint-disable */');
174
+ const prismaImport = (0, sdk_1.getPrismaClientImportSpec)(model.$container, outDir);
170
175
  sf.addImportDeclaration({
171
176
  namedImports: ['Prisma', model.name],
172
177
  isTypeOnly: true,
173
- moduleSpecifier: '@prisma/client',
178
+ moduleSpecifier: prismaImport,
174
179
  });
175
180
  sf.addStatements(makeBaseImports(target));
176
181
  // create is somehow named "createOne" in the DMMF
177
182
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
178
183
  if (mapping.create || mapping.createOne) {
179
- generateMutationHook(target, sf, model.name, 'create', 'post');
184
+ generateMutationHook(target, sf, model.name, 'create', 'post', true);
180
185
  }
181
186
  // createMany
182
187
  if (mapping.createMany) {
183
- generateMutationHook(target, sf, model.name, 'createMany', 'post', 'Prisma.BatchPayload');
188
+ generateMutationHook(target, sf, model.name, 'createMany', 'post', false, 'Prisma.BatchPayload');
184
189
  }
185
190
  // findMany
186
191
  if (mapping.findMany) {
@@ -198,40 +203,45 @@ function generateModelHooks(target, project, outDir, model, mapping) {
198
203
  // update is somehow named "updateOne" in the DMMF
199
204
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
200
205
  if (mapping.update || mapping.updateOne) {
201
- generateMutationHook(target, sf, model.name, 'update', 'put');
206
+ generateMutationHook(target, sf, model.name, 'update', 'put', true);
202
207
  }
203
208
  // updateMany
204
209
  if (mapping.updateMany) {
205
- generateMutationHook(target, sf, model.name, 'updateMany', 'put', 'Prisma.BatchPayload');
210
+ generateMutationHook(target, sf, model.name, 'updateMany', 'put', false, 'Prisma.BatchPayload');
206
211
  }
207
212
  // upsert
208
213
  // upsert is somehow named "upsertOne" in the DMMF
209
214
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
210
215
  if (mapping.upsert || mapping.upsertOne) {
211
- generateMutationHook(target, sf, model.name, 'upsert', 'post');
216
+ generateMutationHook(target, sf, model.name, 'upsert', 'post', true);
212
217
  }
213
218
  // del
214
219
  // delete is somehow named "deleteOne" in the DMMF
215
220
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
216
221
  if (mapping.delete || mapping.deleteOne) {
217
- generateMutationHook(target, sf, model.name, 'delete', 'delete');
222
+ generateMutationHook(target, sf, model.name, 'delete', 'delete', true);
218
223
  }
219
224
  // deleteMany
220
225
  if (mapping.deleteMany) {
221
- generateMutationHook(target, sf, model.name, 'deleteMany', 'delete', 'Prisma.BatchPayload');
226
+ generateMutationHook(target, sf, model.name, 'deleteMany', 'delete', false, 'Prisma.BatchPayload');
222
227
  }
223
228
  // aggregate
224
229
  if (mapping.aggregate) {
225
- generateQueryHook(target, sf, model.name, 'aggregate', false, false, `Prisma.Get${model.name}AggregateType<T>`);
230
+ generateQueryHook(target, sf, modelNameCap, 'aggregate', false, false, `Prisma.Get${modelNameCap}AggregateType<T>`);
226
231
  }
227
232
  // groupBy
228
233
  if (mapping.groupBy) {
234
+ let useName = modelNameCap;
235
+ // prisma 4 and 5 different typing for "groupBy" and we have to deal with it separately
236
+ if (prismaVersion && semver_1.default.gte(prismaVersion, '5.0.0')) {
237
+ useName = model.name;
238
+ }
229
239
  const typeParameters = [
230
- `T extends Prisma.${model.name}GroupByArgs`,
240
+ `T extends Prisma.${useName}GroupByArgs`,
231
241
  `HasSelectOrTake extends Prisma.Or<Prisma.Extends<'skip', Prisma.Keys<T>>, Prisma.Extends<'take', Prisma.Keys<T>>>`,
232
- `OrderByArg extends Prisma.True extends HasSelectOrTake ? { orderBy: Prisma.${model.name}GroupByArgs['orderBy'] }: { orderBy?: Prisma.${model.name}GroupByArgs['orderBy'] },`,
242
+ `OrderByArg extends Prisma.True extends HasSelectOrTake ? { orderBy: Prisma.${useName}GroupByArgs['orderBy'] }: { orderBy?: Prisma.${useName}GroupByArgs['orderBy'] },`,
233
243
  `OrderFields extends Prisma.ExcludeUnderscoreKeys<Prisma.Keys<Prisma.MaybeTupleToUnion<T['orderBy']>>>`,
234
- `ByFields extends Prisma.TupleToUnion<T['by']>`,
244
+ `ByFields extends Prisma.MaybeTupleToUnion<T['by']>`,
235
245
  `ByValid extends Prisma.Has<ByFields, OrderFields>`,
236
246
  `HavingFields extends Prisma.GetHavingFields<T['having']>`,
237
247
  `HavingValid extends Prisma.Has<ByFields, HavingFields>`,
@@ -280,65 +290,55 @@ function generateModelHooks(target, project, outDir, model, mapping) {
280
290
  }[OrderFields]`,
281
291
  ];
282
292
  const returnType = `{} extends InputErrors ?
283
- Array<Prisma.PickArray<Prisma.${model.name}GroupByOutputType, T['by']> &
293
+ Array<PickEnumerable<Prisma.${modelNameCap}GroupByOutputType, T['by']> &
284
294
  {
285
- [P in ((keyof T) & (keyof Prisma.${model.name}GroupByOutputType))]: P extends '_count'
295
+ [P in ((keyof T) & (keyof Prisma.${modelNameCap}GroupByOutputType))]: P extends '_count'
286
296
  ? T[P] extends boolean
287
297
  ? number
288
- : Prisma.GetScalarType<T[P], Prisma.${model.name}GroupByOutputType[P]>
289
- : Prisma.GetScalarType<T[P], Prisma.${model.name}GroupByOutputType[P]>
298
+ : Prisma.GetScalarType<T[P], Prisma.${modelNameCap}GroupByOutputType[P]>
299
+ : Prisma.GetScalarType<T[P], Prisma.${modelNameCap}GroupByOutputType[P]>
290
300
  }
291
301
  > : InputErrors`;
292
- generateQueryHook(target, sf, model.name, 'groupBy', false, false, returnType, `Prisma.SubsetIntersection<T, Prisma.${model.name}GroupByArgs, OrderByArg> & InputErrors`, typeParameters);
302
+ generateQueryHook(target, sf, model.name, 'groupBy', false, false, returnType, `Prisma.SubsetIntersection<T, Prisma.${useName}GroupByArgs, OrderByArg> & InputErrors`, typeParameters);
293
303
  }
294
304
  // somehow dmmf doesn't contain "count" operation, so we unconditionally add it here
295
305
  {
296
- generateQueryHook(target, sf, model.name, 'count', false, true, `T extends { select: any; } ? T['select'] extends true ? number : Prisma.GetScalarType<T['select'], Prisma.${model.name}CountAggregateOutputType> : number`);
306
+ generateQueryHook(target, sf, model.name, 'count', false, true, `T extends { select: any; } ? T['select'] extends true ? number : Prisma.GetScalarType<T['select'], Prisma.${modelNameCap}CountAggregateOutputType> : number`);
297
307
  }
298
308
  }
299
- function generateIndex(project, outDir, models) {
309
+ function generateIndex(project, outDir, models, target) {
300
310
  const sf = project.createSourceFile(path_1.default.join(outDir, 'index.ts'), undefined, { overwrite: true });
301
311
  sf.addStatements(models.map((d) => `export * from './${(0, change_case_1.paramCase)(d.name)}';`));
302
- sf.addStatements(`export * from './_helper';`);
303
- }
304
- function generateHelper(target, project, outDir, useSuperJson) {
305
- let srcFile;
306
312
  switch (target) {
307
313
  case 'react':
308
- srcFile = path_1.default.join(__dirname, './res/react/helper.ts');
314
+ sf.addStatements(`export { Provider } from '@zenstackhq/tanstack-query/runtime/react';`);
309
315
  break;
310
316
  case 'svelte':
311
- srcFile = path_1.default.join(__dirname, './res/svelte/helper.ts');
317
+ sf.addStatements(`export { SvelteQueryContextKey } from '@zenstackhq/tanstack-query/runtime/svelte';`);
312
318
  break;
313
- default:
314
- throw new sdk_1.PluginError(_1.name, `Unsupported target: ${target}`);
315
319
  }
316
- // merge content of `shared.ts`, `helper.ts` and `marshal-?.ts`
317
- const sharedContent = fs_1.default.readFileSync(path_1.default.join(__dirname, './res/shared.ts'), 'utf-8');
318
- const helperContent = fs_1.default.readFileSync(srcFile, 'utf-8');
319
- const marshalContent = fs_1.default.readFileSync(path_1.default.join(__dirname, useSuperJson ? './res/marshal-superjson.ts' : './res/marshal-json.ts'), 'utf-8');
320
- project.createSourceFile(path_1.default.join(outDir, '_helper.ts'), `${sharedContent}\n${helperContent}\n${marshalContent}`, {
321
- overwrite: true,
322
- });
323
320
  }
324
321
  function makeGetContext(target) {
325
322
  switch (target) {
326
323
  case 'react':
327
- return 'const { endpoint } = useContext(RequestHandlerContext);';
324
+ return 'const { endpoint, fetch } = useContext(RequestHandlerContext);';
328
325
  case 'svelte':
329
- return `const { endpoint } = getContext<RequestHandlerContext>(SvelteQueryContextKey);`;
326
+ return `const { endpoint, fetch } = getContext<RequestHandlerContext>(SvelteQueryContextKey);`;
330
327
  default:
331
328
  throw new sdk_1.PluginError(_1.name, `Unsupported target "${target}"`);
332
329
  }
333
330
  }
334
331
  function makeBaseImports(target) {
335
- const shared = [`import { query, postMutation, putMutation, deleteMutation } from './_helper';`];
332
+ const shared = [
333
+ `import { query, postMutation, putMutation, deleteMutation } from '@zenstackhq/tanstack-query/runtime/${target}';`,
334
+ `import type { PickEnumerable, CheckSelect } from '@zenstackhq/tanstack-query/runtime';`,
335
+ ];
336
336
  switch (target) {
337
337
  case 'react':
338
338
  return [
339
339
  `import { useContext } from 'react';`,
340
340
  `import type { UseMutationOptions, UseQueryOptions } from '@tanstack/react-query';`,
341
- `import { RequestHandlerContext } from './_helper';`,
341
+ `import { RequestHandlerContext } from '@zenstackhq/tanstack-query/runtime/${target}';`,
342
342
  ...shared,
343
343
  ];
344
344
  case 'svelte':
@@ -346,7 +346,7 @@ function makeBaseImports(target) {
346
346
  `import { getContext } from 'svelte';`,
347
347
  `import { derived } from 'svelte/store';`,
348
348
  `import type { MutationOptions, QueryOptions } from '@tanstack/svelte-query';`,
349
- `import { SvelteQueryContextKey, type RequestHandlerContext } from './_helper';`,
349
+ `import { SvelteQueryContextKey, type RequestHandlerContext } from '@zenstackhq/tanstack-query/runtime/${target}';`,
350
350
  ...shared,
351
351
  ];
352
352
  default:
package/generator.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,29 @@
1
1
  {
2
2
  "name": "@zenstackhq/tanstack-query",
3
3
  "displayName": "ZenStack plugin for generating tanstack-query hooks",
4
- "version": "1.0.0-beta.2",
4
+ "version": "1.0.0-beta.21",
5
5
  "description": "ZenStack plugin for generating tanstack-query hooks",
6
6
  "main": "index.js",
7
+ "exports": {
8
+ ".": {
9
+ "default": "./index.js"
10
+ },
11
+ "./package.json": {
12
+ "default": "./package.json"
13
+ },
14
+ "./runtime/react": {
15
+ "import": "./runtime/react.mjs",
16
+ "require": "./runtime/react.js",
17
+ "default": "./runtime/react.js",
18
+ "types": "./runtime/react.d.ts"
19
+ },
20
+ "./runtime/svelte": {
21
+ "import": "./runtime/svelte.mjs",
22
+ "require": "./runtime/svelte.js",
23
+ "default": "./runtime/svelte.js",
24
+ "types": "./runtime/svelte.d.ts"
25
+ }
26
+ },
7
27
  "repository": {
8
28
  "type": "git",
9
29
  "url": "https://github.com/zenstackhq/zenstack"
@@ -16,39 +36,40 @@
16
36
  "author": "ZenStack Team",
17
37
  "license": "MIT",
18
38
  "dependencies": {
19
- "@prisma/generator-helper": "^4.7.1",
39
+ "@prisma/generator-helper": "^5.0.0",
20
40
  "change-case": "^4.1.2",
21
41
  "decimal.js": "^10.4.2",
22
42
  "lower-case-first": "^2.0.2",
43
+ "semver": "^7.3.8",
23
44
  "superjson": "^1.11.0",
24
45
  "ts-morph": "^16.0.0",
25
46
  "upper-case-first": "^2.0.2",
26
- "@zenstackhq/sdk": "1.0.0-beta.2"
47
+ "@zenstackhq/runtime": "1.0.0-beta.21",
48
+ "@zenstackhq/sdk": "1.0.0-beta.21"
27
49
  },
28
50
  "devDependencies": {
29
- "@tanstack/react-query": "^4.29.7",
30
- "@tanstack/svelte-query": "^4.29.7",
51
+ "@tanstack/react-query": "4.29.7",
52
+ "@tanstack/svelte-query": "4.29.7",
31
53
  "@types/jest": "^29.5.0",
32
- "@types/lower-case-first": "^1.0.1",
33
- "@types/react": "^18.0.26",
54
+ "@types/node": "^18.0.0",
55
+ "@types/react": "18.2.0",
56
+ "@types/semver": "^7.3.13",
34
57
  "@types/tmp": "^0.2.3",
35
- "@types/upper-case-first": "^1.1.2",
36
58
  "copyfiles": "^2.4.1",
37
59
  "jest": "^29.5.0",
38
- "react": "^17.0.2 || ^18",
39
- "react-dom": "^17.0.2 || ^18",
60
+ "react": "18.2.0",
40
61
  "rimraf": "^3.0.2",
41
62
  "swr": "^2.0.3",
42
63
  "ts-jest": "^29.0.5",
43
64
  "typescript": "^4.9.4",
44
- "@zenstackhq/testtools": "1.0.0-beta.2"
65
+ "@zenstackhq/testtools": "1.0.0-beta.21"
45
66
  },
46
67
  "scripts": {
47
68
  "clean": "rimraf dist",
48
- "build": "pnpm lint && pnpm clean && tsc && copyfiles ./package.json ./README.md ./LICENSE 'res/**/*' dist",
49
- "watch": "tsc --watch",
69
+ "build": "pnpm lint && pnpm clean && tsc && tsup-node && copyfiles ./package.json ./README.md ./LICENSE dist && pnpm pack dist --pack-destination '../../../../.build'",
70
+ "watch": "concurrently \"tsc --watch\" \"tsup-node --watch\"",
50
71
  "lint": "eslint src --ext ts",
51
- "test": "jest",
72
+ "test": "ZENSTACK_TEST=1 jest",
52
73
  "publish-dev": "pnpm publish --tag dev"
53
74
  }
54
75
  }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Function signature for `fetch`.
3
+ */
4
+ type FetchFn = (url: string, options?: RequestInit) => Promise<Response>;
5
+ /**
6
+ * Context type for configuring the hooks.
7
+ */
8
+ type APIContext = {
9
+ /**
10
+ * The endpoint to use for the queries.
11
+ */
12
+ endpoint: string;
13
+ /**
14
+ * A custom fetch function for sending the HTTP requests.
15
+ */
16
+ fetch?: FetchFn;
17
+ };
18
+
19
+ export { APIContext as A, FetchFn as F };
@@ -0,0 +1,18 @@
1
+ type Enumerable<T> = T | Array<T>;
2
+ type _TupleToUnion<T> = T extends (infer E)[] ? E : never;
3
+ type TupleToUnion<K extends readonly any[]> = _TupleToUnion<K>;
4
+ type MaybeTupleToUnion<T> = T extends any[] ? TupleToUnion<T> : T;
5
+ type PickEnumerable<T, K extends Enumerable<keyof T> | keyof T> = Pick<T, MaybeTupleToUnion<K>>;
6
+ type SelectAndInclude = {
7
+ select: any;
8
+ include: any;
9
+ };
10
+ type HasSelect = {
11
+ select: any;
12
+ };
13
+ type HasInclude = {
14
+ include: any;
15
+ };
16
+ type CheckSelect<T, S, U> = T extends SelectAndInclude ? 'Please either choose `select` or `include`' : T extends HasSelect ? U : T extends HasInclude ? U : S;
17
+
18
+ export { CheckSelect, Enumerable, MaybeTupleToUnion, PickEnumerable, TupleToUnion };
@@ -0,0 +1,18 @@
1
+ type Enumerable<T> = T | Array<T>;
2
+ type _TupleToUnion<T> = T extends (infer E)[] ? E : never;
3
+ type TupleToUnion<K extends readonly any[]> = _TupleToUnion<K>;
4
+ type MaybeTupleToUnion<T> = T extends any[] ? TupleToUnion<T> : T;
5
+ type PickEnumerable<T, K extends Enumerable<keyof T> | keyof T> = Pick<T, MaybeTupleToUnion<K>>;
6
+ type SelectAndInclude = {
7
+ select: any;
8
+ include: any;
9
+ };
10
+ type HasSelect = {
11
+ select: any;
12
+ };
13
+ type HasInclude = {
14
+ include: any;
15
+ };
16
+ type CheckSelect<T, S, U> = T extends SelectAndInclude ? 'Please either choose `select` or `include`' : T extends HasSelect ? U : T extends HasInclude ? U : S;
17
+
18
+ export { CheckSelect, Enumerable, MaybeTupleToUnion, PickEnumerable, TupleToUnion };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // src/runtime/index.ts
17
+ var runtime_exports = {};
18
+ module.exports = __toCommonJS(runtime_exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/runtime/index.ts"],"sourcesContent":["export * from './prisma-types';\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,55 @@
1
+ import * as _tanstack_react_query from '@tanstack/react-query';
2
+ import { UseQueryOptions, UseMutationOptions } from '@tanstack/react-query';
3
+ import * as react from 'react';
4
+ import { A as APIContext, F as FetchFn } from './common-52ab2c3a.js';
5
+
6
+ /**
7
+ * Context for configuring react hooks.
8
+ */
9
+ declare const RequestHandlerContext: react.Context<APIContext>;
10
+ /**
11
+ * Context provider.
12
+ */
13
+ declare const Provider: react.Provider<APIContext>;
14
+ /**
15
+ * Creates a react-query query.
16
+ *
17
+ * @param model The name of the model under query.
18
+ * @param url The request URL.
19
+ * @param args The request args object, URL-encoded and appended as "?q=" parameter
20
+ * @param options The react-query options object
21
+ * @returns useQuery hook
22
+ */
23
+ declare function query<R>(model: string, url: string, args?: unknown, options?: UseQueryOptions<R>, fetch?: FetchFn): _tanstack_react_query.UseQueryResult<R, unknown>;
24
+ /**
25
+ * Creates a POST mutation with react-query.
26
+ *
27
+ * @param model The name of the model under mutation.
28
+ * @param url The request URL.
29
+ * @param options The react-query options.
30
+ * @param invalidateQueries Whether to invalidate queries after mutation.
31
+ * @returns useMutation hooks
32
+ */
33
+ declare function postMutation<T, R = any, C extends boolean = boolean, Result = C extends true ? R | undefined : R>(model: string, url: string, options?: Omit<UseMutationOptions<Result, unknown, T>, 'mutationFn'>, fetch?: FetchFn, invalidateQueries?: boolean, checkReadBack?: C): _tanstack_react_query.UseMutationResult<Result, unknown, T, unknown>;
34
+ /**
35
+ * Creates a PUT mutation with react-query.
36
+ *
37
+ * @param model The name of the model under mutation.
38
+ * @param url The request URL.
39
+ * @param options The react-query options.
40
+ * @param invalidateQueries Whether to invalidate queries after mutation.
41
+ * @returns useMutation hooks
42
+ */
43
+ declare function putMutation<T, R = any, C extends boolean = boolean, Result = C extends true ? R | undefined : R>(model: string, url: string, options?: Omit<UseMutationOptions<Result, unknown, T>, 'mutationFn'>, fetch?: FetchFn, invalidateQueries?: boolean, checkReadBack?: C): _tanstack_react_query.UseMutationResult<Result, unknown, T, unknown>;
44
+ /**
45
+ * Creates a DELETE mutation with react-query.
46
+ *
47
+ * @param model The name of the model under mutation.
48
+ * @param url The request URL.
49
+ * @param options The react-query options.
50
+ * @param invalidateQueries Whether to invalidate queries after mutation.
51
+ * @returns useMutation hooks
52
+ */
53
+ declare function deleteMutation<T, R = any, C extends boolean = boolean, Result = C extends true ? R | undefined : R>(model: string, url: string, options?: Omit<UseMutationOptions<Result, unknown, T>, 'mutationFn'>, fetch?: FetchFn, invalidateQueries?: boolean, checkReadBack?: C): _tanstack_react_query.UseMutationResult<Result, unknown, T, unknown>;
54
+
55
+ export { Provider, RequestHandlerContext, deleteMutation, postMutation, putMutation, query };
@@ -0,0 +1,55 @@
1
+ import * as _tanstack_react_query from '@tanstack/react-query';
2
+ import { UseQueryOptions, UseMutationOptions } from '@tanstack/react-query';
3
+ import * as react from 'react';
4
+ import { A as APIContext, F as FetchFn } from './common-52ab2c3a.js';
5
+
6
+ /**
7
+ * Context for configuring react hooks.
8
+ */
9
+ declare const RequestHandlerContext: react.Context<APIContext>;
10
+ /**
11
+ * Context provider.
12
+ */
13
+ declare const Provider: react.Provider<APIContext>;
14
+ /**
15
+ * Creates a react-query query.
16
+ *
17
+ * @param model The name of the model under query.
18
+ * @param url The request URL.
19
+ * @param args The request args object, URL-encoded and appended as "?q=" parameter
20
+ * @param options The react-query options object
21
+ * @returns useQuery hook
22
+ */
23
+ declare function query<R>(model: string, url: string, args?: unknown, options?: UseQueryOptions<R>, fetch?: FetchFn): _tanstack_react_query.UseQueryResult<R, unknown>;
24
+ /**
25
+ * Creates a POST mutation with react-query.
26
+ *
27
+ * @param model The name of the model under mutation.
28
+ * @param url The request URL.
29
+ * @param options The react-query options.
30
+ * @param invalidateQueries Whether to invalidate queries after mutation.
31
+ * @returns useMutation hooks
32
+ */
33
+ declare function postMutation<T, R = any, C extends boolean = boolean, Result = C extends true ? R | undefined : R>(model: string, url: string, options?: Omit<UseMutationOptions<Result, unknown, T>, 'mutationFn'>, fetch?: FetchFn, invalidateQueries?: boolean, checkReadBack?: C): _tanstack_react_query.UseMutationResult<Result, unknown, T, unknown>;
34
+ /**
35
+ * Creates a PUT mutation with react-query.
36
+ *
37
+ * @param model The name of the model under mutation.
38
+ * @param url The request URL.
39
+ * @param options The react-query options.
40
+ * @param invalidateQueries Whether to invalidate queries after mutation.
41
+ * @returns useMutation hooks
42
+ */
43
+ declare function putMutation<T, R = any, C extends boolean = boolean, Result = C extends true ? R | undefined : R>(model: string, url: string, options?: Omit<UseMutationOptions<Result, unknown, T>, 'mutationFn'>, fetch?: FetchFn, invalidateQueries?: boolean, checkReadBack?: C): _tanstack_react_query.UseMutationResult<Result, unknown, T, unknown>;
44
+ /**
45
+ * Creates a DELETE mutation with react-query.
46
+ *
47
+ * @param model The name of the model under mutation.
48
+ * @param url The request URL.
49
+ * @param options The react-query options.
50
+ * @param invalidateQueries Whether to invalidate queries after mutation.
51
+ * @returns useMutation hooks
52
+ */
53
+ declare function deleteMutation<T, R = any, C extends boolean = boolean, Result = C extends true ? R | undefined : R>(model: string, url: string, options?: Omit<UseMutationOptions<Result, unknown, T>, 'mutationFn'>, fetch?: FetchFn, invalidateQueries?: boolean, checkReadBack?: C): _tanstack_react_query.UseMutationResult<Result, unknown, T, unknown>;
54
+
55
+ export { Provider, RequestHandlerContext, deleteMutation, postMutation, putMutation, query };