@pothos/plugin-prisma 0.15.2 → 0.16.3
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/.turbo/turbo-build.log +5 -5
- package/.turbo/turbo-test.log +8 -7
- package/.turbo/turbo-type.log +2 -2
- package/CHANGELOG.md +24 -0
- package/esm/field-builder.d.ts.map +1 -1
- package/esm/field-builder.js +5 -3
- package/esm/field-builder.js.map +1 -1
- package/esm/generator.js +2 -1
- package/esm/generator.js.map +1 -1
- package/esm/global-types.d.ts +12 -12
- package/esm/global-types.d.ts.map +1 -1
- package/esm/model-loader.d.ts +2 -1
- package/esm/model-loader.d.ts.map +1 -1
- package/esm/model-loader.js +23 -11
- package/esm/model-loader.js.map +1 -1
- package/esm/node-ref.d.ts +4 -2
- package/esm/node-ref.d.ts.map +1 -1
- package/esm/node-ref.js +3 -2
- package/esm/node-ref.js.map +1 -1
- package/esm/object-ref.d.ts +7 -0
- package/esm/object-ref.d.ts.map +1 -0
- package/esm/object-ref.js +5 -0
- package/esm/object-ref.js.map +1 -0
- package/esm/prisma-field-builder.d.ts +10 -4
- package/esm/prisma-field-builder.d.ts.map +1 -1
- package/esm/prisma-field-builder.js +33 -7
- package/esm/prisma-field-builder.js.map +1 -1
- package/esm/refs.d.ts +5 -3
- package/esm/refs.d.ts.map +1 -1
- package/esm/refs.js +2 -1
- package/esm/refs.js.map +1 -1
- package/esm/schema-builder.js +8 -11
- package/esm/schema-builder.js.map +1 -1
- package/esm/types.d.ts +19 -6
- package/esm/types.d.ts.map +1 -1
- package/esm/util/map-includes.d.ts +1 -0
- package/esm/util/map-includes.d.ts.map +1 -1
- package/esm/util/map-includes.js +23 -7
- package/esm/util/map-includes.js.map +1 -1
- package/lib/field-builder.d.ts.map +1 -1
- package/lib/field-builder.js +5 -3
- package/lib/field-builder.js.map +1 -1
- package/lib/generator.js +2 -1
- package/lib/generator.js.map +1 -1
- package/lib/global-types.d.ts +12 -12
- package/lib/global-types.d.ts.map +1 -1
- package/lib/model-loader.d.ts +2 -1
- package/lib/model-loader.d.ts.map +1 -1
- package/lib/model-loader.js +23 -11
- package/lib/model-loader.js.map +1 -1
- package/lib/node-ref.d.ts +4 -2
- package/lib/node-ref.d.ts.map +1 -1
- package/lib/node-ref.js +2 -1
- package/lib/node-ref.js.map +1 -1
- package/lib/object-ref.d.ts +7 -0
- package/lib/object-ref.d.ts.map +1 -0
- package/lib/object-ref.js +9 -0
- package/lib/object-ref.js.map +1 -0
- package/lib/prisma-field-builder.d.ts +10 -4
- package/lib/prisma-field-builder.d.ts.map +1 -1
- package/lib/prisma-field-builder.js +32 -6
- package/lib/prisma-field-builder.js.map +1 -1
- package/lib/refs.d.ts +5 -3
- package/lib/refs.d.ts.map +1 -1
- package/lib/refs.js +2 -1
- package/lib/refs.js.map +1 -1
- package/lib/schema-builder.js +8 -11
- package/lib/schema-builder.js.map +1 -1
- package/lib/types.d.ts +19 -6
- package/lib/types.d.ts.map +1 -1
- package/lib/util/map-includes.d.ts +1 -0
- package/lib/util/map-includes.d.ts.map +1 -1
- package/lib/util/map-includes.js +24 -8
- package/lib/util/map-includes.js.map +1 -1
- package/package.json +10 -10
- package/src/field-builder.ts +7 -5
- package/src/generator.ts +8 -1
- package/src/global-types.ts +28 -11
- package/src/model-loader.ts +30 -13
- package/src/node-ref.ts +7 -2
- package/src/object-ref.ts +8 -0
- package/src/prisma-field-builder.ts +59 -8
- package/src/refs.ts +5 -3
- package/src/schema-builder.ts +5 -7
- package/src/types.ts +69 -35
- package/src/util/map-includes.ts +35 -4
- package/tsconfig.tsbuildinfo +1 -1
- package/generated.ts +0 -54
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
@pothos/plugin-prisma:build: cache hit, replaying output
|
|
1
|
+
@pothos/plugin-prisma:build: cache hit, replaying output b83a6107559e2033
|
|
2
2
|
@pothos/plugin-prisma:build:
|
|
3
|
-
@pothos/plugin-prisma:build: > @pothos/plugin-prisma@0.
|
|
3
|
+
@pothos/plugin-prisma:build: > @pothos/plugin-prisma@0.16.3 build /home/runner/work/pothos/pothos/packages/plugin-prisma
|
|
4
4
|
@pothos/plugin-prisma:build: > pnpm build:cjs && pnpm build:esm
|
|
5
5
|
@pothos/plugin-prisma:build:
|
|
6
6
|
@pothos/plugin-prisma:build:
|
|
7
|
-
@pothos/plugin-prisma:build: > @pothos/plugin-prisma@0.
|
|
7
|
+
@pothos/plugin-prisma:build: > @pothos/plugin-prisma@0.16.3 build:cjs /home/runner/work/pothos/pothos/packages/plugin-prisma
|
|
8
8
|
@pothos/plugin-prisma:build: > tsc --module commonjs --outDir lib
|
|
9
9
|
@pothos/plugin-prisma:build:
|
|
10
10
|
@pothos/plugin-prisma:build:
|
|
11
|
-
@pothos/plugin-prisma:build: > @pothos/plugin-prisma@0.
|
|
11
|
+
@pothos/plugin-prisma:build: > @pothos/plugin-prisma@0.16.3 build:esm /home/runner/work/pothos/pothos/packages/plugin-prisma
|
|
12
12
|
@pothos/plugin-prisma:build: > tsc --module es2020 --outDir esm && pnpm esm:extensions
|
|
13
13
|
@pothos/plugin-prisma:build:
|
|
14
14
|
@pothos/plugin-prisma:build:
|
|
15
|
-
@pothos/plugin-prisma:build: > @pothos/plugin-prisma@0.
|
|
15
|
+
@pothos/plugin-prisma:build: > @pothos/plugin-prisma@0.16.3 esm:extensions /home/runner/work/pothos/pothos/packages/plugin-prisma
|
|
16
16
|
@pothos/plugin-prisma:build: > ts-node --compiler-options "{\"module\":\"commonjs\"}" ../../.config/esm-transformer.ts
|
|
17
17
|
@pothos/plugin-prisma:build:
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
@pothos/plugin-prisma:test: cache hit, replaying output
|
|
1
|
+
@pothos/plugin-prisma:test: cache hit, replaying output a408f95bdf6da44c
|
|
2
2
|
@pothos/plugin-prisma:test:
|
|
3
|
-
@pothos/plugin-prisma:test: > @pothos/plugin-prisma@0.
|
|
3
|
+
@pothos/plugin-prisma:test: > @pothos/plugin-prisma@0.16.3 test /home/runner/work/pothos/pothos/packages/plugin-prisma
|
|
4
4
|
@pothos/plugin-prisma:test: > pnpm jest --runInBand
|
|
5
5
|
@pothos/plugin-prisma:test:
|
|
6
|
-
@pothos/plugin-prisma:test: PASS tests/connections.test.ts (
|
|
6
|
+
@pothos/plugin-prisma:test: PASS tests/connections.test.ts (30.484 s)
|
|
7
7
|
@pothos/plugin-prisma:test: PASS tests/index.test.ts
|
|
8
8
|
@pothos/plugin-prisma:test: PASS tests/counts.test.ts
|
|
9
9
|
@pothos/plugin-prisma:test: PASS tests/nodes.test.ts
|
|
10
10
|
@pothos/plugin-prisma:test: PASS tests/relation-query.test.ts
|
|
11
|
+
@pothos/plugin-prisma:test: PASS tests/variants.test.ts
|
|
11
12
|
@pothos/plugin-prisma:test: PASS tests/type-include.test.ts
|
|
12
13
|
@pothos/plugin-prisma:test:
|
|
13
|
-
@pothos/plugin-prisma:test: Test Suites:
|
|
14
|
-
@pothos/plugin-prisma:test: Tests:
|
|
15
|
-
@pothos/plugin-prisma:test: Snapshots:
|
|
16
|
-
@pothos/plugin-prisma:test: Time:
|
|
14
|
+
@pothos/plugin-prisma:test: Test Suites: 7 passed, 7 total
|
|
15
|
+
@pothos/plugin-prisma:test: Tests: 35 passed, 35 total
|
|
16
|
+
@pothos/plugin-prisma:test: Snapshots: 69 passed, 69 total
|
|
17
|
+
@pothos/plugin-prisma:test: Time: 51.444 s
|
|
17
18
|
@pothos/plugin-prisma:test: Ran all test suites.
|
package/.turbo/turbo-type.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
@pothos/plugin-prisma:type: cache hit, replaying output
|
|
1
|
+
@pothos/plugin-prisma:type: cache hit, replaying output 1651826caca1af0e
|
|
2
2
|
@pothos/plugin-prisma:type:
|
|
3
|
-
@pothos/plugin-prisma:type: > @pothos/plugin-prisma@0.
|
|
3
|
+
@pothos/plugin-prisma:type: > @pothos/plugin-prisma@0.16.3 type /home/runner/work/pothos/pothos/packages/plugin-prisma
|
|
4
4
|
@pothos/plugin-prisma:type: > tsc --noEmit && tsc --project tests/tsconfig.json
|
|
5
5
|
@pothos/plugin-prisma:type:
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 0.16.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- ab4a9ae4: Fix some type compatibility issues when skipLibCheck is false
|
|
8
|
+
|
|
9
|
+
## 0.16.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 2d9b21cd: Use workspace:\* for dev dependencies on pothos packages
|
|
14
|
+
|
|
15
|
+
## 0.16.1
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- b58ee414: Fix primaNode variants
|
|
20
|
+
|
|
21
|
+
## 0.16.0
|
|
22
|
+
|
|
23
|
+
### Minor Changes
|
|
24
|
+
|
|
25
|
+
- 044396ea: Add support for multiple variants of the same prisma model
|
|
26
|
+
|
|
3
27
|
## 0.15.2
|
|
4
28
|
|
|
5
29
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-builder.d.ts","sourceRoot":"","sources":["../src/field-builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"field-builder.d.ts","sourceRoot":"","sources":["../src/field-builder.ts"],"names":[],"mappings":"AAcA,cAAc,wBAAwB,CAAC"}
|
package/esm/field-builder.js
CHANGED
|
@@ -5,8 +5,10 @@ import { queryFromInfo } from './util/index.js';
|
|
|
5
5
|
export * from './prisma-field-builder.js';
|
|
6
6
|
const fieldBuilderProto = RootFieldBuilder.prototype;
|
|
7
7
|
fieldBuilderProto.prismaField = function prismaField({ type, resolve, ...options }) {
|
|
8
|
-
const
|
|
9
|
-
const typeRef =
|
|
8
|
+
const modelOrRef = Array.isArray(type) ? type[0] : type;
|
|
9
|
+
const typeRef = typeof modelOrRef === "string"
|
|
10
|
+
? getRefFromModel(modelOrRef, this.builder)
|
|
11
|
+
: modelOrRef;
|
|
10
12
|
const typeParam = Array.isArray(type) ? [typeRef] : typeRef;
|
|
11
13
|
return this.field({
|
|
12
14
|
...options,
|
|
@@ -19,7 +21,7 @@ fieldBuilderProto.prismaField = function prismaField({ type, resolve, ...options
|
|
|
19
21
|
};
|
|
20
22
|
fieldBuilderProto.prismaConnection = function prismaConnection({ type, cursor, maxSize, defaultSize, resolve, ...options }, connectionOptions, edgeOptions) {
|
|
21
23
|
var _a;
|
|
22
|
-
const ref = getRefFromModel(type, this.builder);
|
|
24
|
+
const ref = typeof type === "string" ? getRefFromModel(type, this.builder) : type;
|
|
23
25
|
let typeName;
|
|
24
26
|
const fieldRef = this.connection({
|
|
25
27
|
...options,
|
package/esm/field-builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-builder.js","sourceRoot":"","sources":["../src/field-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,gBAAgB,
|
|
1
|
+
{"version":3,"file":"field-builder.js","sourceRoot":"","sources":["../src/field-builder.ts"],"names":[],"mappings":"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"}
|
package/esm/generator.js
CHANGED
|
@@ -22,6 +22,7 @@ generatorHandler({
|
|
|
22
22
|
const relations = model.fields.filter((field) => !!field.relationName);
|
|
23
23
|
const listRelations = model.fields.filter((field) => !!field.relationName && field.isList);
|
|
24
24
|
return ts.factory.createPropertySignature([], model.name, undefined, ts.factory.createTypeLiteralNode([
|
|
25
|
+
ts.factory.createPropertySignature([], "Name", undefined, ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral(model.name))),
|
|
25
26
|
ts.factory.createPropertySignature([], "Shape", undefined, ts.factory.createTypeReferenceNode(model.name)),
|
|
26
27
|
ts.factory.createPropertySignature([], "Include", undefined, relations.length > 0
|
|
27
28
|
? ts.factory.createTypeReferenceNode(`Prisma.${model.name}Include`)
|
|
@@ -34,7 +35,7 @@ generatorHandler({
|
|
|
34
35
|
? ts.factory.createUnionTypeNode(listRelations.map((field) => ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral(field.name))))
|
|
35
36
|
: ts.factory.createTypeReferenceNode("never")),
|
|
36
37
|
ts.factory.createPropertySignature([], "Relations", undefined, ts.factory.createTypeLiteralNode(relations.map((field) => {
|
|
37
|
-
const typeName =
|
|
38
|
+
const typeName = field.type;
|
|
38
39
|
return ts.factory.createPropertySignature([], field.name, undefined, ts.factory.createTypeLiteralNode([
|
|
39
40
|
ts.factory.createPropertySignature([], "Shape", undefined, field.isList
|
|
40
41
|
? ts.factory.createArrayTypeNode(ts.factory.createTypeReferenceNode(typeName))
|
package/esm/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,gBAAgB,CAAC;IACf,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACjB,UAAU,EAAE,oBAAoB;QAChC,aAAa,EAAE,iDAAiD;QAChE,kBAAkB,EAAE,CAAC,kBAAkB,CAAC;KACzC,CAAC;IACF,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;;QAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAmC,CAAC;QACrE,MAAM,cAAc,GAClB,MAAA,MAAM,CAAC,YAAY,mCACnB,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,kBAAkB,CAAE,CAAC,MAAO;aACtF,KAAK,CAAC;QAEX,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAAC,uBAAuB,CACxD,EAAE,EACF,EAAE,EACF,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAC3B,IAAI,EACJ,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAC5B,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACzF,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7C,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,KAAK,EACL,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CACxC,CACF;SACF,CAAC,CACH,EACD,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAC/C,CAAC;QAEF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACvE,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;YAE3F,OAAO,EAAE,CAAC,OAAO,CAAC,uBAAuB,CACvC,EAAE,EACF,KAAK,CAAC,IAAI,EACV,SAAS,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,gBAAgB,CAAC;IACf,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACjB,UAAU,EAAE,oBAAoB;QAChC,aAAa,EAAE,iDAAiD;QAChE,kBAAkB,EAAE,CAAC,kBAAkB,CAAC;KACzC,CAAC;IACF,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;;QAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAmC,CAAC;QACrE,MAAM,cAAc,GAClB,MAAA,MAAM,CAAC,YAAY,mCACnB,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,kBAAkB,CAAE,CAAC,MAAO;aACtF,KAAK,CAAC;QAEX,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAAC,uBAAuB,CACxD,EAAE,EACF,EAAE,EACF,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAC3B,IAAI,EACJ,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAC5B,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACzF,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7C,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,KAAK,EACL,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CACxC,CACF;SACF,CAAC,CACH,EACD,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAC/C,CAAC;QAEF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACvE,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;YAE3F,OAAO,EAAE,CAAC,OAAO,CAAC,uBAAuB,CACvC,EAAE,EACF,KAAK,CAAC,IAAI,EACV,SAAS,EAET,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;gBAC/B,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,EAAE,EACF,MAAM,EACN,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAC7E;gBACD,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,EAAE,EACF,OAAO,EACP,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAC/C;gBACD,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,EAAE,EACF,SAAS,EACT,SAAS,EACT,SAAS,CAAC,MAAM,GAAG,CAAC;oBAClB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,UAAU,KAAK,CAAC,IAAI,SAAS,CAAC;oBACnE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAChD;gBACD,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,EAAE,EACF,OAAO,EACP,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,UAAU,KAAK,CAAC,IAAI,kBAAkB,CAAC,CAC3E;gBACD,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,EAAE,EACF,QAAQ,EACR,SAAS,EACT,SAAS,CAAC,MAAM,GAAG,CAAC;oBAClB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACtB,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAC7E,CACF;oBACH,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAChD;gBACD,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,EAAE,EACF,eAAe,EACf,SAAS,EACT,aAAa,CAAC,MAAM,GAAG,CAAC;oBACtB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1B,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAC7E,CACF;oBACH,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAChD;gBACD,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,EAAE,EACF,WAAW,EACX,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;oBAE5B,OAAO,EAAE,CAAC,OAAO,CAAC,uBAAuB,CACvC,EAAE,EACF,KAAK,CAAC,IAAI,EACV,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;wBAC/B,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,EAAE,EACF,OAAO,EACP,SAAS,EACT,KAAK,CAAC,MAAM;4BACV,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAC7C;4BACH,CAAC,CAAC,KAAK,CAAC,UAAU;gCAClB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC;gCAC9C,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;oCAC7B,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC;oCAC5C,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;iCAC1D,CAAC,CACP;wBACD,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,EAAE,EACF,OAAO,EACP,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,2BAA2B,CACpC,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,aAAa,CAAC,EACjD,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAC3E,CACF;qBACF,CAAC,CACH,CAAC;gBACJ,CAAC,CAAC,CACH,CACF;aACF,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,0BAA0B,CACvD,EAAE,EACF;YACE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC;YACnD,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC;SACrD,EACD,aAAa,EACb,EAAE,EACF,EAAE,EACF,UAAU,CACX,CAAC;QACF,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAErC,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CACpC,OAAO,CAAC,SAAS,CAAC,MAAO,CAAC,KAAK,EAC/B,EAAE,EACF,YAAY,CAAC,MAAM,EACnB,KAAK,EACL,UAAU,CAAC,EAAE,CACd,CAAC;QAEF,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;QAEzE,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,oBAAoB,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAErF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC/D,IAAI,GAAG,EAAE;oBACP,MAAM,CAAC,GAAG,CAAC,CAAC;iBACb;qBAAM;oBACL,OAAO,EAAE,CAAC;iBACX;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC7C,IAAI,GAAG,EAAE;oBACP,MAAM,CAAC,GAAG,CAAC,CAAC;iBACb;qBAAM;oBACL,OAAO,EAAE,CAAC;iBACX;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
|
package/esm/global-types.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { FieldKind, FieldNullability, FieldRef, InputFieldMap, InterfaceParam, NormalizeArgs, OutputType, PluginName, SchemaTypes, ShapeFromTypeParam } from '@pothos/core';
|
|
2
2
|
import PrismaNodeRef from './node-ref';
|
|
3
|
+
import { prismaModelKey, PrismaObjectRef } from './object-ref';
|
|
3
4
|
import { PrismaConnectionFieldOptions, PrismaFieldOptions, PrismaModelTypes, PrismaNodeOptions, PrismaObjectTypeOptions, ShapeWithInclude } from './types';
|
|
4
|
-
import { PrismaPlugin } from '.';
|
|
5
|
+
import { PrismaPlugin, ShapeFromConnection } from '.';
|
|
5
6
|
declare global {
|
|
6
7
|
export namespace PothosSchemaTypes {
|
|
7
8
|
interface Plugins<Types extends SchemaTypes> {
|
|
@@ -21,22 +22,22 @@ declare global {
|
|
|
21
22
|
PrismaTypes: undefined extends PartialTypes['PrismaTypes'] ? {} : PartialTypes['PrismaTypes'] & {};
|
|
22
23
|
}
|
|
23
24
|
interface SchemaBuilder<Types extends SchemaTypes> {
|
|
24
|
-
prismaObject: <Name extends keyof Types['PrismaTypes'], Interfaces extends InterfaceParam<Types>[], FindUnique, Model extends PrismaModelTypes & Types['PrismaTypes'][Name], Include extends Model['Include'] = {}, Shape extends object = ShapeWithInclude<Model, Include>>(name: Name, options: PrismaObjectTypeOptions<Types, Model, Interfaces, FindUnique, Include, Shape>) =>
|
|
25
|
-
prismaNode: 'relay' extends PluginName ? <Name extends keyof Types['PrismaTypes'], Interfaces extends InterfaceParam<Types>[], Model extends PrismaModelTypes & Types['PrismaTypes'][Name], Include extends Model['Include'] = {}, Shape extends object = ShapeWithInclude<Model, Include>>(name: Name, options: PrismaNodeOptions<Types, Model, Interfaces, Include, Shape>) => PrismaNodeRef<Shape> : '@pothos/plugin-relay is required to use this method';
|
|
25
|
+
prismaObject: <Name extends keyof Types['PrismaTypes'], Interfaces extends InterfaceParam<Types>[], FindUnique, Model extends PrismaModelTypes & Types['PrismaTypes'][Name], Include extends Model['Include'] = {}, Shape extends object = ShapeWithInclude<Model, Include>>(name: Name, options: PrismaObjectTypeOptions<Types, Model, Interfaces, FindUnique, Include, Shape>) => PrismaObjectRef<Model, Shape>;
|
|
26
|
+
prismaNode: 'relay' extends PluginName ? <Name extends keyof Types['PrismaTypes'], Interfaces extends InterfaceParam<Types>[], Model extends PrismaModelTypes & Types['PrismaTypes'][Name], Include extends Model['Include'] = {}, Shape extends object = ShapeWithInclude<Model, Include>>(name: Name, options: PrismaNodeOptions<Types, Model, Interfaces, Include, Shape>) => PrismaNodeRef<Model, Shape> : '@pothos/plugin-relay is required to use this method';
|
|
26
27
|
}
|
|
27
28
|
interface RootFieldBuilder<Types extends SchemaTypes, ParentShape, Kind extends FieldKind = FieldKind> {
|
|
28
|
-
prismaField: <Args extends InputFieldMap, TypeParam extends keyof Types['PrismaTypes'] | [keyof Types['PrismaTypes']], Nullable extends FieldNullability<Type>, ResolveReturnShape, Type extends TypeParam extends [
|
|
29
|
-
prismaConnection: 'relay' extends PluginName ? <Type extends keyof Types['PrismaTypes'], Nullable extends boolean, ResolveReturnShape, Args extends InputFieldMap = {}, Model extends PrismaModelTypes = PrismaModelTypes & Types['PrismaTypes'][Type]>(...args: NormalizeArgs<[
|
|
29
|
+
prismaField: <Args extends InputFieldMap, TypeParam extends PrismaObjectRef<PrismaModelTypes> | keyof Types['PrismaTypes'] | [keyof Types['PrismaTypes']] | [PrismaObjectRef<PrismaModelTypes>], Nullable extends FieldNullability<Type>, ResolveReturnShape, Type extends TypeParam extends [unknown] ? [ObjectRef<Model['Shape']>] : ObjectRef<Model['Shape']>, Model extends PrismaModelTypes = PrismaModelTypes & (TypeParam extends [keyof Types['PrismaTypes']] ? Types['PrismaTypes'][TypeParam[0]] : TypeParam extends [PrismaObjectRef<PrismaModelTypes>] ? TypeParam[0][typeof prismaModelKey] : TypeParam extends PrismaObjectRef<PrismaModelTypes> ? TypeParam[typeof prismaModelKey] : TypeParam extends keyof Types['PrismaTypes'] ? Types['PrismaTypes'][TypeParam] : never)>(options: PrismaFieldOptions<Types, ParentShape, TypeParam, Model, Type, Args, Nullable, ResolveReturnShape, Kind>) => FieldRef<ShapeFromTypeParam<Types, Type, Nullable>>;
|
|
30
|
+
prismaConnection: 'relay' extends PluginName ? <Type extends PrismaObjectRef<PrismaModelTypes> | keyof Types['PrismaTypes'], Nullable extends boolean, ResolveReturnShape, Args extends InputFieldMap = {}, Model extends PrismaModelTypes = Type extends PrismaObjectRef<infer T> ? T : PrismaModelTypes & Types['PrismaTypes'][Type & keyof Types['PrismaTypes']]>(...args: NormalizeArgs<[
|
|
30
31
|
options: PrismaConnectionFieldOptions<Types, ParentShape, Type, Model, ObjectRef<Model['Shape']>, Nullable, Args, ResolveReturnShape, Kind>,
|
|
31
|
-
connectionOptions?: ConnectionObjectOptions<Types, ObjectRef<Model['Shape']>, ResolveReturnShape>,
|
|
32
|
-
edgeOptions?: ConnectionEdgeObjectOptions<Types, ObjectRef<Model['Shape']>, ResolveReturnShape>
|
|
33
|
-
]>) => FieldRef<ConnectionShapeHelper<Types, Model['Shape'], Nullable
|
|
32
|
+
connectionOptions?: ConnectionObjectOptions<Types, ObjectRef<Model['Shape']>, false, false, ResolveReturnShape>,
|
|
33
|
+
edgeOptions?: ConnectionEdgeObjectOptions<Types, ObjectRef<Model['Shape']>, false, ResolveReturnShape>
|
|
34
|
+
]>) => FieldRef<ShapeFromConnection<ConnectionShapeHelper<Types, Model['Shape'], Nullable>>> : '@pothos/plugin-relay is required to use this method';
|
|
34
35
|
}
|
|
35
|
-
interface ConnectionFieldOptions<Types extends SchemaTypes, ParentShape, Type extends OutputType<Types>, Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape> {
|
|
36
|
+
interface ConnectionFieldOptions<Types extends SchemaTypes, ParentShape, Type extends OutputType<Types>, Nullable extends boolean, EdgeNullability extends FieldNullability<[unknown]>, NodeNullability extends boolean, Args extends InputFieldMap, ResolveReturnShape> {
|
|
36
37
|
}
|
|
37
|
-
interface ConnectionObjectOptions<Types extends SchemaTypes, Type extends OutputType<Types>, Resolved> {
|
|
38
|
+
interface ConnectionObjectOptions<Types extends SchemaTypes, Type extends OutputType<Types>, EdgeNullability extends FieldNullability<[unknown]>, NodeNullability extends boolean, Resolved> {
|
|
38
39
|
}
|
|
39
|
-
interface ConnectionEdgeObjectOptions<Types extends SchemaTypes, Type extends OutputType<Types>, Resolved> {
|
|
40
|
+
interface ConnectionEdgeObjectOptions<Types extends SchemaTypes, Type extends OutputType<Types>, NodeNullability extends boolean, Resolved> {
|
|
40
41
|
}
|
|
41
42
|
interface DefaultConnectionArguments {
|
|
42
43
|
first?: number | null | undefined;
|
|
@@ -45,7 +46,6 @@ declare global {
|
|
|
45
46
|
after?: string | null | undefined;
|
|
46
47
|
}
|
|
47
48
|
interface ConnectionShapeHelper<Types extends SchemaTypes, T, Nullable> {
|
|
48
|
-
shape: unknown;
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-types.d.ts","sourceRoot":"","sources":["../src/global-types.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,cAAc,EACd,aAAa,EACb,UAAU,EACV,UAAU,EACV,WAAW,EACX,kBAAkB,EACnB,MAAM,cAAc,CAAC;AACtB,OAAO,aAAa,MAAM,YAAY,CAAC;AACvC,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"global-types.d.ts","sourceRoot":"","sources":["../src/global-types.ts"],"names":[],"mappings":"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"}
|
package/esm/model-loader.d.ts
CHANGED
|
@@ -11,7 +11,8 @@ export declare class ModelLoader {
|
|
|
11
11
|
constructor(model: object, delegate: PrismaDelegate, findUnique: (args: unknown, ctx: {}) => unknown);
|
|
12
12
|
static forModel<Types extends SchemaTypes>(modelName: string, builder: PothosSchemaTypes.SchemaBuilder<Types>): (model: object) => ModelLoader;
|
|
13
13
|
loadCount(relation: string, context: {}): Promise<number>;
|
|
14
|
+
loadSelf(include: unknown, context: {}): Promise<Record<string, unknown>>;
|
|
14
15
|
loadRelation(relation: string, include: unknown, context: {}): Promise<unknown>;
|
|
15
|
-
initLoad(relation: string, includeArg: unknown, context: {}, count?: boolean): Promise<Record<string, unknown>>;
|
|
16
|
+
initLoad(relation: string | null, includeArg: unknown, context: {}, count?: boolean): Promise<Record<string, unknown>>;
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=model-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-loader.d.ts","sourceRoot":"","sources":["../src/model-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,WAAW,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAKzC,qBAAa,WAAW;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,KAAK,OAAO,CAAC;IAEhD,MAAM;iBACK,QAAQ,OAAO,MAAM,EAAE,OAAO,CAAC,CAAC;iBAChC,OAAO,MAAM,EAAE,OAAO,CAAC;OAC7B;gBAGH,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,KAAK,OAAO;IAOjD,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAS,WAAW,EACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC;IAiB3C,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBzD,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IA8B5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,UAAQ;
|
|
1
|
+
{"version":3,"file":"model-loader.d.ts","sourceRoot":"","sources":["../src/model-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,WAAW,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAKzC,qBAAa,WAAW;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,KAAK,OAAO,CAAC;IAEhD,MAAM;iBACK,QAAQ,OAAO,MAAM,EAAE,OAAO,CAAC,CAAC;iBAChC,OAAO,MAAM,EAAE,OAAO,CAAC;OAC7B;gBAGH,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,KAAK,OAAO;IAOjD,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAS,WAAW,EACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC;IAiB3C,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBzD,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IActC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IA8B5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,UAAQ;CAuCxF"}
|
package/esm/model-loader.js
CHANGED
|
@@ -36,6 +36,16 @@ export class ModelLoader {
|
|
|
36
36
|
const result = await promise;
|
|
37
37
|
return result._count[relation];
|
|
38
38
|
}
|
|
39
|
+
async loadSelf(include, context) {
|
|
40
|
+
for (const entry of this.staged) {
|
|
41
|
+
const merged = mergeIncludes(entry.include, include);
|
|
42
|
+
if (merged) {
|
|
43
|
+
entry.include = merged;
|
|
44
|
+
return entry.promise;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return this.initLoad(null, include, context);
|
|
48
|
+
}
|
|
39
49
|
async loadRelation(relation, include, context) {
|
|
40
50
|
let promise;
|
|
41
51
|
for (const entry of this.staged) {
|
|
@@ -57,24 +67,26 @@ export class ModelLoader {
|
|
|
57
67
|
return result[relation];
|
|
58
68
|
}
|
|
59
69
|
async initLoad(relation, includeArg, context, count = false) {
|
|
60
|
-
const include =
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
70
|
+
const include = (relation &&
|
|
71
|
+
(count
|
|
72
|
+
? {
|
|
73
|
+
_count: {
|
|
74
|
+
select: {
|
|
75
|
+
[relation]: true,
|
|
76
|
+
},
|
|
65
77
|
},
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
};
|
|
78
|
+
}
|
|
79
|
+
: {
|
|
80
|
+
[relation]: includeArg,
|
|
81
|
+
})) ||
|
|
82
|
+
{};
|
|
71
83
|
const promise = new Promise((resolve, reject) => {
|
|
72
84
|
setTimeout(() => {
|
|
73
85
|
this.staged.delete(entry);
|
|
74
86
|
resolve(this.delegate.findUnique({
|
|
75
87
|
rejectOnNotFound: true,
|
|
76
88
|
where: { ...this.findUnique(this.model, context) },
|
|
77
|
-
include,
|
|
89
|
+
include: Object.keys(include).length > 0 ? include : undefined,
|
|
78
90
|
}));
|
|
79
91
|
}, 0);
|
|
80
92
|
});
|
package/esm/model-loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-loader.js","sourceRoot":"","sources":["../src/model-loader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"model-loader.js","sourceRoot":"","sources":["../src/model-loader.ts"],"names":[],"mappings":"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"}
|
package/esm/node-ref.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { abstractReturnShapeKey
|
|
1
|
+
import { abstractReturnShapeKey } from '@pothos/core';
|
|
2
|
+
import { PrismaObjectRef } from './object-ref';
|
|
2
3
|
import { WithBrand } from './types';
|
|
3
|
-
|
|
4
|
+
import { PrismaModelTypes } from '.';
|
|
5
|
+
export default class PrismaNodeRef<Model extends PrismaModelTypes, T> extends PrismaObjectRef<Model, T> {
|
|
4
6
|
[abstractReturnShapeKey]: WithBrand<T>;
|
|
5
7
|
addBrand<V extends T | T[]>(value: V): V extends T[] ? {
|
|
6
8
|
[K in keyof V]: WithBrand<V[K]>;
|
package/esm/node-ref.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-ref.d.ts","sourceRoot":"","sources":["../src/node-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"node-ref.d.ts","sourceRoot":"","sources":["../src/node-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAA+B,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,aAAa,CAAC,KAAK,SAAS,gBAAgB,EAAE,CAAC,CAAE,SAAQ,eAAe,CAC3F,KAAK,EACL,CAAC,CACF;IACC,CAAC,sBAAsB,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAEvC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EACxB,KAAK,EAAE,CAAC,GACP,CAAC,SAAS,CAAC,EAAE,GAAG;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IAYrE,QAAQ,CAAC,KAAK,EAAE,OAAO;CAQxB"}
|
package/esm/node-ref.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { abstractReturnShapeKey, brandWithType,
|
|
2
|
-
|
|
1
|
+
import { abstractReturnShapeKey, brandWithType, typeBrandKey } from '@pothos/core';
|
|
2
|
+
import { PrismaObjectRef } from './object-ref.js';
|
|
3
|
+
export default class PrismaNodeRef extends PrismaObjectRef {
|
|
3
4
|
addBrand(value) {
|
|
4
5
|
if (Array.isArray(value)) {
|
|
5
6
|
value.forEach((val) => void brandWithType(val, this.name));
|
package/esm/node-ref.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-ref.js","sourceRoot":"","sources":["../src/node-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"node-ref.js","sourceRoot":"","sources":["../src/node-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/C,MAAM,CAAC,OAAO,OAAO,aAAiD,SAAQ,eAG7E;IAGC,QAAQ,CACN,KAAQ;QAER,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,IAAa,CAAC,CAAC,CAAC;YAEpE,OAAO,KAAc,CAAC;SACvB;QAED,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,IAAa,CAAC,CAAC;QAEzC,OAAO,KAAc,CAAC;IACxB,CAAC;IAED,QAAQ,CAAC,KAAc;QACrB,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,YAAY,IAAI,KAAK;YACpB,KAAsC,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,IAAI,CACpE,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ObjectRef } from '@pothos/core';
|
|
2
|
+
import { PrismaModelTypes } from '.';
|
|
3
|
+
export declare const prismaModelKey: unique symbol;
|
|
4
|
+
export declare class PrismaObjectRef<Model extends PrismaModelTypes, T = {}> extends ObjectRef<T> {
|
|
5
|
+
[prismaModelKey]: Model;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=object-ref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-ref.d.ts","sourceRoot":"","sources":["../src/object-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAC;AAErC,eAAO,MAAM,cAAc,eAAsC,CAAC;AAElE,qBAAa,eAAe,CAAC,KAAK,SAAS,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IACvF,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;CACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-ref.js","sourceRoot":"","sources":["../src/object-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAElE,MAAM,OAAO,eAAwD,SAAQ,SAAY;CAExF"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { FieldRef, InputFieldMap, NormalizeArgs, ObjectFieldBuilder, ObjectRef, PluginName, SchemaTypes } from '@pothos/core';
|
|
2
|
-
import {
|
|
2
|
+
import { PrismaObjectRef } from './object-ref';
|
|
3
|
+
import { PrismaDelegate, PrismaModelTypes, RelatedConnectionOptions, RelatedFieldOptions, RelationCountOptions, ShapeFromConnection } from './types';
|
|
4
|
+
import { VariantFieldOptions } from '.';
|
|
3
5
|
export declare class PrismaObjectFieldBuilder<Types extends SchemaTypes, Model extends PrismaModelTypes, NeedsResolve extends boolean, Shape extends object = Model['Shape']> extends ObjectFieldBuilder<Types, Shape> {
|
|
4
6
|
delegate: PrismaDelegate;
|
|
5
7
|
model: string;
|
|
6
8
|
relatedConnection: 'relay' extends PluginName ? <Field extends Model['ListRelations'], Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape>(...args: NormalizeArgs<[
|
|
7
9
|
field: Field,
|
|
8
10
|
options: RelatedConnectionOptions<Types, Model, Field, Nullable, Args, NeedsResolve>,
|
|
9
|
-
connectionOptions?: PothosSchemaTypes.ConnectionObjectOptions<Types, ObjectRef<Shape>, ResolveReturnShape>,
|
|
10
|
-
edgeOptions?: PothosSchemaTypes.ConnectionEdgeObjectOptions<Types, ObjectRef<Shape>, ResolveReturnShape>
|
|
11
|
-
]>) => FieldRef<PothosSchemaTypes.ConnectionShapeHelper<Types, Shape, Nullable
|
|
11
|
+
connectionOptions?: PothosSchemaTypes.ConnectionObjectOptions<Types, ObjectRef<Shape>, false, false, ResolveReturnShape>,
|
|
12
|
+
edgeOptions?: PothosSchemaTypes.ConnectionEdgeObjectOptions<Types, ObjectRef<Shape>, false, ResolveReturnShape>
|
|
13
|
+
]>) => FieldRef<ShapeFromConnection<PothosSchemaTypes.ConnectionShapeHelper<Types, Shape, Nullable>>> : '@pothos/plugin-relay is required to use this method';
|
|
12
14
|
constructor(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, model: string);
|
|
13
15
|
relation<Field extends Model['Fields'], Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape>(...allArgs: NormalizeArgs<[
|
|
14
16
|
name: Field,
|
|
@@ -18,5 +20,9 @@ export declare class PrismaObjectFieldBuilder<Types extends SchemaTypes, Model e
|
|
|
18
20
|
name: Field,
|
|
19
21
|
options?: RelationCountOptions<Types, Shape, NeedsResolve>
|
|
20
22
|
]>): FieldRef<number, 'Object'>;
|
|
23
|
+
variant<Variant extends Model['Name'] | PrismaObjectRef<Model>>(...allArgs: NormalizeArgs<[
|
|
24
|
+
variant: Variant,
|
|
25
|
+
options?: VariantFieldOptions<Types, Model, Variant extends PrismaObjectRef<Model> ? Variant : PrismaObjectRef<Model>>
|
|
26
|
+
]>): FieldRef<Model['Shape'], 'Object'>;
|
|
21
27
|
}
|
|
22
28
|
//# sourceMappingURL=prisma-field-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prisma-field-builder.d.ts","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EACR,aAAa,EAEb,aAAa,EACb,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,WAAW,EACZ,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"prisma-field-builder.d.ts","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,16 +3,15 @@ import { prismaCursorConnectionQuery, wrapConnectionResult } from './cursors.js'
|
|
|
3
3
|
import { getLoaderMapping, setLoaderMappings } from './loader-map.js';
|
|
4
4
|
import { ModelLoader } from './model-loader.js';
|
|
5
5
|
import { getDelegateFromModel, getFindUniqueForRef, getRefFromModel, getRelation } from './refs.js';
|
|
6
|
-
import { queryFromInfo } from './util/index.js';
|
|
6
|
+
import { queryFromInfo, SELF_RELATION } from './util/index.js';
|
|
7
7
|
export class PrismaObjectFieldBuilder extends ObjectFieldBuilder {
|
|
8
8
|
constructor(name, builder, model) {
|
|
9
9
|
super(name, builder);
|
|
10
10
|
this.relatedConnection = function relatedConnection(name, { maxSize, defaultSize, cursor, query, resolve, extensions, totalCount, ...options }, connectionOptions = {}, edgeOptions = {}) {
|
|
11
|
-
var _a;
|
|
11
|
+
var _a, _b;
|
|
12
12
|
const relationField = getRelation(this.model, this.builder, name);
|
|
13
13
|
const parentRef = getRefFromModel(this.model, this.builder);
|
|
14
|
-
const
|
|
15
|
-
const ref = getRefFromModel(relationTypeName, this.builder);
|
|
14
|
+
const ref = (_a = options.type) !== null && _a !== void 0 ? _a : getRefFromModel(relationField.type, this.builder);
|
|
16
15
|
const findUnique = getFindUniqueForRef(parentRef, this.builder);
|
|
17
16
|
const loaderCache = ModelLoader.forModel(this.model, this.builder);
|
|
18
17
|
let typeName;
|
|
@@ -83,7 +82,7 @@ export class PrismaObjectFieldBuilder extends ObjectFieldBuilder {
|
|
|
83
82
|
}
|
|
84
83
|
: connectionOptions.fields,
|
|
85
84
|
extensions: {
|
|
86
|
-
...(
|
|
85
|
+
...(_b = connectionOptions) === null || _b === void 0 ? void 0 : _b.extensions,
|
|
87
86
|
pothosPrismaIndirectInclude: {
|
|
88
87
|
getType: () => {
|
|
89
88
|
if (!typeName) {
|
|
@@ -101,11 +100,11 @@ export class PrismaObjectFieldBuilder extends ObjectFieldBuilder {
|
|
|
101
100
|
this.delegate = getDelegateFromModel(builder.options.prisma.client, model);
|
|
102
101
|
}
|
|
103
102
|
relation(...allArgs) {
|
|
103
|
+
var _a;
|
|
104
104
|
const [name, options = {}] = allArgs;
|
|
105
105
|
const relationField = getRelation(this.model, this.builder, name);
|
|
106
106
|
const parentRef = getRefFromModel(this.model, this.builder);
|
|
107
|
-
const
|
|
108
|
-
const ref = getRefFromModel(relationTypeName, this.builder);
|
|
107
|
+
const ref = (_a = options.type) !== null && _a !== void 0 ? _a : getRefFromModel(relationField.type, this.builder);
|
|
109
108
|
const findUnique = getFindUniqueForRef(parentRef, this.builder);
|
|
110
109
|
const loaderCache = ModelLoader.forModel(this.model, this.builder);
|
|
111
110
|
const { query = {}, resolve, ...rest } = options;
|
|
@@ -174,5 +173,32 @@ export class PrismaObjectFieldBuilder extends ObjectFieldBuilder {
|
|
|
174
173
|
},
|
|
175
174
|
});
|
|
176
175
|
}
|
|
176
|
+
variant(...allArgs) {
|
|
177
|
+
const [variant, options = {}] = allArgs;
|
|
178
|
+
const ref = typeof variant === "string" ? getRefFromModel(variant, this.builder) : variant;
|
|
179
|
+
const parentRef = getRefFromModel(this.model, this.builder);
|
|
180
|
+
const findUnique = getFindUniqueForRef(parentRef, this.builder);
|
|
181
|
+
const loaderCache = ModelLoader.forModel(this.model, this.builder);
|
|
182
|
+
return this.field({
|
|
183
|
+
...options,
|
|
184
|
+
type: ref,
|
|
185
|
+
extensions: {
|
|
186
|
+
...options.extensions,
|
|
187
|
+
pothosPrismaRelation: SELF_RELATION,
|
|
188
|
+
},
|
|
189
|
+
resolve: (parent, args, context, info) => {
|
|
190
|
+
const mapping = getLoaderMapping(context, info.path);
|
|
191
|
+
if (mapping) {
|
|
192
|
+
setLoaderMappings(context, info.path, mapping);
|
|
193
|
+
return parent;
|
|
194
|
+
}
|
|
195
|
+
const queryOptions = queryFromInfo(context, info);
|
|
196
|
+
if (!findUnique) {
|
|
197
|
+
throw new Error(`Missing findUnique for Prisma type ${this.model}`);
|
|
198
|
+
}
|
|
199
|
+
return loaderCache(parent).loadSelf(queryOptions, context);
|
|
200
|
+
},
|
|
201
|
+
});
|
|
202
|
+
}
|
|
177
203
|
}
|
|
178
204
|
//# sourceMappingURL=prisma-field-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prisma-field-builder.js","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,kBAAkB,GAInB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"prisma-field-builder.js","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,kBAAkB,GAInB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AASjG,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAGtD,MAAM,OAAO,wBAKX,SAAQ,kBAAgC;IA8KxC,YAAY,IAAY,EAAE,OAA+C,EAAE,KAAa;QACtF,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QA3KvB,sBAAiB,GA6B2C,SAAS,iBAAiB,CAEpF,IAAY,EACZ,EACE,OAAO,EACP,WAAW,EACX,MAAM,EACN,KAAK,EACL,OAAO,EACP,UAAU,EACV,UAAU,EACV,GAAG,OAAO,EAUX,EACD,iBAAiB,GAAG,EAAE,EACtB,WAAW,GAAG,EAAE;;YAEhB,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAClE,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,GAAG,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,eAAe,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9E,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAChE,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACnE,IAAI,QAA4B,CAAC;YAEjC,MAAM,QAAQ,GAAG,CAAC,IAAkD,EAAE,GAAO,EAAE,EAAE,CAAC,CAAC;gBACjF,GAAI,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAQ;gBACnE,GAAG,2BAA2B,CAAC;oBAC7B,MAAM,EAAE,MAAM;oBACd,OAAO;oBACP,WAAW;oBACX,IAAI;iBACL,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,QAAQ,GACZ,IAGD,CAAC,UAAU,CACV;gBACE,GAAG,OAAO;gBACV,UAAU,EAAE;oBACV,GAAG,UAAU;oBACb,iBAAiB,EAAE,QAAQ;oBAC3B,oBAAoB,EAAE,IAAI;iBAC3B;gBACD,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,KAAK,EACZ,MAAc,EACd,IAAkD,EAClD,OAAW,EACX,IAAwB,EACxB,EAAE;;oBACF,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAChD,MAAM,SAAS,GAAG,GAAG,EAAE;wBACrB,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBACrD,MAAM,WAAW,GAAI,MAAkC,CAAC,IAAI,CAAC,CAAC;wBAE9D;wBACE,wEAAwE;wBACxE,0FAA0F;wBAC1F,WAAW,KAAK,SAAS;4BACzB,OAAO,EACP;4BACA,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE;gCACrD,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;6BAChD;4BAED,OAAO,WAAmB,CAAC;yBAC5B;wBAED,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE;4BAC3B,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;yBACrE;wBAED,MAAM,WAAW,GAAG,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC;wBAE5E,IAAI,OAAO,EAAE;4BACX,OAAO,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;yBAC1D;wBAED,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAkB,CAAC;oBACvF,CAAC,CAAC;oBAEF,OAAO,oBAAoB,CACzB,MAAM,SAAS,EAAE,EACjB,IAAI,EACJ,eAAe,CAAC,IAAI,EACpB,MAAM,EACN,MAAC,MAA8C,CAAC,MAAM,0CAAG,IAAI,CAAC,CAC/D,CAAC;gBACJ,CAAC;aACF,EACD;gBACE,GAAG,iBAAiB;gBACpB,MAAM,EAAE,UAAU;oBAChB,CAAC,CAAC,CAAC,CAA6E,EAAE,EAAE;;wBAAC,OAAA,CAAC;4BAClF,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC;gCAChB,UAAU,EAAE;oCACV,kCAAkC,EAAE,IAAI;iCACzC;gCACD,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;oCACjC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;oCAEtC,IAAI,WAAW,KAAK,SAAS,EAAE;wCAC7B,OAAO,WAAW,CAAC;qCACpB;oCAED,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gCACtD,CAAC;6BACF,CAAC;4BACF,GAAG,MAAA,MAAC,iBAAqD,EAAC,MAAM,mDAAG,CAAC,CAAC;yBACtE,CAAC,CAAA;qBAAA;oBACJ,CAAC,CAAE,iBAA2C,CAAC,MAAM;gBACvD,UAAU,EAAE;oBACV,GAAG,MAAC,iBAAoD,0CAAE,UAAU;oBACpE,2BAA2B,EAAE;wBAC3B,OAAO,EAAE,GAAG,EAAE;4BACZ,IAAI,CAAC,QAAQ,EAAE;gCACb,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;6BAC7D;4BACD,OAAO,QAAQ,CAAC;wBAClB,CAAC;wBACD,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qBAC5C;iBACF;aACF,EACD,WAAW,CACZ,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAU,CAAC;QAKT,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC;IAED,QAAQ,CAMN,GAAG,OAcF;;QAED,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,EAAW,CAAC,GAAG,OAAO,CAAC;QAC9C,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,eAAe,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnE,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAEjD,OAAO,IAAI,CAAC,KAAK,CAAC;YAChB,GAAG,IAAI;YACP,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;YACxC,UAAU,EAAE;gBACV,GAAG,OAAO,CAAC,UAAU;gBACrB,iBAAiB,EAAE,KAAK;gBACxB,oBAAoB,EAAE,IAAI;aAC3B;YACD,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;gBACvC,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAErD,MAAM,WAAW,GAAI,MAAkC,CAAC,IAAI,CAAC,CAAC;gBAE9D;gBACE,wEAAwE;gBACxE,0FAA0F;gBAC1F,WAAW,KAAK,SAAS;oBACzB,OAAO,EACP;oBACA,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE;wBACrD,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;qBAChD;oBAED,OAAO,WAAoB,CAAC;iBAC7B;gBAED,MAAM,YAAY,GAAG;oBACnB,GAAI,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAQ;oBACvE,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC;iBAChC,CAAC;gBAEF,IAAI,OAAO,EAAE;oBACX,OAAO,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,IAAa,EAAE,OAAO,EAAE,IAAI,CAAU,CAAC;iBAC7E;gBAED,IAAI,CAAC,UAAU,EAAE;oBACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;iBACrE;gBAED,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAU,CAAC;YAChF,CAAC;SACF,CAA2D,CAAC;IAC/D,CAAC;IAED,aAAa,CACX,GAAG,OAEF;QAED,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,EAAW,CAAC,GAAG,OAAO,CAAC;QAC9C,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAErC,OAAO,IAAI,CAAC,KAAK,CAAC;YAChB,GAAG,IAAI;YACP,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE;gBACV,GAAG,OAAO,CAAC,UAAU;gBACrB,yBAAyB,EAAE,IAAI;aAChC;YACD,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;;gBACvC,MAAM,WAAW,GAAG,MAAC,MAA8C,CAAC,MAAM,0CAAG,IAAI,CAAC,CAAC;gBAEnF,IAAI,WAAW,KAAK,SAAS,EAAE;oBAC7B,OAAO,WAAoB,CAAC;iBAC7B;gBAED,IAAI,OAAO,EAAE;oBACX,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAU,CAAC;iBACtD;gBAED,IAAI,CAAC,UAAU,EAAE;oBACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;iBACrE;gBAED,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAU,CAAC;YAC/D,CAAC;SACF,CAA+B,CAAC;IACnC,CAAC;IAED,OAAO,CACL,GAAG,OASF;QAED,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,EAAW,CAAC,GAAG,OAAO,CAAC;QACjD,MAAM,GAAG,GACP,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACjF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnE,OAAO,IAAI,CAAC,KAAK,CAAC;YAChB,GAAG,OAAO;YACV,IAAI,EAAE,GAAG;YACT,UAAU,EAAE;gBACV,GAAG,OAAO,CAAC,UAAU;gBACrB,oBAAoB,EAAE,aAAa;aACpC;YACD,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;gBACvC,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAErD,IAAI,OAAO,EAAE;oBACX,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAE/C,OAAO,MAAe,CAAC;iBACxB;gBAED,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAElD,IAAI,CAAC,UAAU,EAAE;oBACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;iBACrE;gBAED,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAU,CAAC;YACtE,CAAC;SACF,CAAuC,CAAC;IAC3C,CAAC;CACF"}
|
package/esm/refs.d.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { ObjectRef, SchemaTypes } from '@pothos/core';
|
|
2
2
|
import { Prisma } from '../tests/client';
|
|
3
|
+
import { PrismaObjectRef } from './object-ref';
|
|
3
4
|
import { PrismaDelegate } from './types';
|
|
4
|
-
|
|
5
|
+
import { PrismaModelTypes } from '.';
|
|
6
|
+
export declare const refMap: WeakMap<object, Map<string, PrismaObjectRef<PrismaModelTypes, {}>>>;
|
|
5
7
|
export declare const findUniqueMap: WeakMap<object, Map<ObjectRef<unknown, unknown>, ((args: unknown, ctx: {}) => unknown) | null>>;
|
|
6
8
|
export declare const includeForRefMap: WeakMap<object, Map<ObjectRef<unknown, unknown>, Record<string, unknown> | null>>;
|
|
7
|
-
export declare function getRefFromModel<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>):
|
|
9
|
+
export declare function getRefFromModel<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>): PrismaObjectRef<PrismaModelTypes>;
|
|
8
10
|
export declare function getFindUniqueForRef<Types extends SchemaTypes>(ref: ObjectRef<unknown>, builder: PothosSchemaTypes.SchemaBuilder<Types>): ((args: unknown, context: Types['Context']) => unknown) | null;
|
|
9
11
|
export declare function setFindUniqueForRef<Types extends SchemaTypes>(ref: ObjectRef<unknown>, builder: PothosSchemaTypes.SchemaBuilder<Types>, findUnique: ((args: any, context: Types['Context']) => unknown) | null): void;
|
|
10
12
|
export declare function getRelation<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, relation: string): Prisma.DMMF.Field;
|
|
11
|
-
export declare function getRelatedDelegate<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, relation: string): string
|
|
13
|
+
export declare function getRelatedDelegate<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, relation: string): string;
|
|
12
14
|
export declare function getDelegateFromModel(client: Record<string, unknown>, model: string): PrismaDelegate;
|
|
13
15
|
//# sourceMappingURL=refs.d.ts.map
|