@pothos/plugin-prisma 3.38.1 → 3.40.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.
@@ -10,8 +10,9 @@ function _export(target, all) {
10
10
  }
11
11
  _export(exports, {
12
12
  formatCursorChunk: ()=>formatCursorChunk,
13
- formatCursor: ()=>formatCursor,
14
- parseRawCursor: ()=>parseRawCursor,
13
+ formatPrismaCursor: ()=>formatPrismaCursor,
14
+ cursorFormatter: ()=>cursorFormatter,
15
+ parsePrismaCursor: ()=>parsePrismaCursor,
15
16
  parseID: ()=>parseID,
16
17
  getDefaultIDSerializer: ()=>getDefaultIDSerializer,
17
18
  getDefaultIDParser: ()=>getDefaultIDParser,
@@ -42,7 +43,10 @@ function formatCursorChunk(value) {
42
43
  throw new TypeError(`Unsupported cursor type ${typeof value}`);
43
44
  }
44
45
  }
45
- function formatCursor(fields) {
46
+ function formatPrismaCursor(record, fields) {
47
+ return cursorFormatter(fields)(record);
48
+ }
49
+ function cursorFormatter(fields) {
46
50
  return (value)=>{
47
51
  if (typeof fields === 'string') {
48
52
  return (0, _core.encodeBase64)(`GPC:${formatCursorChunk(value[fields])}`);
@@ -50,7 +54,7 @@ function formatCursor(fields) {
50
54
  return (0, _core.encodeBase64)(`GPC:J:${JSON.stringify(fields.map((name)=>value[name]))}`);
51
55
  };
52
56
  }
53
- function parseRawCursor(cursor) {
57
+ function parsePrismaCursor(cursor) {
54
58
  if (typeof cursor !== 'string') {
55
59
  throw new TypeError('Cursor must be a string');
56
60
  }
@@ -169,7 +173,7 @@ function serializeID(id, dataType) {
169
173
  }
170
174
  function parseCompositeCursor(fields) {
171
175
  return (cursor)=>{
172
- const parsed = parseRawCursor(cursor);
176
+ const parsed = parsePrismaCursor(cursor);
173
177
  if (!Array.isArray(parsed)) {
174
178
  throw new TypeError(`Expected compound cursor to contain an array, but got ${parsed}`);
175
179
  }
@@ -253,19 +257,19 @@ function getCursorFormatter(name, builder, cursor) {
253
257
  var _modelData_primaryKey_name;
254
258
  const primaryKey = (_modelData_primaryKey_name = (_modelData_primaryKey = modelData.primaryKey) === null || _modelData_primaryKey === void 0 ? void 0 : _modelData_primaryKey.name) !== null && _modelData_primaryKey_name !== void 0 ? _modelData_primaryKey_name : (_modelData_primaryKey1 = modelData.primaryKey) === null || _modelData_primaryKey1 === void 0 ? void 0 : _modelData_primaryKey1.fields.join('_');
255
259
  if (primaryKey === cursor) {
256
- return formatCursor(modelData.primaryKey.fields);
260
+ return cursorFormatter(modelData.primaryKey.fields);
257
261
  }
258
262
  var _idx_name;
259
263
  const uniqueIndex = modelData.uniqueIndexes.find((idx)=>((_idx_name = idx.name) !== null && _idx_name !== void 0 ? _idx_name : idx.fields.join('_')) === cursor);
260
264
  var _uniqueIndex_fields;
261
- return formatCursor((_uniqueIndex_fields = uniqueIndex === null || uniqueIndex === void 0 ? void 0 : uniqueIndex.fields) !== null && _uniqueIndex_fields !== void 0 ? _uniqueIndex_fields : cursor);
265
+ return cursorFormatter((_uniqueIndex_fields = uniqueIndex === null || uniqueIndex === void 0 ? void 0 : uniqueIndex.fields) !== null && _uniqueIndex_fields !== void 0 ? _uniqueIndex_fields : cursor);
262
266
  }
263
267
  function getCursorParser(name, builder, cursor) {
264
268
  var _modelData_primaryKey, _modelData_primaryKey1;
265
269
  const modelData = (0, _datamodel.getModel)(name, builder);
266
270
  var _modelData_primaryKey_name;
267
271
  const primaryKey = (_modelData_primaryKey_name = (_modelData_primaryKey = modelData.primaryKey) === null || _modelData_primaryKey === void 0 ? void 0 : _modelData_primaryKey.name) !== null && _modelData_primaryKey_name !== void 0 ? _modelData_primaryKey_name : (_modelData_primaryKey1 = modelData.primaryKey) === null || _modelData_primaryKey1 === void 0 ? void 0 : _modelData_primaryKey1.fields.join('_');
268
- let parser = parseRawCursor;
272
+ let parser = parsePrismaCursor;
269
273
  if (primaryKey === cursor) {
270
274
  parser = parseCompositeCursor(modelData.primaryKey.fields);
271
275
  } else {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/cursors.ts"],"names":["formatCursorChunk","formatCursor","parseRawCursor","parseID","getDefaultIDSerializer","getDefaultIDParser","serializeID","parseCompositeCursor","prismaCursorConnectionQuery","wrapConnectionResult","resolvePrismaCursorConnection","getCursorFormatter","getCursorParser","DEFAULT_MAX_SIZE","DEFAULT_SIZE","value","Date","String","Number","TypeError","fields","encodeBase64","JSON","stringify","map","name","cursor","decoded","decodeBase64","type","match","parseInt","parse","BigInt","Error","id","dataType","parseFloat","Buffer","from","modelName","fieldName","builder","model","getModel","field","find","f","parent","primaryKey","join","n","kind","idx","index","uniqueIndexes","parts","Array","isArray","result","i","length","toString","parsed","record","forEach","args","ctx","maxSize","defaultSize","parseCursor","before","after","first","last","maxSizeForConnection","defaultSizeForConnection","take","Math","min","skip","results","totalCount","resolveNode","edges","gotFullResults","abs","hasNextPage","hasPreviousPage","nodes","slice","node","pageInfo","startCursor","endCursor","options","resolve","query","modelData","uniqueIndex","parser","rawCursor"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/util/cursors.ts"],"names":["formatCursorChunk","formatPrismaCursor","cursorFormatter","parsePrismaCursor","parseID","getDefaultIDSerializer","getDefaultIDParser","serializeID","parseCompositeCursor","prismaCursorConnectionQuery","wrapConnectionResult","resolvePrismaCursorConnection","getCursorFormatter","getCursorParser","DEFAULT_MAX_SIZE","DEFAULT_SIZE","value","Date","String","Number","TypeError","record","fields","encodeBase64","JSON","stringify","map","name","cursor","decoded","decodeBase64","type","match","parseInt","parse","BigInt","Error","id","dataType","parseFloat","Buffer","from","modelName","fieldName","builder","model","getModel","field","find","f","parent","primaryKey","join","n","kind","idx","index","uniqueIndexes","parts","Array","isArray","result","i","length","toString","parsed","forEach","args","ctx","maxSize","defaultSize","parseCursor","before","after","first","last","maxSizeForConnection","defaultSizeForConnection","take","Math","min","skip","results","totalCount","resolveNode","edges","gotFullResults","abs","hasNextPage","hasPreviousPage","nodes","slice","node","pageInfo","startCursor","endCursor","options","resolve","query","modelData","uniqueIndex","parser","rawCursor"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pothos/plugin-prisma",
3
- "version": "3.38.1",
3
+ "version": "3.40.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",
@@ -66,10 +66,10 @@
66
66
  "graphql": "16.6.0",
67
67
  "graphql-tag": "^2.12.6",
68
68
  "prisma": "^4.7.1",
69
- "@pothos/core": "3.23.1",
69
+ "@pothos/core": "3.24.0",
70
70
  "@pothos/plugin-complexity": "3.11.7",
71
71
  "@pothos/plugin-errors": "3.9.0",
72
- "@pothos/plugin-relay": "3.30.0",
72
+ "@pothos/plugin-relay": "3.32.0",
73
73
  "@pothos/plugin-simple-objects": "3.6.7",
74
74
  "@pothos/test-utils": "1.4.7"
75
75
  },
@@ -233,6 +233,8 @@ declare global {
233
233
  ? T
234
234
  : PrismaModelTypes & Types['PrismaTypes'][Type & keyof Types['PrismaTypes']],
235
235
  Shape = Type extends PrismaObjectRef<PrismaModelTypes, infer S> ? S : Model['Shape'],
236
+ ConnectionInterfaces extends InterfaceParam<Types>[] = [],
237
+ EdgeInterfaces extends InterfaceParam<Types>[] = [],
236
238
  >(
237
239
  options: PrismaConnectionFieldOptions<
238
240
  Types,
@@ -253,11 +255,18 @@ declare global {
253
255
  ObjectRef<Shape>,
254
256
  false,
255
257
  false,
256
- ResolveReturnShape
258
+ ResolveReturnShape,
259
+ ConnectionInterfaces
257
260
  >
258
261
  | ObjectRef<ShapeFromConnection<ConnectionShapeHelper<Types, Shape, false>>>,
259
262
  edgeOptions:
260
- | ConnectionEdgeObjectOptions<Types, ObjectRef<Shape>, false, ResolveReturnShape>
263
+ | ConnectionEdgeObjectOptions<
264
+ Types,
265
+ ObjectRef<Shape>,
266
+ false,
267
+ ResolveReturnShape,
268
+ EdgeInterfaces
269
+ >
261
270
  | ObjectRef<{
262
271
  cursor: string;
263
272
  node?: Shape | null | undefined;
@@ -334,6 +343,7 @@ declare global {
334
343
  EdgeNullability extends FieldNullability<[unknown]>,
335
344
  NodeNullability extends boolean,
336
345
  Resolved,
346
+ Interfaces extends InterfaceParam<Types>[] = [],
337
347
  > {}
338
348
 
339
349
  export interface ConnectionEdgeObjectOptions<
@@ -341,6 +351,7 @@ declare global {
341
351
  Type extends OutputType<Types>,
342
352
  NodeNullability extends boolean,
343
353
  Resolved,
354
+ Interfaces extends InterfaceParam<Types>[] = [],
344
355
  > {}
345
356
 
346
357
  export interface DefaultConnectionArguments {
package/src/index.ts CHANGED
@@ -10,6 +10,7 @@ import SchemaBuilder, {
10
10
  import { PrismaObjectFieldBuilder as InternalPrismaObjectFieldBuilder } from './field-builder';
11
11
  import { ModelLoader } from './model-loader';
12
12
  import { PrismaModelTypes } from './types';
13
+ import { formatPrismaCursor, parsePrismaCursor } from './util/cursors';
13
14
  import { getLoaderMapping, setLoaderMappings } from './util/loader-map';
14
15
  import { queryFromInfo, selectionStateFromInfo } from './util/map-query';
15
16
 
@@ -22,7 +23,7 @@ const pluginName = 'prisma' as const;
22
23
 
23
24
  export default pluginName;
24
25
 
25
- export { queryFromInfo };
26
+ export { formatPrismaCursor, parsePrismaCursor, queryFromInfo };
26
27
 
27
28
  export type PrismaObjectFieldBuilder<
28
29
  Types extends SchemaTypes,
@@ -6,6 +6,7 @@ import {
6
6
  FieldKind,
7
7
  FieldRef,
8
8
  InputFieldMap,
9
+ InterfaceParam,
9
10
  isThenable,
10
11
  MaybePromise,
11
12
  NormalizeArgs,
@@ -106,6 +107,8 @@ export class PrismaObjectFieldBuilder<
106
107
  Nullable extends boolean,
107
108
  Args extends InputFieldMap,
108
109
  ResolveReturnShape,
110
+ ConnectionInterfaces extends InterfaceParam<Types>[] = [],
111
+ EdgeInterfaces extends InterfaceParam<Types>[] = [],
109
112
  >(
110
113
  field: Field,
111
114
  options: RelatedConnectionOptions<Types, Model, Field, Nullable, Args, NeedsResolve>,
@@ -117,7 +120,8 @@ export class PrismaObjectFieldBuilder<
117
120
  ObjectRef<Shape>,
118
121
  false,
119
122
  false,
120
- ResolveReturnShape
123
+ ResolveReturnShape,
124
+ ConnectionInterfaces
121
125
  >
122
126
  | ObjectRef<
123
127
  ShapeFromConnection<PothosSchemaTypes.ConnectionShapeHelper<Types, Shape, false>>
@@ -127,7 +131,8 @@ export class PrismaObjectFieldBuilder<
127
131
  Types,
128
132
  ObjectRef<Shape>,
129
133
  false,
130
- ResolveReturnShape
134
+ ResolveReturnShape,
135
+ EdgeInterfaces
131
136
  >
132
137
  | ObjectRef<{
133
138
  cursor: string;
@@ -23,7 +23,11 @@ export function formatCursorChunk(value: unknown) {
23
23
  }
24
24
  }
25
25
 
26
- export function formatCursor(fields: string | string[]) {
26
+ export function formatPrismaCursor(record: Record<string, unknown>, fields: string | string[]) {
27
+ return cursorFormatter(fields)(record);
28
+ }
29
+
30
+ export function cursorFormatter(fields: string | string[]) {
27
31
  return (value: Record<string, unknown>) => {
28
32
  if (typeof fields === 'string') {
29
33
  return encodeBase64(`GPC:${formatCursorChunk(value[fields])}`);
@@ -33,7 +37,7 @@ export function formatCursor(fields: string | string[]) {
33
37
  };
34
38
  }
35
39
 
36
- export function parseRawCursor(cursor: unknown) {
40
+ export function parsePrismaCursor(cursor: unknown) {
37
41
  if (typeof cursor !== 'string') {
38
42
  throw new TypeError('Cursor must be a string');
39
43
  }
@@ -178,7 +182,7 @@ export function serializeID(id: unknown, dataType: string) {
178
182
 
179
183
  export function parseCompositeCursor(fields: string[]) {
180
184
  return (cursor: unknown) => {
181
- const parsed = parseRawCursor(cursor) as unknown[];
185
+ const parsed = parsePrismaCursor(cursor) as unknown[];
182
186
 
183
187
  if (!Array.isArray(parsed)) {
184
188
  throw new TypeError(`Expected compound cursor to contain an array, but got ${parsed}`);
@@ -320,14 +324,14 @@ export function getCursorFormatter<Types extends SchemaTypes>(
320
324
  const modelData = getModel(name, builder);
321
325
  const primaryKey = modelData.primaryKey?.name ?? modelData.primaryKey?.fields.join('_');
322
326
  if (primaryKey === cursor) {
323
- return formatCursor(modelData.primaryKey!.fields);
327
+ return cursorFormatter(modelData.primaryKey!.fields);
324
328
  }
325
329
 
326
330
  const uniqueIndex = modelData.uniqueIndexes.find(
327
331
  (idx) => (idx.name ?? idx.fields.join('_')) === cursor,
328
332
  );
329
333
 
330
- return formatCursor(uniqueIndex?.fields ?? cursor);
334
+ return cursorFormatter(uniqueIndex?.fields ?? cursor);
331
335
  }
332
336
 
333
337
  export function getCursorParser<Types extends SchemaTypes>(
@@ -338,7 +342,7 @@ export function getCursorParser<Types extends SchemaTypes>(
338
342
  const modelData = getModel(name, builder);
339
343
  const primaryKey = modelData.primaryKey?.name ?? modelData.primaryKey?.fields.join('_');
340
344
 
341
- let parser = parseRawCursor;
345
+ let parser = parsePrismaCursor;
342
346
 
343
347
  if (primaryKey === cursor) {
344
348
  parser = parseCompositeCursor(modelData.primaryKey!.fields);