@pothos/plugin-prisma 3.13.2 → 3.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/README.md +2 -2
- package/dts/global-types.d.ts +2 -2
- package/dts/global-types.d.ts.map +1 -1
- package/dts/node-ref.d.ts +1 -2
- package/dts/node-ref.d.ts.map +1 -1
- package/dts/object-ref.d.ts +1 -1
- package/dts/object-ref.d.ts.map +1 -1
- package/dts/prisma-field-builder.d.ts.map +1 -1
- package/dts/types.d.ts +3 -3
- package/dts/types.d.ts.map +1 -1
- package/dts/util/cursors.d.ts.map +1 -1
- package/dts/util/datamodel.d.ts +0 -1
- package/dts/util/datamodel.d.ts.map +1 -1
- package/dts/util/get-client.d.ts +13 -13
- package/dts/util/get-client.d.ts.map +1 -1
- package/esm/global-types.js.map +1 -1
- package/esm/node-ref.js.map +1 -1
- package/esm/prisma-field-builder.js +3 -11
- package/esm/prisma-field-builder.js.map +1 -1
- package/esm/util/cursors.js +1 -0
- package/esm/util/cursors.js.map +1 -1
- package/esm/util/datamodel.js +2 -1
- package/esm/util/datamodel.js.map +1 -1
- package/esm/util/get-client.js.map +1 -1
- package/esm/util/selections.js +1 -1
- package/esm/util/selections.js.map +1 -1
- package/lib/generator.js +2 -2
- package/lib/generator.js.map +1 -1
- package/lib/global-types.js +1 -1
- package/lib/global-types.js.map +1 -1
- package/lib/index.js +4 -4
- package/lib/index.js.map +1 -1
- package/lib/node-ref.js.map +1 -1
- package/lib/object-ref.js +2 -2
- package/lib/object-ref.js.map +1 -1
- package/lib/prisma-field-builder.js +3 -11
- package/lib/prisma-field-builder.js.map +1 -1
- package/lib/schema-builder.js +2 -2
- package/lib/schema-builder.js.map +1 -1
- package/lib/util/cursors.js +8 -8
- package/lib/util/cursors.js.map +1 -1
- package/lib/util/datamodel.js +7 -7
- package/lib/util/datamodel.js.map +1 -1
- package/lib/util/deep-equal.js +1 -1
- package/lib/util/deep-equal.js.map +1 -1
- package/lib/util/get-client.js +1 -1
- package/lib/util/get-client.js.map +1 -1
- package/lib/util/loader-map.js +2 -2
- package/lib/util/loader-map.js.map +1 -1
- package/lib/util/map-query.js +3 -3
- package/lib/util/map-query.js.map +1 -1
- package/lib/util/relation-map.js +2 -2
- package/lib/util/relation-map.js.map +1 -1
- package/lib/util/selections.js +5 -5
- package/lib/util/selections.js.map +1 -1
- package/package.json +9 -9
- package/src/global-types.ts +5 -6
- package/src/node-ref.ts +1 -2
- package/src/object-ref.ts +1 -1
- package/src/prisma-field-builder.ts +9 -20
- package/src/types.ts +3 -3
- package/src/util/cursors.ts +1 -0
- package/src/util/datamodel.ts +2 -1
- package/src/util/get-client.ts +4 -7
- package/tsconfig.type.tsbuildinfo +1 -1
package/lib/util/selections.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
/* eslint-disable no-param-reassign */ /* eslint-disable no-underscore-dangle */ "use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
@@ -9,12 +9,12 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
+
selectionCompatible: ()=>selectionCompatible,
|
|
13
|
+
stateCompatible: ()=>stateCompatible,
|
|
14
|
+
mergeState: ()=>mergeState,
|
|
12
15
|
createState: ()=>createState,
|
|
13
16
|
mergeSelection: ()=>mergeSelection,
|
|
14
|
-
|
|
15
|
-
selectionCompatible: ()=>selectionCompatible,
|
|
16
|
-
selectionToQuery: ()=>selectionToQuery,
|
|
17
|
-
stateCompatible: ()=>stateCompatible
|
|
17
|
+
selectionToQuery: ()=>selectionToQuery
|
|
18
18
|
});
|
|
19
19
|
const _deepEqual = require("./deep-equal");
|
|
20
20
|
function selectionCompatible(state, selectionMap, ignoreQuery = false) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/selections.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../src/util/selections.ts"],"names":["selectionCompatible","stateCompatible","mergeState","createState","mergeSelection","selectionToQuery","state","selectionMap","ignoreQuery","Object","keys","query","length","select","include","some","key","compare","deepEqual","value","fieldMap","relations","has","get","newState","name","relationState","mode","fields","add","parent","Set","counts","Map","mappings","forEach","merge","count","selection","childMap","relatedState","set","nestedIncludes","hasSelection","sel","relation","nested","size","_count","field"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pothos/plugin-prisma",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.16.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",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"access": "public"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@prisma/generator-helper": "^4.
|
|
40
|
+
"@prisma/generator-helper": "^4.1.0"
|
|
41
41
|
},
|
|
42
42
|
"prisma": {
|
|
43
43
|
"seed": "node prisma/seed.mjs"
|
|
@@ -49,15 +49,15 @@
|
|
|
49
49
|
"typescript": ">=4.7.2"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@pothos/core": "3.
|
|
53
|
-
"@pothos/plugin-
|
|
54
|
-
"@pothos/plugin-
|
|
55
|
-
"@pothos/plugin-
|
|
56
|
-
"@pothos/test-utils": "1.
|
|
57
|
-
"@prisma/client": "^4.
|
|
52
|
+
"@pothos/core": "3.13.0",
|
|
53
|
+
"@pothos/plugin-complexity": "3.6.0",
|
|
54
|
+
"@pothos/plugin-errors": "3.5.0",
|
|
55
|
+
"@pothos/plugin-relay": "3.17.0",
|
|
56
|
+
"@pothos/test-utils": "1.3.0",
|
|
57
|
+
"@prisma/client": "^4.1.0",
|
|
58
58
|
"graphql": "16.5.0",
|
|
59
59
|
"graphql-tag": "^2.12.6",
|
|
60
|
-
"prisma": "^4.
|
|
60
|
+
"prisma": "^4.1.0"
|
|
61
61
|
},
|
|
62
62
|
"scripts": {
|
|
63
63
|
"generate": "prisma generate",
|
package/src/global-types.ts
CHANGED
|
@@ -17,19 +17,18 @@ import PrismaNodeRef from './node-ref';
|
|
|
17
17
|
import { prismaModelKey, PrismaObjectRef } from './object-ref';
|
|
18
18
|
import { PrismaObjectFieldBuilder as InternalPrismaObjectFieldBuilder } from './prisma-field-builder';
|
|
19
19
|
import {
|
|
20
|
+
PrismaClient,
|
|
20
21
|
PrismaConnectionFieldOptions,
|
|
21
22
|
PrismaFieldOptions,
|
|
22
23
|
PrismaModelTypes,
|
|
23
24
|
PrismaNodeOptions,
|
|
24
|
-
PrismaObjectTypeOptions,
|
|
25
|
-
} from './types';
|
|
26
|
-
import {
|
|
27
|
-
PrismaClient,
|
|
28
25
|
PrismaObjectFieldOptions,
|
|
29
|
-
|
|
26
|
+
PrismaObjectTypeOptions,
|
|
30
27
|
ShapeFromConnection,
|
|
31
28
|
ShapeFromSelection,
|
|
32
|
-
} from '
|
|
29
|
+
} from './types';
|
|
30
|
+
|
|
31
|
+
import type { PrismaPlugin } from '.';
|
|
33
32
|
|
|
34
33
|
declare global {
|
|
35
34
|
export namespace PothosSchemaTypes {
|
package/src/node-ref.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { abstractReturnShapeKey, brandWithType, typeBrandKey } from '@pothos/core';
|
|
2
2
|
import { PrismaObjectRef } from './object-ref';
|
|
3
|
-
import { WithBrand } from './types';
|
|
4
|
-
import { PrismaModelTypes } from '.';
|
|
3
|
+
import type { PrismaModelTypes, WithBrand } from './types';
|
|
5
4
|
|
|
6
5
|
export default class PrismaNodeRef<Model extends PrismaModelTypes, T> extends PrismaObjectRef<
|
|
7
6
|
Model,
|
package/src/object-ref.ts
CHANGED
|
@@ -179,26 +179,15 @@ export class PrismaObjectFieldBuilder<
|
|
|
179
179
|
context: object,
|
|
180
180
|
nestedQuery: (query: unknown, path: unknown) => unknown,
|
|
181
181
|
) => {
|
|
182
|
-
const nested = nestedQuery(
|
|
183
|
-
{
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
defaultSize,
|
|
189
|
-
args,
|
|
190
|
-
}),
|
|
191
|
-
},
|
|
192
|
-
{
|
|
193
|
-
getType: () => {
|
|
194
|
-
if (!typeName) {
|
|
195
|
-
typeName = this.builder.configStore.getTypeConfig(ref).name;
|
|
196
|
-
}
|
|
197
|
-
return typeName;
|
|
198
|
-
},
|
|
199
|
-
path: [{ name: 'edges' }, { name: 'node' }],
|
|
182
|
+
const nested = nestedQuery(getQuery(args, context), {
|
|
183
|
+
getType: () => {
|
|
184
|
+
if (!typeName) {
|
|
185
|
+
typeName = this.builder.configStore.getTypeConfig(ref).name;
|
|
186
|
+
}
|
|
187
|
+
return typeName;
|
|
200
188
|
},
|
|
201
|
-
|
|
189
|
+
path: [{ name: 'edges' }, { name: 'node' }],
|
|
190
|
+
}) as SelectionMap;
|
|
202
191
|
|
|
203
192
|
return {
|
|
204
193
|
select: {
|
|
@@ -239,7 +228,7 @@ export class PrismaObjectFieldBuilder<
|
|
|
239
228
|
resolve(
|
|
240
229
|
{
|
|
241
230
|
...q,
|
|
242
|
-
...(
|
|
231
|
+
...getQuery(args, context),
|
|
243
232
|
} as never,
|
|
244
233
|
parent,
|
|
245
234
|
args,
|
package/src/types.ts
CHANGED
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
typeBrandKey,
|
|
21
21
|
TypeParam,
|
|
22
22
|
} from '@pothos/core';
|
|
23
|
-
import { PrismaObjectFieldBuilder } from './field-builder';
|
|
23
|
+
import type { PrismaObjectFieldBuilder } from './field-builder';
|
|
24
24
|
import { PrismaObjectRef } from './object-ref';
|
|
25
25
|
|
|
26
26
|
export interface PrismaDelegate {
|
|
@@ -557,7 +557,7 @@ export type RelatedConnectionOptions<
|
|
|
557
557
|
args: InputShapeFromFields<Args>,
|
|
558
558
|
context: Types['Context'],
|
|
559
559
|
info: GraphQLResolveInfo,
|
|
560
|
-
) => MaybePromise<Model['Relations'][Field & keyof Model['Relations']]>;
|
|
560
|
+
) => MaybePromise<Model['Relations'][Field & keyof Model['Relations']]['Shape']>;
|
|
561
561
|
}
|
|
562
562
|
: {
|
|
563
563
|
resolve: (
|
|
@@ -571,7 +571,7 @@ export type RelatedConnectionOptions<
|
|
|
571
571
|
args: InputShapeFromFields<Args>,
|
|
572
572
|
context: Types['Context'],
|
|
573
573
|
info: GraphQLResolveInfo,
|
|
574
|
-
) => MaybePromise<Model['Relations'][Field & keyof Model['Relations']]>;
|
|
574
|
+
) => MaybePromise<Model['Relations'][Field & keyof Model['Relations']]['Shape']>;
|
|
575
575
|
});
|
|
576
576
|
|
|
577
577
|
export type WithBrand<T> = T & { [typeBrandKey]: string };
|
package/src/util/cursors.ts
CHANGED
package/src/util/datamodel.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ObjectRef, SchemaTypes } from '@pothos/core';
|
|
2
2
|
import { PrismaObjectRef } from '../object-ref';
|
|
3
3
|
import { PrismaClient, PrismaDelegate, PrismaModelTypes } from '../types';
|
|
4
|
+
// eslint-disable-next-line import/no-cycle
|
|
4
5
|
import { formatCursor, parseCompositeCursor, parseRawCursor } from './cursors';
|
|
5
6
|
import { getDMMF } from './get-client';
|
|
6
7
|
|
|
@@ -56,7 +57,7 @@ export function getModel<Types extends SchemaTypes>(
|
|
|
56
57
|
builder: PothosSchemaTypes.SchemaBuilder<Types>,
|
|
57
58
|
) {
|
|
58
59
|
const dmmf = getDMMF(builder);
|
|
59
|
-
const modelData = dmmf.
|
|
60
|
+
const modelData = dmmf.datamodel.models.find((model) => model.name === name);
|
|
60
61
|
|
|
61
62
|
if (!modelData) {
|
|
62
63
|
throw new Error(`Model '${name}' not found in DMMF`);
|
package/src/util/get-client.ts
CHANGED
|
@@ -13,17 +13,14 @@ export interface DMMFField {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
interface DMMF {
|
|
16
|
-
datamodel:
|
|
17
|
-
|
|
18
|
-
string,
|
|
19
|
-
{
|
|
16
|
+
datamodel: {
|
|
17
|
+
models: {
|
|
20
18
|
name: string;
|
|
21
19
|
fields: DMMFField[];
|
|
22
|
-
fieldMap?: Record<string, DMMFField>;
|
|
23
20
|
primaryKey: { name: string | null; fields: string[] } | null;
|
|
24
21
|
uniqueIndexes: { name: string | null; fields: string[] }[];
|
|
25
|
-
}
|
|
26
|
-
|
|
22
|
+
}[];
|
|
23
|
+
};
|
|
27
24
|
}
|
|
28
25
|
|
|
29
26
|
const prismaClientCache = createContextCache(
|