@pothos/plugin-prisma 3.55.0 → 3.56.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.
- package/CHANGELOG.md +6 -0
- package/dts/util/cursors.d.ts.map +1 -1
- package/dts/util/usage.d.ts +1 -0
- package/dts/util/usage.d.ts.map +1 -1
- package/esm/util/cursors.d.ts.map +1 -1
- package/esm/util/cursors.js +2 -4
- package/esm/util/cursors.js.map +1 -1
- package/esm/util/usage.d.ts +1 -0
- package/esm/util/usage.d.ts.map +1 -1
- package/esm/util/usage.js +30 -0
- package/esm/util/usage.js.map +1 -1
- package/lib/util/cursors.js +2 -4
- package/lib/util/cursors.js.map +1 -1
- package/lib/util/usage.js +33 -0
- package/lib/util/usage.js.map +1 -1
- package/package.json +1 -1
- package/src/util/cursors.ts +2 -4
- package/src/util/usage.ts +31 -0
package/CHANGELOG.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursors.d.ts","sourceRoot":"","sources":["../../src/util/cursors.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EAEZ,WAAW,EACZ,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"cursors.d.ts","sourceRoot":"","sources":["../../src/util/cursors.ts"],"names":[],"mappings":"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"}
|
package/dts/util/usage.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const usageSymbol: unique symbol;
|
|
2
2
|
export declare function wrapWithUsageCheck<T extends Object>(obj: T): T;
|
|
3
3
|
export declare function isUsed(obj: object): boolean;
|
|
4
|
+
export declare function extendWithUsage<T extends object, U extends object>(original: T, extension: U): T & U;
|
|
4
5
|
//# sourceMappingURL=usage.d.ts.map
|
package/dts/util/usage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/util/usage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,eAA8B,CAAC;AAEvD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/util/usage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,eAA8B,CAAC;AAEvD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CA6B9D;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAChE,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,CAAC,GACX,CAAC,GAAG,CAAC,CAuBP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursors.d.ts","sourceRoot":"","sources":["../../src/util/cursors.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EAEZ,WAAW,EACZ,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"cursors.d.ts","sourceRoot":"","sources":["../../src/util/cursors.ts"],"names":[],"mappings":"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"}
|
package/esm/util/cursors.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* eslint-disable no-nested-ternary */ import { decodeBase64, encodeBase64, PothosValidationError } from '@pothos/core';
|
|
2
2
|
import { getModel } from './datamodel.js';
|
|
3
|
+
import { extendWithUsage } from './usage.js';
|
|
3
4
|
const DEFAULT_MAX_SIZE = 100;
|
|
4
5
|
const DEFAULT_SIZE = 20;
|
|
5
6
|
export function formatCursorChunk(value) {
|
|
@@ -231,10 +232,7 @@ export function wrapConnectionResult(parent, results, args, take, cursor, totalC
|
|
|
231
232
|
}
|
|
232
233
|
export async function resolvePrismaCursorConnection(options, cursor, resolve) {
|
|
233
234
|
const query = prismaCursorConnectionQuery(options);
|
|
234
|
-
const results = await resolve(
|
|
235
|
-
...options.query,
|
|
236
|
-
...query
|
|
237
|
-
});
|
|
235
|
+
const results = await resolve(extendWithUsage(options.query, query));
|
|
238
236
|
if (!results) {
|
|
239
237
|
return results;
|
|
240
238
|
}
|
package/esm/util/cursors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/cursors.ts"],"names":["decodeBase64","encodeBase64","PothosValidationError","getModel","DEFAULT_MAX_SIZE","DEFAULT_SIZE","formatCursorChunk","value","Date","String","Number","formatPrismaCursor","record","fields","cursorFormatter","JSON","stringify","map","name","parsePrismaCursor","cursor","decoded","type","match","parseInt","parse","BigInt","parseID","id","dataType","parseFloat","Buffer","from","getDefaultIDSerializer","modelName","fieldName","builder","model","field","find","f","parent","serializeID","primaryKey","join","n","kind","idx","index","uniqueIndexes","getDefaultIDParser","parts","Array","isArray","result","i","length","toString","parseCompositeCursor","parsed","forEach","prismaCursorConnectionQuery","args","ctx","maxSize","defaultSize","parseCursor","before","after","first","last","maxSizeForConnection","defaultSizeForConnection","take","Math","min","skip","wrapConnectionResult","results","totalCount","resolveNode","edges","gotFullResults","abs","hasNextPage","hasPreviousPage","nodes","slice","connection","pageInfo","startCursor","endCursor","node","resolvePrismaCursorConnection","options","resolve","query","getCursorFormatter","modelData","uniqueIndex","getCursorParser","parser","rawCursor"],"mappings":"AAAA,oCAAoC,GACpC,SACEA,YAAY,EACZC,YAAY,EAEZC,qBAAqB,QAEhB,eAAe;AACtB,SAASC,QAAQ,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"sources":["../../src/util/cursors.ts"],"names":["decodeBase64","encodeBase64","PothosValidationError","getModel","extendWithUsage","DEFAULT_MAX_SIZE","DEFAULT_SIZE","formatCursorChunk","value","Date","String","Number","formatPrismaCursor","record","fields","cursorFormatter","JSON","stringify","map","name","parsePrismaCursor","cursor","decoded","type","match","parseInt","parse","BigInt","parseID","id","dataType","parseFloat","Buffer","from","getDefaultIDSerializer","modelName","fieldName","builder","model","field","find","f","parent","serializeID","primaryKey","join","n","kind","idx","index","uniqueIndexes","getDefaultIDParser","parts","Array","isArray","result","i","length","toString","parseCompositeCursor","parsed","forEach","prismaCursorConnectionQuery","args","ctx","maxSize","defaultSize","parseCursor","before","after","first","last","maxSizeForConnection","defaultSizeForConnection","take","Math","min","skip","wrapConnectionResult","results","totalCount","resolveNode","edges","gotFullResults","abs","hasNextPage","hasPreviousPage","nodes","slice","connection","pageInfo","startCursor","endCursor","node","resolvePrismaCursorConnection","options","resolve","query","getCursorFormatter","modelData","uniqueIndex","getCursorParser","parser","rawCursor"],"mappings":"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"}
|
package/esm/util/usage.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const usageSymbol: unique symbol;
|
|
2
2
|
export declare function wrapWithUsageCheck<T extends Object>(obj: T): T;
|
|
3
3
|
export declare function isUsed(obj: object): boolean;
|
|
4
|
+
export declare function extendWithUsage<T extends object, U extends object>(original: T, extension: U): T & U;
|
|
4
5
|
//# sourceMappingURL=usage.d.ts.map
|
package/esm/util/usage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/util/usage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,eAA8B,CAAC;AAEvD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/util/usage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,eAA8B,CAAC;AAEvD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CA6B9D;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAChE,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,CAAC,GACX,CAAC,GAAG,CAAC,CAuBP"}
|
package/esm/util/usage.js
CHANGED
|
@@ -6,6 +6,9 @@ export function wrapWithUsageCheck(obj) {
|
|
|
6
6
|
get() {
|
|
7
7
|
return used;
|
|
8
8
|
},
|
|
9
|
+
set(value) {
|
|
10
|
+
used = value;
|
|
11
|
+
},
|
|
9
12
|
enumerable: false
|
|
10
13
|
});
|
|
11
14
|
for (const key of Object.keys(obj)) {
|
|
@@ -26,4 +29,31 @@ export function wrapWithUsageCheck(obj) {
|
|
|
26
29
|
export function isUsed(obj) {
|
|
27
30
|
return !(usageSymbol in obj) || obj[usageSymbol];
|
|
28
31
|
}
|
|
32
|
+
export function extendWithUsage(original, extension) {
|
|
33
|
+
if (!(usageSymbol in original)) {
|
|
34
|
+
return {
|
|
35
|
+
...original,
|
|
36
|
+
...extension
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
const result = {
|
|
40
|
+
...extension
|
|
41
|
+
};
|
|
42
|
+
for (const key of [
|
|
43
|
+
usageSymbol,
|
|
44
|
+
...Object.keys(original)
|
|
45
|
+
]) {
|
|
46
|
+
if (key in result) {
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
Object.defineProperty(result, key, {
|
|
50
|
+
enumerable: key !== usageSymbol,
|
|
51
|
+
configurable: key !== usageSymbol,
|
|
52
|
+
get() {
|
|
53
|
+
return original[key];
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
29
59
|
//# sourceMappingURL=usage.js.map
|
package/esm/util/usage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/usage.ts"],"names":["usageSymbol","Symbol","for","wrapWithUsageCheck","obj","result","used","Object","defineProperty","get","enumerable","key","keys","configurable","isUsed"],"mappings":"AAAA,OAAO,MAAMA,cAAcC,OAAOC,GAAG,CAAC,iBAAiB;AAEvD,OAAO,SAASC,mBAAqCC,GAAM;IACzD,MAAMC,SAAS,CAAC;IAChB,IAAIC,OAAO;IAEXC,OAAOC,cAAc,CAACH,QAAQL,aAAa;QACzCS;YACE,OAAOH;QACT;QACAI,YAAY;IACd;IAEA,KAAK,MAAMC,
|
|
1
|
+
{"version":3,"sources":["../../src/util/usage.ts"],"names":["usageSymbol","Symbol","for","wrapWithUsageCheck","obj","result","used","Object","defineProperty","get","set","value","enumerable","key","keys","configurable","isUsed","extendWithUsage","original","extension"],"mappings":"AAAA,OAAO,MAAMA,cAAcC,OAAOC,GAAG,CAAC,iBAAiB;AAEvD,OAAO,SAASC,mBAAqCC,GAAM;IACzD,MAAMC,SAAS,CAAC;IAChB,IAAIC,OAAO;IAEXC,OAAOC,cAAc,CAACH,QAAQL,aAAa;QACzCS;YACE,OAAOH;QACT;QACAI,KAAIC,KAAc;YAChBL,OAAOK;QACT;QACAC,YAAY;IACd;IAEA,KAAK,MAAMC,OAAON,OAAOO,IAAI,CAACV,KAAM;QAClC,2CAA2C;QAC3CE,OAAO;QACPC,OAAOC,cAAc,CAACH,QAAQQ,KAAK;YACjCD,YAAY;YACZG,cAAc;YACd,2DAA2D;YAC3DN;gBACEH,OAAO;gBACP,OAAOF,GAAG,CAACS,IAAe;YAC5B;QACF;IACF;IAEA,OAAOR;AACT;AAEA,OAAO,SAASW,OAAOZ,GAAW;IAChC,OAAO,CAAEJ,CAAAA,eAAeI,GAAE,KAAM,AAACA,GAAkC,CAACJ,YAAY;AAClF;AAEA,OAAO,SAASiB,gBACdC,QAAW,EACXC,SAAY;IAEZ,IAAI,CAAEnB,CAAAA,eAAekB,QAAO,GAAI;QAC9B,OAAO;YAAE,GAAGA,QAAQ;YAAE,GAAGC,SAAS;QAAC;IACrC;IAEA,MAAMd,SAAS;QAAE,GAAGc,SAAS;IAAC;IAE9B,KAAK,MAAMN,OAAO;QAACb;WAAgBO,OAAOO,IAAI,CAACI;KAAU,CAAE;QACzD,IAAIL,OAAOR,QAAQ;YAEjB;QACF;QAEAE,OAAOC,cAAc,CAACH,QAAQQ,KAAK;YACjCD,YAAYC,QAAQb;YACpBe,cAAcF,QAAQb;YACtBS;gBACE,OAAOS,QAAQ,CAACL,IAAe;YACjC;QACF;IACF;IAEA,OAAOR;AACT"}
|
package/lib/util/cursors.js
CHANGED
|
@@ -54,6 +54,7 @@ _export(exports, {
|
|
|
54
54
|
});
|
|
55
55
|
const _core = require("@pothos/core");
|
|
56
56
|
const _datamodel = require("./datamodel");
|
|
57
|
+
const _usage = require("./usage");
|
|
57
58
|
const DEFAULT_MAX_SIZE = 100;
|
|
58
59
|
const DEFAULT_SIZE = 20;
|
|
59
60
|
function formatCursorChunk(value) {
|
|
@@ -283,10 +284,7 @@ function wrapConnectionResult(parent, results, args, take, cursor, totalCount, r
|
|
|
283
284
|
}
|
|
284
285
|
async function resolvePrismaCursorConnection(options, cursor, resolve) {
|
|
285
286
|
const query = prismaCursorConnectionQuery(options);
|
|
286
|
-
const results = await resolve(
|
|
287
|
-
...options.query,
|
|
288
|
-
...query
|
|
289
|
-
});
|
|
287
|
+
const results = await resolve((0, _usage.extendWithUsage)(options.query, query));
|
|
290
288
|
if (!results) {
|
|
291
289
|
return results;
|
|
292
290
|
}
|
package/lib/util/cursors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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","PothosValidationError","record","fields","encodeBase64","JSON","stringify","map","name","cursor","decoded","decodeBase64","type","match","parseInt","parse","BigInt","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","connection","pageInfo","startCursor","endCursor","node","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","PothosValidationError","record","fields","encodeBase64","JSON","stringify","map","name","cursor","decoded","decodeBase64","type","match","parseInt","parse","BigInt","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","connection","pageInfo","startCursor","endCursor","node","options","resolve","query","extendWithUsage","modelData","uniqueIndex","parser","rawCursor"],"mappings":"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"}
|
package/lib/util/usage.js
CHANGED
|
@@ -17,6 +17,9 @@ _export(exports, {
|
|
|
17
17
|
},
|
|
18
18
|
isUsed: function() {
|
|
19
19
|
return isUsed;
|
|
20
|
+
},
|
|
21
|
+
extendWithUsage: function() {
|
|
22
|
+
return extendWithUsage;
|
|
20
23
|
}
|
|
21
24
|
});
|
|
22
25
|
const usageSymbol = Symbol.for('Pothos.isUsed');
|
|
@@ -27,6 +30,9 @@ function wrapWithUsageCheck(obj) {
|
|
|
27
30
|
get () {
|
|
28
31
|
return used;
|
|
29
32
|
},
|
|
33
|
+
set (value) {
|
|
34
|
+
used = value;
|
|
35
|
+
},
|
|
30
36
|
enumerable: false
|
|
31
37
|
});
|
|
32
38
|
for (const key of Object.keys(obj)){
|
|
@@ -47,5 +53,32 @@ function wrapWithUsageCheck(obj) {
|
|
|
47
53
|
function isUsed(obj) {
|
|
48
54
|
return !(usageSymbol in obj) || obj[usageSymbol];
|
|
49
55
|
}
|
|
56
|
+
function extendWithUsage(original, extension) {
|
|
57
|
+
if (!(usageSymbol in original)) {
|
|
58
|
+
return {
|
|
59
|
+
...original,
|
|
60
|
+
...extension
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
const result = {
|
|
64
|
+
...extension
|
|
65
|
+
};
|
|
66
|
+
for (const key of [
|
|
67
|
+
usageSymbol,
|
|
68
|
+
...Object.keys(original)
|
|
69
|
+
]){
|
|
70
|
+
if (key in result) {
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
Object.defineProperty(result, key, {
|
|
74
|
+
enumerable: key !== usageSymbol,
|
|
75
|
+
configurable: key !== usageSymbol,
|
|
76
|
+
get () {
|
|
77
|
+
return original[key];
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
50
83
|
|
|
51
84
|
//# sourceMappingURL=usage.js.map
|
package/lib/util/usage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/usage.ts"],"names":["usageSymbol","wrapWithUsageCheck","isUsed","Symbol","for","obj","result","used","Object","defineProperty","get","enumerable","key","keys","configurable"],"mappings":";;;;;;;;;;;IAAaA,WAAW;eAAXA;;IAEGC,kBAAkB;eAAlBA;;
|
|
1
|
+
{"version":3,"sources":["../../src/util/usage.ts"],"names":["usageSymbol","wrapWithUsageCheck","isUsed","extendWithUsage","Symbol","for","obj","result","used","Object","defineProperty","get","set","value","enumerable","key","keys","configurable","original","extension"],"mappings":";;;;;;;;;;;IAAaA,WAAW;eAAXA;;IAEGC,kBAAkB;eAAlBA;;IA+BAC,MAAM;eAANA;;IAIAC,eAAe;eAAfA;;;AArCT,MAAMH,cAAcI,OAAOC,GAAG,CAAC;AAE/B,SAASJ,mBAAqCK,GAAM;IACzD,MAAMC,SAAS,CAAC;IAChB,IAAIC,OAAO;IAEXC,OAAOC,cAAc,CAACH,QAAQP,aAAa;QACzCW;YACE,OAAOH;QACT;QACAI,KAAIC,KAAc;YAChBL,OAAOK;QACT;QACAC,YAAY;IACd;IAEA,KAAK,MAAMC,OAAON,OAAOO,IAAI,CAACV,KAAM;QAClC,2CAA2C;QAC3CE,OAAO;QACPC,OAAOC,cAAc,CAACH,QAAQQ,KAAK;YACjCD,YAAY;YACZG,cAAc;YACd,2DAA2D;YAC3DN;gBACEH,OAAO;gBACP,OAAOF,GAAG,CAACS,IAAe;YAC5B;QACF;IACF;IAEA,OAAOR;AACT;AAEO,SAASL,OAAOI,GAAW;IAChC,OAAO,CAAEN,CAAAA,eAAeM,GAAE,KAAM,AAACA,GAAkC,CAACN,YAAY;AAClF;AAEO,SAASG,gBACde,QAAW,EACXC,SAAY;IAEZ,IAAI,CAAEnB,CAAAA,eAAekB,QAAO,GAAI;QAC9B,OAAO;YAAE,GAAGA,QAAQ;YAAE,GAAGC,SAAS;QAAC;IACrC;IAEA,MAAMZ,SAAS;QAAE,GAAGY,SAAS;IAAC;IAE9B,KAAK,MAAMJ,OAAO;QAACf;WAAgBS,OAAOO,IAAI,CAACE;KAAU,CAAE;QACzD,IAAIH,OAAOR,QAAQ;YAEjB;QACF;QAEAE,OAAOC,cAAc,CAACH,QAAQQ,KAAK;YACjCD,YAAYC,QAAQf;YACpBiB,cAAcF,QAAQf;YACtBW;gBACE,OAAOO,QAAQ,CAACH,IAAe;YACjC;QACF;IACF;IAEA,OAAOR;AACT"}
|
package/package.json
CHANGED
package/src/util/cursors.ts
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
} from '@pothos/core';
|
|
9
9
|
import { getModel } from './datamodel';
|
|
10
10
|
import { DMMFField } from './get-client';
|
|
11
|
+
import { extendWithUsage } from './usage';
|
|
11
12
|
|
|
12
13
|
const DEFAULT_MAX_SIZE = 100;
|
|
13
14
|
const DEFAULT_SIZE = 20;
|
|
@@ -339,10 +340,7 @@ export async function resolvePrismaCursorConnection<T extends {}>(
|
|
|
339
340
|
}) => MaybePromise<readonly T[]>,
|
|
340
341
|
) {
|
|
341
342
|
const query = prismaCursorConnectionQuery(options);
|
|
342
|
-
const results = await resolve(
|
|
343
|
-
...options.query,
|
|
344
|
-
...query,
|
|
345
|
-
});
|
|
343
|
+
const results = await resolve(extendWithUsage(options.query, query));
|
|
346
344
|
|
|
347
345
|
if (!results) {
|
|
348
346
|
return results;
|
package/src/util/usage.ts
CHANGED
|
@@ -8,6 +8,9 @@ export function wrapWithUsageCheck<T extends Object>(obj: T): T {
|
|
|
8
8
|
get() {
|
|
9
9
|
return used;
|
|
10
10
|
},
|
|
11
|
+
set(value: boolean) {
|
|
12
|
+
used = value;
|
|
13
|
+
},
|
|
11
14
|
enumerable: false,
|
|
12
15
|
});
|
|
13
16
|
|
|
@@ -31,3 +34,31 @@ export function wrapWithUsageCheck<T extends Object>(obj: T): T {
|
|
|
31
34
|
export function isUsed(obj: object): boolean {
|
|
32
35
|
return !(usageSymbol in obj) || (obj as { [usageSymbol]: boolean })[usageSymbol];
|
|
33
36
|
}
|
|
37
|
+
|
|
38
|
+
export function extendWithUsage<T extends object, U extends object>(
|
|
39
|
+
original: T,
|
|
40
|
+
extension: U,
|
|
41
|
+
): T & U {
|
|
42
|
+
if (!(usageSymbol in original)) {
|
|
43
|
+
return { ...original, ...extension };
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const result = { ...extension };
|
|
47
|
+
|
|
48
|
+
for (const key of [usageSymbol, ...Object.keys(original)]) {
|
|
49
|
+
if (key in result) {
|
|
50
|
+
// eslint-disable-next-line no-continue
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
Object.defineProperty(result, key, {
|
|
55
|
+
enumerable: key !== usageSymbol,
|
|
56
|
+
configurable: key !== usageSymbol,
|
|
57
|
+
get() {
|
|
58
|
+
return original[key as keyof T];
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return result as T & U;
|
|
64
|
+
}
|