@pothos/plugin-drizzle 0.17.6 → 0.18.1

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 (50) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dts/connection-helpers.d.ts.map +1 -1
  3. package/dts/drizzle-field-builder.d.ts.map +1 -1
  4. package/dts/types.d.ts +6 -2
  5. package/dts/types.d.ts.map +1 -1
  6. package/dts/utils/config.d.ts +3 -0
  7. package/dts/utils/config.d.ts.map +1 -1
  8. package/dts/utils/cursors.d.ts +11 -7
  9. package/dts/utils/cursors.d.ts.map +1 -1
  10. package/dts/utils/map-query.d.ts.map +1 -1
  11. package/esm/connection-helpers.d.ts.map +1 -1
  12. package/esm/connection-helpers.js +5 -4
  13. package/esm/connection-helpers.js.map +1 -1
  14. package/esm/drizzle-field-builder.d.ts.map +1 -1
  15. package/esm/drizzle-field-builder.js +5 -4
  16. package/esm/drizzle-field-builder.js.map +1 -1
  17. package/esm/types.d.ts +6 -2
  18. package/esm/types.d.ts.map +1 -1
  19. package/esm/types.js +1 -0
  20. package/esm/types.js.map +1 -1
  21. package/esm/utils/config.d.ts +3 -0
  22. package/esm/utils/config.d.ts.map +1 -1
  23. package/esm/utils/config.js +95 -17
  24. package/esm/utils/config.js.map +1 -1
  25. package/esm/utils/cursors.d.ts +11 -7
  26. package/esm/utils/cursors.d.ts.map +1 -1
  27. package/esm/utils/cursors.js +194 -113
  28. package/esm/utils/cursors.js.map +1 -1
  29. package/esm/utils/map-query.d.ts.map +1 -1
  30. package/esm/utils/map-query.js +24 -6
  31. package/esm/utils/map-query.js.map +1 -1
  32. package/lib/connection-helpers.js +5 -4
  33. package/lib/connection-helpers.js.map +1 -1
  34. package/lib/drizzle-field-builder.js +5 -4
  35. package/lib/drizzle-field-builder.js.map +1 -1
  36. package/lib/types.js +4 -0
  37. package/lib/types.js.map +1 -1
  38. package/lib/utils/config.js +95 -17
  39. package/lib/utils/config.js.map +1 -1
  40. package/lib/utils/cursors.js +196 -112
  41. package/lib/utils/cursors.js.map +1 -1
  42. package/lib/utils/map-query.js +24 -6
  43. package/lib/utils/map-query.js.map +1 -1
  44. package/package.json +4 -4
  45. package/src/connection-helpers.ts +6 -4
  46. package/src/drizzle-field-builder.ts +7 -4
  47. package/src/types.ts +9 -4
  48. package/src/utils/config.ts +117 -20
  49. package/src/utils/cursors.ts +248 -87
  50. package/src/utils/map-query.ts +41 -15
@@ -1,5 +1,5 @@
1
1
  import { decodeBase64, encodeBase64, PothosValidationError } from '@pothos/core';
2
- import { getColumns } from 'drizzle-orm';
2
+ import { asc, desc, eq, getColumns, gt, isNull, lt, sql } from 'drizzle-orm';
3
3
  import { queryFromInfo } from './map-query.js';
4
4
  import { omitUndefinedKeys } from './selections.js';
5
5
  const DEFAULT_MAX_SIZE = 100;
@@ -50,15 +50,20 @@ export function getIDSerializer(fields, config) {
50
50
  return `${formatIDChunk(value[config.columnToTsName(fields[0])])}`;
51
51
  };
52
52
  }
53
+ export function cursorFieldKey(field, config) {
54
+ return typeof field === 'string' ? field : config.columnToTsName(field);
55
+ }
53
56
  export function getColumnSerializer(fields, config) {
54
57
  if (fields.length === 0) {
55
58
  throw new PothosValidationError('Column serializer must have at least one field');
56
59
  }
57
60
  return (value)=>{
58
61
  if (fields.length > 1) {
59
- return `J:${JSON.stringify(fields.map((col)=>value[config.columnToTsName(col)]))}`;
62
+ // each value carries its own type tag, the same ones a single value gets.
63
+ // Plain JSON would turn a Date into a string and refuse a bigint outright.
64
+ return `T:${JSON.stringify(fields.map((field)=>formatCursorChunk(value[cursorFieldKey(field, config)])))}`;
60
65
  }
61
- return formatCursorChunk(value[config.columnToTsName(fields[0])]);
66
+ return formatCursorChunk(value[cursorFieldKey(fields[0], config)]);
62
67
  };
63
68
  }
