@pothos/plugin-drizzle 0.17.5 → 0.18.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 (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 +5 -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 +12 -8
  9. package/dts/utils/cursors.d.ts.map +1 -1
  10. package/dts/utils/selections.d.ts +1 -0
  11. package/dts/utils/selections.d.ts.map +1 -1
  12. package/esm/connection-helpers.d.ts.map +1 -1
  13. package/esm/connection-helpers.js +8 -7
  14. package/esm/connection-helpers.js.map +1 -1
  15. package/esm/drizzle-field-builder.d.ts.map +1 -1
  16. package/esm/drizzle-field-builder.js +8 -6
  17. package/esm/drizzle-field-builder.js.map +1 -1
  18. package/esm/types.d.ts +5 -2
  19. package/esm/types.d.ts.map +1 -1
  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 +12 -8
  26. package/esm/utils/cursors.d.ts.map +1 -1
  27. package/esm/utils/cursors.js +199 -117
  28. package/esm/utils/cursors.js.map +1 -1
  29. package/esm/utils/selections.d.ts +1 -0
  30. package/esm/utils/selections.d.ts.map +1 -1
  31. package/esm/utils/selections.js +10 -4
  32. package/esm/utils/selections.js.map +1 -1
  33. package/lib/connection-helpers.js +7 -6
  34. package/lib/connection-helpers.js.map +1 -1
  35. package/lib/drizzle-field-builder.js +8 -6
  36. package/lib/drizzle-field-builder.js.map +1 -1
  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 +201 -116
  41. package/lib/utils/cursors.js.map +1 -1
  42. package/lib/utils/selections.js +13 -4
  43. package/lib/utils/selections.js.map +1 -1
  44. package/package.json +4 -4
  45. package/src/connection-helpers.ts +14 -7
  46. package/src/drizzle-field-builder.ts +10 -7
  47. package/src/types.ts +8 -4
  48. package/src/utils/config.ts +117 -20
  49. package/src/utils/cursors.ts +253 -92
  50. package/src/utils/selections.ts +12 -4
@@ -9,6 +9,9 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
+ get cursorFieldKey () {
13
+ return cursorFieldKey;
14
+ },
12
15
  get drizzleCursorConnectionQuery () {
13
16
  return drizzleCursorConnectionQuery;
14
17
  },
@@ -58,6 +61,7 @@ _export(exports, {
58
61
  const _core = require("@pothos/core");
59
62
  const _drizzleorm = require("drizzle-orm");
60
63
  const _mapquery = require("./map-query.js");
64
+ const _selections = require("./selections.js");
61
65
  const DEFAULT_MAX_SIZE = 100;
62
66
  const DEFAULT_SIZE = 20;
63
67
  function formatCursorChunk(value) {
@@ -106,15 +110,20 @@ function getIDSerializer(fields, config) {
106
110
  return `${formatIDChunk(value[config.columnToTsName(fields[0])])}`;
107
111
  };
108
112
  }
113
+ function cursorFieldKey(field, config) {
114
+ return typeof field === 'string' ? field : config.columnToTsName(field);
115
+ }
109
116
  function getColumnSerializer(fields, config) {
110
117
  if (fields.length === 0) {
111
118
  throw new _core.PothosValidationError('Column serializer must have at least one field');
112
119
  }
113
120
  return (value)=>{
114
121
  if (fields.length > 1) {
115
- return `J:${JSON.stringify(fields.map((col)=>value[config.columnToTsName(col)]))}`;
122
+ // each value carries its own type tag, the same ones a single value gets.
123
+ // Plain JSON would turn a Date into a string and refuse a bigint outright.
124
+ return `T:${JSON.stringify(fields.map((field)=>formatCursorChunk(value[cursorFieldKey(field, config)])))}`;
116
125
  }
117
- return formatCursorChunk(value[config.columnToTsName(fields[0])]);
126
+ return formatCursorChunk(value[cursorFieldKey(fields[0], config)]);
118
127
  };
119
128
  }
120
129
  function getCursorFormatter(fields, config) {
@@ -145,7 +154,7 @@ function parseSerializedDrizzleColumn(value) {
145
154
  throw new _core.PothosValidationError('value must be a string');
146
155
  }
147
156
  try {
148
- const [, type, rawValue] = value.match(/^(S|N|D|J|I):(.*)/);
157
+ const [, type, rawValue] = value.match(/^(S|N|D|J|I|T):(.*)/);
149
158
  switch(type){
150
159
  case 'S':
151
160
  return rawValue;
@@ -154,7 +163,11 @@ function parseSerializedDrizzleColumn(value) {
154
163
  case 'D':
155
164
  return new Date(Number.parseInt(rawValue, 10));
156
165
  case 'J':
166
+ // compound values from before each one carried a tag: whatever JSON
167
+ // preserved is the best that can be recovered
157
168
  return JSON.parse(rawValue);
169
+ case 'T':
170
+ return JSON.parse(rawValue).map((chunk)=>chunk === null ? null : parseSerializedDrizzleColumn(chunk));
158
171
  case 'I':
159
172
  return BigInt(rawValue);
160
173
  default:
@@ -244,79 +257,207 @@ function getColumnParser(fields) {
244
257
  return record;
245
258
  };
246
259
  }
247
- function getCursorParser(fields) {
248
- if (fields.length === 0) {
260
+ function getCursorParser(keys) {
261
+ if (keys.length === 0) {
249
262
  throw new _core.PothosValidationError('Cursor must have at least one field');
250
263
  }
251
264
  return (cursor)=>{
252
265
  const parsed = parseDrizzleCursor(cursor);
253
- if (fields.length === 1) {
266
+ if (keys.length === 1) {
254
267
  return {
255
- [fields[0].name]: parsed
268
+ [keys[0]]: parsed
256
269
  };
257
270
  }
258
- if (!Array.isArray(parsed)) {
259
- throw new _core.PothosValidationError(`Expected compound cursor to contain an array, but got ${parsed}`);
271
+ // A cursor issued before a column joined the ordering only holds values for
272
+ // the columns that came before it. Those still describe a position, just a
273
+ // less precise one, so the page is keyed off the prefix the cursor covers
274
+ // rather than rejected. Cursors returned by that page carry every column.
275
+ const values = Array.isArray(parsed) ? parsed : [
276
+ parsed
277
+ ];
278
+ if (values.length === 0) {
279
+ throw new _core.PothosValidationError('Cursor contains no values');
280
+ }
281
+ if (values.length > keys.length) {
282
+ throw new _core.PothosValidationError(`Expected cursor to contain at most ${keys.length} values, but got ${values.length}`);
260
283
  }
261
284
  const record = {};
262
- fields.forEach((field, i)=>{
263
- record[field.name] = parsed[i];
285
+ values.forEach((value, i)=>{
286
+ record[keys[i]] = value;
264
287
  });
265
288
  return record;
266
289
  };
267
290
  }
268
- function parseOrderBy(config, table, orderBy, invert) {
269
- const entries = [];
270
- const columns = [];
291
+ function resolveExpression(expression, table) {
292
+ return typeof expression === 'function' ? expression(table, {
293
+ sql: _drizzleorm.sql
294
+ }) : expression;
295
+ }
296
+ // Drizzle aliases the table it is querying (`d0`), so ordering and comparing
297
+ // have to reach for the column on that alias rather than the original table.
298
+ // Expressions get the alias handed to them and resolve themselves.
299
+ function orderTarget(entry, table) {
300
+ if (entry.column) {
301
+ var _table_entry_key;
302
+ return (_table_entry_key = table[entry.key]) !== null && _table_entry_key !== void 0 ? _table_entry_key : entry.column;
303
+ }
304
+ return resolveExpression(entry.expression, table);
305
+ }
306
+ function flipDirection(direction) {
307
+ return direction === 'asc' ? 'desc' : 'asc';
308
+ }
309
+ function ordersBy(entries, column) {
310
+ return entries.some((entry)=>{
311
+ var _entry_column;
312
+ return ((_entry_column = entry.column) === null || _entry_column === void 0 ? void 0 : _entry_column.name) === column.name;
313
+ });
314
+ }
315
+ // The ordering fixes a row's position only if some set of columns the database
316
+ // keeps unique is fully covered by it. A nullable column can't contribute:
317
+ // rows sharing a null tie with each other, and a cursor compared against null
318
+ // matches nothing.
319
+ function orderIsUnique(entries, config, table) {
320
+ return config.getUniqueConstraints(table.name).some((columns)=>columns.every((column)=>column.notNull && ordersBy(entries, column)));
321
+ }
322
+ // A cursor names a row's position in the ordering, which only works if no two
323
+ // rows can share a position. Ordering by a column with duplicate values (a
324
+ // timestamp, a status) leaves ties to be broken arbitrarily, so a row can move
325
+ // between pages and end up returned twice or skipped entirely. Appending a key
326
+ // the database keeps unique fixes that. Key columns already in the ordering are
327
+ // left where the user put them.
328
+ function appendTieBreaker(entries, config, table) {
329
+ var _ref;
330
+ var _entries_;
331
+ if (orderIsUnique(entries, config, table)) {
332
+ return;
333
+ }
334
+ const tieBreaker = config.findTieBreaker(table.name);
335
+ if (!tieBreaker) {
336
+ return;
337
+ }
338
+ const direction = (_ref = (_entries_ = entries[entries.length - 1]) === null || _entries_ === void 0 ? void 0 : _entries_.direction) !== null && _ref !== void 0 ? _ref : 'asc';
339
+ for (const column of tieBreaker){
340
+ if (!ordersBy(entries, column)) {
341
+ entries.push({
342
+ direction,
343
+ key: config.columnToTsName(column),
344
+ column
345
+ });
346
+ }
347
+ }
348
+ }
349
+ function parseOrderBy(config, table, orderBy, invert, extras) {
271
350
  const normalized = [];
272
- const asc = invert ? 'desc' : 'asc';
273
- const desc = invert ? 'asc' : 'desc';
274
- if ('table' in orderBy && orderBy.table && typeof orderBy.table === 'object') {
275
- entries.push([
276
- config.columnToTsName(orderBy),
277
- asc
278
- ]);
279
- columns.push(orderBy);
280
- normalized.push({
281
- direction: 'asc',
282
- column: orderBy
351
+ const columnEntry = (column, direction)=>({
352
+ direction,
353
+ key: config.columnToTsName(column),
354
+ column
283
355
  });
356
+ if ('table' in orderBy && orderBy.table && typeof orderBy.table === 'object') {
357
+ normalized.push(columnEntry(orderBy, 'asc'));
284
358
  } else if (Array.isArray(orderBy)) {
285
359
  for (const field of orderBy){
286
- entries.push([
287
- config.columnToTsName(field),
288
- asc
289
- ]);
290
- columns.push(field);
291
- normalized.push({
292
- direction: 'asc',
293
- column: field
294
- });
360
+ normalized.push(columnEntry(field, 'asc'));
295
361
  }
296
362
  } else {
297
363
  const tableColumns = (0, _drizzleorm.getColumns)(table.table);
298
364
  Object.entries(orderBy).forEach(([name, direction])=>{
299
- if (direction) {
300
- const column = tableColumns[name];
301
- columns.push(column);
302
- entries.push([
303
- name,
304
- direction === 'asc' ? asc : desc
305
- ]);
306
- normalized.push({
307
- direction: direction,
308
- column
309
- });
365
+ if (!direction) {
366
+ return;
367
+ }
368
+ const column = tableColumns[name];
369
+ if (column) {
370
+ normalized.push(columnEntry(column, direction));
371
+ return;
372
+ }
373
+ const expression = extras === null || extras === void 0 ? void 0 : extras[name];
374
+ if (!expression) {
375
+ throw new _core.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`);
310
376
  }
377
+ normalized.push({
378
+ direction,
379
+ key: name,
380
+ expression
381
+ });
311
382
  });
312
383
  }
384
+ appendTieBreaker(normalized, config, table);
385
+ const directionFor = ({ direction })=>invert ? flipDirection(direction) : direction;
313
386
  return {
314
387
  normalized,
315
- columns,
316
- orderBy: Object.fromEntries(entries)
388
+ // only real columns need adding to the selection; extras are already selected
389
+ columns: normalized.flatMap(({ column })=>column ? [
390
+ column
391
+ ] : []),
392
+ cursorFields: normalized.map(({ column, key })=>column !== null && column !== void 0 ? column : key),
393
+ // the object form can only name columns, so an expression forces the
394
+ // callback form -- which renders identically for the columns beside it
395
+ orderBy: normalized.some(({ expression })=>expression) ? (t)=>normalized.map((entry)=>(directionFor(entry) === 'asc' ? _drizzleorm.asc : _drizzleorm.desc)(orderTarget(entry, t))) : Object.fromEntries(normalized.map((entry)=>[
396
+ entry.key,
397
+ directionFor(entry)
398
+ ]))
399
+ };
400
+ }
401
+ // Rows past the cursor are those where the first ordering column that differs
402
+ // from the cursor differs in the direction being paged. Columns the cursor
403
+ // doesn't cover are left out: it was issued for a shorter ordering, and its
404
+ // prefix still describes a position.
405
+ function compareTo(entry, operator, value) {
406
+ const isNullish = value === null || value === undefined;
407
+ if (entry.column) {
408
+ if (operator === 'eq' && isNullish) {
409
+ return {
410
+ [entry.key]: {
411
+ isNull: true
412
+ }
413
+ };
414
+ }
415
+ // never the `{ column: value }` shorthand: drizzle reads any object value
416
+ // as a nested filter, so a null throws and a Date silently drops the
417
+ // comparison. Naming the operator works for every value a cursor can hold
418
+ return {
419
+ [entry.key]: {
420
+ [operator]: value
421
+ }
422
+ };
423
+ }
424
+ if (operator === 'eq' && isNullish) {
425
+ return {
426
+ RAW: (table)=>(0, _drizzleorm.isNull)(orderTarget(entry, table))
427
+ };
428
+ }
429
+ const operators = {
430
+ gt: _drizzleorm.gt,
431
+ lt: _drizzleorm.lt,
432
+ eq: _drizzleorm.eq
433
+ };
434
+ // RAW hands the filter the table it is being built against, which is what an
435
+ // expression needs to resolve
436
+ return {
437
+ RAW: (table)=>operators[operator](orderTarget(entry, table), value)
317
438
  };
318
439
  }
319
- function drizzleCursorConnectionQuery({ args, ctx, maxSize = DEFAULT_MAX_SIZE, defaultSize = DEFAULT_SIZE, orderBy, where, config, table }) {
440
+ function keysetFilter(entries, cursor, paging) {
441
+ const parsedCursor = getCursorParser(entries.map(({ key })=>key))(cursor);
442
+ const covered = entries.filter(({ key })=>key in parsedCursor);
443
+ const parts = covered.map((entry, index)=>{
444
+ const ascending = paging === 'after' ? entry.direction === 'asc' : entry.direction === 'desc';
445
+ const compare = compareTo(entry, ascending ? 'gt' : 'lt', parsedCursor[entry.key]);
446
+ if (index === 0) {
447
+ return compare;
448
+ }
449
+ return {
450
+ AND: [
451
+ ...covered.slice(0, index).map((previous)=>compareTo(previous, 'eq', parsedCursor[previous.key])),
452
+ compare
453
+ ]
454
+ };
455
+ });
456
+ return parts.length > 1 ? {
457
+ OR: parts
458
+ } : parts[0];
459
+ }
460
+ function drizzleCursorConnectionQuery({ args, ctx, maxSize = DEFAULT_MAX_SIZE, defaultSize = DEFAULT_SIZE, orderBy, extras, where, config, table }) {
320
461
  var _ref;
321
462
  const { before, after, first, last } = args;
322
463
  if (first != null && first < 0) {
@@ -332,7 +473,7 @@ function drizzleCursorConnectionQuery({ args, ctx, maxSize = DEFAULT_MAX_SIZE, d
332
473
  const defaultSizeForConnection = typeof defaultSize === 'function' ? defaultSize(args, ctx) : defaultSize;
333
474
  const limit = Math.min((_ref = first !== null && first !== void 0 ? first : last) !== null && _ref !== void 0 ? _ref : defaultSizeForConnection, maxSizeForConnection) + 1;
334
475
  const inverted = !first && !!last;
335
- const parsedOrderBy = parseOrderBy(config, table, orderBy, inverted);
476
+ const parsedOrderBy = parseOrderBy(config, table, orderBy, inverted, extras);
336
477
  const columns = {};
337
478
  for (const column of parsedOrderBy.columns){
338
479
  columns[config.columnToTsName(column)] = true;
@@ -342,78 +483,20 @@ function drizzleCursorConnectionQuery({ args, ctx, maxSize = DEFAULT_MAX_SIZE, d
342
483
  whereClauses.push(where);
343
484
  }
344
485
  if (after) {
345
- const cursorParser = getCursorParser(parsedOrderBy.columns);
346
- const parsedCursor = cursorParser(after);
347
- const parts = parsedOrderBy.normalized.map(({ direction, column }, index)=>{
348
- const columnName = config.columnToTsName(column);
349
- const compare = direction === 'asc' ? {
350
- [columnName]: {
351
- gt: parsedCursor[column.name]
352
- }
353
- } : {
354
- [columnName]: {
355
- lt: parsedCursor[column.name]
356
- }
357
- };
358
- if (index === 0) {
359
- return compare;
360
- }
361
- return {
362
- AND: [
363
- ...parsedOrderBy.normalized.slice(0, index).map(({ column: c })=>{
364
- return {
365
- [config.columnToTsName(c)]: parsedCursor[c.name]
366
- };
367
- }),
368
- compare
369
- ]
370
- };
371
- });
372
- whereClauses.push(parts.length > 1 ? {
373
- OR: parts
374
- } : parts[0]);
486
+ whereClauses.push(keysetFilter(parsedOrderBy.normalized, after, 'after'));
375
487
  }
376
488
  if (before) {
377
- const cursorParser = getCursorParser(parsedOrderBy.columns);
378
- const parsedCursor = cursorParser(before);
379
- const parts = parsedOrderBy.normalized.map(({ direction, column }, index)=>{
380
- const columnName = config.columnToTsName(column);
381
- const compare = direction === 'desc' ? {
382
- [columnName]: {
383
- gt: parsedCursor[column.name]
384
- }
385
- } : {
386
- [columnName]: {
387
- lt: parsedCursor[column.name]
388
- }
389
- };
390
- if (index === 0) {
391
- return compare;
392
- }
393
- return {
394
- AND: [
395
- ...parsedOrderBy.normalized.slice(0, index).map(({ column: c })=>{
396
- return {
397
- [config.columnToTsName(c)]: parsedCursor[c.name]
398
- };
399
- }),
400
- compare
401
- ]
402
- };
403
- });
404
- whereClauses.push(parts.length > 1 ? {
405
- OR: parts
406
- } : parts[0]);
489
+ whereClauses.push(keysetFilter(parsedOrderBy.normalized, before, 'before'));
407
490
  }
408
- return {
409
- cursorColumns: parsedOrderBy.columns,
491
+ return (0, _selections.omitUndefinedKeys)({
492
+ cursorFields: parsedOrderBy.cursorFields,
410
493
  columns,
411
494
  orderBy: parsedOrderBy.orderBy,
412
495
  limit,
413
496
  where: whereClauses.length > 1 ? {
414
497
  AND: whereClauses
415
498
  } : whereClauses[0]
416
- };
499
+ });
417
500
  }
418
501
  function wrapConnectionResult(results, args, limit, cursor, resolveNode, parent, totalCount) {
419
502
  var _ref, _ref1;
@@ -458,18 +541,20 @@ async function resolveDrizzleCursorConnection(tableName, info, typeName, config,
458
541
  let formatter;
459
542
  const results = await resolve((q = {})=>{
460
543
  var _ref;
461
- const { cursorColumns, ...connectionQuery } = drizzleCursorConnectionQuery({
544
+ const { cursorFields, ...connectionQuery } = drizzleCursorConnectionQuery({
462
545
  ...options,
463
546
  config,
464
547
  orderBy: (_ref = typeof q.orderBy === 'function' ? q.orderBy(table.table) : q.orderBy) !== null && _ref !== void 0 ? _ref : config.getPrimaryKey(table.name),
548
+ extras: q.extras,
465
549
  table
466
550
  });
467
- formatter = getCursorFormatter(cursorColumns, config);
551
+ formatter = getCursorFormatter(cursorFields, config);
468
552
  query = (0, _mapquery.queryFromInfo)({
469
553
  context: options.ctx,
470
554
  info,
471
- select: {
555
+ select: (0, _selections.omitUndefinedKeys)({
472
556
  ...connectionQuery,
557
+ extras: q.extras,
473
558
  columns: {
474
559
  ...q.columns,
475
560
  ...connectionQuery.columns
@@ -480,7 +565,7 @@ async function resolveDrizzleCursorConnection(tableName, info, typeName, config,
480
565
  connectionQuery.where
481
566
  ]
482
567
  } : q.where || connectionQuery.where
483
- },
568
+ }),
484
569
  paths: [
485
570
  [
486
571
  'nodes'
@@ -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","first","before","after","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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"}
1
+ {"version":3,"sources":["../../src/utils/cursors.ts"],"names":["cursorFieldKey","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","chunk","BigInt","id","dataType","error","name","parsed","Array","isArray","forEach","i","keys","values","resolveExpression","expression","table","sql","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","getColumns","Object","directionFor","flatMap","cursorFields","t","asc","desc","fromEntries","compareTo","operator","isNullish","undefined","isNull","RAW","operators","gt","lt","eq","keysetFilter","paging","parsedCursor","covered","filter","parts","index","ascending","compare","AND","previous","OR","args","ctx","maxSize","defaultSize","where","first","before","after","last","maxSizeForConnection","defaultSizeForConnection","limit","Math","min","inverted","parsedOrderBy","whereClauses","omitUndefinedKeys","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"],"mappings":"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"}
@@ -18,6 +18,9 @@ _export(exports, {
18
18
  get mergeState () {
19
19
  return mergeState;
20
20
  },
21
+ get omitUndefinedKeys () {
22
+ return omitUndefinedKeys;
23
+ },
21
24
  get selectionCompatible () {
22
25
  return selectionCompatible;
23
26
  },
@@ -30,6 +33,11 @@ _export(exports, {
30
33
  });
31
34
  const _core = require("@pothos/core");
32
35
  const _deepequal = require("./deep-equal.js");
36
+ function omitUndefinedKeys(query) {
37
+ const entries = Object.entries(query);
38
+ const defined = entries.filter(([, value])=>value !== undefined);
39
+ return defined.length === entries.length ? query : Object.fromEntries(defined);
40
+ }
33
41
  function selectionCompatible(state, selectionMap, ignoreQuery = false) {
34
42
  if (typeof selectionMap === 'boolean') {
35
43
  return ignoreQuery || !selectionMap || Object.keys(state.query).length === 0;
@@ -45,7 +53,7 @@ function selectionCompatible(state, selectionMap, ignoreQuery = false) {
45
53
  })) {
46
54
  return false;
47
55
  }
48
- return ignoreQuery || (0, _deepequal.deepEqual)(state.query, query);
56
+ return ignoreQuery || (0, _deepequal.deepEqual)(state.query, omitUndefinedKeys(query));
49
57
  }
50
58
  function stateCompatible(state, newState, ignoreQuery = false) {
51
59
  for (const [name, relationState] of newState.with){
@@ -101,8 +109,9 @@ function mergeSelection(config, state, selection) {
101
109
  merge(config.relations[relation.targetTableName], key, value);
102
110
  }
103
111
  }
104
- if (Object.keys(query).length > 0) {
105
- state.query = query;
112
+ const normalizedQuery = omitUndefinedKeys(query);
113
+ if (Object.keys(normalizedQuery).length > 0) {
114
+ state.query = normalizedQuery;
106
115
  }
107
116
  if (extras) {
108
117
  for (const [key, value] of Object.entries(extras)){
@@ -136,7 +145,7 @@ function mergeSelection(config, state, selection) {
136
145
  }
137
146
  function selectionToQuery(config, state) {
138
147
  const query = {
139
- ...state.query,
148
+ ...omitUndefinedKeys(state.query),
140
149
  columns: undefined,
141
150
  with: {},
142
151
  extras: {}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/selections.ts"],"names":["createState","mergeSelection","mergeState","selectionCompatible","selectionToQuery","stateCompatible","state","selectionMap","ignoreQuery","Object","keys","query","length","with","withSelection","extras","columns","_","entries","some","key","value","has","get","existing","deepEqual","newState","name","relationState","allColumns","add","set","table","skipDeferredFragments","parent","Set","Map","mappings","depth","config","selection","relation","relations","PothosValidationError","merge","targetTableName","relatedState","undefined","column","getPrimaryKey","tsName","columnToTsName","forEach","sel"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utils/selections.ts"],"names":["createState","mergeSelection","mergeState","omitUndefinedKeys","selectionCompatible","selectionToQuery","stateCompatible","query","entries","Object","defined","filter","value","undefined","length","fromEntries","state","selectionMap","ignoreQuery","keys","with","withSelection","extras","columns","_","some","key","has","get","existing","deepEqual","newState","name","relationState","allColumns","add","set","table","skipDeferredFragments","parent","Set","Map","mappings","depth","config","selection","relation","relations","PothosValidationError","merge","targetTableName","normalizedQuery","relatedState","column","getPrimaryKey","tsName","columnToTsName","forEach","sel"],"mappings":";;;;;;;;;;;QAqGgBA;eAAAA;;QAmBAC;eAAAA;;QAzCAC;eAAAA;;QA1DAC;eAAAA;;QAOAC;eAAAA;;QA2JAC;eAAAA;;QAtHAC;eAAAA;;;sBAjEsB;2BAGZ;AAkBnB,SAASH,kBAAoCI,KAAQ;IAC1D,MAAMC,UAAUC,OAAOD,OAAO,CAACD;IAC/B,MAAMG,UAAUF,QAAQG,MAAM,CAAC,CAAC,GAAGC,MAAM,GAAKA,UAAUC;IAExD,OAAOH,QAAQI,MAAM,KAAKN,QAAQM,MAAM,GAAGP,QAASE,OAAOM,WAAW,CAACL;AACzE;AAEO,SAASN,oBACdY,KAAqB,EACrBC,YAAoC,EACpCC,cAAc,KAAK;IAEnB,IAAI,OAAOD,iBAAiB,WAAW;QACrC,OAAOC,eAAe,CAACD,gBAAgBR,OAAOU,IAAI,CAACH,MAAMT,KAAK,EAAEO,MAAM,KAAK;IAC7E;IAEA,MAAM,EAAEM,MAAMC,aAAa,EAAEC,MAAM,EAAEC,SAASC,CAAC,EAAE,GAAGjB,OAAO,GAAGU;IAE9D,IACEI,iBACAZ,OAAOD,OAAO,CAACa,eAAeI,IAAI,CAChC,CAAC,CAACC,KAAKd,MAAM,GACXA,SACAI,MAAMI,IAAI,CAACO,GAAG,CAACD,QACf,+CAA+C;QAC/C,CAACtB,oBAAoBY,MAAMI,IAAI,CAACQ,GAAG,CAACF,MAAOd,SAE/C;QACA,OAAO;IACT;IAEA,IACEU,UACAb,OAAOD,OAAO,CAACc,QAAQG,IAAI,CAAC,CAAC,CAACC,KAAKd,MAAM;QACvC,MAAMiB,WAAWb,MAAMM,MAAM,CAACM,GAAG,CAACF;QAClC,OAAOG,YAAYA,aAAajB;IAClC,IACA;QACA,OAAO;IACT;IAEA,OAAOM,eAAeY,IAAAA,oBAAS,EAACd,MAAMT,KAAK,EAAEJ,kBAAkBI;AACjE;AAEO,SAASD,gBACdU,KAAqB,EACrBe,QAAwB,EACxBb,cAAc,KAAK;IAEnB,KAAK,MAAM,CAACc,MAAMC,cAAc,IAAIF,SAASX,IAAI,CAAE;QACjD,IAAIJ,MAAMI,IAAI,CAACO,GAAG,CAACK,SAAS,CAAC1B,gBAAgBU,MAAMI,IAAI,CAACQ,GAAG,CAACI,OAAQC,gBAAgB;YAClF,OAAO;QACT;IACF;IAEA,OAAOf,eAAeY,IAAAA,oBAAS,EAACd,MAAMT,KAAK,EAAEwB,SAASxB,KAAK;AAC7D;AAEO,SAASL,WAAWc,KAAqB,EAAEe,QAAwB;IACxE,KAAK,MAAM,CAACC,MAAMC,cAAc,IAAIF,SAASX,IAAI,CAAE;QACjD,IAAIJ,MAAMI,IAAI,CAACO,GAAG,CAACK,OAAO;YACxB9B,WAAWc,MAAMI,IAAI,CAACQ,GAAG,CAACI,OAAQC;QACpC;IACF;IAEA,IAAI,CAACjB,MAAMkB,UAAU,EAAE;QACrB,IAAIH,SAASG,UAAU,EAAE;YACvBlB,MAAMkB,UAAU,GAAG;QACrB,OAAO;YACL,KAAK,MAAMF,QAAQD,SAASR,OAAO,CAAE;gBACnCP,MAAMO,OAAO,CAACY,GAAG,CAACH;YACpB;QACF;IACF;IAEA,KAAK,MAAM,CAACA,MAAMpB,MAAM,IAAImB,SAAST,MAAM,CAAE;QAC3CN,MAAMM,MAAM,CAACc,GAAG,CAACJ,MAAMpB;IACzB;AACF;AAEO,SAASZ,YACdqC,KAA4B,EAC5BC,qBAA8B,EAC9BC,MAAuB;IAEvB,OAAO;QACLF;QACAC;QACAC;QACAhC,OAAO,CAAC;QACRgB,SAAS,IAAIiB;QACbpB,MAAM,IAAIqB;QACVnB,QAAQ,IAAImB;QACZC,UAAU,CAAC;QACXR,YAAY;QACZS,OAAOJ,SAASA,OAAOI,KAAK,GAAG,IAAI;IACrC;AACF;AAEO,SAAS1C,eACd2C,MAAiC,EACjC5B,KAAqB,EACrB6B,SAAiC;IAEjC,MAAM,EACJzB,MAAMC,aAAa,EACnBC,MAAM,EACNC,OAAO,EACP,GAAGhB,OACJ,GAAG,OAAOsC,cAAc,YAAaA,cAAc,OAAO,CAAC,IAAI;QAAEtB,SAAS,CAAC;IAAE,IAAKsB;IACnF,IAAIxB,eAAe;QACjB,KAAK,MAAM,CAACK,KAAKd,MAAM,IAAIH,OAAOD,OAAO,CAACa,eAAgB;YACxD,MAAMyB,WAAW9B,MAAMqB,KAAK,CAACU,SAAS,CAACrB,IAAI;YAE3C,IAAI,CAACoB,UAAU;gBACb,MAAM,IAAIE,2BAAqB,CAAC,CAAC,SAAS,EAAEtB,IAAI,mBAAmB,EAAEV,MAAMqB,KAAK,CAACL,IAAI,EAAE;YACzF;YAEAiB,MAAML,OAAOG,SAAS,CAACD,SAASI,eAAe,CAAC,EAAExB,KAAKd;QACzD;IACF;IAEA,MAAMuC,kBAAkBhD,kBAAkBI;IAC1C,IAAIE,OAAOU,IAAI,CAACgC,iBAAiBrC,MAAM,GAAG,GAAG;QAC3CE,MAAMT,KAAK,GAAG4C;IAChB;IAEA,IAAI7B,QAAQ;QACV,KAAK,MAAM,CAACI,KAAKd,MAAM,IAAIH,OAAOD,OAAO,CAACc,QAAS;YACjDN,MAAMM,MAAM,CAACc,GAAG,CAACV,KAAKd;QACxB;IACF;IAEA,IAAII,MAAMkB,UAAU,EAAE;QACpB;IACF;IAEA,IAAIX,WAAW,CAACP,MAAMkB,UAAU,EAAE;QAChC,KAAK,MAAM,CAACR,KAAKd,MAAM,IAAIH,OAAOD,OAAO,CAACe,SAAU;YAClD,IAAIX,OAAO;gBACTI,MAAMO,OAAO,CAACY,GAAG,CAACT;YACpB;QACF;IACF,OAAO;QACLV,MAAMkB,UAAU,GAAG;IACrB;IAEA,SAASe,MAAMZ,KAA4B,EAAEX,GAAW,EAAEd,KAA8B;QACtF,IAAI,CAACA,OAAO;YACV;QACF;QAEA,IAAII,MAAMI,IAAI,CAACO,GAAG,CAACD,MAAM;YACvBzB,eAAe2C,QAAQ5B,MAAMI,IAAI,CAACQ,GAAG,CAACF,MAAOd;QAC/C,OAAO;YACL,MAAMwC,eAAepD,YAAYqC,OAAOrB,MAAMsB,qBAAqB,EAAEtB;YACrEf,eAAe2C,QAAQQ,cAAcxC;YACrCI,MAAMI,IAAI,CAACgB,GAAG,CAACV,KAAK0B;QACtB;IACF;AACF;AAEO,SAAS/C,iBACduC,MAAiC,EACjC5B,KAAqB;IAErB,MAAMT,QAA4D;QAChE,GAAGJ,kBAAkBa,MAAMT,KAAK,CAAC;QACjCgB,SAASV;QACTO,MAAM,CAAC;QACPE,QAAQ,CAAC;IACX;IAEA,IAAI,CAACN,MAAMkB,UAAU,EAAE;QACrB3B,MAAMgB,OAAO,GAAG,CAAC;QACjB,KAAK,MAAMG,OAAOV,MAAMO,OAAO,CAAE;YAC/BhB,MAAMgB,OAAO,AAAC,CAACG,IAAI,GAAG;QACxB;QAEA,KAAK,MAAM2B,UAAUT,OAAOU,aAAa,CAACtC,MAAMqB,KAAK,CAACL,IAAI,EAAG;YAC3D,MAAMuB,SAASX,OAAOY,cAAc,CAACH;YACrC9C,MAAMgB,OAAO,AAAC,CAACgC,OAAO,GAAG;QAC3B;IACF;IAEA,KAAK,MAAM,CAAC7B,KAAKd,MAAM,IAAII,MAAMM,MAAM,CAAE;QACvCf,MAAMe,MAAM,AAAC,CAACI,IAAI,GAAGd;IACvB;IAEAI,MAAMI,IAAI,CAACqC,OAAO,CAAC,CAACC,KAAKZ;QACvBvC,MAAMa,IAAI,AAAC,CAAC0B,SAAS,GAAGzC,iBAAiBuC,QAAQc;IACnD;IAEA,OAAOnD;AACT"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pothos/plugin-drizzle",
3
- "version": "0.17.5",
3
+ "version": "0.18.0",
4
4
  "description": "A Pothos plugin for drizzle",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./dts/index.d.ts",
@@ -46,12 +46,12 @@
46
46
  "graphql-scalars": "^1.25.0",
47
47
  "graphql-tag": "^2.12.6",
48
48
  "postgres": "^3.4.9",
49
- "@pothos/core": "4.13.1",
50
49
  "@pothos/plugin-add-graphql": "4.3.1",
51
- "@pothos/plugin-errors": "4.9.1",
52
50
  "@pothos/plugin-relay": "4.7.1",
53
- "@pothos/plugin-scope-auth": "4.1.7",
51
+ "@pothos/plugin-errors": "4.9.1",
54
52
  "@pothos/plugin-with-input": "4.1.5",
53
+ "@pothos/core": "4.13.1",
54
+ "@pothos/plugin-scope-auth": "4.1.7",
55
55
  "@pothos/test-utils": "2.2.1"
56
56
  },
57
57
  "scripts": {