@pothos/plugin-prisma 3.35.8 → 3.36.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 (81) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +232 -41
  3. package/dts/connection-helpers.d.ts +34 -0
  4. package/dts/connection-helpers.d.ts.map +1 -0
  5. package/dts/global-types.d.ts +15 -6
  6. package/dts/global-types.d.ts.map +1 -1
  7. package/dts/index.d.ts +3 -0
  8. package/dts/index.d.ts.map +1 -1
  9. package/dts/node-ref.d.ts +1 -1
  10. package/dts/node-ref.d.ts.map +1 -1
  11. package/dts/object-ref.d.ts +2 -0
  12. package/dts/object-ref.d.ts.map +1 -1
  13. package/dts/prisma-field-builder.d.ts +5 -2
  14. package/dts/prisma-field-builder.d.ts.map +1 -1
  15. package/dts/types.d.ts +8 -6
  16. package/dts/types.d.ts.map +1 -1
  17. package/dts/util/map-query.d.ts.map +1 -1
  18. package/esm/connection-helpers.d.ts +34 -0
  19. package/esm/connection-helpers.d.ts.map +1 -0
  20. package/esm/connection-helpers.js +26 -0
  21. package/esm/connection-helpers.js.map +1 -0
  22. package/esm/field-builder.js +9 -15
  23. package/esm/field-builder.js.map +1 -1
  24. package/esm/global-types.d.ts +15 -6
  25. package/esm/global-types.d.ts.map +1 -1
  26. package/esm/global-types.js.map +1 -1
  27. package/esm/index.d.ts +3 -0
  28. package/esm/index.d.ts.map +1 -1
  29. package/esm/index.js +3 -0
  30. package/esm/index.js.map +1 -1
  31. package/esm/node-ref.d.ts +1 -1
  32. package/esm/node-ref.d.ts.map +1 -1
  33. package/esm/node-ref.js +1 -1
  34. package/esm/node-ref.js.map +1 -1
  35. package/esm/object-ref.d.ts +2 -0
  36. package/esm/object-ref.d.ts.map +1 -1
  37. package/esm/object-ref.js +4 -0
  38. package/esm/object-ref.js.map +1 -1
  39. package/esm/prisma-field-builder.d.ts +5 -2
  40. package/esm/prisma-field-builder.d.ts.map +1 -1
  41. package/esm/prisma-field-builder.js +2 -2
  42. package/esm/prisma-field-builder.js.map +1 -1
  43. package/esm/schema-builder.js +18 -3
  44. package/esm/schema-builder.js.map +1 -1
  45. package/esm/types.d.ts +8 -6
  46. package/esm/types.d.ts.map +1 -1
  47. package/esm/util/datamodel.js +1 -1
  48. package/esm/util/datamodel.js.map +1 -1
  49. package/esm/util/map-query.d.ts.map +1 -1
  50. package/esm/util/map-query.js +21 -21
  51. package/esm/util/map-query.js.map +1 -1
  52. package/lib/connection-helpers.js +41 -0
  53. package/lib/connection-helpers.js.map +1 -0
  54. package/lib/field-builder.js +8 -14
  55. package/lib/field-builder.js.map +1 -1
  56. package/lib/index.js +6 -0
  57. package/lib/index.js.map +1 -1
  58. package/lib/node-ref.js +1 -1
  59. package/lib/node-ref.js.map +1 -1
  60. package/lib/object-ref.js +4 -0
  61. package/lib/object-ref.js.map +1 -1
  62. package/lib/prisma-field-builder.js +1 -1
  63. package/lib/prisma-field-builder.js.map +1 -1
  64. package/lib/schema-builder.js +18 -8
  65. package/lib/schema-builder.js.map +1 -1
  66. package/lib/util/datamodel.js +1 -1
  67. package/lib/util/datamodel.js.map +1 -1
  68. package/lib/util/map-query.js +21 -20
  69. package/lib/util/map-query.js.map +1 -1
  70. package/package.json +8 -8
  71. package/src/connection-helpers.ts +65 -0
  72. package/src/field-builder.ts +23 -23
  73. package/src/global-types.ts +50 -14
  74. package/src/index.ts +3 -0
  75. package/src/node-ref.ts +1 -4
  76. package/src/object-ref.ts +7 -0
  77. package/src/prisma-field-builder.ts +38 -25
  78. package/src/schema-builder.ts +38 -3
  79. package/src/types.ts +35 -16
  80. package/src/util/datamodel.ts +1 -1
  81. package/src/util/map-query.ts +32 -17
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/prisma-field-builder.ts"],"names":["PrismaObjectFieldBuilder","RootBuilder","RootFieldBuilder","relation","name","allArgs","description","options","relationField","getRelation","model","builder","ref","type","getRefFromModel","query","resolve","extensions","rest","relationSelect","args","context","nestedQuery","select","field","isList","getFieldDescription","pothosPrismaSelect","pothosPrismaLoaded","value","undefined","pothosPrismaFallback","q","parent","info","relationCount","where","countSelect","_count","nullable","variant","isNull","selfSelect","parentIsNull","isThenable","then","resolved","expose","typeConfig","configStore","getTypeConfig","typename","usingSelect","exposeField","pothosPrismaVariant","createExpose","constructor","fieldMap","exposeBoolean","exposeFloat","exposeInt","exposeID","exposeString","exposeBooleanList","exposeFloatList","exposeIntList","exposeIDList","exposeStringList","withAuth","relatedConnection","maxSize","defaultSize","cursor","totalCount","connectionOptions","edgeOptions","typeName","formatCursor","getCursorFormatter","parseCursor","getCursorParser","getQuery","ctx","prismaCursorConnectionQuery","cursorSelection","ModelLoader","getCursorSelection","getSelection","nested","getType","path","hasTotalCount","prisma","filterConnectionTotalCount","fieldRef","connection","Promise","result","wrapConnectionResult","take","connectionQuery","fields","t","int","prismaFieldMap","addScopes","scopes","originalCreateField","createField","call","authScopes"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/prisma-field-builder.ts"],"names":["PrismaObjectFieldBuilder","RootBuilder","RootFieldBuilder","relation","name","allArgs","description","options","relationField","getRelation","model","builder","ref","type","getRefFromModel","query","resolve","extensions","rest","relationSelect","args","context","nestedQuery","select","field","isList","getFieldDescription","pothosPrismaSelect","pothosPrismaLoaded","value","undefined","pothosPrismaFallback","q","parent","info","relationCount","where","countSelect","_count","nullable","variant","isNull","selfSelect","parentIsNull","isThenable","then","resolved","expose","typeConfig","configStore","getTypeConfig","typename","usingSelect","exposeField","pothosPrismaVariant","createExpose","constructor","fieldMap","exposeBoolean","exposeFloat","exposeInt","exposeID","exposeString","exposeBooleanList","exposeFloatList","exposeIntList","exposeIDList","exposeStringList","withAuth","relatedConnection","maxSize","defaultSize","cursor","totalCount","connectionOptions","edgeOptions","typeName","formatCursor","getCursorFormatter","parseCursor","getCursorParser","getQuery","ctx","prismaCursorConnectionQuery","cursorSelection","ModelLoader","getCursorSelection","getSelection","nested","getType","path","hasTotalCount","prisma","filterConnectionTotalCount","fieldRef","connection","Promise","result","wrapConnectionResult","take","connectionQuery","ObjectRef","fields","t","int","prismaFieldMap","addScopes","scopes","originalCreateField","createField","call","authScopes"],"mappings":"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"}
@@ -6,18 +6,14 @@ require("./global-types");
6
6
  const _core = /*#__PURE__*/ _interopRequireWildcard(require("@pothos/core"));
