@pothos/plugin-prisma 4.4.1 → 4.5.0

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 (51) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dts/connection-helpers.d.ts.map +1 -1
  3. package/dts/global-types.d.ts +2 -0
  4. package/dts/global-types.d.ts.map +1 -1
  5. package/dts/index.d.ts.map +1 -1
  6. package/dts/model-loader.d.ts.map +1 -1
  7. package/dts/util/map-query.d.ts +3 -2
  8. package/dts/util/map-query.d.ts.map +1 -1
  9. package/dts/util/selections.d.ts +2 -1
  10. package/dts/util/selections.d.ts.map +1 -1
  11. package/esm/connection-helpers.d.ts.map +1 -1
  12. package/esm/connection-helpers.js +2 -1
  13. package/esm/connection-helpers.js.map +1 -1
  14. package/esm/field-builder.js +9 -6
  15. package/esm/field-builder.js.map +1 -1
  16. package/esm/global-types.d.ts +2 -0
  17. package/esm/global-types.d.ts.map +1 -1
  18. package/esm/index.d.ts.map +1 -1
  19. package/esm/index.js +2 -1
  20. package/esm/index.js.map +1 -1
  21. package/esm/model-loader.d.ts.map +1 -1
  22. package/esm/model-loader.js +2 -1
  23. package/esm/model-loader.js.map +1 -1
  24. package/esm/util/map-query.d.ts +3 -2
  25. package/esm/util/map-query.d.ts.map +1 -1
  26. package/esm/util/map-query.js +42 -28
  27. package/esm/util/map-query.js.map +1 -1
  28. package/esm/util/selections.d.ts +2 -1
  29. package/esm/util/selections.d.ts.map +1 -1
  30. package/esm/util/selections.js +4 -3
  31. package/esm/util/selections.js.map +1 -1
  32. package/lib/connection-helpers.js +2 -1
  33. package/lib/connection-helpers.js.map +1 -1
  34. package/lib/field-builder.js +9 -6
  35. package/lib/field-builder.js.map +1 -1
  36. package/lib/index.js +2 -1
  37. package/lib/index.js.map +1 -1
  38. package/lib/model-loader.js +2 -1
  39. package/lib/model-loader.js.map +1 -1
  40. package/lib/util/map-query.js +42 -28
  41. package/lib/util/map-query.js.map +1 -1
  42. package/lib/util/selections.js +4 -3
  43. package/lib/util/selections.js.map +1 -1
  44. package/package.json +3 -3
  45. package/src/connection-helpers.ts +5 -1
  46. package/src/field-builder.ts +3 -0
  47. package/src/global-types.ts +2 -0
  48. package/src/index.ts +11 -1
  49. package/src/model-loader.ts +5 -1
  50. package/src/util/map-query.ts +61 -14
  51. package/src/util/selections.ts +4 -1
@@ -24,7 +24,7 @@ const _graphql = require("graphql");
24
24
  const _loadermap = require("./loader-map");
25
25
  const _selections = require("./selections");
26
26
  const _usage = require("./usage");
27
- function addTypeSelectionsForField(type, context, info, state, selection, indirectPath) {
27
+ function addTypeSelectionsForField(type, context, info, state, selection, indirectPath, deferred) {
28
28
  if (selection.name.value.startsWith('__')) {
29
29
  return;
30
30
  }
@@ -34,11 +34,11 @@ function addTypeSelectionsForField(type, context, info, state, selection, indire
34
34
  var _pothosIndirectInclude_paths;
35
35
  resolveIndirectIncludePaths(type, info, selection, [], (_pothosIndirectInclude_paths = pothosIndirectInclude.paths) !== null && _pothosIndirectInclude_paths !== void 0 ? _pothosIndirectInclude_paths : [
36
36
  pothosIndirectInclude.path
37
- ], indirectPath, (resolvedType, field, path)=>{
38
- addTypeSelectionsForField(resolvedType, context, info, state, field, path);
37
+ ], indirectPath, (resolvedType, field, path, deferred)=>{
38
+ addTypeSelectionsForField(resolvedType, context, info, state, field, path, deferred);
39
39
  });
40
40
  } else if (pothosIndirectInclude) {
41
- addTypeSelectionsForField(info.schema.getType(pothosIndirectInclude.getType()), context, info, state, selection, indirectPath);
41
+ addTypeSelectionsForField(info.schema.getType(pothosIndirectInclude.getType()), context, info, state, selection, indirectPath, deferred);
42
42
  return;
43
43
  }
44
44
  if (!((0, _graphql.isObjectType)(type) || (0, _graphql.isInterfaceType)(type))) {
@@ -57,25 +57,25 @@ function addTypeSelectionsForField(type, context, info, state, selection, indire
57
57
  } : undefined
58
58
  });
59
59
  }
60
- if (selection.selectionSet) {
60
+ if (selection.selectionSet && (!deferred || !state.skipDeferredFragments)) {
61
61
  addNestedSelections(type, context, info, state, selection.selectionSet, indirectPath);
62
62
  }
63
63
  }
64
- function resolveIndirectIncludePaths(type, info, selection, pathPrefix, includePaths, path, resolve) {
64
+ function resolveIndirectIncludePaths(type, info, selection, pathPrefix, includePaths, path, resolve, deferred = false) {
65
65
  for (const includePath of includePaths){
66
66
  if (pathPrefix.length > 0) {
67
67
  resolveIndirectInclude(type, info, selection, [
68
68
  ...pathPrefix,
69
69
  ...includePath
70
- ], path, resolve);
70
+ ], path, resolve, deferred);
71
71
  } else {
72
- resolveIndirectInclude(type, info, selection, includePath, path, resolve);
72
+ resolveIndirectInclude(type, info, selection, includePath, path, resolve, deferred);
73
73
  }
74
74
  }
75
75
  }
76
- function resolveIndirectInclude(type, info, selection, includePath, path, resolve, expectedType = type) {
76
+ function resolveIndirectInclude(type, info, selection, includePath, path, resolve, deferred = false, expectedType = type) {
77
77
  if (includePath.length === 0) {
78
- resolve(type, selection, path);
78
+ resolve(type, selection, path, deferred);
79
79
  return;
80
80
  }
81
81
  const [include, ...rest] = includePath;
@@ -92,15 +92,15 @@ function resolveIndirectInclude(type, info, selection, includePath, path, resolv
92
92
  resolveIndirectInclude(returnType, info, sel, rest, [
93
93
  ...path,
94
94
  (_sel_alias_value = (_sel_alias = sel.alias) === null || _sel_alias === void 0 ? void 0 : _sel_alias.value) !== null && _sel_alias_value !== void 0 ? _sel_alias_value : sel.name.value
95
- ], resolve);
95
+ ], resolve, deferred);
96
96
  }
97
97
  continue;
98
98
  case _graphql.Kind.FRAGMENT_SPREAD:
