@zenstackhq/tanstack-query 2.0.0-alpha.7 → 2.0.0-beta.10

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 (60) hide show
  1. package/generator.d.ts +1 -2
  2. package/generator.js +55 -55
  3. package/generator.js.map +1 -1
  4. package/package.json +6 -7
  5. package/runtime/common--_wRp2eo.d.mts +121 -0
  6. package/runtime/common--_wRp2eo.d.ts +121 -0
  7. package/runtime/index.d.mts +1 -1
  8. package/runtime/index.d.ts +1 -1
  9. package/runtime/index.js +3 -1
  10. package/runtime/index.js.map +1 -1
  11. package/runtime/index.mjs +3 -1
  12. package/runtime/index.mjs.map +1 -1
  13. package/runtime/react.d.mts +3 -6
  14. package/runtime/react.d.ts +3 -6
  15. package/runtime/react.js +37 -8
  16. package/runtime/react.js.map +1 -1
  17. package/runtime/react.mjs +37 -8
  18. package/runtime/react.mjs.map +1 -1
  19. package/runtime/svelte.d.mts +3 -6
  20. package/runtime/svelte.d.ts +3 -6
  21. package/runtime/svelte.js +37 -8
  22. package/runtime/svelte.js.map +1 -1
  23. package/runtime/svelte.mjs +37 -8
  24. package/runtime/svelte.mjs.map +1 -1
  25. package/runtime/vue.d.mts +5 -7
  26. package/runtime/vue.d.ts +5 -7
  27. package/runtime/vue.js +59 -19
  28. package/runtime/vue.js.map +1 -1
  29. package/runtime/vue.mjs +60 -20
  30. package/runtime/vue.mjs.map +1 -1
  31. package/runtime-v5/common--_wRp2eo.d.mts +121 -0
  32. package/runtime-v5/common--_wRp2eo.d.ts +121 -0
  33. package/runtime-v5/index.d.mts +1 -1
  34. package/runtime-v5/index.d.ts +1 -1
  35. package/runtime-v5/index.js +3 -1
  36. package/runtime-v5/index.js.map +1 -1
  37. package/runtime-v5/index.mjs +3 -1
  38. package/runtime-v5/index.mjs.map +1 -1
  39. package/runtime-v5/react.d.mts +8 -12
  40. package/runtime-v5/react.d.ts +8 -12
  41. package/runtime-v5/react.js +43 -11
  42. package/runtime-v5/react.js.map +1 -1
  43. package/runtime-v5/react.mjs +43 -11
  44. package/runtime-v5/react.mjs.map +1 -1
  45. package/runtime-v5/svelte.d.mts +3 -5
  46. package/runtime-v5/svelte.d.ts +3 -5
  47. package/runtime-v5/svelte.js +37 -8
  48. package/runtime-v5/svelte.js.map +1 -1
  49. package/runtime-v5/svelte.mjs +37 -8
  50. package/runtime-v5/svelte.mjs.map +1 -1
  51. package/runtime-v5/vue.d.mts +5 -7
  52. package/runtime-v5/vue.d.ts +5 -7
  53. package/runtime-v5/vue.js +59 -19
  54. package/runtime-v5/vue.js.map +1 -1
  55. package/runtime-v5/vue.mjs +60 -20
  56. package/runtime-v5/vue.mjs.map +1 -1
  57. package/runtime/common-ZSgIGN1q.d.mts +0 -56
  58. package/runtime/common-ZSgIGN1q.d.ts +0 -56
  59. package/runtime-v5/common-ZSgIGN1q.d.mts +0 -56
  60. package/runtime-v5/common-ZSgIGN1q.d.ts +0 -56
package/generator.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- import type { DMMF } from '@prisma/generator-helper';
2
- import { PluginOptions } from '@zenstackhq/sdk';
1
+ import { PluginOptions, type DMMF } from '@zenstackhq/sdk';
3
2
  import { Model } from '@zenstackhq/sdk/ast';