7
7
  const _fieldBuilder = require("./field-builder");
8
8
  const _modelLoader = require("./model-loader");
9
- const _nodeRef = /*#__PURE__*/ _interopRequireDefault(require("./node-ref"));
9
+ const _nodeRef = require("./node-ref");
10
+ const _objectRef = require("./object-ref");
10
11
  const _cursors = require("./util/cursors");
11
12
  const _datamodel = require("./util/datamodel");
12
13
  const _description = require("./util/description");
13
14
  const _getClient = require("./util/get-client");
14
15
  const _mapQuery = require("./util/map-query");
15
16
  const _relationMap = require("./util/relation-map");
16
- function _interopRequireDefault(obj) {
17
- return obj && obj.__esModule ? obj : {
18
- default: obj
19
- };
20
- }
21
17
  function _getRequireWildcardCache(nodeInterop) {
22
18
  if (typeof WeakMap !== "function") return null;
23
19
  var cacheBabelInterop = new WeakMap();
@@ -59,7 +55,7 @@ function _interopRequireWildcard(obj, nodeInterop) {
59
55
  }
60
56
  const schemaBuilderProto = _core.default.prototype;
61
57
  schemaBuilderProto.prismaObject = function prismaObject(type, { fields , findUnique , select , include , description , ...options }) {
62
- const ref = options.variant ? this.objectRef(options.variant) : (0, _datamodel.getRefFromModel)(type, this);
58
+ const ref = options.variant ? new _objectRef.PrismaObjectRef(options.variant, type) : (0, _datamodel.getRefFromModel)(type, this);
63
59
  var _variant, ref1;
64
60
  const name = (ref1 = (_variant = options.variant) !== null && _variant !== void 0 ? _variant : options.name) !== null && ref1 !== void 0 ? ref1 : type;
65
61
  const fieldMap = (0, _relationMap.getRelationMap)((0, _getClient.getDMMF)(this)).get(type);
@@ -92,7 +88,7 @@ schemaBuilderProto.prismaNode = function prismaNode(type, { id: { field , resolv
92
88
  const idParser = fieldName ? (0, _cursors.getDefaultIDParser)(type, fieldName, this) : undefined;
93
89
  var ref1;
94
90
  const typeName = (ref1 = variant !== null && variant !== void 0 ? variant : name) !== null && ref1 !== void 0 ? ref1 : type;
95
- const nodeRef = new _nodeRef.default(typeName);
91
+ const nodeRef = new _nodeRef.PrismaNodeRef(typeName, type);
96
92
  const findUnique = rawFindUnique ? (parent, context)=>rawFindUnique(resolve(parent, context), context) : _modelLoader.ModelLoader.getFindUniqueForField(nodeRef, type, fieldName, this);
97
93
  if (!interfaceRef) {
98
94
  throw new TypeError('builder.prismaNode requires @pothos/plugin-relay to be installed');
@@ -151,5 +147,19 @@ schemaBuilderProto.prismaNode = function prismaNode(type, { id: { field , resolv
151
147
  this.configStore.associateRefWithName(nodeRef, typeName);
152
148
  return nodeRef;
153
149
  };
150
+ schemaBuilderProto.prismaObjectField = function prismaObjectField(type, fieldName, field) {
151
+ const ref = typeof type === 'string' ? (0, _datamodel.getRefFromModel)(type, this) : type;
152
+ this.configStore.onTypeConfig(ref, ({ name })=>{
153
+ this.configStore.addFields(ref, ()=>({
154
+ [fieldName]: field(new _fieldBuilder.PrismaObjectFieldBuilder(name, this, ref.modelName, (0, _relationMap.getRelationMap)((0, _getClient.getDMMF)(this)).get(ref.modelName)))
155
+ }));
156
+ });
157
+ };
158
+ schemaBuilderProto.prismaObjectFields = function prismaObjectFields(type, fields) {
159
+ const ref = typeof type === 'string' ? (0, _datamodel.getRefFromModel)(type, this) : type;
160
+ this.configStore.onTypeConfig(ref, ({ name })=>{
161
+ this.configStore.addFields(ref, ()=>fields(new _fieldBuilder.PrismaObjectFieldBuilder(name, this, ref.modelName, (0, _relationMap.getRelationMap)((0, _getClient.getDMMF)(this)).get(ref.modelName))));
162
+ });
163
+ };
154
164
 
155
165
  //# sourceMappingURL=schema-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/schema-builder.ts"],"names":["schemaBuilderProto","SchemaBuilder","prototype","prismaObject","type","fields","findUnique","select","include","description","options","ref","variant","objectRef","getRefFromModel","name","fieldMap","getRelationMap","getDMMF","get","idSelection","ModelLoader","getDefaultIDSelection","objectType","getModelDescription","extensions","pothosPrismaInclude","pothosPrismaModel","pothosPrismaFieldMap","pothosPrismaSelect","pothosPrismaLoader","forRef","PrismaObjectFieldBuilder","undefined","prismaNode","id","field","resolve","rawResolve","idOptions","rawFindUnique","fieldName","interfaceRef","nodeInterfaceRef","getDefaultIDSerializer","idParser","getDefaultIDParser","typeName","nodeRef","PrismaNodeRef","parent","context","getFindUniqueForField","TypeError","extendedOptions","interfaces","loadWithoutCache","info","query","queryFromInfo","delegate","getDelegateFromModel","getClient","record","findUniqueOrThrow","where","rejectOnNotFound","brandWithType","configStore","addInterfaces","onTypeConfig","nodeConfig","objectField","relayOptions","idFieldName","t","globalID","idFieldOptions","nullable","args","associateRefWithName"],"mappings":"AAAA;;;;QAAO;4DAQA;8BACkC;6BACb;8DACF;yBAEiC;2BACL;6BAClB;2BACD;0BACL;6BACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE/B,MAAMA,qBAAqBC,aAAa,CAACC,SAAS;AAElDF,mBAAmBG,YAAY,GAAG,SAASA,aACzCC,IAAI,EACJ,EAAEC,OAAM,EAAEC,WAAU,EAAEC,OAAM,EAAEC,QAAO,EAAEC,YAAW,EAAE,GAAGC,SAAS,EAChE;IACA,MAAMC,MAAMD,QAAQE,OAAO,GAAG,IAAI,CAACC,SAAS,CAACH,QAAQE,OAAO,IAAIE,IAAAA,0BAAe,EAACV,MAAM,IAAI,CAAC;QAC9EM,UAAAA;IAAb,MAAMK,OAAOL,CAAAA,OAAAA,CAAAA,WAAAA,QAAQE,OAAO,cAAfF,sBAAAA,WAAmBA,QAAQK,IAAI,cAA/BL,kBAAAA,OAAmCN,IAAI;IACpD,MAAMY,WAAWC,IAAAA,2BAAc,EAACC,IAAAA,kBAAO,EAAC,IAAI,GAAGC,GAAG,CAACf;IACnD,MAAMgB,cAAcC,wBAAW,CAACC,qBAAqB,CAACX,KAAKP,MAAM,IAAI;IAErEO,IAAII,IAAI,GAAGA;IAEX,IAAI,CAACQ,UAAU,CAACZ,KAAK;QACnB,GAAID,OAAO;QACXD,aAAae,IAAAA,gCAAmB,EAACpB,MAAM,IAAI,EAAEK;QAC7CgB,YAAY;YACV,GAAGf,QAAQe,UAAU;YACrBC,qBAAqBlB;YACrBmB,mBAAmBvB;YACnBwB,sBAAsBZ;YACtBa,oBAAoBtB,UAAU;gBAAE,GAAGa,WAAW;gBAAE,GAAIb,MAAM;YAAQ;YAClEuB,oBAAoBT,wBAAW,CAACU,MAAM,CAACpB,KAAKP,MAAME,YAAqB,IAAI;QAC7E;QACAS;QACAV,QAAQA,SACJ,IACEA,OACE,IAAI2B,sCAAwB,CAC1BjB,MACA,IAAI,EACJX,MACAa,IAAAA,2BAAc,EAACC,IAAAA,kBAAO,EAAC,IAAI,GAAGC,GAAG,CAACf,UAGxC6B,SAAS;IACf;IAEA,OAAOtB;AACT;AAEAX,mBAAmBkC,UAAU,GAAG,SAASA,WAIvC9B,IAAsC,EACtC,EACE+B,IAAI,EAAEC,MAAK,EAAEC,SAASC,WAAU,EAAE,GAAGC,WAAW,CAAA,EAChDjC,YAAYkC,cAAa,EACzBzB,KAAI,EACJH,QAAO,EACP,GAAGF,SAC4E,EACjF;QAEqB,MAAA;IADrB,MAAM+B,YAAYL;IAClB,MAAMM,eAAe,CAAA,MAAA,CAAA,OAAA,IAAI,EAACC,gBAAgB,cAArB,iBAAA,KAAA,IAAA,IAAA,KAAA;IACrB,MAAMN,UAAUC,uBAAAA,wBAAAA,aAAcM,IAAAA,+BAAsB,EAACxC,MAAMqC,WAAW,IAAI,CAAC;IAC3E,MAAMI,WAAWJ,YAAYK,IAAAA,2BAAkB,EAAC1C,MAAMqC,WAAW,IAAI,IAAIR,SAAS;QACjErB;IAAjB,MAAMmC,WAAWnC,CAAAA,OAAAA,oBAAAA,qBAAAA,UAAWG,IAAI,cAAfH,kBAAAA,OAAmBR,IAAI;IACxC,MAAM4C,UAAU,IAAIC,gBAAa,CAACF;IAClC,MAAMzC,aAAakC,gBACf,CAACU,QAAiBC,UAChBX,cAAcH,QAAQa,QAAiBC,UAAoBA,WAC7D9B,wBAAW,CAAC+B,qBAAqB,CAACJ,SAAS5C,MAAMqC,WAAW,IAAI,CAAC;IAErE,IAAI,CAACC,cAAc;QACjB,MAAM,IAAIW,UAAU,oEAAoE;IAC1F,CAAC;IAED,MAAMC,kBAAkB;QACtB,GAAG5C,OAAO;QACVE;QACA2C,YAAY;YAACb;SAAa;QAC1BpC;QACAkD,kBAAkB,OAChBrB,IACAgB,SACAM,OACG;YACH,MAAMC,QAAQC,IAAAA,uBAAa,EAAC;gBAAER;gBAASM;gBAAMV;YAAS;YACtD,MAAMa,WAAWC,IAAAA,+BAAoB,EAACC,IAAAA,oBAAS,EAAC,IAAI,EAAEX,UAAU/C;YAEhE,MAAM2D,SAAS,MAAOH,CAAAA,SAASI,iBAAiB,GAC5CJ,SAASI,iBAAiB,CAAC;gBACzB,GAAGN,KAAK;gBACRO,OAAOzB,gBAAgBA,cAAcL,IAAIgB,WAAW;oBAAE,CAACV,UAAU,EAAEI,SAAUV;gBAAI,CAAC;YACpF,KACAyB,SAAStD,UAAU,CAAC;gBAClB,GAAGoD,KAAK;gBACRQ,kBAAkB,IAAI;gBACtBD,OAAOzB,gBAAgBA,cAAcL,IAAIgB,WAAW;oBAAE,CAACV,UAAU,EAAEI,SAAUV;gBAAI,CAAC;YACpF,EAAW,AAAD;YAEdgC,IAAAA,mBAAa,EAACJ,QAAQhB;YAEtB,OAAOgB;QACT;IACF;IAEA,MAAMpD,OAAM,IAAI,CAACR,YAAY,CAACC,MAAMkD;IAEpC,IAAI5C,QAAQ6C,UAAU,EAAE;QACtB,IAAI,CAACa,WAAW,CAACC,aAAa,CAACtB,UAAUrC,QAAQ6C,UAAU;IAC7D,CAAC;IAED,IAAI,CAACa,WAAW,CAACE,YAAY,CAAC3D,MAAK,CAAC4D,aAAe;YAG/C;YAAA;QAFF,IAAI,CAACC,WAAW,CACd7D,MACA,CAAA,OAAA,CAAA,MAAA,AAAC,IAAI,CAACD,OAAO,CAAiD+D,YAAY,cAA1E,iBAAA,KAAA,IAAA,IAA4EC,WAAW,cAAvF,kBAAA,OACE,IAAI,EACN,CAACC;gBAMM;YALL,OAAA,AACEA,EAGAC,QAAQ,CAAC;gBACT,GAAG,CAAA,MAAA,AAAC,IAAI,CAAClE,OAAO,CAAgD+D,YAAY,cAAzE,iBAAA,KAAA,IAAA,IACCI,cAAc;gBAClB,GAAGtC,SAAS;gBACZuC,UAAU,KAAK;gBACfC,MAAM,CAAC;gBACP1C,SAAS,OACPa,QACA6B,MACA5B,SACAM,OACI,CAAA;wBACJrD,MAAMmE,WAAWxD,IAAI;wBACrBoB,IAAI,MAAME,QAAQa,QAAQC;oBAC5B,CAAA;YACF;;IAEN;IAEA,IAAI,CAACiB,WAAW,CAACY,oBAAoB,CAAChC,SAASD;IAE/C,OAAOC;AACT"}
1
+ {"version":3,"sources":["../src/schema-builder.ts"],"names":["schemaBuilderProto","SchemaBuilder","prototype","prismaObject","type","fields","findUnique","select","include","description","options","ref","variant","PrismaObjectRef","getRefFromModel","name","fieldMap","getRelationMap","getDMMF","get","idSelection","ModelLoader","getDefaultIDSelection","objectType","getModelDescription","extensions","pothosPrismaInclude","pothosPrismaModel","pothosPrismaFieldMap","pothosPrismaSelect","pothosPrismaLoader","forRef","PrismaObjectFieldBuilder","undefined","prismaNode","id","field","resolve","rawResolve","idOptions","rawFindUnique","fieldName","interfaceRef","nodeInterfaceRef","getDefaultIDSerializer","idParser","getDefaultIDParser","typeName","nodeRef","PrismaNodeRef","parent","context","getFindUniqueForField","TypeError","extendedOptions","interfaces","loadWithoutCache","info","query","queryFromInfo","delegate","getDelegateFromModel","getClient","record","findUniqueOrThrow","where","rejectOnNotFound","brandWithType","configStore","addInterfaces","onTypeConfig","nodeConfig","objectField","relayOptions","idFieldName","t","globalID","idFieldOptions","nullable","args","associateRefWithName","prismaObjectField","addFields","modelName","prismaObjectFields"],"mappings":"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"}
@@ -29,7 +29,7 @@ function getRefFromModel(name, builder) {
29
29
  }
30
30
  const cache = refMap.get(builder);
31
31
  if (!cache.has(name)) {
32
- cache.set(name, new _objectRef.PrismaObjectRef(name));
32
+ cache.set(name, new _objectRef.PrismaObjectRef(name, name));
33
33
  }
34
34
  return cache.get(name);
35
35
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/datamodel.ts"],"names":["refMap","findUniqueMap","includeForRefMap","getRefFromModel","getRelation","getFieldData","getModel","getDelegateFromModel","WeakMap","name","builder","has","set","Map","cache","get","PrismaObjectRef","relation","fieldData","kind","Error","fieldName","modelData","fields","find","field","dmmf","getDMMF","datamodel","models","model","client","lowerCase","slice","toLowerCase","delegate"],"mappings":"AAAA;;;;;;;;;;;IAKaA,MAAM,MAANA;IACAC,aAAa,MAAbA;IAKAC,gBAAgB,MAAhBA;IAKGC,eAAe,MAAfA;IAgBAC,WAAW,MAAXA;IAcAC,YAAY,MAAZA;IAgBAC,QAAQ,MAARA;IAcAC,oBAAoB,MAApBA;;2BA3EgB;2BAER;AAEjB,MAAMP,SAAS,IAAIQ;AACnB,MAAMP,gBAAgB,IAAIO;AAK1B,MAAMN,mBAAmB,IAAIM;AAK7B,SAASL,gBACdM,IAAY,EACZC,OAA+C,EACZ;IACnC,IAAI,CAACV,OAAOW,GAAG,CAACD,UAAU;QACxBV,OAAOY,GAAG,CAACF,SAAS,IAAIG;IAC1B,CAAC;IACD,MAAMC,QAAQd,OAAOe,GAAG,CAACL;IAEzB,IAAI,CAACI,MAAMH,GAAG,CAACF,OAAO;QACpBK,MAAMF,GAAG,CAACH,MAAM,IAAIO,0BAAe,CAACP;IACtC,CAAC;IAED,OAAOK,MAAMC,GAAG,CAACN;AACnB;AAEO,SAASL,YACdK,IAAY,EACZC,OAA+C,EAC/CO,QAAgB,EAChB;IACA,MAAMC,YAAYb,aAAaI,MAAMC,SAASO;IAE9C,IAAIC,UAAUC,IAAI,KAAK,UAAU;QAC/B,MAAM,IAAIC,MAAM,CAAC,MAAM,EAAEH,SAAS,WAAW,EAAER,KAAK,qBAAqB,EAAES,UAAUC,IAAI,CAAC,CAAC,CAAC,EAAE;IAChG,CAAC;IAED,OAAOD;AACT;AAEO,SAASb,aACdI,IAAY,EACZC,OAA+C,EAC/CW,SAAiB,EACjB;IACA,MAAMC,YAAYhB,SAASG,MAAMC;IAEjC,MAAMQ,YAAYI,UAAUC,MAAM,CAACC,IAAI,CAAC,CAACC,QAAUA,MAAMhB,IAAI,KAAKY;IAElE,IAAI,CAACH,WAAW;QACd,MAAM,IAAIE,MAAM,CAAC,OAAO,EAAEC,UAAU,sBAAsB,EAAEZ,KAAK,CAAC,CAAC,EAAE;IACvE,CAAC;IAED,OAAOS;AACT;AAEO,SAASZ,SACdG,IAAY,EACZC,OAA+C,EAC/C;IACA,MAAMgB,OAAOC,IAAAA,kBAAO,EAACjB;IACrB,MAAMY,YAAYI,KAAKE,SAAS,CAACC,MAAM,CAACL,IAAI,CAAC,CAACM,QAAUA,MAAMrB,IAAI,KAAKA;IAEvE,IAAI,CAACa,WAAW;QACd,MAAM,IAAIF,MAAM,CAAC,OAAO,EAAEX,KAAK,mBAAmB,CAAC,EAAE;IACvD,CAAC;IAED,OAAOa;AACT;AAEO,SAASf,qBAAqBwB,MAAoB,EAAED,KAAa,EAAE;IACxE,MAAME,YAAY,CAAC,EAAEF,MAAMG,KAAK,CAAC,GAAG,GAAGC,WAAW,GAAG,EAAEJ,MAAMG,KAAK,CAAC,GAAG,CAAC;IAEvE,MAAME,WACJH,aAAaD,SAAS,AAACA,MAAiD,CAACC,UAAU,GAAG,IAAI;IAE5F,IAAI,CAACG,UAAU;QACb,MAAM,IAAIf,MAAM,CAAC,kCAAkC,EAAEU,MAAM,CAAC,EAAE;IAChE,CAAC;IAED,OAAOK;AACT"}
1
+ {"version":3,"sources":["../../src/util/datamodel.ts"],"names":["refMap","findUniqueMap","includeForRefMap","getRefFromModel","getRelation","getFieldData","getModel","getDelegateFromModel","WeakMap","name","builder","has","set","Map","cache","get","PrismaObjectRef","relation","fieldData","kind","Error","fieldName","modelData","fields","find","field","dmmf","getDMMF","datamodel","models","model","client","lowerCase","slice","toLowerCase","delegate"],"mappings":"AAAA;;;;;;;;;;;IAKaA,MAAM,MAANA;IACAC,aAAa,MAAbA;IAKAC,gBAAgB,MAAhBA;IAKGC,eAAe,MAAfA;IAgBAC,WAAW,MAAXA;IAcAC,YAAY,MAAZA;IAgBAC,QAAQ,MAARA;IAcAC,oBAAoB,MAApBA;;2BA3EgB;2BAER;AAEjB,MAAMP,SAAS,IAAIQ;AACnB,MAAMP,gBAAgB,IAAIO;AAK1B,MAAMN,mBAAmB,IAAIM;AAK7B,SAASL,gBACdM,IAAY,EACZC,OAA+C,EACZ;IACnC,IAAI,CAACV,OAAOW,GAAG,CAACD,UAAU;QACxBV,OAAOY,GAAG,CAACF,SAAS,IAAIG;IAC1B,CAAC;IACD,MAAMC,QAAQd,OAAOe,GAAG,CAACL;IAEzB,IAAI,CAACI,MAAMH,GAAG,CAACF,OAAO;QACpBK,MAAMF,GAAG,CAACH,MAAM,IAAIO,0BAAe,CAACP,MAAMA;IAC5C,CAAC;IAED,OAAOK,MAAMC,GAAG,CAACN;AACnB;AAEO,SAASL,YACdK,IAAY,EACZC,OAA+C,EAC/CO,QAAgB,EAChB;IACA,MAAMC,YAAYb,aAAaI,MAAMC,SAASO;IAE9C,IAAIC,UAAUC,IAAI,KAAK,UAAU;QAC/B,MAAM,IAAIC,MAAM,CAAC,MAAM,EAAEH,SAAS,WAAW,EAAER,KAAK,qBAAqB,EAAES,UAAUC,IAAI,CAAC,CAAC,CAAC,EAAE;IAChG,CAAC;IAED,OAAOD;AACT;AAEO,SAASb,aACdI,IAAY,EACZC,OAA+C,EAC/CW,SAAiB,EACjB;IACA,MAAMC,YAAYhB,SAASG,MAAMC;IAEjC,MAAMQ,YAAYI,UAAUC,MAAM,CAACC,IAAI,CAAC,CAACC,QAAUA,MAAMhB,IAAI,KAAKY;IAElE,IAAI,CAACH,WAAW;QACd,MAAM,IAAIE,MAAM,CAAC,OAAO,EAAEC,UAAU,sBAAsB,EAAEZ,KAAK,CAAC,CAAC,EAAE;IACvE,CAAC;IAED,OAAOS;AACT;AAEO,SAASZ,SACdG,IAAY,EACZC,OAA+C,EAC/C;IACA,MAAMgB,OAAOC,IAAAA,kBAAO,EAACjB;IACrB,MAAMY,YAAYI,KAAKE,SAAS,CAACC,MAAM,CAACL,IAAI,CAAC,CAACM,QAAUA,MAAMrB,IAAI,KAAKA;IAEvE,IAAI,CAACa,WAAW;QACd,MAAM,IAAIF,MAAM,CAAC,OAAO,EAAEX,KAAK,mBAAmB,CAAC,EAAE;IACvD,CAAC;IAED,OAAOa;AACT;AAEO,SAASf,qBAAqBwB,MAAoB,EAAED,KAAa,EAAE;IACxE,MAAME,YAAY,CAAC,EAAEF,MAAMG,KAAK,CAAC,GAAG,GAAGC,WAAW,GAAG,EAAEJ,MAAMG,KAAK,CAAC,GAAG,CAAC;IAEvE,MAAME,WACJH,aAAaD,SAAS,AAACA,MAAiD,CAACC,UAAU,GAAG,IAAI;IAE5F,IAAI,CAACG,UAAU;QACb,MAAM,IAAIf,MAAM,CAAC,kCAAkC,EAAEU,MAAM,CAAC,EAAE;IAChE,CAAC;IAED,OAAOK;AACT"}
@@ -48,6 +48,10 @@ function addTypeSelectionsForField(type, context, info, state, selection, indire
48
48
  }
49
49
  }
50
50
  function resolveIndirectInclude(type, info, selection, includePath, path, resolve) {
51
+ if (includePath.length === 0) {
52
+ resolve(type, selection, path);
53
+ return;
54
+ }
51
55
  const [include, ...rest] = includePath;
52
56
  if (!selection.selectionSet || !include) {
53
57
  return;
@@ -56,22 +60,13 @@ function resolveIndirectInclude(type, info, selection, includePath, path, resolv
56
60
  switch(sel.kind){
57
61
  case _graphql.Kind.FIELD:
58
62
  if (sel.name.value === include.name && (0, _graphql.isObjectType)(type)) {
63
+ var ref;
59
64
  const returnType = (0, _graphql.getNamedType)(type.getFields()[sel.name.value].type);
60
- if (rest.length === 0) {
61
- var ref;
62
- var ref1;
63
- resolve(returnType, sel, [
64
- ...path,
65
- (ref1 = (ref = sel.alias) === null || ref === void 0 ? void 0 : ref.value) !== null && ref1 !== void 0 ? ref1 : sel.name.value
66
- ]);
67
- } else {
68
- var ref2;
69
- var ref3;
70
- resolveIndirectInclude(returnType, info, sel, rest, [
71
- ...path,
72
- (ref3 = (ref2 = sel.alias) === null || ref2 === void 0 ? void 0 : ref2.value) !== null && ref3 !== void 0 ? ref3 : sel.name.value
73
- ], resolve);
74
- }
65
+ var ref1;
66
+ resolveIndirectInclude(returnType, info, sel, rest, [
67
+ ...path,
68
+ (ref1 = (ref = sel.alias) === null || ref === void 0 ? void 0 : ref.value) !== null && ref1 !== void 0 ? ref1 : sel.name.value
69
+ ], resolve);
75
70
  }
76
71
  continue;
77
72
  case _graphql.Kind.FRAGMENT_SPREAD:
@@ -179,7 +174,8 @@ function addFieldSelection(type, context, info, state, selection, indirectPath)
179
174
  }
180
175
  }
181
176
  function queryFromInfo({ context , info , typeName , select , path =[] }) {
182
- const type = typeName ? info.schema.getTypeMap()[typeName] : (0, _graphql.getNamedType)(info.returnType);
177
+ const returnType = (0, _graphql.getNamedType)(info.returnType);
178
+ const type = typeName ? info.schema.getTypeMap()[typeName] : returnType;
183
179
  const state = createStateForType(type, info);
184
180
  if (select) {
185
181
  (0, _selections.mergeSelection)(state, {
@@ -187,10 +183,15 @@ function queryFromInfo({ context , info , typeName , select , path =[] }) {
187
183
  });
188
184
  }
189
185
  if (path.length > 0) {
190
- resolveIndirectInclude((0, _graphql.getNamedType)(info.returnType), info, info.fieldNodes[0], path.map((n)=>typeof n === 'string' ? {
191
- name: n
192
- } : n), [], (resolvedType, resolvedField, nested)=>{
193
- addTypeSelectionsForField(resolvedType, context, info, state, resolvedField, nested);
186
+ var _extensions;
187
+ const { pothosPrismaIndirectInclude } = (_extensions = returnType.extensions) !== null && _extensions !== void 0 ? _extensions : {};
188
+ var ref;
189
+ resolveIndirectInclude(returnType, info, info.fieldNodes[0], (ref = pothosPrismaIndirectInclude === null || pothosPrismaIndirectInclude === void 0 ? void 0 : pothosPrismaIndirectInclude.path) !== null && ref !== void 0 ? ref : [], [], (indirectType, indirectField, subPath)=>{
190
+ resolveIndirectInclude(indirectType, info, indirectField, path.map((n)=>typeof n === 'string' ? {
191
+ name: n
192
+ } : n), subPath, (resolvedType, resolvedField, nested)=>{
193
+ addTypeSelectionsForField(resolvedType, context, info, state, resolvedField, nested);
194
+ });
194
195
  });
195
196
  } else {
196
197
  addTypeSelectionsForField(type, context, info, state, info.fieldNodes[0], []);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/map-query.ts"],"names":["queryFromInfo","selectionStateFromInfo","getIndirectType","addTypeSelectionsForField","type","context","info","state","selection","indirectPath","name","value","startsWith","pothosPrismaInclude","pothosPrismaSelect","pothosPrismaIndirectInclude","pothosPrismaModel","extensions","resolveIndirectInclude","path","resolvedType","field","isObjectType","mode","mergeSelection","select","undefined","include","selectionSet","addNestedSelections","includePath","resolve","rest","sel","selections","kind","Kind","FIELD","returnType","getNamedType","getFields","length","alias","FRAGMENT_SPREAD","fragments","typeCondition","schema","getType","INLINE_FRAGMENT","Error","addFieldSelection","fieldSelect","fieldSelectionMap","mappings","args","getArgumentValues","variableValues","rawQuery","indirectInclude","query","normalizedIndirectInclude","Array","isArray","normalizeInclude","fieldState","createStateForType","Object","keys","resolvedField","selectionToQuery","node","map","_","selectionCompatible","typeName","getTypeMap","fieldNodes","n","nested","setLoaderMappings","parentType","parent","targetType","fieldMap","pothosPrismaFieldMap","createState","currentType","normalized","fieldName","push"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/util/map-query.ts"],"names":["queryFromInfo","selectionStateFromInfo","getIndirectType","addTypeSelectionsForField","type","context","info","state","selection","indirectPath","name","value","startsWith","pothosPrismaInclude","pothosPrismaSelect","pothosPrismaIndirectInclude","pothosPrismaModel","extensions","resolveIndirectInclude","path","resolvedType","field","isObjectType","mode","mergeSelection","select","undefined","include","selectionSet","addNestedSelections","includePath","resolve","length","rest","sel","selections","kind","Kind","FIELD","returnType","getNamedType","getFields","alias","FRAGMENT_SPREAD","fragments","typeCondition","schema","getType","INLINE_FRAGMENT","Error","addFieldSelection","fieldSelect","fieldSelectionMap","mappings","args","getArgumentValues","variableValues","rawQuery","indirectInclude","query","normalizedIndirectInclude","Array","isArray","normalizeInclude","fieldState","createStateForType","Object","keys","resolvedField","selectionToQuery","node","map","_","selectionCompatible","typeName","getTypeMap","fieldNodes","indirectType","indirectField","subPath","n","nested","setLoaderMappings","parentType","parent","targetType","fieldMap","pothosPrismaFieldMap","createState","currentType","normalized","fieldName","push"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pothos/plugin-prisma",
3
- "version": "3.35.8",
3
+ "version": "3.36.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",
@@ -52,16 +52,16 @@
52
52
  "typescript": ">=4.7.2"
53
53
  },
54
54
  "devDependencies": {
55
- "@pothos/core": "3.22.9",
56
- "@pothos/plugin-complexity": "3.11.7",
57
- "@pothos/plugin-errors": "3.8.7",
58
- "@pothos/plugin-relay": "3.28.7",
59
- "@pothos/plugin-simple-objects": "3.6.7",
60
- "@pothos/test-utils": "1.4.7",
61
55
  "@prisma/client": "^4.5.0",
62
56
  "graphql": "16.6.0",
63
57
  "graphql-tag": "^2.12.6",
64
- "prisma": "^4.5.0"
58
+ "prisma": "^4.5.0",
59
+ "@pothos/core": "3.23.0",
60
+ "@pothos/plugin-complexity": "3.11.7",
61
+ "@pothos/plugin-errors": "3.9.0",
62
+ "@pothos/plugin-relay": "3.29.0",
63
+ "@pothos/plugin-simple-objects": "3.6.7",
64
+ "@pothos/test-utils": "1.4.7"
65
65
  },
66
66
  "scripts": {
67
67
  "generate": "prisma generate",
@@ -0,0 +1,65 @@
1
+ import { SchemaTypes } from '@pothos/core';
2
+ import { PrismaObjectRef } from './object-ref';
3
+ import type { PrismaModelTypes } from './types';
4
+ import {
5
+ getCursorFormatter,
6
+ getCursorParser,
7
+ prismaCursorConnectionQuery,
8
+ wrapConnectionResult,
9
+ } from './util/cursors';
10
+ import { getRefFromModel } from './util/datamodel';
11
+
12
+ export const prismaModelKey = Symbol.for('Pothos.prismaModelKey');
13
+
14
+ export function prismaConnectionHelpers<
15
+ Types extends SchemaTypes,
16
+ RefOrType extends PrismaObjectRef<PrismaModelTypes> | keyof Types['PrismaTypes'],
17
+ Model extends PrismaModelTypes = RefOrType extends PrismaObjectRef<infer T>
18
+ ? T & PrismaModelTypes
19
+ : Types['PrismaTypes'][RefOrType & keyof Types['PrismaTypes']] & PrismaModelTypes,
20
+ Shape = RefOrType extends PrismaObjectRef<PrismaModelTypes, infer T> ? T : Model['Shape'],
21
+ >(
22
+ builder: PothosSchemaTypes.SchemaBuilder<Types>,
23
+ refOrType: RefOrType,
24
+ options: {
25
+ cursor: string & keyof Model['WhereUnique'];
26
+ defaultSize?:
27
+ | number
28
+ | ((args: PothosSchemaTypes.DefaultConnectionArguments, ctx: {}) => number);
29
+ maxSize?: number | ((args: PothosSchemaTypes.DefaultConnectionArguments, ctx: {}) => number);
30
+ },
31
+ ) {
32
+ const modelName =
33
+ typeof refOrType === 'string' ? refOrType : (refOrType as PrismaObjectRef<Model>).modelName;
34
+ const formatCursor = getCursorFormatter(modelName, builder, options.cursor);
35
+ const parseCursor = getCursorParser(modelName, builder, options.cursor);
36
+
37
+ function resolve(
38
+ list: (Shape & {})[],
39
+ args: PothosSchemaTypes.DefaultConnectionArguments,
40
+ ctx: Types['Context'],
41
+ ) {
42
+ return wrapConnectionResult(list, args, getQuery(args, ctx).take, formatCursor);
43
+ }
44
+
45
+ function getQuery(args: PothosSchemaTypes.DefaultConnectionArguments, ctx: Types['Context']) {
46
+ return prismaCursorConnectionQuery({
47
+ args,
48
+ ctx,
49
+ maxSize: typeof options.maxSize === 'function' ? options.maxSize(args, ctx) : options.maxSize,
50
+ defaultSize:
51
+ typeof options.defaultSize === 'function'
52
+ ? options.defaultSize(args, ctx)
53
+ : options.defaultSize,
54
+ parseCursor,
55
+ });
56
+ }
57
+
58
+ return {
59
+ ref: (typeof refOrType === 'string'
60
+ ? getRefFromModel(refOrType, builder)
61
+ : refOrType) as PrismaObjectRef<Model>,
62
+ resolve,
63
+ getQuery,
64
+ };
65
+ }
@@ -123,6 +123,8 @@ fieldBuilderProto.prismaConnection = function prismaConnection<
123
123
  context,
124
124
  info,
125
125
  select: cursorSelection as {},
126
+ path: ['edges', 'node'],
127
+ typeName,
126
128
  }),
127
129
  ctx: context,
128
130
  parseCursor,
@@ -135,30 +137,28 @@ fieldBuilderProto.prismaConnection = function prismaConnection<
135
137
  (query) => resolve(query as never, parent, args as never, context, info) as never,
136
138
  ),
137
139
  },
138
- {
139
- ...connectionOptions,
140
- fields: totalCount
141
- ? (
142
- t: PothosSchemaTypes.ObjectFieldBuilder<
143
- SchemaTypes,
144
- { totalCount?: () => MaybePromise<number> }
145
- >,
146
- ) => ({
147
- totalCount: t.int({
148
- nullable: false,
149
- resolve: (parent, args, context) => parent.totalCount?.(),
150
- }),
151
- ...(connectionOptions as { fields?: (t: unknown) => {} }).fields?.(t),
152
- })
153
- : (connectionOptions as { fields: undefined }).fields,
154
- extensions: {
155
- ...(connectionOptions as Record<string, {}> | undefined)?.extensions,
156
- pothosPrismaIndirectInclude: {
157
- getType: () => typeName,
158
- path: [{ name: 'edges' }, { name: 'node' }],
140
+ connectionOptions instanceof ObjectRef
141
+ ? connectionOptions
142
+ : {
143
+ ...connectionOptions,
144
+ fields: totalCount
145
+ ? (
146
+ t: PothosSchemaTypes.ObjectFieldBuilder<
147
+ SchemaTypes,
148
+ { totalCount?: () => MaybePromise<number> }
149
+ >,
150
+ ) => ({
151
+ totalCount: t.int({
152
+ nullable: false,
153
+ resolve: (parent, args, context) => parent.totalCount?.(),
154
+ }),
155
+ ...(connectionOptions as { fields?: (t: unknown) => {} }).fields?.(t),
156
+ })
157
+ : (connectionOptions as { fields: undefined }).fields,
158
+ extensions: {
159
+ ...(connectionOptions as Record<string, {}> | undefined)?.extensions,
160
+ },
159
161
  },
160
- },
161
- },
162
162
  edgeOptions,
163
163
  );
164
164
 
@@ -2,6 +2,7 @@
2
2
  /* eslint-disable @typescript-eslint/no-empty-interface */
3
3
  import {
4
4
  FieldKind,
5
+ FieldMap,
5
6
  FieldNullability,
6
7
  FieldRef,
7
8
  InputFieldMap,
@@ -14,7 +15,7 @@ import {
14
15
  ShapeFromTypeParam,
15
16
  TypeParam,
16
17
  } from '@pothos/core';
17
- import PrismaNodeRef from './node-ref';
18
+ import { PrismaNodeRef } from './node-ref';
18
19
  import { prismaModelKey, PrismaObjectRef } from './object-ref';
19
20
  import { PrismaObjectFieldBuilder as InternalPrismaObjectFieldBuilder } from './prisma-field-builder';
20
21
  import {
@@ -22,6 +23,7 @@ import {
22
23
  PrismaConnectionFieldOptions,
23
24
  PrismaFieldOptions,
24
25
  PrismaFieldWithInputOptions,
26
+ prismaModelName,
25
27
  PrismaModelTypes,
26
28
  PrismaNodeOptions,
27
29
  PrismaObjectFieldOptions,
@@ -116,6 +118,37 @@ declare global {
116
118
  >,
117
119
  ) => PrismaObjectRef<Model, ShapeFromSelection<Model, { select: Select; include: Include }>>;
118
120
 
121
+ prismaObjectField: <
122
+ Type extends PrismaObjectRef<PrismaModelTypes, {}> | keyof Types['PrismaTypes'],
123
+ Model extends PrismaModelTypes = Type extends PrismaObjectRef<infer M, {}>
124
+ ? M
125
+ : Types['PrismaTypes'][Type & keyof Types['PrismaTypes']] & PrismaModelTypes,
126
+ Shape extends {} = Type extends PrismaObjectRef<PrismaModelTypes, infer S>
127
+ ? S
128
+ : Model['Shape'] & {
129
+ [prismaModelName]?: Type;
130
+ },
131
+ >(
132
+ type: Type,
133
+ fieldName: string,
134
+ field: (t: PrismaObjectFieldBuilder<Types, Model, false, Shape>) => FieldRef,
135
+ ) => void;
136
+
137
+ prismaObjectFields: <
138
+ Type extends PrismaObjectRef<PrismaModelTypes, {}> | keyof Types['PrismaTypes'],
139
+ Model extends PrismaModelTypes = Type extends PrismaObjectRef<infer M, {}>
140
+ ? M
141
+ : Types['PrismaTypes'][Type & keyof Types['PrismaTypes']] & PrismaModelTypes,
142
+ Shape extends {} = Type extends PrismaObjectRef<PrismaModelTypes, infer S>
143
+ ? S
144
+ : Model['Shape'] & {
145
+ [prismaModelName]?: Type;
146
+ },
147
+ >(
148
+ type: Type,
149
+ fields: (t: PrismaObjectFieldBuilder<Types, Model, false, Shape>) => FieldMap,
150
+ ) => void;
151
+
119
152
  prismaNode: 'relay' extends PluginName
120
153
  ? <
121
154
  Name extends keyof Types['PrismaTypes'],
@@ -199,6 +232,7 @@ declare global {
199
232
  Model extends PrismaModelTypes = Type extends PrismaObjectRef<infer T>
200
233
  ? T
201
234
  : PrismaModelTypes & Types['PrismaTypes'][Type & keyof Types['PrismaTypes']],
235
+ Shape = Type extends PrismaObjectRef<PrismaModelTypes, infer S> ? S : Model['Shape'],
202
236
  >(
203
237
  options: PrismaConnectionFieldOptions<
204
238
  Types,
@@ -213,19 +247,21 @@ declare global {
213
247
  >,
214
248
  ...args: NormalizeArgs<
215
249
  [
216
- connectionOptions: ConnectionObjectOptions<
217
- Types,
218
- ObjectRef<Model['Shape']>,
219
- false,
220
- false,
221
- ResolveReturnShape
222
- >,
223
- edgeOptions: ConnectionEdgeObjectOptions<
224
- Types,
225
- ObjectRef<Model['Shape']>,
226
- false,
227
- ResolveReturnShape
228
- >,
250
+ connectionOptions:
251
+ | ConnectionObjectOptions<
252
+ Types,
253
+ ObjectRef<Shape>,
254
+ false,
255
+ false,
256
+ ResolveReturnShape
257
+ >
258
+ | ObjectRef<ShapeFromConnection<ConnectionShapeHelper<Types, Shape, false>>>,
259
+ edgeOptions:
260
+ | ConnectionEdgeObjectOptions<Types, ObjectRef<Shape>, false, ResolveReturnShape>
261
+ | ObjectRef<{
262
+ cursor: string;
263
+ node?: Shape | null | undefined;
264
+ }>,
229
265
  ],
230
266
  0
231
267
  >
package/src/index.ts CHANGED
@@ -13,6 +13,9 @@ import { PrismaModelTypes } from './types';
13
13
  import { getLoaderMapping, setLoaderMappings } from './util/loader-map';
14
14
  import { queryFromInfo, selectionStateFromInfo } from './util/map-query';
15
15
 
16
+ export { prismaConnectionHelpers } from './connection-helpers';
17
+ export { PrismaNodeRef } from './node-ref';
18
+ export { PrismaObjectRef } from './object-ref';
16
19
  export * from './types';
17
20
 
18
21
  const pluginName = 'prisma' as const;
package/src/node-ref.ts CHANGED
@@ -1,7 +1,4 @@
1
1
  import { PrismaObjectRef } from './object-ref';
2
2
  import type { PrismaModelTypes } from './types';
3
3
 
4
- export default class PrismaNodeRef<Model extends PrismaModelTypes, T> extends PrismaObjectRef<
5
- Model,
6
- T
7
- > {}
4
+ export class PrismaNodeRef<Model extends PrismaModelTypes, T> extends PrismaObjectRef<Model, T> {}
package/src/object-ref.ts CHANGED
@@ -6,6 +6,13 @@ export const prismaModelKey = Symbol.for('Pothos.prismaModelKey');
6
6
  export class PrismaObjectRef<Model extends PrismaModelTypes, T = {}> extends ObjectRef<T> {
7
7
  [prismaModelKey]!: Model;
8
8
  [abstractReturnShapeKey]!: WithBrand<T>;
9
+ modelName: string;
10
+
11
+ constructor(name: string, modelName: string) {
12
+ super(name);
13
+
14
+ this.modelName = modelName;
15
+ }
9
16
 
10
17
  addBrand<V extends T | T[]>(
11
18
  value: V,