99
- resolveIndirectInclude(info.schema.getType(info.fragments[sel.name.value].typeCondition.name.value), info, info.fragments[sel.name.value], includePath, path, resolve, include.type ? info.schema.getType(include.type) : expectedType);
99
+ resolveIndirectInclude(info.schema.getType(info.fragments[sel.name.value].typeCondition.name.value), info, info.fragments[sel.name.value], includePath, path, resolve, deferred || isDeferredFragment(sel, info), include.type ? info.schema.getType(include.type) : expectedType);
100
100
  continue;
101
101
  case _graphql.Kind.INLINE_FRAGMENT:
102
102
  if (!sel.typeCondition || !include.type || sel.typeCondition.name.value === include.type) {
103
- resolveIndirectInclude(sel.typeCondition ? info.schema.getType(sel.typeCondition.name.value) : type, info, sel, includePath, path, resolve, include.type ? info.schema.getType(include.type) : expectedType);
103
+ resolveIndirectInclude(sel.typeCondition ? info.schema.getType(sel.typeCondition.name.value) : type, info, sel, includePath, path, resolve, deferred || isDeferredFragment(sel, info), include.type ? info.schema.getType(include.type) : expectedType);
104
104
  }
105
105
  continue;
106
106
  default:
@@ -120,11 +120,17 @@ function addNestedSelections(type, context, info, state, selections, indirectPat
120
120
  continue;
121
121
  case _graphql.Kind.FRAGMENT_SPREAD:
122
122
  var _parentType_extensions;
123
+ if (state.skipDeferredFragments && isDeferredFragment(selection, info)) {
124
+ continue;
125
+ }
123
126
  parentType = info.schema.getType(info.fragments[selection.name.value].typeCondition.name.value);
124
127
  addNestedSelections(parentType, context, info, state, info.fragments[selection.name.value].selectionSet, indirectPath, ((_parentType_extensions = parentType.extensions) === null || _parentType_extensions === void 0 ? void 0 : _parentType_extensions.pothosPrismaModel) === type.extensions.pothosPrismaModel ? parentType : expectedType);
125
128
  continue;
126
129
  case _graphql.Kind.INLINE_FRAGMENT:
127
130
  var _parentType_extensions1;
131
+ if (state.skipDeferredFragments && isDeferredFragment(selection, info)) {
132
+ continue;
133
+ }
128
134
  parentType = selection.typeCondition ? info.schema.getType(selection.typeCondition.name.value) : type;
129
135
  addNestedSelections(parentType, context, info, state, selection.selectionSet, indirectPath, ((_parentType_extensions1 = parentType.extensions) === null || _parentType_extensions1 === void 0 ? void 0 : _parentType_extensions1.pothosPrismaModel) === type.extensions.pothosPrismaModel ? parentType : expectedType);
130
136
  continue;
@@ -151,7 +157,7 @@ function addFieldSelection(type, context, info, state, selection, indirectPath)
151
157
  const returnType = (0, _graphql.getNamedType)(field.type);
152
158
  const query = typeof rawQuery === 'function' ? rawQuery(args, context) : rawQuery;
153
159
  const normalizedIndirectInclude = Array.isArray(indirectInclude) ? normalizeInclude(indirectInclude, getIndirectType(returnType, info), expectedType ? (0, _graphql.getNamedType)(info.schema.getType(expectedType)) : undefined) : indirectInclude;
154
- const fieldState = createStateForType(getIndirectType(normalizedIndirectInclude ? info.schema.getType(normalizedIndirectInclude.getType()) : returnType, info), info, state);
160
+ const fieldState = createStateForType(getIndirectType(normalizedIndirectInclude ? info.schema.getType(normalizedIndirectInclude.getType()) : returnType, info), info, state.skipDeferredFragments, state);
155
161
  if (typeof query === 'object' && Object.keys(query).length > 0) {
156
162
  (0, _selections.mergeSelection)(fieldState, {
157
163
  select: {},
@@ -163,8 +169,8 @@ function addFieldSelection(type, context, info, state, selection, indirectPath)
163
169
  var _returnType_extensions_pothosIndirectInclude_path, _normalizedIndirectInclude_paths;
164
170
  resolveIndirectIncludePaths(returnType, info, selection, (_returnType_extensions_pothosIndirectInclude_path = (_returnType_extensions = returnType.extensions) === null || _returnType_extensions === void 0 ? void 0 : (_returnType_extensions_pothosIndirectInclude = _returnType_extensions.pothosIndirectInclude) === null || _returnType_extensions_pothosIndirectInclude === void 0 ? void 0 : _returnType_extensions_pothosIndirectInclude.path) !== null && _returnType_extensions_pothosIndirectInclude_path !== void 0 ? _returnType_extensions_pothosIndirectInclude_path : [], (_normalizedIndirectInclude_paths = normalizedIndirectInclude === null || normalizedIndirectInclude === void 0 ? void 0 : normalizedIndirectInclude.paths) !== null && _normalizedIndirectInclude_paths !== void 0 ? _normalizedIndirectInclude_paths : (normalizedIndirectInclude === null || normalizedIndirectInclude === void 0 ? void 0 : normalizedIndirectInclude.path) ? [
165
171
  normalizedIndirectInclude.path
166
- ] : [], [], (resolvedType, resolvedField, path)=>{
167
- addTypeSelectionsForField(resolvedType, context, info, fieldState, resolvedField, path);
172
+ ] : [], [], (resolvedType, resolvedField, path, deferred)=>{
173
+ addTypeSelectionsForField(resolvedType, context, info, fieldState, resolvedField, path, deferred);
168
174
  });
169
175
  } else if (normalizedIndirectInclude) {
170
176
  const targetType = info.schema.getType(normalizedIndirectInclude.getType());
@@ -205,7 +211,7 @@ function addFieldSelection(type, context, info, state, selection, indirectPath)
205
211
  };
206
212
  }
207
213
  }
208
- function queryFromInfo({ context, info, typeName, select, include, path = [], paths = [], withUsageCheck = false }) {
214
+ function queryFromInfo({ context, info, typeName, select, include, path = [], paths = [], withUsageCheck = false, skipDeferredFragments = true }) {
209
215
  const returnType = (0, _graphql.getNamedType)(info.returnType);
210
216
  const type = typeName ? info.schema.getTypeMap()[typeName] : returnType;
211
217
  let state;
@@ -218,43 +224,43 @@ function queryFromInfo({ context, info, typeName, select, include, path = [], pa
218
224
  var _returnType_extensions;
219
225
  const { pothosIndirectInclude } = (_returnType_extensions = returnType.extensions) !== null && _returnType_extensions !== void 0 ? _returnType_extensions : {};
220
226
  var _pothosIndirectInclude_path;
221
- resolveIndirectInclude(returnType, info, info.fieldNodes[0], (_pothosIndirectInclude_path = pothosIndirectInclude === null || pothosIndirectInclude === void 0 ? void 0 : pothosIndirectInclude.path) !== null && _pothosIndirectInclude_path !== void 0 ? _pothosIndirectInclude_path : [], [], (indirectType, indirectField, subPath)=>{
227
+ resolveIndirectInclude(returnType, info, info.fieldNodes[0], (_pothosIndirectInclude_path = pothosIndirectInclude === null || pothosIndirectInclude === void 0 ? void 0 : pothosIndirectInclude.path) !== null && _pothosIndirectInclude_path !== void 0 ? _pothosIndirectInclude_path : [], [], (indirectType, indirectField, subPath, deferred)=>{
222
228
  resolveIndirectIncludePaths(indirectType, info, indirectField, [], paths.length > 0 ? paths.map((p)=>p.map((n)=>typeof n === 'string' ? {
223
229
  name: n
224
230
  } : n)) : [
225
231
  path.map((n)=>typeof n === 'string' ? {
226
232
  name: n
227
233
  } : n)
228
- ], subPath, (resolvedType, resolvedField, nested)=>{
229
- state = createStateForType(typeName ? type : resolvedType, info, undefined, initialSelection);
230
- addTypeSelectionsForField(typeName ? type : resolvedType, context, info, state, resolvedField, nested);
231
- });
234
+ ], subPath, (resolvedType, resolvedField, nested, deferred)=>{
235
+ state = createStateForType(typeName ? type : resolvedType, info, skipDeferredFragments, undefined, initialSelection);
236
+ addTypeSelectionsForField(typeName ? type : resolvedType, context, info, state, resolvedField, nested, deferred);
237
+ }, deferred);
232
238
  });
233
239
  } else {
234
- state = createStateForType(type, info, undefined, initialSelection);
240
+ state = createStateForType(type, info, skipDeferredFragments, undefined, initialSelection);
235
241
  addTypeSelectionsForField(type, context, info, state, info.fieldNodes[0], []);
236
242
  }
237
243
  if (!state) {
238
- state = createStateForType(type, info, undefined, initialSelection);
244
+ state = createStateForType(type, info, skipDeferredFragments, undefined, initialSelection);
239
245
  }
240
246
  (0, _loadermap.setLoaderMappings)(context, info, state.mappings);
241
247
  const query = (0, _selections.selectionToQuery)(state);
242
248
  return withUsageCheck ? (0, _usage.wrapWithUsageCheck)(query) : query;
243
249
  }
244
- function selectionStateFromInfo(context, info, typeName) {
250
+ function selectionStateFromInfo(context, info, skipDeferredFragments, typeName) {
245
251
  const type = typeName ? info.schema.getTypeMap()[typeName] : info.parentType;
246
- const state = createStateForType(type, info);
252
+ const state = createStateForType(type, info, skipDeferredFragments);
247
253
  if (!((0, _graphql.isObjectType)(type) || (0, _graphql.isInterfaceType)(type))) {
248
254
  throw new _core.PothosValidationError('Prisma plugin can only resolve includes for object and interface types');
249
255
  }
250
256
  addFieldSelection(type, context, info, state, info.fieldNodes[0], []);
251
257
  return state;
252
258
  }
253
- function createStateForType(type, info, parent, initialSelections) {
259
+ function createStateForType(type, info, skipDeferredFragments, parent, initialSelections) {
254
260
  var _targetType_extensions, _targetType_extensions1;
255
261
  const targetType = getIndirectType(type, info);
256
262
  const fieldMap = (_targetType_extensions = targetType.extensions) === null || _targetType_extensions === void 0 ? void 0 : _targetType_extensions.pothosPrismaFieldMap;
257
- const state = (0, _selections.createState)(fieldMap, ((_targetType_extensions1 = targetType.extensions) === null || _targetType_extensions1 === void 0 ? void 0 : _targetType_extensions1.pothosPrismaSelect) ? 'select' : 'include', parent);
263
+ const state = (0, _selections.createState)(fieldMap, ((_targetType_extensions1 = targetType.extensions) === null || _targetType_extensions1 === void 0 ? void 0 : _targetType_extensions1.pothosPrismaSelect) ? 'select' : 'include', skipDeferredFragments, parent);
258
264
  if (initialSelections) {
259
265
  (0, _selections.mergeSelection)(state, initialSelections);
260
266
  }
@@ -308,5 +314,13 @@ function fieldSkipped(info, selection) {
308
314
  }
309
315
  return false;
310
316
  }
317
+ function isDeferredFragment(node, info) {
318
+ const deferDirective = info.schema.getDirective('defer');
319
+ if (!deferDirective) {
320
+ return false;
321
+ }
322
+ const defer = (0, _graphql.getDirectiveValues)(deferDirective, node, info.variableValues);
323
+ return !!defer && defer.if !== false;
324
+ }
311
325
 
312
326
  //# sourceMappingURL=map-query.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/map-query.ts"],"names":["getIndirectType","queryFromInfo","selectionStateFromInfo","addTypeSelectionsForField","type","context","info","state","selection","indirectPath","name","value","startsWith","pothosPrismaInclude","pothosPrismaSelect","pothosIndirectInclude","pothosPrismaModel","extensions","path","length","paths","resolveIndirectIncludePaths","resolvedType","field","schema","getType","isObjectType","isInterfaceType","mode","mergeSelection","select","undefined","include","selectionSet","addNestedSelections","pathPrefix","includePaths","resolve","includePath","resolveIndirectInclude","expectedType","rest","sel","selections","kind","Kind","FIELD","fieldSkipped","returnType","getNamedType","getFields","alias","FRAGMENT_SPREAD","fragments","typeCondition","INLINE_FRAGMENT","PothosValidationError","parentType","addFieldSelection","fieldSelect","fieldSelectionMap","mappings","args","getMappedArgumentValues","rawQuery","indirectInclude","query","normalizedIndirectInclude","Array","isArray","normalizeInclude","fieldState","createStateForType","Object","keys","resolvedField","targetType","selectionToQuery","node","map","_","selectionCompatible","typeName","withUsageCheck","getTypeMap","initialSelection","fieldNodes","indirectType","indirectField","subPath","p","n","nested","setLoaderMappings","wrapWithUsageCheck","parent","initialSelections","fieldMap","pothosPrismaFieldMap","createState","currentType","normalized","fieldName","push","skip","getDirectiveValues","GraphQLSkipDirective","variableValues","if","GraphQLIncludeDirective"],"mappings":";;;;;;;;;;;IAohBgBA,eAAe;eAAfA;;IAtIAC,aAAa;eAAbA;;IA2FAC,sBAAsB;eAAtBA;;;sBAze+C;yBAkBxD;2BAQ2B;4BAQ3B;uBAC4B;AAEnC,SAASC,0BACPC,IAAsB,EACtBC,OAAe,EACfC,IAAwB,EACxBC,KAAqB,EACrBC,SAAoB,EACpBC,YAAsB;IAEtB,IAAID,UAAUE,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,OAAO;QACzC;IACF;QAGGR;IADH,MAAM,EAAES,mBAAmB,EAAEC,kBAAkB,EAAEC,qBAAqB,EAAEC,iBAAiB,EAAE,GACxFZ,CAAAA,mBAAAA,KAAKa,UAAU,cAAfb,8BAAAA,mBAAmB,CAAC;IAOvB,IACE,AAAC,CAAC,EAACW,kCAAAA,4CAAAA,sBAAuBG,IAAI,KAAIH,sBAAsBG,IAAI,CAACC,MAAM,GAAG,KACrE,CAAC,EAACJ,kCAAAA,4CAAAA,sBAAuBK,KAAK,KAAIL,sBAAsBK,KAAK,CAACD,MAAM,KAAK,GAC1E;YAMEJ;QALFM,4BACEjB,MACAE,MACAE,WACA,EAAE,EACFO,CAAAA,+BAAAA,sBAAsBK,KAAK,cAA3BL,0CAAAA,+BAA+B;YAACA,sBAAsBG,IAAI;SAAE,EAC5DT,cACA,CAACa,cAAcC,OAAOL;YACpBf,0BAA0BmB,cAAcjB,SAASC,MAAMC,OAAOgB,OAAOL;QACvE;IAEJ,OAAO,IAAIH,uBAAuB;QAChCZ,0BACEG,KAAKkB,MAAM,CAACC,OAAO,CAACV,sBAAsBU,OAAO,KACjDpB,SACAC,MACAC,OACAC,WACAC;QAEF;IACF;IAEA,IAAI,CAAEiB,CAAAA,IAAAA,qBAAY,EAACtB,SAASuB,IAAAA,wBAAe,EAACvB,KAAI,GAAI;QAClD;IACF;IAEA,IAAIY,qBAAqB,CAACF,oBAAoB;QAC5CP,MAAMqB,IAAI,GAAG;IACf;IAEA,IAAIf,gCAAAA,iCAAAA,sBAAuBC,oBAAoB;QAC7Ce,IAAAA,0BAAc,EAACtB,OAAO;YACpBuB,QAAQhB,qBAAqB;gBAAE,GAAGA,kBAAkB;YAAC,IAAIiB;YACzDC,SAASnB,sBAAsB;gBAAE,GAAGA,mBAAmB;YAAC,IAAIkB;QAC9D;IACF;IAEA,IAAIvB,UAAUyB,YAAY,EAAE;QAC1BC,oBAAoB9B,MAAMC,SAASC,MAAMC,OAAOC,UAAUyB,YAAY,EAAExB;IAC1E;AACF;AAEA,SAASY,4BACPjB,IAAsB,EACtBE,IAAwB,EACxBE,SAAkE,EAClE2B,UAA6C,EAC7CC,YAAiD,EACjDlB,IAAc,EACdmB,OAA2E;IAE3E,KAAK,MAAMC,eAAeF,aAAc;QACtC,IAAID,WAAWhB,MAAM,GAAG,GAAG;YACzBoB,uBAAuBnC,MAAME,MAAME,WAAW;mBAAI2B;mBAAeG;aAAY,EAAEpB,MAAMmB;QACvF,OAAO;YACLE,uBAAuBnC,MAAME,MAAME,WAAW8B,aAAapB,MAAMmB;QACnE;IACF;AACF;AAEA,SAASE,uBACPnC,IAAsB,EACtBE,IAAwB,EACxBE,SAAkE,EAClE8B,WAA8C,EAC9CpB,IAAc,EACdmB,OAA2E,EAC3EG,eAAepC,IAAI;IAEnB,IAAIkC,YAAYnB,MAAM,KAAK,GAAG;QAC5BkB,QAAQjC,MAAMI,WAAwBU;QACtC;IACF;IAEA,MAAM,CAACc,SAAS,GAAGS,KAAK,GAAGH;IAC3B,IAAI,CAAC9B,UAAUyB,YAAY,IAAI,CAACD,SAAS;QACvC;IACF;IAEA,KAAK,MAAMU,OAAOlC,UAAUyB,YAAY,CAACU,UAAU,CAAE;QACnD,OAAQD,IAAIE,IAAI;YACd,KAAKC,aAAI,CAACC,KAAK;gBACb,IACEN,aAAa9B,IAAI,KAAKN,KAAKM,IAAI,IAC/B,CAACqC,aAAazC,MAAMoC,QACpBA,IAAIhC,IAAI,CAACC,KAAK,KAAKqB,QAAQtB,IAAI,IAC9BgB,CAAAA,IAAAA,qBAAY,EAACtB,SAASuB,IAAAA,wBAAe,EAACvB,KAAI,GAC3C;wBAQYsC;oBAPZ,MAAMM,aAAaC,IAAAA,qBAAY,EAAC7C,KAAK8C,SAAS,EAAE,CAACR,IAAIhC,IAAI,CAACC,KAAK,CAAC,CAACP,IAAI;wBAOzDsC;oBALZH,uBACES,YACA1C,MACAoC,KACAD,MACA;2BAAIvB;wBAAMwB,CAAAA,oBAAAA,aAAAA,IAAIS,KAAK,cAATT,iCAAAA,WAAW/B,KAAK,cAAhB+B,8BAAAA,mBAAoBA,IAAIhC,IAAI,CAACC,KAAK;qBAAC,EAC7C0B;gBAEJ;gBACA;YACF,KAAKQ,aAAI,CAACO,eAAe;gBACvBb,uBACEjC,KAAKkB,MAAM,CAACC,OAAO,CAACnB,KAAK+C,SAAS,CAACX,IAAIhC,IAAI,CAACC,KAAK,CAAC,CAAC2C,aAAa,CAAC5C,IAAI,CAACC,KAAK,GAC3EL,MACAA,KAAK+C,SAAS,CAACX,IAAIhC,IAAI,CAACC,KAAK,CAAC,EAC9B2B,aACApB,MACAmB,SACAL,QAAQ5B,IAAI,GAAGE,KAAKkB,MAAM,CAACC,OAAO,CAACO,QAAQ5B,IAAI,IAAKoC;gBAGtD;YAEF,KAAKK,aAAI,CAACU,eAAe;gBACvB,IAAI,CAACb,IAAIY,aAAa,IAAI,CAACtB,QAAQ5B,IAAI,IAAIsC,IAAIY,aAAa,CAAC5C,IAAI,CAACC,KAAK,KAAKqB,QAAQ5B,IAAI,EAAE;oBACxFmC,uBACEG,IAAIY,aAAa,GAAGhD,KAAKkB,MAAM,CAACC,OAAO,CAACiB,IAAIY,aAAa,CAAC5C,IAAI,CAACC,KAAK,IAAKP,MACzEE,MACAoC,KACAJ,aACApB,MACAmB,SACAL,QAAQ5B,IAAI,GAAGE,KAAKkB,MAAM,CAACC,OAAO,CAACO,QAAQ5B,IAAI,IAAKoC;gBAExD;gBAEA;YAEF;gBACE,MAAM,IAAIgB,2BAAqB,CAC7B,CAAC,2BAA2B,EAAE,AAAChD,UAA+BoC,IAAI,EAAE;QAE1E;IACF;AACF;AAEA,SAASV,oBACP9B,IAA8C,EAC9CC,OAAe,EACfC,IAAwB,EACxBC,KAAqB,EACrBoC,UAA4B,EAC5BlC,YAAsB,EACtB+B,eAAepC,IAAI;IAEnB,IAAIqD,aAAarD;IACjB,KAAK,MAAMI,aAAamC,WAAWA,UAAU,CAAE;QAC7C,OAAQnC,UAAUoC,IAAI;YACpB,KAAKC,aAAI,CAACC,KAAK;gBACb,IAAIN,aAAa9B,IAAI,KAAKN,KAAKM,IAAI,EAAE;oBACnC;gBACF;gBACAgD,kBAAkBtD,MAAMC,SAASC,MAAMC,OAAOC,WAAWC;gBAEzD;YACF,KAAKoC,aAAI,CAACO,eAAe;oBAYrBK;gBAXFA,aAAanD,KAAKkB,MAAM,CAACC,OAAO,CAC9BnB,KAAK+C,SAAS,CAAC7C,UAAUE,IAAI,CAACC,KAAK,CAAC,CAAC2C,aAAa,CAAC5C,IAAI,CAACC,KAAK;gBAG/DuB,oBACEuB,YACApD,SACAC,MACAC,OACAD,KAAK+C,SAAS,CAAC7C,UAAUE,IAAI,CAACC,KAAK,CAAC,CAACsB,YAAY,EACjDxB,cACAgD,EAAAA,yBAAAA,WAAWxC,UAAU,cAArBwC,6CAAAA,uBAAuBzC,iBAAiB,MAAKZ,KAAKa,UAAU,CAACD,iBAAiB,GAC1EyC,aACAjB;gBAGN;YAEF,KAAKK,aAAI,CAACU,eAAe;oBAYrBE;gBAXFA,aAAajD,UAAU8C,aAAa,GAC/BhD,KAAKkB,MAAM,CAACC,OAAO,CAACjB,UAAU8C,aAAa,CAAC5C,IAAI,CAACC,KAAK,IACvDP;gBAEJ8B,oBACEuB,YACApD,SACAC,MACAC,OACAC,UAAUyB,YAAY,EACtBxB,cACAgD,EAAAA,0BAAAA,WAAWxC,UAAU,cAArBwC,8CAAAA,wBAAuBzC,iBAAiB,MAAKZ,KAAKa,UAAU,CAACD,iBAAiB,GAC1EyC,aACAjB;gBAGN;YAEF;gBACE,MAAM,IAAIgB,2BAAqB,CAC7B,CAAC,2BAA2B,EAAE,AAAChD,UAA+BoC,IAAI,EAAE;QAE1E;IACF;AACF;AAEA,SAASc,kBACPtD,IAA8C,EAC9CC,OAAe,EACfC,IAAwB,EACxBC,KAAqB,EACrBC,SAAoB,EACpBC,YAAsB;QAYFc;IAVpB,IAAIf,UAAUE,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,SAASmC,aAAazC,MAAME,YAAY;QAC1E;IACF;IAEA,MAAMe,QAAQnB,KAAK8C,SAAS,EAAE,CAAC1C,UAAUE,IAAI,CAACC,KAAK,CAAC;IAEpD,IAAI,CAACY,OAAO;QACV,MAAM,IAAIiC,2BAAqB,CAAC,CAAC,cAAc,EAAEhD,UAAUE,IAAI,CAACC,KAAK,CAAC,IAAI,EAAEP,KAAKM,IAAI,EAAE;IACzF;IAEA,MAAMiD,eAAcpC,oBAAAA,MAAMN,UAAU,cAAhBM,wCAAAA,kBAAkBT,kBAAkB;IAExD,IAAI8C;IAEJ,IAAIC,WAA2B,CAAC;IAEhC,IAAI,OAAOF,gBAAgB,YAAY;QACrC,MAAMG,OAAOC,IAAAA,6BAAuB,EAACxC,OAAOf,WAAWH,SAASC;QAKhEsD,oBAAoBD,YAClBG,MACAzD,SACA,CAAC2D,UAAUC,iBAAiBzB;YAC1B,MAAMQ,aAAaC,IAAAA,qBAAY,EAAC1B,MAAMnB,IAAI;YAC1C,MAAM8D,QAAQ,OAAOF,aAAa,aAAaA,SAASF,MAAMzD,WAAW2D;YAEzE,MAAMG,4BAA4BC,MAAMC,OAAO,CAACJ,mBAC5CK,iBACEL,iBACAjE,gBAAgBgD,YAAY1C,OAC5BkC,eAAeS,IAAAA,qBAAY,EAAC3C,KAAKkB,MAAM,CAACC,OAAO,CAACe,iBAAiBT,aAEnEkC;YAEJ,MAAMM,aAAaC,mBACjBxE,gBACEmE,4BACI7D,KAAKkB,MAAM,CAACC,OAAO,CAAC0C,0BAA0B1C,OAAO,MACrDuB,YACJ1C,OAEFA,MACAC;YAGF,IAAI,OAAO2D,UAAU,YAAYO,OAAOC,IAAI,CAACR,OAAO/C,MAAM,GAAG,GAAG;gBAC9DU,IAAAA,0BAAc,EAAC0C,YAAY;oBAAEzC,QAAQ,CAAC;oBAAG,GAAGoC,KAAK;gBAAC;YACpD;YAEA,IACE,AAAC,CAAC,EAACC,sCAAAA,gDAAAA,0BAA2BjD,IAAI,KAAIiD,0BAA0BjD,IAAI,CAACC,MAAM,GAAG,KAC7E,CAAC,EAACgD,sCAAAA,gDAAAA,0BAA2B/C,KAAK,KAAI+C,0BAA0B/C,KAAK,CAACD,MAAM,GAAG,GAChF;oBAKG6B,8CAAAA;oBAAD,mDACAmB;gBALF9C,4BACE2B,YACA1C,MACAE,WACA,CAAA,qDAACwC,yBAAAA,WAAW/B,UAAU,cAArB+B,8CAAAA,+CAAAA,uBAAuBjC,qBAAqB,cAA5CiC,mEAAD,AAACA,6CAA+D9B,IAAI,cAApE,+DAAA,oDAAwE,EAAE,EAC1EiD,CAAAA,mCAAAA,sCAAAA,gDAAAA,0BAA2B/C,KAAK,cAAhC+C,8CAAAA,mCACGA,CAAAA,sCAAAA,gDAAAA,0BAA2BjD,IAAI,IAAG;oBAACiD,0BAA0BjD,IAAI;iBAAC,GAAG,EAAE,EAC1E,EAAE,EACF,CAACI,cAAcqD,eAAezD;oBAC5Bf,0BACEmB,cACAjB,SACAC,MACAiE,YACAI,eACAzD;gBAEJ;YAEJ,OAAO,IAAIiD,2BAA2B;gBACpC,MAAMS,aAAatE,KAAKkB,MAAM,CAACC,OAAO,CAAC0C,0BAA0B1C,OAAO;gBACxE,IAAImD,eAAe5B,YAAY;oBAC7B7C,0BAA0ByE,YAAYvE,SAASC,MAAMiE,YAAY/D,WAAW,EAAE;gBAChF;YACF;YAEAL,0BAA0B6C,YAAY3C,SAASC,MAAMiE,YAAY/D,WAAW,EAAE;YAE9EqD,WAAWU,WAAWV,QAAQ;YAE9B,OAAOgB,IAAAA,4BAAgB,EAACN;QAC1B,GACA,CAACrD;YACC,IAAIA,KAAKC,MAAM,KAAK,GAAG;gBACrB,OAAOX;YACT;YAEA,MAAMwC,aAAaC,IAAAA,qBAAY,EAAC1B,MAAMnB,IAAI;YAC1C,IAAI0E,OAAyB;YAE7BvC,uBACES,YACA1C,MACAE,WACAU,KAAK6D,GAAG,CAAC,CAACrE,OAAU,CAAA;oBAClBA;gBACF,CAAA,IACA,EAAE,EACF,CAACsE,GAAGL;gBACFG,OAAOH;YACT;YAGF,OAAOG;QACT;IAEJ,OAAO;QACLlB,oBAAoB;YAAE9B,QAAQ6B;QAAY;IAC5C;IAEA,IAAIA,eAAesB,IAAAA,+BAAmB,EAAC1E,OAAOqD,mBAAmB,OAAO;YAEvDpD;QADfqB,IAAAA,0BAAc,EAACtB,OAAOqD;YACPpD;QAAfD,MAAMsD,QAAQ,CAACrD,CAAAA,0BAAAA,mBAAAA,UAAU2C,KAAK,cAAf3C,uCAAAA,iBAAiBG,KAAK,cAAtBH,oCAAAA,yBAA0BA,UAAUE,IAAI,CAACC,KAAK,CAAC,GAAG;YAC/DY,OAAOf,UAAUE,IAAI,CAACC,KAAK;YAC3BP,MAAMA,KAAKM,IAAI;YACfmD;YACApD;QACF;IACF;AACF;AAEO,SAASR,cAGd,EACAI,OAAO,EACPC,IAAI,EACJ4E,QAAQ,EACRpD,MAAM,EACNE,OAAO,EACPd,OAAO,EAAE,EACTE,QAAQ,EAAE,EACV+D,iBAAiB,KAAK,EAWvB;IAKC,MAAMnC,aAAaC,IAAAA,qBAAY,EAAC3C,KAAK0C,UAAU;IAC/C,MAAM5C,OAAO8E,WAAW5E,KAAKkB,MAAM,CAAC4D,UAAU,EAAE,CAACF,SAAS,GAAGlC;IAE7D,IAAIzC;IACJ,MAAM8E,mBAAmBvD,SAAS;QAAEA;IAAO,IAAIE,UAAU;QAAEA;IAAQ,IAAID;IAEvE,IAAIb,KAAKC,MAAM,GAAG,KAAKC,MAAMD,MAAM,GAAG,GAAG;YACJ6B;QAAnC,MAAM,EAAEjC,qBAAqB,EAAE,GAAIiC,CAAAA,yBAAAA,WAAW/B,UAAU,cAArB+B,oCAAAA,yBAAyB,CAAC;YAQ3DjC;QAJFwB,uBACES,YACA1C,MACAA,KAAKgF,UAAU,CAAC,EAAE,EAClBvE,CAAAA,8BAAAA,kCAAAA,4CAAAA,sBAAuBG,IAAI,cAA3BH,yCAAAA,8BAA+B,EAAE,EACjC,EAAE,EACF,CAACwE,cAAcC,eAAeC;YAC5BpE,4BACEkE,cACAjF,MACAkF,eACA,EAAE,EACFpE,MAAMD,MAAM,GAAG,IACXC,MAAM2D,GAAG,CAAC,CAACW,IAAMA,EAAEX,GAAG,CAAC,CAACY,IAAO,OAAOA,MAAM,WAAW;wBAAEjF,MAAMiF;oBAAE,IAAIA,MACrE;gBAACzE,KAAK6D,GAAG,CAAC,CAACY,IAAO,OAAOA,MAAM,WAAW;wBAAEjF,MAAMiF;oBAAE,IAAIA;aAAI,EAChEF,SACA,CAACnE,cAAcqD,eAAeiB;gBAC5BrF,QAAQiE,mBACNU,WAAW9E,OAAOkB,cAClBhB,MACAyB,WACAsD;gBAGFlF,0BACE+E,WAAW9E,OAAOkB,cAClBjB,SACAC,MACAC,OACAoE,eACAiB;YAEJ;QAEJ;IAEJ,OAAO;QACLrF,QAAQiE,mBAAmBpE,MAAME,MAAMyB,WAAWsD;QAElDlF,0BAA0BC,MAAMC,SAASC,MAAMC,OAAOD,KAAKgF,UAAU,CAAC,EAAE,EAAE,EAAE;IAC9E;IAEA,IAAI,CAAC/E,OAAO;QACVA,QAAQiE,mBAAmBpE,MAAME,MAAMyB,WAAWsD;IACpD;IAEAQ,IAAAA,4BAAiB,EAACxF,SAASC,MAAMC,MAAMsD,QAAQ;IAE/C,MAAMK,QAAQW,IAAAA,4BAAgB,EAACtE;IAE/B,OAAO4E,iBAAiBW,IAAAA,yBAAkB,EAAC5B,SAASA;AACtD;AAEO,SAAShE,uBACdG,OAAe,EACfC,IAAwB,EACxB4E,QAAiB;IAEjB,MAAM9E,OAAO8E,WAAW5E,KAAKkB,MAAM,CAAC4D,UAAU,EAAE,CAACF,SAAS,GAAG5E,KAAKmD,UAAU;IAE5E,MAAMlD,QAAQiE,mBAAmBpE,MAAME;IAEvC,IAAI,CAAEoB,CAAAA,IAAAA,qBAAY,EAACtB,SAASuB,IAAAA,wBAAe,EAACvB,KAAI,GAAI;QAClD,MAAM,IAAIoD,2BAAqB,CAC7B;IAEJ;IAEAE,kBAAkBtD,MAAMC,SAASC,MAAMC,OAAOD,KAAKgF,UAAU,CAAC,EAAE,EAAE,EAAE;IAEpE,OAAO/E;AACT;AAEA,SAASiE,mBACPpE,IAAsB,EACtBE,IAAwB,EACxByF,MAAuB,EACvBC,iBAAgC;QAIfpB,wBAIfA;IANF,MAAMA,aAAa5E,gBAAgBI,MAAME;IAEzC,MAAM2F,YAAWrB,yBAAAA,WAAW3D,UAAU,cAArB2D,6CAAAA,uBAAuBsB,oBAAoB;IAE5D,MAAM3F,QAAQ4F,IAAAA,uBAAW,EACvBF,UACArB,EAAAA,0BAAAA,WAAW3D,UAAU,cAArB2D,8CAAAA,wBAAuB9D,kBAAkB,IAAG,WAAW,WACvDiF;IAGF,IAAIC,mBAAmB;QACrBnE,IAAAA,0BAAc,EAACtB,OAAOyF;IACxB;IAEA,OAAOzF;AACT;AAEO,SAASP,gBAAgBI,IAAsB,EAAEE,IAAwB;QAGvEsE;IAFP,IAAIA,aAAaxE;IAEjB,OAAOwE,yBAAAA,WAAW3D,UAAU,cAArB2D,6CAAAA,uBAAuB7D,qBAAqB,CAAE;YAEhD6D;QADHA,aAAatE,KAAKkB,MAAM,CAACC,OAAO,CAC9B,EAACmD,0BAAAA,WAAW3D,UAAU,cAArB2D,8CAAAA,wBAAuB7D,qBAAqB,EAAqBU,OAAO;IAE7E;IAEA,OAAOmD;AACT;AAEA,SAASN,iBACPpD,IAAc,EACdd,IAAsB,EACtBoC,YAA+B;IAE/B,IAAI4D,cAAclF,KAAKC,MAAM,GAAG,IAAIf,OAAQoC,yBAAAA,0BAAAA,eAAgBpC;IAE5D,MAAMiG,aAA+C,EAAE;IAEvD,IAAI,CAAE3E,CAAAA,IAAAA,qBAAY,EAAC0E,gBAAgBzE,IAAAA,wBAAe,EAACyE,YAAW,GAAI;QAChE,MAAM,IAAI5C,2BAAqB,CAAC,CAAC,SAAS,EAAE4C,YAAY,qBAAqB,CAAC;IAChF;IAEA,KAAK,MAAME,aAAapF,KAAM;QAC5B,MAAMK,QAAwC6E,YAAYlD,SAAS,EAAE,CAACoD,UAAU;QAEhF,IAAI,CAAC/E,OAAO;YACV,MAAM,IAAIiC,2BAAqB,CAAC,CAAC,SAAS,EAAE4C,YAAY,iBAAiB,EAAEE,WAAW;QACxF;QAEAF,cAAcnD,IAAAA,qBAAY,EAAC1B,MAAMnB,IAAI;QAErC,IAAI,CAAEsB,CAAAA,IAAAA,qBAAY,EAAC0E,gBAAgBzE,IAAAA,wBAAe,EAACyE,YAAW,GAAI;YAChE,MAAM,IAAI5C,2BAAqB,CAAC,CAAC,SAAS,EAAE4C,YAAY,kCAAkC,CAAC;QAC7F;QAEAC,WAAWE,IAAI,CAAC;YAAE7F,MAAM4F;YAAWlG,MAAMgG,YAAY1F,IAAI;QAAC;IAC5D;IAEA,OAAO;QACLe,SAAS;gBACPe;mBAAAA,CAAAA,qBAAAA,yBAAAA,mCAAAA,aAAc9B,IAAI,cAAlB8B,gCAAAA,qBACC6D,WAAWlF,MAAM,GAAG,IAAIkF,UAAU,CAACA,WAAWlF,MAAM,GAAG,EAAE,CAACf,IAAI,GAAGA,KAAKM,IAAI;;QAC7EQ,MAAMmF;IACR;AACF;AAEA,SAAStD,aAAazC,IAAwB,EAAEE,SAAoB;IAClE,MAAMgG,OAAOC,IAAAA,2BAAkB,EAACC,6BAAoB,EAAElG,WAAWF,KAAKqG,cAAc;IACpF,IAAIH,CAAAA,iBAAAA,2BAAAA,KAAMI,EAAE,MAAK,MAAM;QACrB,OAAO;IACT;IAEA,MAAM5E,UAAUyE,IAAAA,2BAAkB,EAACI,gCAAuB,EAAErG,WAAWF,KAAKqG,cAAc;IAC1F,IAAI3E,CAAAA,oBAAAA,8BAAAA,QAAS4E,EAAE,MAAK,OAAO;QACzB,OAAO;IACT;IAEA,OAAO;AACT"}
1
+ {"version":3,"sources":["../../src/util/map-query.ts"],"names":["getIndirectType","queryFromInfo","selectionStateFromInfo","addTypeSelectionsForField","type","context","info","state","selection","indirectPath","deferred","name","value","startsWith","pothosPrismaInclude","pothosPrismaSelect","pothosIndirectInclude","pothosPrismaModel","extensions","path","length","paths","resolveIndirectIncludePaths","resolvedType","field","schema","getType","isObjectType","isInterfaceType","mode","mergeSelection","select","undefined","include","selectionSet","skipDeferredFragments","addNestedSelections","pathPrefix","includePaths","resolve","includePath","resolveIndirectInclude","expectedType","rest","sel","selections","kind","Kind","FIELD","fieldSkipped","returnType","getNamedType","getFields","alias","FRAGMENT_SPREAD","fragments","typeCondition","isDeferredFragment","INLINE_FRAGMENT","PothosValidationError","parentType","addFieldSelection","fieldSelect","fieldSelectionMap","mappings","args","getMappedArgumentValues","rawQuery","indirectInclude","query","normalizedIndirectInclude","Array","isArray","normalizeInclude","fieldState","createStateForType","Object","keys","resolvedField","targetType","selectionToQuery","node","map","_","selectionCompatible","typeName","withUsageCheck","getTypeMap","initialSelection","fieldNodes","indirectType","indirectField","subPath","p","n","nested","setLoaderMappings","wrapWithUsageCheck","parent","initialSelections","fieldMap","pothosPrismaFieldMap","createState","currentType","normalized","fieldName","push","skip","getDirectiveValues","GraphQLSkipDirective","variableValues","if","GraphQLIncludeDirective","deferDirective","getDirective","defer"],"mappings":"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"}
@@ -75,7 +75,7 @@ function mergeState(state, newState) {
75
75
  }
76
76
  }
77
77
  }
78
- function createState(fieldMap, mode, parent) {
78
+ function createState(fieldMap, mode, skipDeferredFragments, parent) {
79
79
  return {
80
80
  parent,
81
81
  mode,
@@ -84,7 +84,8 @@ function createState(fieldMap, mode, parent) {
84
84
  fields: new Set(),
85
85
  counts: new Map(),
86
86
  relations: new Map(),
87
- mappings: {}
87
+ mappings: {},
88
+ skipDeferredFragments
88
89
  };
89
90
  }
90
91
  function mergeSelection(state, { select, include, ...query }) {
@@ -124,7 +125,7 @@ function mergeSelection(state, { select, include, ...query }) {
124
125
  if (state.relations.has(key)) {
125
126
  mergeSelection(state.relations.get(key), selection);
126
127
  } else {
127
- const relatedState = createState(childMap, 'select');
128
+ const relatedState = createState(childMap, 'select', state.skipDeferredFragments);
128
129
  mergeSelection(relatedState, selection);
129
130
  state.relations.set(key, relatedState);
130
131
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/selections.ts"],"names":["createState","mergeSelection","mergeState","selectionCompatible","selectionToQuery","stateCompatible","state","selectionMap","ignoreQuery","Object","keys","query","length","select","include","some","key","compare","deepEqual","value","selections","k","counts","has","get","fieldMap","relations","newState","name","relationState","mode","fields","add","parent","Set","Map","mappings","merge","count","set","selection","childMap","relatedState","nestedIncludes","hasSelection","forEach","sel","relation","nested","size","_count","field"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/util/selections.ts"],"names":["createState","mergeSelection","mergeState","selectionCompatible","selectionToQuery","stateCompatible","state","selectionMap","ignoreQuery","Object","keys","query","length","select","include","some","key","compare","deepEqual","value","selections","k","counts","has","get","fieldMap","relations","newState","name","relationState","mode","fields","add","skipDeferredFragments","parent","Set","Map","mappings","merge","count","set","selection","childMap","relatedState","nestedIncludes","hasSelection","forEach","sel","relation","nested","size","_count","field"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pothos/plugin-prisma",
3
- "version": "4.4.1",
3
+ "version": "4.5.0",
4
4
  "description": "A Pothos plugin for more efficient integration with prisma",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./dts/index.d.ts",
@@ -72,12 +72,12 @@
72
72
  "graphql-tag": "^2.12.6",
73
73
  "prisma": "^6.0.0",
74
74
  "vitest": "^2.1.6",
75
- "@pothos/core": "4.5.1",
76
75
  "@pothos/plugin-complexity": "4.1.0",
77
76
  "@pothos/plugin-errors": "4.2.0",
78
77
  "@pothos/plugin-relay": "4.4.1",
79
78
  "@pothos/plugin-simple-objects": "4.1.1",
80
- "@pothos/test-utils": "2.1.0"
79
+ "@pothos/test-utils": "2.1.0",
80
+ "@pothos/core": "4.5.1"
81
81
  },
82
82
  "scripts": {
83
83
  "generate": "prisma generate && prisma generate --schema=./tests/prisma-types-from-client/schema.prisma",
@@ -130,7 +130,11 @@ export function prismaConnectionHelpers<
130
130
  ? { select: select((sel) => nestedSelection(sel, ['edges', 'node']), args, ctx) }
131
131
  : nestedSelection(true, ['edges', 'node']);
132
132
 
133
- const selectState = createState(fieldMap, 'select');
133
+ const selectState = createState(
134
+ fieldMap,
135
+ 'select',
136
+ builder.options.prisma.skipDeferredFragments ?? true,
137
+ );
134
138
 
135
139
  mergeSelection(selectState, { select: cursorSelection });
136
140
 
@@ -46,6 +46,7 @@ fieldBuilderProto.prismaField = function prismaField({ type, resolve, ...options
46
46
  context,
47
47
  info,
48
48
  withUsageCheck: !!this.builder.options.prisma?.onUnusedQuery,
49
+ skipDeferredFragments: this.builder.options.prisma?.skipDeferredFragments,
49
50
  });
50
51
 
51
52
  return checkIfQueryIsUsed(
@@ -84,6 +85,7 @@ fieldBuilderProto.prismaFieldWithInput = function prismaFieldWithInput(
84
85
  context,
85
86
  info,
86
87
  withUsageCheck: !!this.builder.options.prisma?.onUnusedQuery,
88
+ skipDeferredFragments: this.builder.options.prisma?.skipDeferredFragments,
87
89
  });
88
90
 
89
91
  return checkIfQueryIsUsed(
@@ -153,6 +155,7 @@ fieldBuilderProto.prismaConnection = function prismaConnection<
153
155
  paths: [['nodes'], ['edges', 'node']],
154
156
  typeName,
155
157
  withUsageCheck: !!this.builder.options.prisma?.onUnusedQuery,
158
+ skipDeferredFragments: this.builder.options.prisma?.skipDeferredFragments,
156
159
  });
157
160
 
158
161
  const returnType = getNamedType(info.returnType);
@@ -56,6 +56,7 @@ declare global {
56
56
  onUnusedQuery?: 'error' | 'warn' | ((info: GraphQLResolveInfo) => void) | null;
57
57
  maxConnectionSize?: number;
58
58
  defaultConnectionSize?: number;
59
+ skipDeferredFragments?: boolean;
59
60
  }
60
61
  | {
61
62
  filterConnectionTotalCount?: boolean;
@@ -69,6 +70,7 @@ declare global {
69
70
  onUnusedQuery?: 'error' | 'warn' | ((info: GraphQLResolveInfo) => void) | null;
70
71
  maxConnectionSize?: number;
71
72
  defaultConnectionSize?: number;
73
+ skipDeferredFragments?: boolean;
72
74
  };
73
75
  }
74
76
 
package/src/index.ts CHANGED
@@ -162,7 +162,17 @@ export class PothosPrismaPlugin<Types extends SchemaTypes> extends BasePlugin<Ty
162
162
  }
163
163
 
164
164
  if (fallback) {
165
- return fallback(queryFromInfo({ context, info }), parent, args, context, info);
165
+ return fallback(
166
+ queryFromInfo({
167
+ context,
168
+ info,
169
+ skipDeferredFragments: this.builder.options.prisma.skipDeferredFragments,
170
+ }),
171
+ parent,
172
+ args,
173
+ context,
174
+ info,
175
+ );
166
176
  }
167
177
 
168
178
  return loaderCache(context)
@@ -236,7 +236,11 @@ export class ModelLoader {
236
236
  getSelection(info: GraphQLResolveInfo) {
237
237
  const key = cacheKey(info.parentType.name, info.path);
238
238
  if (!this.queryCache.has(key)) {
239
- const selection = selectionStateFromInfo(this.context, info);
239
+ const selection = selectionStateFromInfo(
240
+ this.context,
241
+ info,
242
+ this.builder.options.prisma.skipDeferredFragments ?? true,
243
+ );
240
244
  this.queryCache.set(key, {
241
245
  selection,
242
246
  query: selectionToQuery(selection),