4
3
  export declare function generate(model: Model, options: PluginOptions, dmmf: DMMF.Document): Promise<{
5
4
  warnings: string[];
package/generator.js CHANGED
@@ -19,13 +19,12 @@ const lower_case_first_1 = require("lower-case-first");
19
19
  const path_1 = __importDefault(require("path"));
20
20
  const semver_1 = __importDefault(require("semver"));
21
21
  const ts_morph_1 = require("ts-morph");
22
+ const ts_pattern_1 = require("ts-pattern");
22
23
  const upper_case_first_1 = require("upper-case-first");
23
24
  const _1 = require(".");
24
25
  const supportedTargets = ['react', 'vue', 'svelte'];
25
26
  function generate(model, options, dmmf) {
26
27
  return __awaiter(this, void 0, void 0, function* () {
27
- let outDir = (0, sdk_1.requireOption)(options, 'output', _1.name);
28
- outDir = (0, sdk_1.resolvePath)(outDir, options);
29
28
  const project = (0, sdk_1.createProject)();
30
29
  const warnings = [];
31
30
  const models = (0, sdk_1.getDataModels)(model);
@@ -33,10 +32,13 @@ function generate(model, options, dmmf) {
33
32
  if (!supportedTargets.includes(target)) {
34
33
  throw new sdk_1.PluginError(_1.name, `Unsupported target "${target}", supported values: ${supportedTargets.join(', ')}`);
35
34
  }
36
- const version = typeof options.version === 'string' ? options.version : 'v4';
35
+ const version = typeof options.version === 'string' ? options.version : 'v5';
37
36
  if (version !== 'v4' && version !== 'v5') {
38
37
  throw new sdk_1.PluginError(_1.name, `Unsupported version "${version}": use "v4" or "v5"`);
39
38
  }
39
+ let outDir = (0, sdk_1.requireOption)(options, 'output', _1.name);
40
+ outDir = (0, sdk_1.resolvePath)(outDir, options);
41
+ (0, sdk_1.ensureEmptyDir)(outDir);
40
42
  yield (0, sdk_1.generateModelMeta)(project, models, {
41
43
  output: path_1.default.join(outDir, '__model_meta.ts'),
42
44
  generateAttributes: false,
@@ -70,7 +72,7 @@ function generateQueryHook(target, version, sf, model, operation, returnArray, o
70
72
  for (const generateMode of generateModes) {
71
73
  const capOperation = (0, upper_case_first_1.upperCaseFirst)(operation);
72
74
  const argsType = overrideInputType !== null && overrideInputType !== void 0 ? overrideInputType : `Prisma.${model}${capOperation}Args`;
73
- const inputType = `Prisma.SelectSubset<TArgs, ${argsType}>`;
75
+ const inputType = makeQueryArgsType(target, argsType);
74
76
  const infinite = generateMode.includes('Infinite');
75
77
  const suspense = generateMode.includes('Suspense');
76
78
  const optimistic = supportOptimistic &&
@@ -102,15 +104,6 @@ function generateQueryHook(target, version, sf, model, operation, returnArray, o
102
104
  name: 'options?',
103
105
  type: optionsType,
104
106
  },
105
- ...(optimistic
106
- ? [
107
- {
108
- name: 'optimisticUpdate',
109
- type: 'boolean',
110
- initializer: 'true',
111
- },
112
- ]
113
- : []),
114
107
  ],
115
108
  isExported: true,
116
109
  });
@@ -120,7 +113,7 @@ function generateQueryHook(target, version, sf, model, operation, returnArray, o
120
113
  }
121
114
  func.addStatements([
122
115
  makeGetContext(target),
123
- `return use${generateMode}ModelQuery<TQueryFnData, TData, TError>('${model}', \`\${endpoint}/${(0, lower_case_first_1.lowerCaseFirst)(model)}/${operation}\`, args, options, fetch${optimistic ? ', optimisticUpdate' : ''});`,
116
+ `return use${generateMode}ModelQuery<TQueryFnData, TData, TError>('${model}', \`\${endpoint}/${(0, lower_case_first_1.lowerCaseFirst)(model)}/${operation}\`, args, options, fetch);`,
124
117
  ]);
125
118
  }
126
119
  }
@@ -142,16 +135,6 @@ function generateMutationHook(target, sf, model, operation, httpVerb, checkReadB
142
135
  name: 'options?',
143
136
  type: nonGenericOptionsType,
144
137
  },
145
- {
146
- name: 'invalidateQueries',
147
- type: 'boolean',
148
- initializer: 'true',
149
- },
150
- {
151
- name: 'optimisticUpdate',
152
- type: 'boolean',
153
- initializer: 'false',
154
- },
155
138
  ],
156
139
  });
157
140
  // get endpoint from context
@@ -162,7 +145,7 @@ function generateMutationHook(target, sf, model, operation, httpVerb, checkReadB
162
145
  {
163
146
  name: `_mutation`,
164
147
  initializer: `
165
- useModelMutation<${argsType}, DefaultError, ${overrideReturnType !== null && overrideReturnType !== void 0 ? overrideReturnType : model}, ${checkReadBack}>('${model}', '${httpVerb.toUpperCase()}', \`\${endpoint}/${(0, lower_case_first_1.lowerCaseFirst)(model)}/${operation}\`, metadata, options, fetch, invalidateQueries, ${checkReadBack}, optimisticUpdate)
148
+ useModelMutation<${argsType}, DefaultError, ${overrideReturnType !== null && overrideReturnType !== void 0 ? overrideReturnType : model}, ${checkReadBack}>('${model}', '${httpVerb.toUpperCase()}', \`\${endpoint}/${(0, lower_case_first_1.lowerCaseFirst)(model)}/${operation}\`, metadata, options, fetch, ${checkReadBack})
166
149
  `,
167
150
  },
168
151
  ],
@@ -400,7 +383,7 @@ function makeBaseImports(target, version) {
400
383
  const runtimeImportBase = makeRuntimeImportBase(version);
401
384
  const shared = [
402
385
  `import { useModelQuery, useInfiniteModelQuery, useModelMutation } from '${runtimeImportBase}/${target}';`,
403
- `import type { PickEnumerable, CheckSelect, QueryError } from '${runtimeImportBase}';`,
386
+ `import type { PickEnumerable, CheckSelect, QueryError, ExtraQueryOptions, ExtraMutationOptions } from '${runtimeImportBase}';`,
404
387
  `import metadata from './__model_meta';`,
405
388
  `type DefaultError = QueryError;`,
406
389
  ];
@@ -423,6 +406,7 @@ function makeBaseImports(target, version) {
423
406
  return [
424
407
  `import type { UseMutationOptions, UseQueryOptions, UseInfiniteQueryOptions, InfiniteData } from '@tanstack/vue-query';`,
425
408
  `import { getHooksContext } from '${runtimeImportBase}/${target}';`,
409
+ `import type { MaybeRefOrGetter, ComputedRef } from 'vue';`,
426
410
  ...shared,
427
411
  ];
428
412
  }
@@ -441,39 +425,55 @@ function makeBaseImports(target, version) {
441
425
  throw new sdk_1.PluginError(_1.name, `Unsupported target: ${target}`);
442
426
  }
443
427
  }
428
+ function makeQueryArgsType(target, argsType) {
429
+ const type = `Prisma.SelectSubset<TArgs, ${argsType}>`;
430
+ if (target === 'vue') {
431
+ return `MaybeRefOrGetter<${type}> | ComputedRef<${type}>`;
432
+ }
433
+ else {
434
+ return type;
435
+ }
436
+ }
444
437
  function makeQueryOptions(target, returnType, dataType, infinite, suspense, version) {
445
- switch (target) {
446
- case 'react':
447
- return infinite
448
- ? version === 'v4'
449
- ? `Omit<UseInfiniteQueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>`
450
- : `Omit<Use${suspense ? 'Suspense' : ''}InfiniteQueryOptions<${returnType}, TError, InfiniteData<${dataType}>>, 'queryKey'>`
451
- : `Omit<Use${suspense ? 'Suspense' : ''}QueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>`;
452
- case 'vue':
453
- return `Omit<Use${infinite ? 'Infinite' : ''}QueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>`;
454
- case 'svelte':
455
- return infinite
456
- ? version === 'v4'
457
- ? `Omit<CreateInfiniteQueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>`
458
- : `StoreOrVal<Omit<CreateInfiniteQueryOptions<${returnType}, TError, InfiniteData<${dataType}>>, 'queryKey'>>`
459
- : version === 'v4'
460
- ? `Omit<CreateQueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>`
461
- : `StoreOrVal<Omit<CreateQueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>>`;
462
- default:
463
- throw new sdk_1.PluginError(_1.name, `Unsupported target: ${target}`);
438
+ let result = (0, ts_pattern_1.match)(target)
439
+ .with('react', () => infinite
440
+ ? version === 'v4'
441
+ ? `Omit<UseInfiniteQueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>`
442
+ : `Omit<Use${suspense ? 'Suspense' : ''}InfiniteQueryOptions<${returnType}, TError, InfiniteData<${dataType}>>, 'queryKey'>`
443
+ : `Omit<Use${suspense ? 'Suspense' : ''}QueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>`)
444
+ .with('vue', () => {
445
+ const baseOption = `Omit<Use${infinite ? 'Infinite' : ''}QueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>`;
446
+ return `MaybeRefOrGetter<${baseOption}> | ComputedRef<${baseOption}>`;
447
+ })
448
+ .with('svelte', () => infinite
449
+ ? version === 'v4'
450
+ ? `Omit<CreateInfiniteQueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>`
451
+ : `StoreOrVal<Omit<CreateInfiniteQueryOptions<${returnType}, TError, InfiniteData<${dataType}>>, 'queryKey'>>`
452
+ : version === 'v4'
453
+ ? `Omit<CreateQueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>`
454
+ : `StoreOrVal<Omit<CreateQueryOptions<${returnType}, TError, ${dataType}>, 'queryKey'>>`)
455
+ .otherwise(() => {
456
+ throw new sdk_1.PluginError(_1.name, `Unsupported target: ${target}`);
457
+ });
458
+ if (!infinite) {
459
+ // non-infinite queries support extra options like optimistic updates
460
+ result = `(${result} & ExtraQueryOptions)`;
464
461
  }
462
+ return result;
465
463
  }
466
464
  function makeMutationOptions(target, returnType, argsType) {
467
- switch (target) {
468
- case 'react':
469
- return `UseMutationOptions<${returnType}, DefaultError, ${argsType}>`;
470
- case 'vue':
471
- return `UseMutationOptions<${returnType}, DefaultError, ${argsType}, unknown>`;
472
- case 'svelte':
473
- return `MutationOptions<${returnType}, DefaultError, ${argsType}>`;
474
- default:
475
- throw new sdk_1.PluginError(_1.name, `Unsupported target: ${target}`);
476
- }
465
+ let result = (0, ts_pattern_1.match)(target)
466
+ .with('react', () => `UseMutationOptions<${returnType}, DefaultError, ${argsType}>`)
467
+ .with('vue', () => {
468
+ const baseOption = `UseMutationOptions<${returnType}, DefaultError, ${argsType}, unknown>`;
469
+ return `MaybeRefOrGetter<${baseOption}> | ComputedRef<${baseOption}>`;
470
+ })
471
+ .with('svelte', () => `MutationOptions<${returnType}, DefaultError, ${argsType}>`)
472
+ .otherwise(() => {
473
+ throw new sdk_1.PluginError(_1.name, `Unsupported target: ${target}`);
474
+ });
475
+ result = `(${result} & ExtraMutationOptions)`;
476
+ return result;
477
477
  }
478
478
  function makeRuntimeImportBase(version) {
479
479
  return `@zenstackhq/tanstack-query/runtime${version === 'v5' ? '-v5' : ''}`;
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,7 +1,7 @@
1
1
  {
2
2
  "name": "@zenstackhq/tanstack-query",
3
3
  "displayName": "ZenStack plugin for generating tanstack-query hooks",
4
- "version": "2.0.0-alpha.7",
4
+ "version": "2.0.0-beta.10",
5
5
  "description": "ZenStack plugin for generating tanstack-query hooks",
6
6
  "main": "index.js",
7
7
  "exports": {
@@ -72,7 +72,6 @@
72
72
  "author": "ZenStack Team",
73
73
  "license": "MIT",
74
74
  "dependencies": {
75
- "@prisma/generator-helper": "^5.0.0",
76
75
  "change-case": "^4.1.2",
77
76
  "cross-fetch": "^4.0.0",
78
77
  "decimal.js": "^10.4.2",
@@ -80,9 +79,10 @@
80
79
  "semver": "^7.5.2",
81
80
  "superjson": "^1.11.0",
82
81
  "ts-morph": "^16.0.0",
82
+ "ts-pattern": "^4.3.0",
83
83
  "upper-case-first": "^2.0.2",
84
- "@zenstackhq/sdk": "2.0.0-alpha.7",
85
- "@zenstackhq/runtime": "2.0.0-alpha.7"
84
+ "@zenstackhq/runtime": "2.0.0-beta.10",
85
+ "@zenstackhq/sdk": "2.0.0-beta.10"
86
86
  },
87
87
  "devDependencies": {
88
88
  "@tanstack/react-query": "^4.29.7",
@@ -91,7 +91,6 @@
91
91
  "@tanstack/svelte-query-v5": "npm:@tanstack/svelte-query@^5.0.0",
92
92
  "@tanstack/vue-query": "^4.37.0",
93
93
  "@testing-library/react": "^14.0.0",
94
- "@types/nock": "^11.1.0",
95
94
  "@types/react": "18.2.0",
96
95
  "@types/semver": "^7.3.13",
97
96
  "@types/tmp": "^0.2.3",
@@ -103,11 +102,11 @@
103
102
  "svelte": "^4.2.1",
104
103
  "swr": "^2.0.3",
105
104
  "vue": "^3.3.4",
106
- "@zenstackhq/testtools": "2.0.0-alpha.7"
105
+ "@zenstackhq/testtools": "2.0.0-beta.10"
107
106
  },
108
107
  "scripts": {
109
108
  "clean": "rimraf dist",
110
- "build": "pnpm lint --max-warnings=0 && pnpm clean && tsc && tsup-node --config ./tsup.config.ts && tsup-node --config ./tsup-v5.config.ts && node scripts/postbuild && copyfiles ./package.json ./README.md ./LICENSE dist && pnpm pack dist --pack-destination '../../../../.build'",
109
+ "build": "pnpm lint --max-warnings=0 && pnpm clean && tsc && tsup-node --config ./tsup.config.ts && tsup-node --config ./tsup-v5.config.ts && node scripts/postbuild && copyfiles ./package.json ./README.md ./LICENSE dist && pnpm pack dist --pack-destination ../../../../.build",
111
110
  "watch": "concurrently \"tsc --watch\" \"tsup-node --config ./tsup.config.ts --watch\" \"tsup-node --config ./tsup-v5.config.ts --watch\"",
112
111
  "lint": "eslint src --ext ts",
113
112
  "test": "jest"
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Function signature for `fetch`.
3
+ */
4
+ type FetchFn = (url: string, options?: RequestInit) => Promise<Response>;
5
+ /**
6
+ * Type for query and mutation errors.
7
+ */
8
+ type QueryError = Error & {
9
+ /**
10
+ * Additional error information.
11
+ */
12
+ info?: unknown;
13
+ /**
14
+ * HTTP status code.
15
+ */
16
+ status?: number;
17
+ };
18
+ /**
19
+ * Result of optimistic data provider.
20
+ */
21
+ type OptimisticDataProviderResult = {
22
+ /**
23
+ * Kind of the result.
24
+ * - Update: use the `data` field to update the query cache.
25
+ * - Skip: skip the optimistic update for this query.
26
+ * - ProceedDefault: proceed with the default optimistic update.
27
+ */
28
+ kind: 'Update' | 'Skip' | 'ProceedDefault';
29
+ /**
30
+ * Data to update the query cache. Only applicable if `kind` is 'Update'.
31
+ *
32
+ * If the data is an object with fields updated, it should have a `$optimistic`
33
+ * field set to `true`. If it's an array and an element object is created or updated,
34
+ * the element should have a `$optimistic` field set to `true`.
35
+ */
36
+ data?: any;
37
+ };
38
+ /**
39
+ * Optimistic data provider.
40
+ *
41
+ * @param args Arguments.
42
+ * @param args.queryModel The model of the query.
43
+ * @param args.queryOperation The operation of the query, `findMany`, `count`, etc.
44
+ * @param args.queryArgs The arguments of the query.
45
+ * @param args.currentData The current cache data for the query.
46
+ * @param args.mutationArgs The arguments of the mutation.
47
+ */
48
+ type OptimisticDataProvider = (args: {
49
+ queryModel: string;
50
+ queryOperation: string;
51
+ queryArgs: any;
52
+ currentData: any;
53
+ mutationArgs: any;
54
+ }) => OptimisticDataProviderResult | Promise<OptimisticDataProviderResult>;
55
+ /**
56
+ * Extra mutation options.
57
+ */
58
+ type ExtraMutationOptions = {
59
+ /**
60
+ * Whether to automatically invalidate queries potentially affected by the mutation. Defaults to `true`.
61
+ */
62
+ invalidateQueries?: boolean;
63
+ /**
64
+ * Whether to optimistically update queries potentially affected by the mutation. Defaults to `false`.
65
+ */
66
+ optimisticUpdate?: boolean;
67
+ /**
68
+ * A callback for computing optimistic update data for each query cache entry.
69
+ */
70
+ optimisticDataProvider?: OptimisticDataProvider;
71
+ };
72
+ /**
73
+ * Extra query options.
74
+ */
75
+ type ExtraQueryOptions = {
76
+ /**
77
+ * Whether to opt-in to optimistic updates for this query. Defaults to `true`.
78
+ */
79
+ optimisticUpdate?: boolean;
80
+ };
81
+ /**
82
+ * Context type for configuring the hooks.
83
+ */
84
+ type APIContext = {
85
+ /**
86
+ * The endpoint to use for the queries.
87
+ */
88
+ endpoint?: string;
89
+ /**
90
+ * A custom fetch function for sending the HTTP requests.
91
+ */
92
+ fetch?: FetchFn;
93
+ /**
94
+ * If logging is enabled.
95
+ */
96
+ logging?: boolean;
97
+ };
98
+ type QueryKey = [
99
+ string,
100
+ string,
101
+ string,
102
+ unknown,
103
+ {
104
+ infinite: boolean;
105
+ optimisticUpdate: boolean;
106
+ }
107
+ ];
108
+ /**
109
+ * Computes query key for the given model, operation and query args.
110
+ * @param model Model name.
111
+ * @param urlOrOperation Prisma operation (e.g, `findMany`) or request URL. If it's a URL, the last path segment will be used as the operation name.
112
+ * @param args Prisma query arguments.
113
+ * @param options Query options, including `infinite` indicating if it's an infinite query (defaults to false), and `optimisticUpdate` indicating if optimistic updates are enabled (defaults to true).
114
+ * @returns Query key
115
+ */
116
+ declare function getQueryKey(model: string, urlOrOperation: string, args: unknown, options?: {
117
+ infinite: boolean;
118
+ optimisticUpdate: boolean;
119
+ }): QueryKey;
120
+
121
+ export { type APIContext as A, type ExtraMutationOptions as E, type FetchFn as F, type QueryError as Q, type ExtraQueryOptions as a, getQueryKey as g };
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Function signature for `fetch`.
3
+ */
4
+ type FetchFn = (url: string, options?: RequestInit) => Promise<Response>;
5
+ /**
6
+ * Type for query and mutation errors.
7
+ */
8
+ type QueryError = Error & {
9
+ /**
10
+ * Additional error information.
11
+ */
12
+ info?: unknown;
13
+ /**
14
+ * HTTP status code.
15
+ */
16
+ status?: number;
17
+ };
18
+ /**
19
+ * Result of optimistic data provider.
20
+ */
21
+ type OptimisticDataProviderResult = {
22
+ /**
23
+ * Kind of the result.
24
+ * - Update: use the `data` field to update the query cache.
25
+ * - Skip: skip the optimistic update for this query.
26
+ * - ProceedDefault: proceed with the default optimistic update.
27
+ */
28
+ kind: 'Update' | 'Skip' | 'ProceedDefault';
29
+ /**
30
+ * Data to update the query cache. Only applicable if `kind` is 'Update'.
31
+ *
32
+ * If the data is an object with fields updated, it should have a `$optimistic`
33
+ * field set to `true`. If it's an array and an element object is created or updated,
34
+ * the element should have a `$optimistic` field set to `true`.
35
+ */
36
+ data?: any;
37
+ };
38
+ /**
39
+ * Optimistic data provider.
40
+ *
41
+ * @param args Arguments.
42
+ * @param args.queryModel The model of the query.
43
+ * @param args.queryOperation The operation of the query, `findMany`, `count`, etc.
44
+ * @param args.queryArgs The arguments of the query.
45
+ * @param args.currentData The current cache data for the query.
46
+ * @param args.mutationArgs The arguments of the mutation.
47
+ */
48
+ type OptimisticDataProvider = (args: {
49
+ queryModel: string;
50
+ queryOperation: string;
51
+ queryArgs: any;
52
+ currentData: any;
53
+ mutationArgs: any;
54
+ }) => OptimisticDataProviderResult | Promise<OptimisticDataProviderResult>;
55
+ /**
56
+ * Extra mutation options.
57
+ */
58
+ type ExtraMutationOptions = {
59
+ /**
60
+ * Whether to automatically invalidate queries potentially affected by the mutation. Defaults to `true`.
61
+ */
62
+ invalidateQueries?: boolean;
63
+ /**
64
+ * Whether to optimistically update queries potentially affected by the mutation. Defaults to `false`.
65
+ */
66
+ optimisticUpdate?: boolean;
67
+ /**
68
+ * A callback for computing optimistic update data for each query cache entry.
69
+ */
70
+ optimisticDataProvider?: OptimisticDataProvider;
71
+ };
72
+ /**
73
+ * Extra query options.
74
+ */
75
+ type ExtraQueryOptions = {
76
+ /**
77
+ * Whether to opt-in to optimistic updates for this query. Defaults to `true`.
78
+ */
79
+ optimisticUpdate?: boolean;
80
+ };
81
+ /**
82
+ * Context type for configuring the hooks.
83
+ */
84
+ type APIContext = {
85
+ /**
86
+ * The endpoint to use for the queries.
87
+ */
88
+ endpoint?: string;
89
+ /**
90
+ * A custom fetch function for sending the HTTP requests.
91
+ */
92
+ fetch?: FetchFn;
93
+ /**
94
+ * If logging is enabled.
95
+ */
96
+ logging?: boolean;
97
+ };
98
+ type QueryKey = [
99
+ string,
100
+ string,
101
+ string,
102
+ unknown,
103
+ {
104
+ infinite: boolean;
105
+ optimisticUpdate: boolean;
106
+ }
107
+ ];
108
+ /**
109
+ * Computes query key for the given model, operation and query args.
110
+ * @param model Model name.
111
+ * @param urlOrOperation Prisma operation (e.g, `findMany`) or request URL. If it's a URL, the last path segment will be used as the operation name.
112
+ * @param args Prisma query arguments.
113
+ * @param options Query options, including `infinite` indicating if it's an infinite query (defaults to false), and `optimisticUpdate` indicating if optimistic updates are enabled (defaults to true).
114
+ * @returns Query key
115
+ */
116
+ declare function getQueryKey(model: string, urlOrOperation: string, args: unknown, options?: {
117
+ infinite: boolean;
118
+ optimisticUpdate: boolean;
119
+ }): QueryKey;
120
+
121
+ export { type APIContext as A, type ExtraMutationOptions as E, type FetchFn as F, type QueryError as Q, type ExtraQueryOptions as a, getQueryKey as g };
@@ -1,4 +1,4 @@
1
- export { F as FetchFn, Q as QueryError, g as getQueryKey } from './common-ZSgIGN1q.mjs';
1
+ export { E as ExtraMutationOptions, a as ExtraQueryOptions, F as FetchFn, Q as QueryError, g as getQueryKey } from './common--_wRp2eo.mjs';
2
2
 
3
3
  type Enumerable<T> = T | Array<T>;
4
4
  type _TupleToUnion<T> = T extends (infer E)[] ? E : never;
@@ -1,4 +1,4 @@
1
- export { F as FetchFn, Q as QueryError, g as getQueryKey } from './common-ZSgIGN1q.js';
1
+ export { E as ExtraMutationOptions, a as ExtraQueryOptions, F as FetchFn, Q as QueryError, g as getQueryKey } from './common--_wRp2eo.js';
2
2
 
3
3
  type Enumerable<T> = T | Array<T>;
4
4
  type _TupleToUnion<T> = T extends (infer E)[] ? E : never;
package/runtime/index.js CHANGED
@@ -39,11 +39,13 @@ var import_browser = require("@zenstackhq/runtime/browser");
39
39
  var import_cross = require("@zenstackhq/runtime/cross");
40
40
  var crossFetch = __toESM(require("cross-fetch"));
41
41
  var QUERY_KEY_PREFIX = "zenstack";
42
- function getQueryKey(model, urlOrOperation, args, infinite = false, optimisticUpdate = false) {
42
+ function getQueryKey(model, urlOrOperation, args, options = { infinite: false, optimisticUpdate: true }) {
43
43
  if (!urlOrOperation) {
44
44
  throw new Error("Invalid urlOrOperation");
45
45
  }
46
46
  const operation = urlOrOperation.split("/").pop();
47
+ const infinite = options.infinite;
48
+ const optimisticUpdate = options.infinite ? false : options.optimisticUpdate;
47
49
  return [QUERY_KEY_PREFIX, model, operation, args, { infinite, optimisticUpdate }];
48
50
  }
49
51
  // Annotate the CommonJS export names for ESM import in node: