@pothos/plugin-drizzle 0.14.0 → 0.16.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 (40) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +417 -49
  3. package/dts/drizzle-field-builder.d.ts +14 -3
  4. package/dts/drizzle-field-builder.d.ts.map +1 -1
  5. package/dts/types.d.ts +6 -0
  6. package/dts/types.d.ts.map +1 -1
  7. package/dts/utils/cursors.d.ts +6 -2
  8. package/dts/utils/cursors.d.ts.map +1 -1
  9. package/dts/utils/map-query.d.ts.map +1 -1
  10. package/esm/drizzle-field-builder.d.ts +16 -3
  11. package/esm/drizzle-field-builder.d.ts.map +1 -1
  12. package/esm/drizzle-field-builder.js +115 -7
  13. package/esm/drizzle-field-builder.js.map +1 -1
  14. package/esm/field-builder.js +33 -2
  15. package/esm/field-builder.js.map +1 -1
  16. package/esm/types.d.ts +6 -0
  17. package/esm/types.d.ts.map +1 -1
  18. package/esm/types.js.map +1 -1
  19. package/esm/utils/cursors.d.ts +6 -2
  20. package/esm/utils/cursors.d.ts.map +1 -1
  21. package/esm/utils/cursors.js +18 -2
  22. package/esm/utils/cursors.js.map +1 -1
  23. package/esm/utils/map-query.d.ts.map +1 -1
  24. package/esm/utils/map-query.js +25 -6
  25. package/esm/utils/map-query.js.map +1 -1
  26. package/lib/drizzle-field-builder.js +113 -5
  27. package/lib/drizzle-field-builder.js.map +1 -1
  28. package/lib/field-builder.js +33 -2
  29. package/lib/field-builder.js.map +1 -1
  30. package/lib/types.js.map +1 -1
  31. package/lib/utils/cursors.js +18 -2
  32. package/lib/utils/cursors.js.map +1 -1
  33. package/lib/utils/map-query.js +24 -6
  34. package/lib/utils/map-query.js.map +1 -1
  35. package/package.json +4 -4
  36. package/src/drizzle-field-builder.ts +207 -3
  37. package/src/field-builder.ts +40 -1
  38. package/src/types.ts +20 -1
  39. package/src/utils/cursors.ts +24 -3
  40. package/src/utils/map-query.ts +26 -6
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
  const _core = require("@pothos/core");
6
+ const _graphql = require("graphql");
6
7
  const _config = require("./utils/config");
7
8
  const _cursors = require("./utils/cursors");
8
9
  const _mapquery = require("./utils/map-query");
@@ -47,7 +48,7 @@ fieldBuilderProto.drizzleFieldWithInput = function drizzleFieldWithInput({ type,
47
48
  }
48
49
  });
49
50
  };