64
69
  export function getCursorFormatter(fields, config) {
@@ -89,7 +94,7 @@ export function parseSerializedDrizzleColumn(value) {
89
94
  throw new PothosValidationError('value must be a string');
90
95
  }
91
96
  try {
92
- const [, type, rawValue] = value.match(/^(S|N|D|J|I):(.*)/);
97
+ const [, type, rawValue] = value.match(/^(S|N|D|J|I|T):(.*)/);
93
98
  switch(type){
94
99
  case 'S':
95
100
  return rawValue;
@@ -98,7 +103,11 @@ export function parseSerializedDrizzleColumn(value) {
98
103
  case 'D':
99
104
  return new Date(Number.parseInt(rawValue, 10));
100
105
  case 'J':
106
+ // compound values from before each one carried a tag: whatever JSON
107
+ // preserved is the best that can be recovered
101
108
  return JSON.parse(rawValue);
109
+ case 'T':
110
+ return JSON.parse(rawValue).map((chunk)=>chunk === null ? null : parseSerializedDrizzleColumn(chunk));
102
111
  case 'I':
103
112
  return BigInt(rawValue);
104
113
  default:
@@ -188,79 +197,207 @@ export function getColumnParser(fields) {
188
197
  return record;
189
198
  };
190
199
  }
191
- export function getCursorParser(fields) {
192
- if (fields.length === 0) {
200
+ export function getCursorParser(keys) {
201
+ if (keys.length === 0) {
193
202
  throw new PothosValidationError('Cursor must have at least one field');
194
203
  }
195
204
  return (cursor)=>{
196
205
  const parsed = parseDrizzleCursor(cursor);
197
- if (fields.length === 1) {
206
+ if (keys.length === 1) {
198
207
  return {
199
- [fields[0].name]: parsed
208
+ [keys[0]]: parsed
200
209
  };
201
210
  }
202
- if (!Array.isArray(parsed)) {
203
- throw new PothosValidationError(`Expected compound cursor to contain an array, but got ${parsed}`);
211
+ // A cursor issued before a column joined the ordering only holds values for
212
+ // the columns that came before it. Those still describe a position, just a
213
+ // less precise one, so the page is keyed off the prefix the cursor covers
214
+ // rather than rejected. Cursors returned by that page carry every column.
215
+ const values = Array.isArray(parsed) ? parsed : [
216
+ parsed
217
+ ];
218
+ if (values.length === 0) {
219
+ throw new PothosValidationError('Cursor contains no values');
220
+ }
221
+ if (values.length > keys.length) {
222
+ throw new PothosValidationError(`Expected cursor to contain at most ${keys.length} values, but got ${values.length}`);
204
223
  }
205
224
  const record = {};
206
- fields.forEach((field, i)=>{
207
- record[field.name] = parsed[i];
225
+ values.forEach((value, i)=>{
226
+ record[keys[i]] = value;
208
227
  });
209
228
  return record;
210
229
  };
211
230
  }
212
- function parseOrderBy(config, table, orderBy, invert) {
213
- const entries = [];
214
- const columns = [];
231
+ function resolveExpression(expression, table) {
232
+ return typeof expression === 'function' ? expression(table, {
233
+ sql
234
+ }) : expression;
235
+ }
236
+ // Drizzle aliases the table it is querying (`d0`), so ordering and comparing
237
+ // have to reach for the column on that alias rather than the original table.
238
+ // Expressions get the alias handed to them and resolve themselves.
239
+ function orderTarget(entry, table) {
240
+ if (entry.column) {
241
+ var _table_entry_key;
242
+ return (_table_entry_key = table[entry.key]) !== null && _table_entry_key !== void 0 ? _table_entry_key : entry.column;
243
+ }
244
+ return resolveExpression(entry.expression, table);
245
+ }
246
+ function flipDirection(direction) {
247
+ return direction === 'asc' ? 'desc' : 'asc';
248
+ }
249
+ function ordersBy(entries, column) {
250
+ return entries.some((entry)=>{
251
+ var _entry_column;
252
+ return ((_entry_column = entry.column) === null || _entry_column === void 0 ? void 0 : _entry_column.name) === column.name;
253
+ });
254
+ }
255
+ // The ordering fixes a row's position only if some set of columns the database
256
+ // keeps unique is fully covered by it. A nullable column can't contribute:
257
+ // rows sharing a null tie with each other, and a cursor compared against null
258
+ // matches nothing.
259
+ function orderIsUnique(entries, config, table) {
260
+ return config.getUniqueConstraints(table.name).some((columns)=>columns.every((column)=>column.notNull && ordersBy(entries, column)));
261
+ }
262
+ // A cursor names a row's position in the ordering, which only works if no two
263
+ // rows can share a position. Ordering by a column with duplicate values (a
264
+ // timestamp, a status) leaves ties to be broken arbitrarily, so a row can move
265
+ // between pages and end up returned twice or skipped entirely. Appending a key
266
+ // the database keeps unique fixes that. Key columns already in the ordering are
267
+ // left where the user put them.
268
+ function appendTieBreaker(entries, config, table) {
269
+ var _ref;
270
+ var _entries_;
271
+ if (orderIsUnique(entries, config, table)) {
272
+ return;
273
+ }
274
+ const tieBreaker = config.findTieBreaker(table.name);
275
+ if (!tieBreaker) {
276
+ return;
277
+ }
278
+ const direction = (_ref = (_entries_ = entries[entries.length - 1]) === null || _entries_ === void 0 ? void 0 : _entries_.direction) !== null && _ref !== void 0 ? _ref : 'asc';
279
+ for (const column of tieBreaker){
280
+ if (!ordersBy(entries, column)) {
281
+ entries.push({
282
+ direction,
283
+ key: config.columnToTsName(column),
284
+ column
285
+ });
286
+ }
287
+ }
288
+ }
289
+ function parseOrderBy(config, table, orderBy, invert, extras) {
215
290
  const normalized = [];
216
- const asc = invert ? 'desc' : 'asc';
217
- const desc = invert ? 'asc' : 'desc';
218
- if ('table' in orderBy && orderBy.table && typeof orderBy.table === 'object') {
219
- entries.push([
220
- config.columnToTsName(orderBy),
221
- asc
222
- ]);
223
- columns.push(orderBy);
224
- normalized.push({
225
- direction: 'asc',
226
- column: orderBy
291
+ const columnEntry = (column, direction)=>({
292
+ direction,
293
+ key: config.columnToTsName(column),
294
+ column
227
295
  });
296
+ if ('table' in orderBy && orderBy.table && typeof orderBy.table === 'object') {
297
+ normalized.push(columnEntry(orderBy, 'asc'));
228
298
  } else if (Array.isArray(orderBy)) {
229
299
  for (const field of orderBy){
230
- entries.push([
231
- config.columnToTsName(field),
232
- asc
233
- ]);
234
- columns.push(field);
235
- normalized.push({
236
- direction: 'asc',
237
- column: field
238
- });
300
+ normalized.push(columnEntry(field, 'asc'));
239
301
  }
240
302
  } else {
241
303
  const tableColumns = getColumns(table.table);
242
304
  Object.entries(orderBy).forEach(([name, direction])=>{
243
- if (direction) {
244
- const column = tableColumns[name];
245
- columns.push(column);
246
- entries.push([
247
- name,
248
- direction === 'asc' ? asc : desc
249
- ]);
250
- normalized.push({
251
- direction: direction,
252
- column
253
- });
305
+ if (!direction) {
306
+ return;
307
+ }
308
+ const column = tableColumns[name];
309
+ if (column) {
310
+ normalized.push(columnEntry(column, direction));
311
+ return;
254
312
  }
313
+ const expression = extras === null || extras === void 0 ? void 0 : extras[name];
314
+ if (!expression) {
315
+ throw new PothosValidationError(`Can't order by "${name}": ${table.name} has no such column, and the query passed to the connection declares no extra with that name`);
316
+ }
317
+ normalized.push({
318
+ direction,
319
+ key: name,
320
+ expression
321
+ });
255
322
  });
256
323
  }
324
+ appendTieBreaker(normalized, config, table);
325
+ const directionFor = ({ direction })=>invert ? flipDirection(direction) : direction;
257
326
  return {
258
327
  normalized,
259
- columns,
260
- orderBy: Object.fromEntries(entries)
328
+ // only real columns need adding to the selection; extras are already selected
329
+ columns: normalized.flatMap(({ column })=>column ? [
330
+ column
331
+ ] : []),
332
+ cursorFields: normalized.map(({ column, key })=>column !== null && column !== void 0 ? column : key),
333
+ // the object form can only name columns, so an expression forces the
334
+ // callback form -- which renders identically for the columns beside it
335
+ orderBy: normalized.some(({ expression })=>expression) ? (t)=>normalized.map((entry)=>(directionFor(entry) === 'asc' ? asc : desc)(orderTarget(entry, t))) : Object.fromEntries(normalized.map((entry)=>[
336
+ entry.key,
337
+ directionFor(entry)
338
+ ]))
339
+ };
340
+ }
341
+ // Rows past the cursor are those where the first ordering column that differs
342
+ // from the cursor differs in the direction being paged. Columns the cursor
343
+ // doesn't cover are left out: it was issued for a shorter ordering, and its
344
+ // prefix still describes a position.
345
+ function compareTo(entry, operator, value) {
346
+ const isNullish = value === null || value === undefined;
347
+ if (entry.column) {
348
+ if (operator === 'eq' && isNullish) {
349
+ return {
350
+ [entry.key]: {
351
+ isNull: true
352
+ }
353
+ };
354
+ }
355
+ // never the `{ column: value }` shorthand: drizzle reads any object value
356
+ // as a nested filter, so a null throws and a Date silently drops the
357
+ // comparison. Naming the operator works for every value a cursor can hold
358
+ return {
359
+ [entry.key]: {
360
+ [operator]: value
361
+ }
362
+ };
363
+ }
364
+ if (operator === 'eq' && isNullish) {
365
+ return {
366
+ RAW: (table)=>isNull(orderTarget(entry, table))
367
+ };
368
+ }
369
+ const operators = {
370
+ gt,
371
+ lt,
372
+ eq
373
+ };
374
+ // RAW hands the filter the table it is being built against, which is what an
375
+ // expression needs to resolve
376
+ return {
377
+ RAW: (table)=>operators[operator](orderTarget(entry, table), value)
261
378
  };
262
379
  }
263
- export function drizzleCursorConnectionQuery({ args, ctx, maxSize = DEFAULT_MAX_SIZE, defaultSize = DEFAULT_SIZE, orderBy, where, config, table }) {
380
+ function keysetFilter(entries, cursor, paging) {
381
+ const parsedCursor = getCursorParser(entries.map(({ key })=>key))(cursor);
382
+ const covered = entries.filter(({ key })=>key in parsedCursor);
383
+ const parts = covered.map((entry, index)=>{
384
+ const ascending = paging === 'after' ? entry.direction === 'asc' : entry.direction === 'desc';
385
+ const compare = compareTo(entry, ascending ? 'gt' : 'lt', parsedCursor[entry.key]);
386
+ if (index === 0) {
387
+ return compare;
388
+ }
389
+ return {
390
+ AND: [
391
+ ...covered.slice(0, index).map((previous)=>compareTo(previous, 'eq', parsedCursor[previous.key])),
392
+ compare
393
+ ]
394
+ };
395
+ });
396
+ return parts.length > 1 ? {
397
+ OR: parts
398
+ } : parts[0];
399
+ }
400
+ export function drizzleCursorConnectionQuery({ args, ctx, maxSize = DEFAULT_MAX_SIZE, defaultSize = DEFAULT_SIZE, orderBy, extras, where, config, table }) {
264
401
  var _ref;
265
402
  const { before, after, first, last } = args;
266
403
  if (first != null && first < 0) {
@@ -276,7 +413,7 @@ export function drizzleCursorConnectionQuery({ args, ctx, maxSize = DEFAULT_MAX_
276
413
  const defaultSizeForConnection = typeof defaultSize === 'function' ? defaultSize(args, ctx) : defaultSize;
277
414
  const limit = Math.min((_ref = first !== null && first !== void 0 ? first : last) !== null && _ref !== void 0 ? _ref : defaultSizeForConnection, maxSizeForConnection) + 1;
278
415
  const inverted = !first && !!last;
279
- const parsedOrderBy = parseOrderBy(config, table, orderBy, inverted);
416
+ const parsedOrderBy = parseOrderBy(config, table, orderBy, inverted, extras);
280
417
  const columns = {};
281
418
  for (const column of parsedOrderBy.columns){
282
419
  columns[config.columnToTsName(column)] = true;
@@ -286,71 +423,13 @@ export function drizzleCursorConnectionQuery({ args, ctx, maxSize = DEFAULT_MAX_
286
423
  whereClauses.push(where);
287
424
  }
288
425
  if (after) {
289
- const cursorParser = getCursorParser(parsedOrderBy.columns);
290
- const parsedCursor = cursorParser(after);
291
- const parts = parsedOrderBy.normalized.map(({ direction, column }, index)=>{
292
- const columnName = config.columnToTsName(column);
293
- const compare = direction === 'asc' ? {
294
- [columnName]: {
295
- gt: parsedCursor[column.name]
296
- }
297
- } : {
298
- [columnName]: {
299
- lt: parsedCursor[column.name]
300
- }
301
- };
302
- if (index === 0) {
303
- return compare;
304
- }
305
- return {
306
- AND: [
307
- ...parsedOrderBy.normalized.slice(0, index).map(({ column: c })=>{
308
- return {
309
- [config.columnToTsName(c)]: parsedCursor[c.name]
310
- };
311
- }),
312
- compare
313
- ]
314
- };
315
- });
316
- whereClauses.push(parts.length > 1 ? {
317
- OR: parts
318
- } : parts[0]);
426
+ whereClauses.push(keysetFilter(parsedOrderBy.normalized, after, 'after'));
319
427
  }
320
428
  if (before) {
321
- const cursorParser = getCursorParser(parsedOrderBy.columns);
322
- const parsedCursor = cursorParser(before);
323
- const parts = parsedOrderBy.normalized.map(({ direction, column }, index)=>{
324
- const columnName = config.columnToTsName(column);
325
- const compare = direction === 'desc' ? {
326
- [columnName]: {
327
- gt: parsedCursor[column.name]
328
- }
329
- } : {
330
- [columnName]: {
331
- lt: parsedCursor[column.name]
332
- }
333
- };
334
- if (index === 0) {
335
- return compare;
336
- }
337
- return {
338
- AND: [
339
- ...parsedOrderBy.normalized.slice(0, index).map(({ column: c })=>{
340
- return {
341
- [config.columnToTsName(c)]: parsedCursor[c.name]
342
- };
343
- }),
344
- compare
345
- ]
346
- };
347
- });
348
- whereClauses.push(parts.length > 1 ? {
349
- OR: parts
350
- } : parts[0]);
429
+ whereClauses.push(keysetFilter(parsedOrderBy.normalized, before, 'before'));
351
430
  }
352
431
  return omitUndefinedKeys({
353
- cursorColumns: parsedOrderBy.columns,
432
+ cursorFields: parsedOrderBy.cursorFields,
354
433
  columns,
355
434
  orderBy: parsedOrderBy.orderBy,
356
435
  limit,
@@ -402,18 +481,20 @@ export async function resolveDrizzleCursorConnection(tableName, info, typeName,
402
481
  let formatter;
403
482
  const results = await resolve((q = {})=>{
404
483
  var _ref;
405
- const { cursorColumns, ...connectionQuery } = drizzleCursorConnectionQuery({
484
+ const { cursorFields, ...connectionQuery } = drizzleCursorConnectionQuery({
406
485
  ...options,
407
486
  config,
408
487
  orderBy: (_ref = typeof q.orderBy === 'function' ? q.orderBy(table.table) : q.orderBy) !== null && _ref !== void 0 ? _ref : config.getPrimaryKey(table.name),
488
+ extras: q.extras,
409
489
  table
410
490
  });
411
- formatter = getCursorFormatter(cursorColumns, config);
491
+ formatter = getCursorFormatter(cursorFields, config);
412
492
  query = queryFromInfo({
413
493
  context: options.ctx,
414
494
  info,
415
495
  select: omitUndefinedKeys({
416
496
  ...connectionQuery,
497
+ extras: q.extras,
417
498
  columns: {
418
499
  ...q.columns,
419
500
  ...connectionQuery.columns
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/cursors.ts"],"names":["decodeBase64","encodeBase64","PothosValidationError","getColumns","queryFromInfo","omitUndefinedKeys","DEFAULT_MAX_SIZE","DEFAULT_SIZE","formatCursorChunk","value","Date","String","Number","formatDrizzleCursor","record","fields","config","getCursorFormatter","formatIDChunk","getIDSerializer","length","map","field","keyAsName","JSON","stringify","col","columnToTsName","getColumnSerializer","serializer","parseDrizzleCursor","cursor","decoded","startsWith","parseSerializedDrizzleColumn","slice","type","rawValue","match","parseInt","parse","BigInt","parseSerializedIDColumn","id","dataType","error","getIDParser","name","parsed","Array","isArray","forEach","i","getColumnParser","getCursorParser","parseOrderBy","table","orderBy","invert","entries","columns","normalized","asc","desc","push","direction","column","tableColumns","Object","fromEntries","drizzleCursorConnectionQuery","args","ctx","maxSize","defaultSize","where","first","before","after","last","maxSizeForConnection","defaultSizeForConnection","limit","Math","min","inverted","parsedOrderBy","whereClauses","cursorParser","parsedCursor","parts","index","columnName","compare","gt","lt","AND","c","OR","cursorColumns","wrapConnectionResult","results","resolveNode","parent","totalCount","edges","gotFullResults","abs","hasNextPage","hasPreviousPage","nodes","connection","pageInfo","startCursor","endCursor","node","reverse","resolveDrizzleCursorConnection","tableName","info","typeName","options","resolve","relations","query","formatter","q","connectionQuery","getPrimaryKey","context","select","paths","undefined"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utils/cursors.ts"],"names":["decodeBase64","encodeBase64","PothosValidationError","asc","desc","eq","getColumns","gt","isNull","lt","sql","queryFromInfo","omitUndefinedKeys","DEFAULT_MAX_SIZE","DEFAULT_SIZE","formatCursorChunk","value","Date","String","Number","formatDrizzleCursor","record","fields","config","getCursorFormatter","formatIDChunk","getIDSerializer","length","map","field","keyAsName","JSON","stringify","col","columnToTsName","cursorFieldKey","getColumnSerializer","serializer","parseDrizzleCursor","cursor","decoded","startsWith","parseSerializedDrizzleColumn","slice","type","rawValue","match","parseInt","parse","chunk","BigInt","parseSerializedIDColumn","id","dataType","error","getIDParser","name","parsed","Array","isArray","forEach","i","getColumnParser","getCursorParser","keys","values","resolveExpression","expression","table","orderTarget","entry","column","key","flipDirection","direction","ordersBy","entries","some","orderIsUnique","getUniqueConstraints","columns","every","notNull","appendTieBreaker","tieBreaker","findTieBreaker","push","parseOrderBy","orderBy","invert","extras","normalized","columnEntry","tableColumns","Object","directionFor","flatMap","cursorFields","t","fromEntries","compareTo","operator","isNullish","undefined","RAW","operators","keysetFilter","paging","parsedCursor","covered","filter","parts","index","ascending","compare","AND","previous","OR","drizzleCursorConnectionQuery","args","ctx","maxSize","defaultSize","where","first","before","after","last","maxSizeForConnection","defaultSizeForConnection","limit","Math","min","inverted","parsedOrderBy","whereClauses","wrapConnectionResult","results","resolveNode","parent","totalCount","edges","gotFullResults","abs","hasNextPage","hasPreviousPage","nodes","connection","pageInfo","startCursor","endCursor","node","reverse","resolveDrizzleCursorConnection","tableName","info","typeName","options","resolve","relations","query","formatter","q","connectionQuery","getPrimaryKey","context","select","paths"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"map-query.d.ts","sourceRoot":"","sources":["../../src/utils/map-query.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,gBAAgB,EAErB,KAAK,kBAAkB,EAUxB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,cAAc,EAGpB,MAAM,iBAAiB,CAAC;AAGzB,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzC,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,EAAE,CAAC;CAC7C;AAqbD,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,YAAY;IAC1D,MAAM,EAAE,yBAAyB,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,EACpD,cAAc,EACd,GAAG,OAAO,EACX,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAQ7B;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,EACpD,MAAM,EACN,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,IAAS,EACT,KAAU,GACX,EAAE,oBAAoB,CAAC,CAAC,CAAC,kBA4FzB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,EACxB,QAAQ,CAAC,EAAE,MAAM,kBAelB;AA+BD,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,oBAU/E;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,gBAAgB,EACtB,YAAY,CAAC,EAAE,gBAAgB,GAC9B,eAAe,CA+BjB"}
1
+ {"version":3,"file":"map-query.d.ts","sourceRoot":"","sources":["../../src/utils/map-query.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,gBAAgB,EAErB,KAAK,kBAAkB,EAUxB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,cAAc,EAGpB,MAAM,iBAAiB,CAAC;AAGzB,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzC,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,EAAE,CAAC;CAC7C;AA+cD,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,YAAY;IAC1D,MAAM,EAAE,yBAAyB,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,EACpD,cAAc,EACd,GAAG,OAAO,EACX,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAQ7B;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,EACpD,MAAM,EACN,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,IAAS,EACT,KAAU,GACX,EAAE,oBAAoB,CAAC,CAAC,CAAC,kBA4FzB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,EACxB,QAAQ,CAAC,EAAE,MAAM,kBAelB;AA+BD,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,oBAU/E;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,gBAAgB,EACtB,YAAY,CAAC,EAAE,gBAAgB,GAC9B,eAAe,CA+BjB"}
@@ -81,6 +81,26 @@ function resolveIndirectInclude(type, info, selection, includePath, path, resolv
81
81
  }
82
82
  }
83
83
  }
84
+ // The type to plan a fragment's selections against, or null when the fragment
85
+ // cannot apply to `type`. A fragment on an interface the object implements is
86
+ // planned against the object, whose field map already carries the interface
87
+ // fields and their `select` extensions.
88
+ function typeForFragment(type, condition) {
89
+ var _condition_extensions;
90
+ if (isObjectType(type)) {
91
+ if (condition.name === type.name) {
92
+ return type;
93
+ }
94
+ if (isInterfaceType(condition) && type.getInterfaces().some((iface)=>iface.name === condition.name)) {
95
+ return type;
96
+ }
97
+ return null;
98
+ }
99
+ if ((isObjectType(condition) || isInterfaceType(condition)) && ((_condition_extensions = condition.extensions) === null || _condition_extensions === void 0 ? void 0 : _condition_extensions.pothosDrizzleModel) === type.extensions.pothosDrizzleModel) {
100
+ return condition;
101
+ }
102
+ return null;
103
+ }
84
104
  function addNestedSelections(config, type, context, info, state, selections, indirectPath, segments = []) {
85
105
  let parentType = type;
86
106
  for (const selection of selections.selections){
@@ -89,23 +109,21 @@ function addNestedSelections(config, type, context, info, state, selections, ind
89
109
  addFieldSelection(config, type, context, info, state, selection, indirectPath, segments);
90
110
  continue;
91
111
  case Kind.FRAGMENT_SPREAD:
92
- var _parentType_extensions;
93
112
  if (state.skipDeferredFragments && isDeferredFragment(selection, info)) {
94
113
  continue;
95
114
  }
96
- parentType = info.schema.getType(info.fragments[selection.name.value].typeCondition.name.value);
97
- if (isObjectType(type) ? parentType.name !== type.name : ((_parentType_extensions = parentType.extensions) === null || _parentType_extensions === void 0 ? void 0 : _parentType_extensions.pothosDrizzleModel) !== type.extensions.pothosDrizzleModel) {
115
+ parentType = typeForFragment(type, info.schema.getType(info.fragments[selection.name.value].typeCondition.name.value));
116
+ if (!parentType) {
98
117
  continue;
99
118
  }
100
119
  addNestedSelections(config, parentType, context, info, state, info.fragments[selection.name.value].selectionSet, indirectPath, segments);
101
120
  continue;
102
121
  case Kind.INLINE_FRAGMENT:
103
- var _parentType_extensions1;
104
122
  if (state.skipDeferredFragments && isDeferredFragment(selection, info)) {
105
123
  continue;
106
124
  }
107
- parentType = selection.typeCondition ? info.schema.getType(selection.typeCondition.name.value) : type;
108
- if (isObjectType(type) ? parentType.name !== type.name : ((_parentType_extensions1 = parentType.extensions) === null || _parentType_extensions1 === void 0 ? void 0 : _parentType_extensions1.pothosDrizzleModel) !== type.extensions.pothosDrizzleModel) {
125
+ parentType = selection.typeCondition ? typeForFragment(type, info.schema.getType(selection.typeCondition.name.value)) : type;
126
+ if (!parentType) {
109
127
  continue;
110
128
  }
111
129
  addNestedSelections(config, parentType, context, info, state, selection.selectionSet, indirectPath, segments);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/map-query.ts"],"names":["getMappedArgumentValues","PothosValidationError","GraphQLIncludeDirective","GraphQLSkipDirective","getDirectiveValues","getNamedType","isInterfaceType","isListType","isObjectType","Kind","setLoaderMappings","createState","mergeSelection","selectionCompatible","selectionToQuery","wrapWithUsageCheck","addTypeSelectionsForField","config","type","context","info","state","selection","indirectPath","deferred","segments","name","value","startsWith","pothosDrizzleSelect","pothosIndirectInclude","extensions","path","length","paths","resolveIndirectIncludePaths","resolvedType","field","schema","getType","selectionSet","skipDeferredFragments","addNestedSelections","pathPrefix","includePaths","resolve","includePath","resolveIndirectInclude","include","rest","sel","selections","kind","FIELD","fieldSkipped","returnType","getFields","alias","FRAGMENT_SPREAD","fragments","typeCondition","isDeferredFragment","INLINE_FRAGMENT","parentType","addFieldSelection","pothosDrizzleModel","allSegments","isList","fieldSelect","fieldSelectionMap","mappings","pathInfo","map","s","args","rawQuery","indirectInclude","expectedType","query","normalizedIndirectInclude","Array","isArray","normalizeInclude","getIndirectType","undefined","fieldState","createStateForSelection","Object","keys","columns","resolvedField","node","_","mergeMappings","existing","incoming","result","key","entries","queryFromInfo","withUsageCheck","options","stateFromInfo","typeName","select","getTypeMap","initialSelection","fieldNodes","indirectType","indirectField","subPath","p","n","nested","rootFieldNode","rootField","initialSegments","selectionStateFromInfo","parent","initialSelections","targetType","pothosDrizzleTable","currentType","normalized","fieldName","push","skip","variableValues","if","deferDirective","getDirective","defer"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utils/map-query.ts"],"names":["getMappedArgumentValues","PothosValidationError","GraphQLIncludeDirective","GraphQLSkipDirective","getDirectiveValues","getNamedType","isInterfaceType","isListType","isObjectType","Kind","setLoaderMappings","createState","mergeSelection","selectionCompatible","selectionToQuery","wrapWithUsageCheck","addTypeSelectionsForField","config","type","context","info","state","selection","indirectPath","deferred","segments","name","value","startsWith","pothosDrizzleSelect","pothosIndirectInclude","extensions","path","length","paths","resolveIndirectIncludePaths","resolvedType","field","schema","getType","selectionSet","skipDeferredFragments","addNestedSelections","pathPrefix","includePaths","resolve","includePath","resolveIndirectInclude","include","rest","sel","selections","kind","FIELD","fieldSkipped","returnType","getFields","alias","FRAGMENT_SPREAD","fragments","typeCondition","isDeferredFragment","INLINE_FRAGMENT","typeForFragment","condition","getInterfaces","some","iface","pothosDrizzleModel","parentType","addFieldSelection","allSegments","isList","fieldSelect","fieldSelectionMap","mappings","pathInfo","map","s","args","rawQuery","indirectInclude","expectedType","query","normalizedIndirectInclude","Array","isArray","normalizeInclude","getIndirectType","undefined","fieldState","createStateForSelection","Object","keys","columns","resolvedField","node","_","mergeMappings","existing","incoming","result","key","entries","queryFromInfo","withUsageCheck","options","stateFromInfo","typeName","select","getTypeMap","initialSelection","fieldNodes","indirectType","indirectField","subPath","p","n","nested","rootFieldNode","rootField","initialSegments","selectionStateFromInfo","parent","initialSelections","targetType","pothosDrizzleTable","currentType","normalized","fieldName","push","skip","variableValues","if","deferDirective","getDirective","defer"],"mappings":"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"}