50
- fieldBuilderProto.drizzleConnection = function drizzleConnection({ type, maxSize = (_this_builder_options_drizzle = this.builder.options.drizzle) === null || _this_builder_options_drizzle === void 0 ? void 0 : _this_builder_options_drizzle.maxConnectionSize, defaultSize = (_this_builder_options_drizzle1 = this.builder.options.drizzle) === null || _this_builder_options_drizzle1 === void 0 ? void 0 : _this_builder_options_drizzle1.defaultConnectionSize, resolve, ...options }, connectionOptions = {}, edgeOptions = {}) {
51
+ fieldBuilderProto.drizzleConnection = function drizzleConnection({ type, maxSize = (_this_builder_options_drizzle = this.builder.options.drizzle) === null || _this_builder_options_drizzle === void 0 ? void 0 : _this_builder_options_drizzle.maxConnectionSize, defaultSize = (_this_builder_options_drizzle1 = this.builder.options.drizzle) === null || _this_builder_options_drizzle1 === void 0 ? void 0 : _this_builder_options_drizzle1.defaultConnectionSize, resolve, totalCount, ...options }, connectionOptions = {}, edgeOptions = {}) {
51
52
  const ref = typeof type === 'string' ? (0, _refs.getRefFromModel)(type, this.builder) : type;
52
53
  const typeName = this.builder.configStore.getTypeConfig(ref).name;
53
54
  const tableName = typeof type === 'string' ? type : ref.tableName;
@@ -55,12 +56,26 @@ fieldBuilderProto.drizzleConnection = function drizzleConnection({ type, maxSize
55
56
  ...options,
56
57
  type: ref,
57
58
  resolve: (parent, args, context, info)=>{
59
+ const returnType = info.returnType;
60
+ const fields = (0, _graphql.isObjectType)(returnType) || (0, _graphql.isInterfaceType)(returnType) ? returnType.getFields() : {};
61
+ const selections = info.fieldNodes;
62
+ const totalCountOnly = selections.every((selection)=>{
63
+ var _selection_selectionSet;
64
+ return (_selection_selectionSet = selection.selectionSet) === null || _selection_selectionSet === void 0 ? void 0 : _selection_selectionSet.selections.every((s)=>{
65
+ var _fields_s_name_value_extensions, _fields_s_name_value;
66
+ return s.kind === _graphql.Kind.FIELD && (((_fields_s_name_value = fields[s.name.value]) === null || _fields_s_name_value === void 0 ? void 0 : (_fields_s_name_value_extensions = _fields_s_name_value.extensions) === null || _fields_s_name_value_extensions === void 0 ? void 0 : _fields_s_name_value_extensions.pothosDrizzleTotalCount) || s.name.value === '__typename');
67
+ });
68
+ });
58
69
  return (0, _cursors.resolveDrizzleCursorConnection)(tableName, info, typeName, (0, _config.getSchemaConfig)(this.builder), {
59
70
  ctx: context,
60
71
  maxSize,
61
72
  defaultSize,
62
- args
73
+ args,
74
+ totalCount: totalCount && (()=>totalCount(parent, args, context, info))
63
75
  }, (q)=>{
76
+ if (totalCountOnly) {
77
+ return [];
78
+ }
64
79
  // return checkIfQueryIsUsed(
65
80
  // this.builder,
66
81
  // query,
@@ -71,6 +86,22 @@ fieldBuilderProto.drizzleConnection = function drizzleConnection({ type, maxSize
71
86
  }
72
87
  }, connectionOptions instanceof _core.ObjectRef ? connectionOptions : {
73
88
  ...connectionOptions,
89
+ fields: totalCount ? (t)=>{
90
+ var _connectionOptions_fields;
91
+ return {
92
+ totalCount: t.int({
93
+ nullable: false,
94
+ extensions: {
95
+ pothosDrizzleTotalCount: true
96
+ },
97
+ resolve: (parent)=>{
98
+ var _parent_totalCount;
99
+ return (_parent_totalCount = parent.totalCount) === null || _parent_totalCount === void 0 ? void 0 : _parent_totalCount.call(parent);
100
+ }
101
+ }),
102
+ ...(_connectionOptions_fields = connectionOptions.fields) === null || _connectionOptions_fields === void 0 ? void 0 : _connectionOptions_fields.call(connectionOptions, t)
103
+ };
104
+ } : connectionOptions.fields,
74
105
  extensions: {
75
106
  ...connectionOptions === null || connectionOptions === void 0 ? void 0 : connectionOptions.extensions
76
107
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/field-builder.ts"],"names":["fieldBuilderProto","RootFieldBuilder","prototype","drizzleField","type","resolve","options","modelOrRef","Array","isArray","typeRef","getRefFromModel","builder","typeParam","field","parent","args","context","info","select","queryFromInfo","config","getSchemaConfig","drizzleFieldWithInput","fieldWithInput","drizzleConnection","maxSize","drizzle","maxConnectionSize","defaultSize","defaultConnectionSize","connectionOptions","edgeOptions","ref","typeName","configStore","getTypeConfig","name","tableName","fieldRef","connection","resolveDrizzleCursorConnection","ctx","q","ObjectRef","extensions"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/field-builder.ts"],"names":["fieldBuilderProto","RootFieldBuilder","prototype","drizzleField","type","resolve","options","modelOrRef","Array","isArray","typeRef","getRefFromModel","builder","typeParam","field","parent","args","context","info","select","queryFromInfo","config","getSchemaConfig","drizzleFieldWithInput","fieldWithInput","drizzleConnection","maxSize","drizzle","maxConnectionSize","defaultSize","defaultConnectionSize","totalCount","connectionOptions","edgeOptions","ref","typeName","configStore","getTypeConfig","name","tableName","fieldRef","connection","returnType","fields","isObjectType","isInterfaceType","getFields","selections","fieldNodes","totalCountOnly","every","selection","selectionSet","s","kind","Kind","FIELD","value","extensions","pothosDrizzleTotalCount","resolveDrizzleCursorConnection","ctx","q","ObjectRef","t","int","nullable"],"mappings":"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"}
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts"],"names":["DrizzleObjectRef","drizzleTableName","Symbol","for"],"mappings":";;;;;;;;;;;QAmrBSA;eAAAA,2BAAgB;;QAjmBZC;eAAAA;;;2BAimBoB;AAjmB1B,MAAMA,mBAAmBC,OAAOC,GAAG,CAAC"}
1
+ {"version":3,"sources":["../src/types.ts"],"names":["DrizzleObjectRef","drizzleTableName","Symbol","for"],"mappings":";;;;;;;;;;;QAssBSA;eAAAA,2BAAgB;;QAnnBZC;eAAAA;;;2BAmnBoB;AAnnB1B,MAAMA,mBAAmBC,OAAOC,GAAG,CAAC"}
@@ -415,7 +415,7 @@ function drizzleCursorConnectionQuery({ args, ctx, maxSize = DEFAULT_MAX_SIZE, d
415
415
  } : whereClauses[0]
416
416
  };
417
417
  }
418
- function wrapConnectionResult(results, args, limit, cursor, resolveNode, parent) {
418
+ function wrapConnectionResult(results, args, limit, cursor, resolveNode, parent, totalCount) {
419
419
  var _edges_, _edges_1;
420
420
  const gotFullResults = results.length === Math.abs(limit);
421
421
  const hasNextPage = args.before ? true : args.last ? false : gotFullResults;
@@ -424,6 +424,7 @@ function wrapConnectionResult(results, args, limit, cursor, resolveNode, parent)
424
424
  const connection = {
425
425
  parent,
426
426
  args,
427
+ totalCount,
427
428
  edges: [],
428
429
  pageInfo: {
429
430
  startCursor: null,
@@ -498,7 +499,22 @@ async function resolveDrizzleCursorConnection(tableName, info, typeName, config,
498
499
  if (!results) {
499
500
  return results;
500
501
  }
501
- return wrapConnectionResult(results, options.args, query.limit, formatter, undefined, parent);
502
+ // Handle totalCountOnly case where resolve returns [] without calling query function
503
+ if (!query) {
504
+ return {
505
+ parent,
506
+ args: options.args,
507
+ totalCount: options.totalCount,
508
+ edges: [],
509
+ pageInfo: {
510
+ startCursor: null,
511
+ endCursor: null,
512
+ hasPreviousPage: false,
513
+ hasNextPage: false
514
+ }
515
+ };
516
+ }
517
+ return wrapConnectionResult(results, options.args, query.limit, formatter, undefined, parent, options.totalCount);
502
518
  }
503
519
 
504
520
  //# sourceMappingURL=cursors.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/cursors.ts"],"names":["drizzleCursorConnectionQuery","formatCursorChunk","formatDrizzleCursor","formatIDChunk","getColumnParser","getColumnSerializer","getCursorFormatter","getCursorParser","getIDParser","getIDSerializer","parseDrizzleCursor","parseSerializedDrizzleColumn","parseSerializedIDColumn","resolveDrizzleCursorConnection","wrapConnectionResult","DEFAULT_MAX_SIZE","DEFAULT_SIZE","value","Date","String","Number","PothosValidationError","record","fields","config","length","map","field","keyAsName","JSON","stringify","col","columnToTsName","serializer","encodeBase64","cursor","decoded","decodeBase64","startsWith","slice","type","rawValue","match","parseInt","parse","BigInt","id","dataType","error","name","parsed","Array","isArray","forEach","i","parseOrderBy","table","orderBy","invert","entries","columns","normalized","asc","desc","push","direction","column","tableColumns","getColumns","Object","fromEntries","args","ctx","maxSize","defaultSize","where","before","after","first","last","maxSizeForConnection","defaultSizeForConnection","limit","Math","min","inverted","parsedOrderBy","whereClauses","cursorParser","parsedCursor","parts","index","columnName","compare","gt","lt","AND","c","OR","cursorColumns","results","resolveNode","parent","edges","gotFullResults","abs","hasNextPage","hasPreviousPage","nodes","connection","pageInfo","startCursor","endCursor","node","reverse","tableName","info","typeName","options","resolve","relations","query","formatter","q","connectionQuery","getPrimaryKey","queryFromInfo","context","select","paths","undefined"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utils/cursors.ts"],"names":["drizzleCursorConnectionQuery","formatCursorChunk","formatDrizzleCursor","formatIDChunk","getColumnParser","getColumnSerializer","getCursorFormatter","getCursorParser","getIDParser","getIDSerializer","parseDrizzleCursor","parseSerializedDrizzleColumn","parseSerializedIDColumn","resolveDrizzleCursorConnection","wrapConnectionResult","DEFAULT_MAX_SIZE","DEFAULT_SIZE","value","Date","String","Number","PothosValidationError","record","fields","config","length","map","field","keyAsName","JSON","stringify","col","columnToTsName","serializer","encodeBase64","cursor","decoded","decodeBase64","startsWith","slice","type","rawValue","match","parseInt","parse","BigInt","id","dataType","error","name","parsed","Array","isArray","forEach","i","parseOrderBy","table","orderBy","invert","entries","columns","normalized","asc","desc","push","direction","column","tableColumns","getColumns","Object","fromEntries","args","ctx","maxSize","defaultSize","where","before","after","first","last","maxSizeForConnection","defaultSizeForConnection","limit","Math","min","inverted","parsedOrderBy","whereClauses","cursorParser","parsedCursor","parts","index","columnName","compare","gt","lt","AND","c","OR","cursorColumns","results","resolveNode","parent","totalCount","edges","gotFullResults","abs","hasNextPage","hasPreviousPage","nodes","connection","pageInfo","startCursor","endCursor","node","reverse","tableName","info","typeName","options","resolve","relations","query","formatter","q","connectionQuery","getPrimaryKey","queryFromInfo","context","select","paths","undefined"],"mappings":"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"}
@@ -196,13 +196,31 @@ function addFieldSelection(config, type, context, info, state, selection, indire
196
196
  var _selection_alias;
197
197
  (0, _selections.mergeSelection)(config, state, fieldSelectionMap);
198
198
  var _selection_alias_value;
199
- state.mappings[(_selection_alias_value = (_selection_alias = selection.alias) === null || _selection_alias === void 0 ? void 0 : _selection_alias.value) !== null && _selection_alias_value !== void 0 ? _selection_alias_value : selection.name.value] = {
200
- field: selection.name.value,
201
- type: type.name,
202
- mappings,
203
- indirectPath
204
- };
199
+ state.mappings = mergeMappings(state.mappings, {
200
+ [(_selection_alias_value = (_selection_alias = selection.alias) === null || _selection_alias === void 0 ? void 0 : _selection_alias.value) !== null && _selection_alias_value !== void 0 ? _selection_alias_value : selection.name.value]: {
201
+ field: selection.name.value,
202
+ type: type.name,
203
+ mappings,
204
+ indirectPath
205
+ }
206
+ });
207
+ }
208
+ }
209
+ function mergeMappings(existing, incoming) {
210
+ const result = {
211
+ ...existing
212
+ };
213
+ for (const [key, value] of Object.entries(incoming)){
214
+ if (result[key]) {
215
+ result[key] = {
216
+ ...result[key],
217
+ mappings: mergeMappings(result[key].mappings, value.mappings)
218
+ };
219
+ } else {
220
+ result[key] = value;
221
+ }
205
222
  }
223
+ return result;
206
224
  }
207
225
  function queryFromInfo({ withUsageCheck, ...options }) {
208
226
  const state = stateFromInfo(options);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/map-query.ts"],"names":["getIndirectType","normalizeInclude","queryFromInfo","selectionStateFromInfo","stateFromInfo","addTypeSelectionsForField","config","type","context","info","state","selection","indirectPath","deferred","name","value","startsWith","pothosDrizzleSelect","pothosIndirectInclude","extensions","path","length","paths","resolveIndirectIncludePaths","resolvedType","field","schema","getType","isObjectType","isInterfaceType","mergeSelection","selectionSet","skipDeferredFragments","addNestedSelections","pathPrefix","includePaths","resolve","includePath","resolveIndirectInclude","include","rest","sel","selections","kind","Kind","FIELD","fieldSkipped","returnType","getNamedType","getFields","alias","FRAGMENT_SPREAD","fragments","typeCondition","isDeferredFragment","INLINE_FRAGMENT","PothosValidationError","parentType","addFieldSelection","pothosDrizzleModel","fieldSelect","fieldSelectionMap","mappings","args","getMappedArgumentValues","rawQuery","indirectInclude","expectedType","query","normalizedIndirectInclude","Array","isArray","undefined","fieldState","createStateForSelection","Object","keys","columns","resolvedField","selectionToQuery","node","map","_","selectionCompatible","withUsageCheck","options","setLoaderMappings","wrapWithUsageCheck","typeName","select","getTypeMap","initialSelection","fieldNodes","indirectType","indirectField","subPath","p","n","nested","parent","initialSelections","targetType","pothosDrizzleTable","createState","currentType","normalized","fieldName","push","skip","getDirectiveValues","GraphQLSkipDirective","variableValues","if","GraphQLIncludeDirective","deferDirective","getDirective","defer"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utils/map-query.ts"],"names":["getIndirectType","normalizeInclude","queryFromInfo","selectionStateFromInfo","stateFromInfo","addTypeSelectionsForField","config","type","context","info","state","selection","indirectPath","deferred","name","value","startsWith","pothosDrizzleSelect","pothosIndirectInclude","extensions","path","length","paths","resolveIndirectIncludePaths","resolvedType","field","schema","getType","isObjectType","isInterfaceType","mergeSelection","selectionSet","skipDeferredFragments","addNestedSelections","pathPrefix","includePaths","resolve","includePath","resolveIndirectInclude","include","rest","sel","selections","kind","Kind","FIELD","fieldSkipped","returnType","getNamedType","getFields","alias","FRAGMENT_SPREAD","fragments","typeCondition","isDeferredFragment","INLINE_FRAGMENT","PothosValidationError","parentType","addFieldSelection","pothosDrizzleModel","fieldSelect","fieldSelectionMap","mappings","args","getMappedArgumentValues","rawQuery","indirectInclude","expectedType","query","normalizedIndirectInclude","Array","isArray","undefined","fieldState","createStateForSelection","Object","keys","columns","resolvedField","selectionToQuery","node","map","_","selectionCompatible","mergeMappings","existing","incoming","result","key","entries","withUsageCheck","options","setLoaderMappings","wrapWithUsageCheck","typeName","select","getTypeMap","initialSelection","fieldNodes","indirectType","indirectField","subPath","p","n","nested","parent","initialSelections","targetType","pothosDrizzleTable","createState","currentType","normalized","fieldName","push","skip","getDirectiveValues","GraphQLSkipDirective","variableValues","if","GraphQLIncludeDirective","deferDirective","getDirective","defer"],"mappings":";;;;;;;;;;;QAwkBgBA;eAAAA;;QAYAC;eAAAA;;QAzJAC;eAAAA;;QA2FAC;eAAAA;;QA9EAC;eAAAA;;;sBAxc+C;yBAoBxD;2BAGgD;4BAQhD;uBAC4B;AAQnC,SAASC,0BACPC,MAAiC,EACjCC,IAAsB,EACtBC,OAAe,EACfC,IAAwB,EACxBC,KAAqB,EACrBC,SAAoB,EACpBC,YAAsB,EACtBC,QAAkB;IAElB,IAAIF,UAAUG,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,OAAO;QACzC;IACF;QAEwDT;IAAxD,MAAM,EAAEU,mBAAmB,EAAEC,qBAAqB,EAAE,GAAIX,CAAAA,mBAAAA,KAAKY,UAAU,cAAfZ,8BAAAA,mBAAmB,CAAC;IAK5E,IACE,AAAC,CAAC,EAACW,kCAAAA,4CAAAA,sBAAuBE,IAAI,KAAIF,sBAAsBE,IAAI,CAACC,MAAM,GAAG,KACrE,CAAC,EAACH,kCAAAA,4CAAAA,sBAAuBI,KAAK,KAAIJ,sBAAsBI,KAAK,CAACD,MAAM,KAAK,GAC1E;YAMEH;QALFK,4BACEhB,MACAE,MACAE,WACA,EAAE,EACFO,CAAAA,+BAAAA,sBAAsBI,KAAK,cAA3BJ,0CAAAA,+BAA+B;YAACA,sBAAsBE,IAAI;SAAE,EAC5DR,cACA,CAACY,cAAcC,OAAOL;YACpBf,0BACEC,QACAkB,cACAhB,SACAC,MACAC,OACAe,OACAL,MACAP;QAEJ,GACAA;IAEJ,OAAO,IAAIK,uBAAuB;QAChCb,0BACEC,QACAG,KAAKiB,MAAM,CAACC,OAAO,CAACT,sBAAsBS,OAAO,KACjDnB,SACAC,MACAC,OACAC,WACAC,cACAC;QAEF;IACF;IAEA,IAAI,CAAEe,CAAAA,IAAAA,qBAAY,EAACrB,SAASsB,IAAAA,wBAAe,EAACtB,KAAI,GAAI;QAClD;IACF;IAEA,IAAIU,qBAAqB;QACvBa,IAAAA,0BAAc,EAACxB,QAAQI,OAAOO,wBAAwB,OAAO,OAAO;YAAE,GAAGA,mBAAmB;QAAC;IAC/F;IAEA,IAAIN,UAAUoB,YAAY,IAAK,CAAA,CAAClB,YAAY,CAACH,MAAMsB,qBAAqB,AAAD,GAAI;QACzEC,oBAAoB3B,QAAQC,MAAMC,SAASC,MAAMC,OAAOC,UAAUoB,YAAY,EAAEnB;IAClF;AACF;AAEA,SAASW,4BACPhB,IAAsB,EACtBE,IAAwB,EACxBE,SAAkE,EAClEuB,UAA6C,EAC7CC,YAAiD,EACjDf,IAAc,EACdgB,OAA8F,EAC9FvB,QAAkB;IAElB,KAAK,MAAMwB,eAAeF,aAAc;QACtC,IAAID,WAAWb,MAAM,GAAG,GAAG;YACzBiB,uBACE/B,MACAE,MACAE,WACA;mBAAIuB;mBAAeG;aAAY,EAC/BjB,MACAgB,SACAvB;QAEJ,OAAO;YACLyB,uBAAuB/B,MAAME,MAAME,WAAW0B,aAAajB,MAAMgB,SAASvB;QAC5E;IACF;AACF;AAEA,SAASyB,uBACP/B,IAAsB,EACtBE,IAAwB,EACxBE,SAAkE,EAClE0B,WAA8C,EAC9CjB,IAAc,EACdgB,OAA8F,EAC9FvB,WAAW,KAAK;IAEhB,IAAIwB,YAAYhB,MAAM,KAAK,GAAG;QAC5Be,QAAQ7B,MAAMI,WAAwBS,MAAMP;QAC5C;IACF;IAEA,MAAM,CAAC0B,SAAS,GAAGC,KAAK,GAAGH;IAC3B,IAAI,CAAC1B,UAAUoB,YAAY,IAAI,CAACQ,SAAS;QACvC;IACF;IAEA,KAAK,MAAME,OAAO9B,UAAUoB,YAAY,CAACW,UAAU,CAAE;QACnD,OAAQD,IAAIE,IAAI;YACd,KAAKC,aAAI,CAACC,KAAK;gBACb,IACE,CAACC,aAAarC,MAAMgC,QACpBA,IAAI3B,IAAI,CAACC,KAAK,KAAKwB,QAAQzB,IAAI,IAC9Bc,CAAAA,IAAAA,qBAAY,EAACrB,SAASsB,IAAAA,wBAAe,EAACtB,KAAI,GAC3C;wBAQYkC;oBAPZ,MAAMM,aAAaC,IAAAA,qBAAY,EAACzC,KAAK0C,SAAS,EAAE,CAACR,IAAI3B,IAAI,CAACC,KAAK,CAAC,CAACR,IAAI;wBAOzDkC;oBALZH,uBACES,YACAtC,MACAgC,KACAD,MACA;2BAAIpB;wBAAMqB,CAAAA,oBAAAA,aAAAA,IAAIS,KAAK,cAATT,iCAAAA,WAAW1B,KAAK,cAAhB0B,8BAAAA,mBAAoBA,IAAI3B,IAAI,CAACC,KAAK;qBAAC,EAC7CqB,SACAvB;gBAEJ;gBACA;YACF,KAAK+B,aAAI,CAACO,eAAe;gBACvB,IACE,CAACZ,QAAQhC,IAAI,IACbE,KAAK2C,SAAS,CAACX,IAAI3B,IAAI,CAACC,KAAK,CAAC,CAACsC,aAAa,CAACvC,IAAI,CAACC,KAAK,KAAKwB,QAAQhC,IAAI,EACxE;oBACA+B,uBACEC,QAAQhC,IAAI,GAAGE,KAAKiB,MAAM,CAACC,OAAO,CAACY,QAAQhC,IAAI,IAAKA,MACpDE,MACAA,KAAK2C,SAAS,CAACX,IAAI3B,IAAI,CAACC,KAAK,CAAC,EAC9BsB,aACAjB,MACAgB,SACAvB,YAAYyC,mBAAmBb,KAAKhC;gBAExC;gBAEA;YAEF,KAAKmC,aAAI,CAACW,eAAe;gBACvB,IAAI,CAACd,IAAIY,aAAa,IAAI,CAACd,QAAQhC,IAAI,IAAIkC,IAAIY,aAAa,CAACvC,IAAI,CAACC,KAAK,KAAKwB,QAAQhC,IAAI,EAAE;oBACxF+B,uBACEG,IAAIY,aAAa,GAAG5C,KAAKiB,MAAM,CAACC,OAAO,CAACc,IAAIY,aAAa,CAACvC,IAAI,CAACC,KAAK,IAAKR,MACzEE,MACAgC,KACAJ,aACAjB,MACAgB,SACAvB,YAAYyC,mBAAmBb,KAAKhC;gBAExC;gBAEA;YAEF;gBACE,MAAM,IAAI+C,2BAAqB,CAC7B,CAAC,2BAA2B,EAAE,AAAC7C,UAA+BgC,IAAI,EAAE;QAE1E;IACF;AACF;AAEA,SAASV,oBACP3B,MAAiC,EACjCC,IAA8C,EAC9CC,OAAe,EACfC,IAAwB,EACxBC,KAAqB,EACrBgC,UAA4B,EAC5B9B,YAAsB;IAEtB,IAAI6C,aAAalD;IACjB,KAAK,MAAMI,aAAa+B,WAAWA,UAAU,CAAE;QAC7C,OAAQ/B,UAAUgC,IAAI;YACpB,KAAKC,aAAI,CAACC,KAAK;gBACba,kBAAkBpD,QAAQC,MAAMC,SAASC,MAAMC,OAAOC,WAAWC;gBAEjE;YACF,KAAKgC,aAAI,CAACO,eAAe;oBAWjBM;gBAVN,IAAI/C,MAAMsB,qBAAqB,IAAIsB,mBAAmB3C,WAAWF,OAAO;oBACtE;gBACF;gBAEAgD,aAAahD,KAAKiB,MAAM,CAACC,OAAO,CAC9BlB,KAAK2C,SAAS,CAACzC,UAAUG,IAAI,CAACC,KAAK,CAAC,CAACsC,aAAa,CAACvC,IAAI,CAACC,KAAK;gBAE/D,IACEa,IAAAA,qBAAY,EAACrB,QACTkD,WAAW3C,IAAI,KAAKP,KAAKO,IAAI,GAC7B2C,EAAAA,yBAAAA,WAAWtC,UAAU,cAArBsC,6CAAAA,uBAAuBE,kBAAkB,MAAKpD,KAAKY,UAAU,CAACwC,kBAAkB,EACpF;oBACA;gBACF;gBAEA1B,oBACE3B,QACAmD,YACAjD,SACAC,MACAC,OACAD,KAAK2C,SAAS,CAACzC,UAAUG,IAAI,CAACC,KAAK,CAAC,CAACgB,YAAY,EACjDnB;gBAGF;YAEF,KAAKgC,aAAI,CAACW,eAAe;oBAWjBE;gBAVN,IAAI/C,MAAMsB,qBAAqB,IAAIsB,mBAAmB3C,WAAWF,OAAO;oBACtE;gBACF;gBAEAgD,aAAa9C,UAAU0C,aAAa,GAC/B5C,KAAKiB,MAAM,CAACC,OAAO,CAAChB,UAAU0C,aAAa,CAACvC,IAAI,CAACC,KAAK,IACvDR;gBACJ,IACEqB,IAAAA,qBAAY,EAACrB,QACTkD,WAAW3C,IAAI,KAAKP,KAAKO,IAAI,GAC7B2C,EAAAA,0BAAAA,WAAWtC,UAAU,cAArBsC,8CAAAA,wBAAuBE,kBAAkB,MAAKpD,KAAKY,UAAU,CAACwC,kBAAkB,EACpF;oBACA;gBACF;gBAEA1B,oBACE3B,QACAmD,YACAjD,SACAC,MACAC,OACAC,UAAUoB,YAAY,EACtBnB;gBAGF;YAEF;gBACE,MAAM,IAAI4C,2BAAqB,CAC7B,CAAC,2BAA2B,EAAE,AAAC7C,UAA+BgC,IAAI,EAAE;QAE1E;IACF;AACF;AAEA,SAASe,kBACPpD,MAAiC,EACjCC,IAA8C,EAC9CC,OAAe,EACfC,IAAwB,EACxBC,KAAqB,EACrBC,SAAoB,EACpBC,YAAsB;QAUFa;IARpB,IAAId,UAAUG,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,SAAS8B,aAAarC,MAAME,YAAY;QAC1E;IACF;IACA,MAAMc,QAAQlB,KAAK0C,SAAS,EAAE,CAACtC,UAAUG,IAAI,CAACC,KAAK,CAAC;IACpD,IAAI,CAACU,OAAO;QACV,MAAM,IAAI+B,2BAAqB,CAAC,CAAC,cAAc,EAAE7C,UAAUG,IAAI,CAACC,KAAK,CAAC,IAAI,EAAER,KAAKO,IAAI,EAAE;IACzF;IAEA,MAAM8C,eAAcnC,oBAAAA,MAAMN,UAAU,cAAhBM,wCAAAA,kBAAkBR,mBAAmB;IAEzD,IAAI4C;IACJ,IAAIC,WAA2B,CAAC;IAChC,IAAI,OAAOF,gBAAgB,YAAY;QACrC,MAAMG,OAAOC,IAAAA,6BAAuB,EAACvC,OAAOd,WAAWH,SAASC;QAIhEoD,oBAAoBD,YAClBG,MACAvD,SACA,CAACyD,UAAUC,iBAAiBC;YAC1B,MAAMpB,aAAaC,IAAAA,qBAAY,EAACvB,MAAMlB,IAAI;YAC1C,MAAM6D,QAAQ,OAAOH,aAAa,aAAaA,SAASF,MAAMvD,WAAWyD;YACzE,MAAMI,4BAA4BC,MAAMC,OAAO,CAACL,mBAC5CjE,iBACEiE,iBACAlE,gBAAgB+C,YAAYtC,OAC5B0D,eAAenB,IAAAA,qBAAY,EAACvC,KAAKiB,MAAM,CAACC,OAAO,CAACwC,iBAAiBK,aAEnEN;YACJ,MAAMO,aAAaC,wBACjBpE,QACAG,MACA4D,4BACI5D,KAAKiB,MAAM,CAACC,OAAO,CAAC0C,0BAA0B1C,OAAO,MACrDoB,YACJrC;YAGF,IAAI,OAAO0D,UAAU,YAAYO,OAAOC,IAAI,CAACR,OAAO/C,MAAM,GAAG,GAAG;gBAC9DS,IAAAA,0BAAc,EAACxB,QAAQmE,YAAY;oBAAEI,SAAS,CAAC;oBAAG,GAAGT,KAAK;gBAAC;YAC7D;YACA,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;oBAKG0B,8CAAAA;oBAAD,mDACAsB;gBALF9C,4BACEwB,YACAtC,MACAE,WACA,CAAA,qDAACoC,yBAAAA,WAAW5B,UAAU,cAArB4B,8CAAAA,+CAAAA,uBAAuB7B,qBAAqB,cAA5C6B,mEAAD,AAACA,6CAA+D3B,IAAI,cAApE,+DAAA,oDAAwE,EAAE,EAC1EiD,CAAAA,mCAAAA,0BAA0B/C,KAAK,cAA/B+C,8CAAAA,mCAAmC;oBAACA,0BAA0BjD,IAAI;iBAAE,EACpE,EAAE,EACF,CAACI,cAAcsD,eAAe1D,MAAMP;oBAClCR,0BACEC,QACAkB,cACAhB,SACAC,MACAgE,YACAK,eACA1D,MACAP;gBAEJ;YAEJ;YACAR,0BAA0BC,QAAQyC,YAAYvC,SAASC,MAAMgE,YAAY9D,WAAW,EAAE;YACtFmD,WAAWW,WAAWX,QAAQ;YAC9B,OAAOiB,IAAAA,4BAAgB,EAACzE,QAAQmE;QAClC,GACA,CAACrD;YACC,MAAM2B,aAAaC,IAAAA,qBAAY,EAACvB,MAAMlB,IAAI;YAC1C,IAAIyE,OAAyB;YAC7B1C,uBACES,YACAtC,MACAE,WACAS,KAAK6D,GAAG,CAAC,CAACnE,OAAU,CAAA;oBAClBA;gBACF,CAAA,IACA,EAAE,EACF,CAACoE,GAAGJ;gBACFE,OAAOF;YACT;YAEF,OAAOE;QACT;IAEJ,OAAO;QACLnB,oBAAoBD;IACtB;IAEA,IAAIA,eAAeuB,IAAAA,+BAAmB,EAACzE,OAAOmD,mBAAmB,OAAO;YAInElD;QAHHmB,IAAAA,0BAAc,EAACxB,QAAQI,OAAOmD;YAG3BlD;QADHD,MAAMoD,QAAQ,GAAGsB,cAAc1E,MAAMoD,QAAQ,EAAE;YAC7C,CAACnD,CAAAA,0BAAAA,mBAAAA,UAAUuC,KAAK,cAAfvC,uCAAAA,iBAAiBI,KAAK,cAAtBJ,oCAAAA,yBAA0BA,UAAUG,IAAI,CAACC,KAAK,CAAC,EAAE;gBAChDU,OAAOd,UAAUG,IAAI,CAACC,KAAK;gBAC3BR,MAAMA,KAAKO,IAAI;gBACfgD;gBACAlD;YACF;QACF;IACF;AACF;AAEA,SAASwE,cAAcC,QAAwB,EAAEC,QAAwB;IACvE,MAAMC,SAAyB;QAAE,GAAGF,QAAQ;IAAC;IAE7C,KAAK,MAAM,CAACG,KAAKzE,MAAM,IAAI4D,OAAOc,OAAO,CAACH,UAAW;QACnD,IAAIC,MAAM,CAACC,IAAI,EAAE;YACfD,MAAM,CAACC,IAAI,GAAG;gBACZ,GAAGD,MAAM,CAACC,IAAI;gBACd1B,UAAUsB,cAAcG,MAAM,CAACC,IAAI,CAAC1B,QAAQ,EAAE/C,MAAM+C,QAAQ;YAC9D;QACF,OAAO;YACLyB,MAAM,CAACC,IAAI,GAAGzE;QAChB;IACF;IAEA,OAAOwE;AACT;AAaO,SAASrF,cAAsC,EACpDwF,cAAc,EACd,GAAGC,SACqB;IACxB,MAAMjF,QAAQN,cAAcuF;IAE5BC,IAAAA,4BAAiB,EAACD,QAAQnF,OAAO,EAAEmF,QAAQlF,IAAI,EAAEC,MAAMoD,QAAQ;IAE/D,MAAMM,QAAQW,IAAAA,4BAAgB,EAACY,QAAQrF,MAAM,EAAEI;IAE/C,OAAOgF,iBAAiBG,IAAAA,yBAAkB,EAACzB,SAASA;AACtD;AAEO,SAAShE,cAAsC,EACpDE,MAAM,EACNE,OAAO,EACPC,IAAI,EACJqF,QAAQ,EACRC,MAAM,EACN3E,OAAO,EAAE,EACTE,QAAQ,EAAE,EACc;IACxB,MAAMyB,aAAaC,IAAAA,qBAAY,EAACvC,KAAKsC,UAAU;IAC/C,MAAMxC,OAAOuF,WAAWrF,KAAKiB,MAAM,CAACsE,UAAU,EAAE,CAACF,SAAS,GAAG/C;IAC7D,MAAMkD,mBAAmBF,SACrB;QACElB,SAAS,CAAC;QACV,GAAGkB,MAAM;IACX,IACAvB;IAEJ,IAAI9D;IAEJ,IAAIU,KAAKC,MAAM,GAAG,KAAKC,MAAMD,MAAM,GAAG,GAAG;YACJ0B;QAAnC,MAAM,EAAE7B,qBAAqB,EAAE,GAAI6B,CAAAA,yBAAAA,WAAW5B,UAAU,cAArB4B,oCAAAA,yBAAyB,CAAC;YAQ3D7B;QAJFoB,uBACES,YACAtC,MACAA,KAAKyF,UAAU,CAAC,EAAE,EAClBhF,CAAAA,8BAAAA,kCAAAA,4CAAAA,sBAAuBE,IAAI,cAA3BF,yCAAAA,8BAA+B,EAAE,EACjC,EAAE,EACF,CAACiF,cAAcC,eAAeC,SAASxF;YACrCU,4BACE4E,cACA1F,MACA2F,eACA,EAAE,EACF9E,MAAMD,MAAM,GAAG,IACXC,MAAM2D,GAAG,CAAC,CAACqB,IAAMA,EAAErB,GAAG,CAAC,CAACsB,IAAO,OAAOA,MAAM,WAAW;wBAAEzF,MAAMyF;oBAAE,IAAIA,MACrE;gBAACnF,KAAK6D,GAAG,CAAC,CAACsB,IAAO,OAAOA,MAAM,WAAW;wBAAEzF,MAAMyF;oBAAE,IAAIA;aAAI,EAChEF,SACA,CAAC7E,cAAcsD,eAAe0B,QAAQ3F;gBACpCH,QAAQgE,wBACNpE,QACAG,MACAe,cACAgD,WACAyB;gBAGF5F,0BACEC,QACAwF,WAAWvF,OAAOiB,cAClBhB,SACAC,MACAC,OACAoE,eACA0B,QACA3F;YAEJ,GACAA;QAEJ;IAEJ,OAAO;QACLH,QAAQgE,wBAAwBpE,QAAQG,MAAMF,MAAMiE,WAAWyB;QAE/D5F,0BAA0BC,QAAQC,MAAMC,SAASC,MAAMC,OAAOD,KAAKyF,UAAU,CAAC,EAAE,EAAE,EAAE;IACtF;IAEA,IAAI,CAACxF,OAAO;QACVA,QAAQgE,wBAAwBpE,QAAQG,MAAMF,MAAMiE,WAAWyB;IACjE;IAEA,OAAOvF;AACT;AAEO,SAASP,uBACdG,MAAiC,EACjCE,OAAe,EACfC,IAAwB,EACxBqF,QAAiB;IAEjB,MAAMvF,OAAOuF,WAAWrF,KAAKiB,MAAM,CAACsE,UAAU,EAAE,CAACF,SAAS,GAAGrF,KAAKgD,UAAU;IAE5E,MAAM/C,QAAQgE,wBAAwBpE,QAAQG,MAAMF;IAEpD,IAAI,CAAEqB,CAAAA,IAAAA,qBAAY,EAACrB,SAASsB,IAAAA,wBAAe,EAACtB,KAAI,GAAI;QAClD,MAAM,IAAIiD,2BAAqB,CAC7B;IAEJ;IAEAE,kBAAkBpD,QAAQC,MAAMC,SAASC,MAAMC,OAAOD,KAAKyF,UAAU,CAAC,EAAE,EAAE,EAAE;IAE5E,OAAOxF;AACT;AAEA,SAASgE,wBACPpE,MAAiC,EACjCG,IAAwB,EACxBF,IAAsB,EACtBkG,MAAuB,EACvBC,iBAAgC;IAEhC,MAAMC,aAAa3G,gBAAgBO,MAAME;QACTkG;IAAhC,MAAM,EAAEC,kBAAkB,EAAE,GAAID,CAAAA,yBAAAA,WAAWxF,UAAU,cAArBwF,oCAAAA,yBAAyB,CAAC;IAI1D,IAAI,CAACC,oBAAoB;QACvB,MAAM,IAAIpD,2BAAqB,CAAC,CAAC,SAAS,EAAEmD,WAAW7F,IAAI,CAAC,uBAAuB,CAAC;IACtF;QAIE2F;IAFF,MAAM/F,QAAQmG,IAAAA,uBAAW,EACvBD,oBACAH,CAAAA,gCAAAA,mBAAAA,6BAAAA,OAAQzE,qBAAqB,cAA7ByE,2CAAAA,gCAAiCnG,OAAO0B,qBAAqB,EAC7DyE;IAGF,IAAIC,mBAAmB;QACrB5E,IAAAA,0BAAc,EAACxB,QAAQI,OAAOgG;IAChC;IAEA,OAAOhG;AACT;AAEO,SAASV,gBAAgBO,IAAsB,EAAEE,IAAwB;QAGvEkG;IAFP,IAAIA,aAAapG;IAEjB,OAAOoG,yBAAAA,WAAWxF,UAAU,cAArBwF,6CAAAA,uBAAuBzF,qBAAqB,CAAE;QACnDyF,aAAalG,KAAKiB,MAAM,CAACC,OAAO,CAC9B,AAACgF,WAAWxF,UAAU,CAACD,qBAAqB,CAAqBS,OAAO;IAE5E;IAEA,OAAOgF;AACT;AAEO,SAAS1G,iBACdmB,IAAc,EACdb,IAAsB,EACtB4D,YAA+B;IAE/B,IAAI2C,cAAc1F,KAAKC,MAAM,GAAG,IAAId,OAAQ4D,yBAAAA,0BAAAA,eAAgB5D;IAE5D,MAAMwG,aAA+C,EAAE;IAEvD,IAAI,CAAEnF,CAAAA,IAAAA,qBAAY,EAACkF,gBAAgBjF,IAAAA,wBAAe,EAACiF,YAAW,GAAI;QAChE,MAAM,IAAItD,2BAAqB,CAAC,CAAC,SAAS,EAAEsD,YAAY,qBAAqB,CAAC;IAChF;IAEA,KAAK,MAAME,aAAa5F,KAAM;QAC5B,MAAMK,QAAwCqF,YAAY7D,SAAS,EAAE,CAAC+D,UAAU;QAEhF,IAAI,CAACvF,OAAO;YACV,MAAM,IAAI+B,2BAAqB,CAAC,CAAC,SAAS,EAAEsD,YAAY,iBAAiB,EAAEE,WAAW;QACxF;QAEAF,cAAc9D,IAAAA,qBAAY,EAACvB,MAAMlB,IAAI;QAErC,IAAI,CAAEqB,CAAAA,IAAAA,qBAAY,EAACkF,gBAAgBjF,IAAAA,wBAAe,EAACiF,YAAW,GAAI;YAChE,MAAM,IAAItD,2BAAqB,CAAC,CAAC,SAAS,EAAEsD,YAAY,kCAAkC,CAAC;QAC7F;QAEAC,WAAWE,IAAI,CAAC;YAAEnG,MAAMkG;YAAWzG,MAAMuG,YAAYhG,IAAI;QAAC;IAC5D;IAEA,OAAO;QACLa,SAAS;gBACPwC;mBAAAA,CAAAA,qBAAAA,yBAAAA,mCAAAA,aAAcrD,IAAI,cAAlBqD,gCAAAA,qBACC4C,WAAW1F,MAAM,GAAG,IAAI0F,UAAU,CAACA,WAAW1F,MAAM,GAAG,EAAE,CAACd,IAAI,GAAGA,KAAKO,IAAI;;QAC7EM,MAAM2F;IACR;AACF;AAEA,SAASjE,aAAarC,IAAwB,EAAEE,SAAoB;IAClE,MAAMuG,OAAOC,IAAAA,2BAAkB,EAACC,6BAAoB,EAAEzG,WAAWF,KAAK4G,cAAc;IACpF,IAAIH,CAAAA,iBAAAA,2BAAAA,KAAMI,EAAE,MAAK,MAAM;QACrB,OAAO;IACT;IAEA,MAAM/E,UAAU4E,IAAAA,2BAAkB,EAACI,gCAAuB,EAAE5G,WAAWF,KAAK4G,cAAc;IAC1F,IAAI9E,CAAAA,oBAAAA,8BAAAA,QAAS+E,EAAE,MAAK,OAAO;QACzB,OAAO;IACT;IAEA,OAAO;AACT;AAEA,SAAShE,mBACP0B,IAA6C,EAC7CvE,IAAwB;IAExB,MAAM+G,iBAAiB/G,KAAKiB,MAAM,CAAC+F,YAAY,CAAC;IAChD,IAAI,CAACD,gBAAgB;QACnB,OAAO;IACT;IAEA,MAAME,QAAQP,IAAAA,2BAAkB,EAACK,gBAAgBxC,MAAMvE,KAAK4G,cAAc;IAC1E,OAAO,CAAC,CAACK,SAASA,MAAMJ,EAAE,KAAK;AACjC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pothos/plugin-drizzle",
3
- "version": "0.14.0",
3
+ "version": "0.16.0",
4
4
  "description": "A Pothos plugin for drizzle",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./dts/index.d.ts",
@@ -39,17 +39,17 @@
39
39
  "graphql": "^16.10.0"
40
40
  },
41
41
  "devDependencies": {
42
- "@libsql/client": "^0.15.14",
42
+ "@libsql/client": "^0.15.15",
43
43
  "drizzle-graphql": "^0.8.5",
44
44
  "drizzle-kit": "1.0.0-beta.2-b705c25",
45
45
  "drizzle-orm": "1.0.0-beta.2-b705c25",
46
- "graphql-scalars": "^1.24.2",
46
+ "graphql-scalars": "^1.25.0",
47
47
  "graphql-tag": "^2.12.6",
48
48
  "postgres": "^3.4.7",
49
49
  "@pothos/core": "4.10.0",
50
- "@pothos/plugin-add-graphql": "4.2.4",
51
50
  "@pothos/plugin-errors": "4.8.0",
52
51
  "@pothos/plugin-scope-auth": "4.1.6",
52
+ "@pothos/plugin-add-graphql": "4.2.4",
53
53
  "@pothos/plugin-relay": "4.6.2",
54
54
  "@pothos/plugin-with-input": "4.1.4",
55
55
  "@pothos/test-utils": "2.1.3"
@@ -5,6 +5,7 @@ import {
5
5
  type FieldRef,
6
6
  type InferredFieldOptionKeys,
7
7
  type InputFieldMap,
8
+ type InputShapeFromFields,
8
9
  type InterfaceParam,
9
10
  isThenable,
10
11
  type MaybePromise,
@@ -17,18 +18,30 @@ import {
17
18
  type ShapeFromTypeParam,
18
19
  type TypeParam,
19
20
  } from '@pothos/core';
20
- import { type InferSelectModel, Many, type TableRelationalConfig } from 'drizzle-orm';
21
+ import {
22
+ and,
23
+ type BuildQueryResult,
24
+ type DBQueryConfig,
25
+ eq,
26
+ type InferSelectModel,
27
+ Many,
28
+ type SQL,
29
+ type Table,
30
+ type TableRelationalConfig,
31
+ } from 'drizzle-orm';
32
+ import type { FieldNode } from 'graphql';
21
33
  import type { DrizzleRef } from './interface-ref';
22
34
  import type {
23
35
  DrizzleConnectionShape,
24
36
  ListRelation,
25
37
  RelatedConnectionOptions,
38
+ RelatedCountOptions,
26
39
  RelatedFieldOptions,
27
40
  ShapeFromConnection,
28
41
  TypesForRelation,
29
42
  VariantFieldOptions,
30
43
  } from './types';
31
- import { getSchemaConfig } from './utils/config';
44
+ import { getClient, getSchemaConfig } from './utils/config';
32
45
  import {
33
46
  drizzleCursorConnectionQuery,
34
47
  getCursorFormatter,
@@ -156,6 +169,7 @@ export class DrizzleObjectFieldBuilder<
156
169
  resolve: _,
157
170
  extensions,
158
171
  description,
172
+ totalCount,
159
173
  ...options
160
174
  }: {
161
175
  type?: ObjectRef<Types, unknown, unknown>;
@@ -164,6 +178,7 @@ export class DrizzleObjectFieldBuilder<
164
178
  extensions?: {};
165
179
  description?: string;
166
180
  query?: ((args: {}, ctx: {}) => {}) | {};
181
+ totalCount?: boolean;
167
182
  resolve?: (
168
183
  query: {},
169
184
  parent: unknown,
@@ -188,6 +203,15 @@ export class DrizzleObjectFieldBuilder<
188
203
  const ref = options.type ?? getRefFromModel(relationField.targetTableName, this.builder);
189
204
  let typeName: string | undefined;
190
205
 
206
+ const buildCountFilter = (parentTable: TableConfig['table']): SQL => {
207
+ const { sourceColumns, targetColumns } = relationField;
208
+ return and(
209
+ ...sourceColumns.map((sourceCol: { name: string }, i: number) =>
210
+ eq(targetColumns[i], parentTable[sourceCol.name as never]),
211
+ ),
212
+ )!;
213
+ };
214
+
191
215
  const getQuery = (args: PothosSchemaTypes.DefaultConnectionArguments, ctx: {}) => {
192
216
  const { limit, orderBy, where, ...fieldQuery } =
193
217
  (typeof query === 'function' ? query(args, ctx) : query) ?? {};
@@ -223,8 +247,31 @@ export class DrizzleObjectFieldBuilder<
223
247
  args: object,
224
248
  context: object,
225
249
  nestedQuery: (query: unknown, path?: unknown) => { select?: object },
250
+ getSelection: (path: string[]) => FieldNode | null,
226
251
  ) => {
227
252
  typeName ??= this.builder.configStore.getTypeConfig(ref).name;
253
+
254
+ const hasTotalCount = totalCount && !!getSelection(['totalCount']);
255
+ const hasEdges = !!getSelection(['edges']);
256
+ const hasNodes = !!getSelection(['nodes']);
257
+ const hasPageInfo = !!getSelection(['pageInfo']);
258
+ const totalCountOnly = hasTotalCount && !hasEdges && !hasNodes && !hasPageInfo;
259
+ const countSelection = {
260
+ [`_${name as string}_count`]: (parent: TableConfig['table']) =>
261
+ getClient(this.builder, context).$count(
262
+ relatedTable.table as Table,
263
+ buildCountFilter(parent),
264
+ ),
265
+ };
266
+
267
+ if (totalCountOnly) {
268
+ return {
269
+ columns: {},
270
+ with: {},
271
+ extras: countSelection,
272
+ };
273
+ }
274
+
228
275
  const nested = nestedQuery(getQuery(args, context).select, {
229
276
  getType: () => typeName!,
230
277
  paths: [[{ name: 'nodes' }], [{ name: 'edges' }, { name: 'node' }]],
@@ -235,6 +282,7 @@ export class DrizzleObjectFieldBuilder<
235
282
  with: {
236
283
  [name]: nested,
237
284
  },
285
+ extras: hasTotalCount ? countSelection : {},
238
286
  };
239
287
  };
240
288
  const fieldRef = (
@@ -255,14 +303,37 @@ export class DrizzleObjectFieldBuilder<
255
303
  args: PothosSchemaTypes.DefaultConnectionArguments,
256
304
  context: {},
257
305
  ) => {
306
+ const countKey = `_${name as string}_count`;
307
+ const parentRecord = parent as Record<string, unknown>;
308
+ const countValue = totalCount
309
+ ? (parentRecord[countKey] as number | undefined)
310
+ : undefined;
311
+
312
+ if (!(name in parentRecord)) {
313
+ return {
314
+ parent,
315
+ args,
316
+ totalCount: countValue,
317
+ edges: [],
318
+ pageInfo: {
319
+ startCursor: null,
320
+ endCursor: null,
321
+ hasPreviousPage: false,
322
+ hasNextPage: false,
323
+ },
324
+ };
325
+ }
326
+
258
327
  const { select, cursorColumns } = getQuery(args, context);
328
+
259
329
  return wrapConnectionResult(
260
- (parent as Record<string, never>)[name],
330
+ parentRecord[name] as readonly {}[],
261
331
  args,
262
332
  select.limit,
263
333
  getCursorFormatter(cursorColumns, schemaConfig),
264
334
  undefined,
265
335
  parent,
336
+ countValue,
266
337
  );
267
338
  },
268
339
  },
@@ -270,6 +341,17 @@ export class DrizzleObjectFieldBuilder<
270
341
  ? connectionOptions
271
342
  : {
272
343
  ...connectionOptions,
344
+ fields: totalCount
345
+ ? (
346
+ t: PothosSchemaTypes.ObjectFieldBuilder<SchemaTypes, { totalCount?: number }>,
347
+ ) => ({
348
+ totalCount: t.int({
349
+ nullable: false,
350
+ resolve: (connection) => connection.totalCount,
351
+ }),
352
+ ...(connectionOptions as { fields?: (t: unknown) => {} }).fields?.(t),
353
+ })
354
+ : (connectionOptions as { fields: undefined }).fields,
273
355
  },
274
356
  edgeOptions,
275
357
  );
@@ -406,6 +488,128 @@ export class DrizzleObjectFieldBuilder<
406
488
  } as never) as never;
407
489
  }
408
490
 
491
+ relatedField<
492
+ Field extends keyof TableConfig['relations'],
493
+ Type extends TypeParam<Types>,
494
+ Nullable extends boolean,
495
+ Args extends InputFieldMap,
496
+ Select extends DBQueryConfig<'many', Types['DrizzleRelations'], TableConfig>,
497
+ ShapeWithSelection = Shape &
498
+ BuildQueryResult<Types['DrizzleRelations'], TableConfig, Select & { columns: {} }>,
499
+ >(
500
+ relationName: Field,
501
+ options: {
502
+ type: Type;
503
+ nullable?: Nullable;
504
+ args?: Args;
505
+ description?: string;
506
+ select: (
507
+ buildFilter: (parentTable: TableConfig['table']) => SQL,
508
+ args: Args extends InputFieldMap ? InputShapeFromFields<Args> : {},
509
+ ctx: Types['Context'],
510
+ nestedQuery: (
511
+ query: DBQueryConfig<'many', Types['DrizzleRelations'], TableConfig>,
512
+ ) => DBQueryConfig<'many', Types['DrizzleRelations'], TableConfig>,
513
+ ) => Select;
514
+ resolve: (
515
+ parent: ShapeWithSelection,
516
+ args: Args extends InputFieldMap ? InputShapeFromFields<Args> : {},
517
+ ctx: Types['Context'],
518
+ info: unknown,
519
+ ) => ShapeFromTypeParam<Types, Type, Nullable>;
520
+ },
521
+ ): FieldRef<Types, ShapeFromTypeParam<Types, Type, Nullable>, 'DrizzleObject'> {
522
+ const schemaConfig = getSchemaConfig(this.builder);
523
+ const relationField = schemaConfig.relations?.[this.table].relations[relationName as string];
524
+
525
+ if (!relationField) {
526
+ throw new PothosSchemaError(
527
+ `Could not find relation ${relationName as string} on table ${this.table}`,
528
+ );
529
+ }
530
+
531
+ const buildFilter = (parentTable: TableConfig['table']): SQL => {
532
+ const { sourceColumns, targetColumns } = relationField;
533
+
534
+ return and(
535
+ ...sourceColumns.map((sourceCol, i) =>
536
+ eq(targetColumns[i], parentTable[sourceCol.name as never]),
537
+ ),
538
+ )!;
539
+ };
540
+
541
+ const relationSelect = (
542
+ args: object,
543
+ context: Types['Context'],
544
+ nestedQuery: (query: unknown) => unknown,
545
+ ) => {
546
+ const selection = options.select(
547
+ buildFilter as never,
548
+ args as never,
549
+ context,
550
+ nestedQuery as never,
551
+ ) as Select & { with?: unknown };
552
+ return {
553
+ columns: selection.columns ?? {},
554
+ extras: selection.extras,
555
+ with: selection.with,
556
+ };
557
+ };
558
+
559
+ return this.field({
560
+ type: options.type,
561
+ nullable: options.nullable,
562
+ args: options.args,
563
+ description: options.description,
564
+ extensions: {
565
+ pothosDrizzleSelect: relationSelect as never,
566
+ },
567
+ resolve: options.resolve as never,
568
+ } as never) as never;
569
+ }
570
+
571
+ relatedCount<
572
+ Field extends keyof TableConfig['relations'],
573
+ Args extends InputFieldMap,
574
+ Where extends SQL | undefined,
575
+ >(
576
+ relationName: Field,
577
+ ...allArgs: NormalizeArgs<[options: RelatedCountOptions<Types, Shape, Args, Where>]>
578
+ ): FieldRef<Types, number, 'DrizzleObject'> {
579
+ const [{ where, ...options } = {} as never] = allArgs;
580
+ const countKey = `_${relationName as string}_count`;
581
+ const schemaConfig = getSchemaConfig(this.builder);
582
+ const relationField = schemaConfig.relations?.[this.table].relations[relationName as string];
583
+ const relatedTable = schemaConfig.relations[relationField.targetTableName];
584
+
585
+ return this.relatedField(relationName, {
586
+ ...options,
587
+ type: 'Int' as never,
588
+ nullable: false,
589
+ select: (
590
+ buildFilter: (parent: TableConfig['table']) => SQL,
591
+ args: object,
592
+ ctx: Types['Context'],
593
+ ) => {
594
+ const whereClause =
595
+ typeof where === 'function'
596
+ ? (where as (args: unknown, ctx: unknown) => SQL | undefined)(args, ctx)
597
+ : where;
598
+
599
+ return {
600
+ extras: {
601
+ [countKey]: (parent: TableConfig['table']) =>
602
+ getClient(this.builder, ctx).$count(
603
+ relatedTable.table as Table,
604
+ whereClause ? and(buildFilter(parent), whereClause) : buildFilter(parent),
605
+ ),
606
+ },
607
+ } as never;
608
+ },
609
+ resolve: (parent: Record<string, number>) => parent[countKey],
610
+ } as never) as FieldRef<Types, number, 'DrizzleObject'>;
611
+ }
612
+
409
613
  expose<
410
614
  Type extends TypeParam<Types>,
411
615
  Nullable extends boolean,