@pothos/plugin-drizzle 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/LICENSE +6 -0
- package/README.md +437 -0
- package/TODO.md +21 -0
- package/drizzle/meta/_journal.json +1 -0
- package/drizzle.config.ts +10 -0
- package/dts/drizzle-field-builder.d.ts +124 -0
- package/dts/drizzle-field-builder.d.ts.map +1 -0
- package/dts/field-builder.d.ts +2 -0
- package/dts/field-builder.d.ts.map +1 -0
- package/dts/global-types.d.ts +92 -0
- package/dts/global-types.d.ts.map +1 -0
- package/dts/index.d.ts +13 -0
- package/dts/index.d.ts.map +1 -0
- package/dts/interface-ref.d.ts +9 -0
- package/dts/interface-ref.d.ts.map +1 -0
- package/dts/model-loader.d.ts +44 -0
- package/dts/model-loader.d.ts.map +1 -0
- package/dts/node-ref.d.ts +5 -0
- package/dts/node-ref.d.ts.map +1 -0
- package/dts/object-ref.d.ts +14 -0
- package/dts/object-ref.d.ts.map +1 -0
- package/dts/schema-builder.d.ts +2 -0
- package/dts/schema-builder.d.ts.map +1 -0
- package/dts/types.d.ts +147 -0
- package/dts/types.d.ts.map +1 -0
- package/dts/utils/config.d.ts +7 -0
- package/dts/utils/config.d.ts.map +1 -0
- package/dts/utils/cursors.d.ts +58 -0
- package/dts/utils/cursors.d.ts.map +1 -0
- package/dts/utils/deep-equal.d.ts +2 -0
- package/dts/utils/deep-equal.d.ts.map +1 -0
- package/dts/utils/drizzle-graphql.d.ts +18 -0
- package/dts/utils/drizzle-graphql.d.ts.map +1 -0
- package/dts/utils/loader-map.d.ts +11 -0
- package/dts/utils/loader-map.d.ts.map +1 -0
- package/dts/utils/map-query.d.ts +30 -0
- package/dts/utils/map-query.d.ts.map +1 -0
- package/dts/utils/refs.d.ts +5 -0
- package/dts/utils/refs.d.ts.map +1 -0
- package/dts/utils/selections.d.ts +22 -0
- package/dts/utils/selections.d.ts.map +1 -0
- package/dts/utils/usage.d.ts +5 -0
- package/dts/utils/usage.d.ts.map +1 -0
- package/esm/drizzle-field-builder.d.ts +216 -0
- package/esm/drizzle-field-builder.d.ts.map +1 -0
- package/esm/field-builder.d.ts +2 -0
- package/esm/field-builder.d.ts.map +1 -0
- package/esm/global-types.d.ts +124 -0
- package/esm/global-types.d.ts.map +1 -0
- package/esm/index.d.ts +13 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/interface-ref.d.ts +9 -0
- package/esm/interface-ref.d.ts.map +1 -0
- package/esm/model-loader.d.ts +45 -0
- package/esm/model-loader.d.ts.map +1 -0
- package/esm/node-ref.d.ts +5 -0
- package/esm/node-ref.d.ts.map +1 -0
- package/esm/object-ref.d.ts +14 -0
- package/esm/object-ref.d.ts.map +1 -0
- package/esm/package.json +3 -0
- package/esm/schema-builder.d.ts +2 -0
- package/esm/schema-builder.d.ts.map +1 -0
- package/esm/src/drizzle-field-builder.js +215 -0
- package/esm/src/drizzle-field-builder.js.map +1 -0
- package/esm/src/field-builder.js +77 -0
- package/esm/src/field-builder.js.map +1 -0
- package/esm/src/global-types.js +2 -0
- package/esm/src/global-types.js.map +1 -0
- package/esm/src/index.js +107 -0
- package/esm/src/index.js.map +1 -0
- package/esm/src/interface-ref.js +26 -0
- package/esm/src/interface-ref.js.map +1 -0
- package/esm/src/model-loader.js +168 -0
- package/esm/src/model-loader.js.map +1 -0
- package/esm/src/node-ref.js +4 -0
- package/esm/src/node-ref.js.map +1 -0
- package/esm/src/object-ref.js +38 -0
- package/esm/src/object-ref.js.map +1 -0
- package/esm/src/schema-builder.js +190 -0
- package/esm/src/schema-builder.js.map +1 -0
- package/esm/src/types.js +2 -0
- package/esm/src/types.js.map +1 -0
- package/esm/src/utils/config.js +15 -0
- package/esm/src/utils/config.js.map +1 -0
- package/esm/src/utils/cursors.js +316 -0
- package/esm/src/utils/cursors.js.map +1 -0
- package/esm/src/utils/deep-equal.js +44 -0
- package/esm/src/utils/deep-equal.js.map +1 -0
- package/esm/src/utils/drizzle-graphql.js +176 -0
- package/esm/src/utils/drizzle-graphql.js.map +1 -0
- package/esm/src/utils/loader-map.js +35 -0
- package/esm/src/utils/loader-map.js.map +1 -0
- package/esm/src/utils/map-query.js +284 -0
- package/esm/src/utils/map-query.js.map +1 -0
- package/esm/src/utils/refs.js +14 -0
- package/esm/src/utils/refs.js.map +1 -0
- package/esm/src/utils/selections.js +136 -0
- package/esm/src/utils/selections.js.map +1 -0
- package/esm/src/utils/usage.js +59 -0
- package/esm/src/utils/usage.js.map +1 -0
- package/esm/types.d.ts +161 -0
- package/esm/types.d.ts.map +1 -0
- package/esm/utils/config.d.ts +7 -0
- package/esm/utils/config.d.ts.map +1 -0
- package/esm/utils/cursors.d.ts +58 -0
- package/esm/utils/cursors.d.ts.map +1 -0
- package/esm/utils/deep-equal.d.ts +2 -0
- package/esm/utils/deep-equal.d.ts.map +1 -0
- package/esm/utils/drizzle-graphql.d.ts +18 -0
- package/esm/utils/drizzle-graphql.d.ts.map +1 -0
- package/esm/utils/loader-map.d.ts +11 -0
- package/esm/utils/loader-map.d.ts.map +1 -0
- package/esm/utils/map-query.d.ts +30 -0
- package/esm/utils/map-query.d.ts.map +1 -0
- package/esm/utils/refs.d.ts +5 -0
- package/esm/utils/refs.d.ts.map +1 -0
- package/esm/utils/selections.d.ts +22 -0
- package/esm/utils/selections.d.ts.map +1 -0
- package/esm/utils/usage.d.ts +5 -0
- package/esm/utils/usage.d.ts.map +1 -0
- package/lib/src/drizzle-field-builder.js +225 -0
- package/lib/src/drizzle-field-builder.js.map +1 -0
- package/lib/src/field-builder.js +82 -0
- package/lib/src/field-builder.js.map +1 -0
- package/lib/src/global-types.js +6 -0
- package/lib/src/global-types.js.map +1 -0
- package/lib/src/index.js +180 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/interface-ref.js +36 -0
- package/lib/src/interface-ref.js.map +1 -0
- package/lib/src/model-loader.js +176 -0
- package/lib/src/model-loader.js.map +1 -0
- package/lib/src/node-ref.js +15 -0
- package/lib/src/node-ref.js.map +1 -0
- package/lib/src/object-ref.js +56 -0
- package/lib/src/object-ref.js.map +1 -0
- package/lib/src/schema-builder.js +236 -0
- package/lib/src/schema-builder.js.map +1 -0
- package/lib/src/types.js +13 -0
- package/lib/src/types.js.map +1 -0
- package/lib/src/utils/config.js +26 -0
- package/lib/src/utils/config.js.map +1 -0
- package/lib/src/utils/cursors.js +362 -0
- package/lib/src/utils/cursors.js.map +1 -0
- package/lib/src/utils/deep-equal.js +55 -0
- package/lib/src/utils/deep-equal.js.map +1 -0
- package/lib/src/utils/drizzle-graphql.js +192 -0
- package/lib/src/utils/drizzle-graphql.js.map +1 -0
- package/lib/src/utils/loader-map.js +57 -0
- package/lib/src/utils/loader-map.js.map +1 -0
- package/lib/src/utils/map-query.js +308 -0
- package/lib/src/utils/map-query.js.map +1 -0
- package/lib/src/utils/refs.js +33 -0
- package/lib/src/utils/refs.js.map +1 -0
- package/lib/src/utils/selections.js +163 -0
- package/lib/src/utils/selections.js.map +1 -0
- package/lib/src/utils/usage.js +84 -0
- package/lib/src/utils/usage.js.map +1 -0
- package/package.json +66 -0
- package/src/drizzle-field-builder.ts +500 -0
- package/src/field-builder.ts +168 -0
- package/src/global-types.ts +481 -0
- package/src/index.ts +175 -0
- package/src/interface-ref.ts +24 -0
- package/src/model-loader.ts +235 -0
- package/src/node-ref.ts +8 -0
- package/src/object-ref.ts +51 -0
- package/src/schema-builder.ts +299 -0
- package/src/types.ts +640 -0
- package/src/utils/config.ts +28 -0
- package/src/utils/cursors.ts +446 -0
- package/src/utils/deep-equal.ts +58 -0
- package/src/utils/drizzle-graphql.ts +235 -0
- package/src/utils/loader-map.ts +51 -0
- package/src/utils/map-query.ts +582 -0
- package/src/utils/refs.ts +25 -0
- package/src/utils/selections.ts +209 -0
- package/src/utils/usage.ts +64 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/* eslint-disable no-param-reassign */ import { getOperators } from 'drizzle-orm';
|
|
2
|
+
import { PothosValidationError } from '@pothos/core';
|
|
3
|
+
import { deepEqual } from './deep-equal.js';
|
|
4
|
+
export function selectionCompatible(state, selectionMap, ignoreQuery = false) {
|
|
5
|
+
if (typeof selectionMap === "boolean") {
|
|
6
|
+
return ignoreQuery || !selectionMap || Object.keys(state.query).length === 0;
|
|
7
|
+
}
|
|
8
|
+
const { with: withSelection, extras, columns, ...query } = selectionMap;
|
|
9
|
+
if (withSelection && Object.entries(withSelection).some(([key, value]) => value && state.with.has(key) && // TODO: make sure nested extras are normalized
|
|
10
|
+
!selectionCompatible(state.with.get(key), value))) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
const resolvedExtras = typeof extras === "function" ? extras(state.table.columns, getOperators()) : extras;
|
|
14
|
+
if (resolvedExtras && Object.entries(resolvedExtras).some(([key, value]) => {
|
|
15
|
+
const sql = state.extras.get(key);
|
|
16
|
+
return sql && (sql.sql !== value.sql || sql.fieldAlias !== value.fieldAlias);
|
|
17
|
+
})) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
return ignoreQuery || deepEqual(state.query, query);
|
|
21
|
+
}
|
|
22
|
+
export function stateCompatible(state, newState, ignoreQuery = false) {
|
|
23
|
+
for (const [name, relationState] of newState.with) {
|
|
24
|
+
if (state.with.has(name) && !stateCompatible(state.with.get(name), relationState)) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return ignoreQuery || deepEqual(state.query, newState.query);
|
|
29
|
+
}
|
|
30
|
+
export function mergeState(state, newState) {
|
|
31
|
+
for (const [name, relationState] of newState.with) {
|
|
32
|
+
if (state.with.has(name)) {
|
|
33
|
+
mergeState(state.with.get(name), relationState);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (!state.allColumns) {
|
|
37
|
+
if (newState.allColumns) {
|
|
38
|
+
state.allColumns = true;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
for (const name of newState.columns) {
|
|
42
|
+
state.columns.add(name);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
for (const [name, value] of newState.extras) {
|
|
47
|
+
state.extras.set(name, value);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export function createState(table, parent) {
|
|
51
|
+
return {
|
|
52
|
+
table,
|
|
53
|
+
parent,
|
|
54
|
+
query: {},
|
|
55
|
+
columns: new Set(),
|
|
56
|
+
with: new Map(),
|
|
57
|
+
extras: new Map(),
|
|
58
|
+
mappings: {},
|
|
59
|
+
allColumns: false,
|
|
60
|
+
depth: parent ? parent.depth + 1 : 0
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
export function mergeSelection(config, state, { with: withSelection, extras, columns, ...query }) {
|
|
64
|
+
if (withSelection) {
|
|
65
|
+
Object.entries(withSelection).forEach(([key, value]) => {
|
|
66
|
+
const relation = state.table.relations[key];
|
|
67
|
+
if (!relation) {
|
|
68
|
+
throw new PothosValidationError(`Relation ${key} does not exist on ${state.table.dbName}`);
|
|
69
|
+
}
|
|
70
|
+
merge(config.dbToSchema[relation.referencedTableName], key, value);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
if (Object.keys(query).length > 0) {
|
|
74
|
+
state.query = query;
|
|
75
|
+
}
|
|
76
|
+
const resolvedExtras = typeof extras === "function" ? extras(state.table.columns, getOperators()) : extras;
|
|
77
|
+
if (resolvedExtras) {
|
|
78
|
+
for (const [key, value] of Object.entries(resolvedExtras)) {
|
|
79
|
+
state.extras.set(key, value);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (state.allColumns) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (columns) {
|
|
86
|
+
for (const key of Object.keys(columns)) {
|
|
87
|
+
state.columns.add(key);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
state.allColumns = true;
|
|
92
|
+
}
|
|
93
|
+
function merge(table, key, value) {
|
|
94
|
+
if (!value) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const selection = value === true ? {} : value;
|
|
98
|
+
if (state.with.has(key)) {
|
|
99
|
+
mergeSelection(config, state.with.get(key), selection);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
const relatedState = createState(table, state);
|
|
103
|
+
mergeSelection(config, relatedState, selection);
|
|
104
|
+
state.with.set(key, relatedState);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
export function selectionToQuery(state) {
|
|
109
|
+
const query = {
|
|
110
|
+
...state.query,
|
|
111
|
+
with: {},
|
|
112
|
+
columns: {},
|
|
113
|
+
extras: {}
|
|
114
|
+
};
|
|
115
|
+
if (state.allColumns) {
|
|
116
|
+
for (const key of Object.keys(state.table.columns)) {
|
|
117
|
+
query.columns[key] = true;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
for (const key of state.columns) {
|
|
122
|
+
query.columns[key] = true;
|
|
123
|
+
}
|
|
124
|
+
for (const { name } of state.table.primaryKey) {
|
|
125
|
+
query.columns[name] = true;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
for (const [key, value] of state.extras) {
|
|
129
|
+
query.extras[key] = value;
|
|
130
|
+
}
|
|
131
|
+
state.with.forEach((sel, relation) => {
|
|
132
|
+
query.with[relation] = selectionToQuery(sel);
|
|
133
|
+
});
|
|
134
|
+
return query;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=selections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/selections.ts"],"names":["getOperators","PothosValidationError","deepEqual","selectionCompatible","state","selectionMap","ignoreQuery","Object","keys","query","length","with","withSelection","extras","columns","entries","some","key","value","has","get","resolvedExtras","table","sql","fieldAlias","stateCompatible","newState","name","relationState","mergeState","allColumns","add","set","createState","parent","Set","Map","mappings","depth","mergeSelection","config","forEach","relation","relations","dbName","merge","dbToSchema","referencedTableName","selection","relatedState","selectionToQuery","primaryKey","sel"],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export const usageSymbol = Symbol.for("Pothos.isUsed");
|
|
2
|
+
export function wrapWithUsageCheck(obj) {
|
|
3
|
+
const result = {};
|
|
4
|
+
let used = true;
|
|
5
|
+
Object.defineProperty(result, usageSymbol, {
|
|
6
|
+
get() {
|
|
7
|
+
return used;
|
|
8
|
+
},
|
|
9
|
+
set(value) {
|
|
10
|
+
used = value;
|
|
11
|
+
},
|
|
12
|
+
enumerable: false
|
|
13
|
+
});
|
|
14
|
+
for (const key of Object.keys(obj)) {
|
|
15
|
+
// only set to false if the object has keys
|
|
16
|
+
used = false;
|
|
17
|
+
Object.defineProperty(result, key, {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
configurable: true,
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-loop-func
|
|
21
|
+
get() {
|
|
22
|
+
used = true;
|
|
23
|
+
return obj[key];
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
export function isUsed(obj) {
|
|
30
|
+
return !(usageSymbol in obj) || obj[usageSymbol];
|
|
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
|
+
}
|
|
59
|
+
//# sourceMappingURL=usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/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/esm/types.d.ts
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { BuildQueryResult, Column, DBQueryConfig, Many, Relation, RelationalSchemaConfig, SQL, TableRelationalConfig, TablesRelationalConfig } from 'drizzle-orm';
|
|
2
|
+
import { FieldNode, GraphQLResolveInfo } from 'graphql';
|
|
3
|
+
import { ArgumentRef, FieldKind, FieldMap, FieldNullability, FieldOptionsFromKind, InferredFieldOptionKeys, InferredFieldOptionsByKind, InputFieldMap, InputFieldsFromShape, InputShapeFromFields, InterfaceParam, InterfaceRef, InterfaceTypeOptions, ListResolveValue, MaybePromise, Normalize, ObjectRef, ObjectTypeOptions, OutputShape, OutputType, SchemaTypes, ShapeFromTypeParam, typeBrandKey, TypeParam } from '@pothos/core';
|
|
4
|
+
import type { DrizzleObjectFieldBuilder } from './drizzle-field-builder.js';
|
|
5
|
+
import { type DrizzleRef } from './interface-ref.js';
|
|
6
|
+
import { IndirectInclude } from './utils/map-query.js';
|
|
7
|
+
import { SelectionMap } from './utils/selections.js';
|
|
8
|
+
export interface DrizzlePluginOptions<Types extends SchemaTypes> {
|
|
9
|
+
client: {
|
|
10
|
+
_: Partial<RelationalSchemaConfig<TablesRelationalConfig>>;
|
|
11
|
+
query: {};
|
|
12
|
+
};
|
|
13
|
+
maxConnectionSize?: number;
|
|
14
|
+
defaultConnectionSize?: number;
|
|
15
|
+
}
|
|
16
|
+
export declare const drizzleTableName: unique symbol;
|
|
17
|
+
type NameOrVariant = {
|
|
18
|
+
name?: never;
|
|
19
|
+
variant?: string;
|
|
20
|
+
} | {
|
|
21
|
+
name?: string;
|
|
22
|
+
variant?: never;
|
|
23
|
+
};
|
|
24
|
+
export type DrizzleObjectOptions<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationSchema"], Shape, Selection, Interfaces extends InterfaceParam<Types>[]> = Omit<ObjectTypeOptions<Types, ObjectRef<Types, Shape>, Shape, Interfaces>, "fields"> & NameOrVariant & {
|
|
25
|
+
select?: Selection;
|
|
26
|
+
fields?: (t: DrizzleObjectFieldBuilder<Types, Types["DrizzleRelationSchema"][Table], Shape & {
|
|
27
|
+
[drizzleTableName]?: Table;
|
|
28
|
+
}>) => FieldMap;
|
|
29
|
+
};
|
|
30
|
+
export type DrizzleInterfaceOptions<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationSchema"], Shape, Selection, Interfaces extends InterfaceParam<Types>[]> = Omit<InterfaceTypeOptions<Types, InterfaceRef<Types, Shape>, Shape, Interfaces> & {
|
|
31
|
+
name: string;
|
|
32
|
+
select?: Selection;
|
|
33
|
+
}, "fields"> & NameOrVariant & {
|
|
34
|
+
fields?: (t: DrizzleObjectFieldBuilder<Types, Types["DrizzleRelationSchema"][Table], Shape & {
|
|
35
|
+
[drizzleTableName]?: Table;
|
|
36
|
+
}>) => FieldMap;
|
|
37
|
+
};
|
|
38
|
+
export type DrizzleNodeOptions<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationSchema"], Shape, Selection, Interfaces extends InterfaceParam<Types>[]> = NameOrVariant & Omit<PothosSchemaTypes.ObjectTypeOptions<Types, Shape> | PothosSchemaTypes.ObjectTypeWithInterfaceOptions<Types, Shape, Interfaces>, "fields" | "isTypeOf"> & {
|
|
39
|
+
id: Omit<FieldOptionsFromKind<Types, Shape, "ID", false, {}, "Object", OutputShape<Types, "ID">, MaybePromise<OutputShape<Types, "ID">>>, "args" | "nullable" | "type" | InferredFieldOptionKeys> & {
|
|
40
|
+
column: Column | Column[] | ((columns: Types["DrizzleRelationSchema"][Table]["columns"]) => Column | Column[]);
|
|
41
|
+
};
|
|
42
|
+
name: string;
|
|
43
|
+
select?: Selection;
|
|
44
|
+
fields?: (t: DrizzleObjectFieldBuilder<Types, Types["DrizzleRelationSchema"][Table], Shape & {
|
|
45
|
+
[drizzleTableName]?: Table;
|
|
46
|
+
}>) => FieldMap;
|
|
47
|
+
};
|
|
48
|
+
export type DrizzleFieldOptions<Types extends SchemaTypes, ParentShape, Table extends keyof Types["DrizzleRelationSchema"], Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, Kind extends FieldKind, ResolveShape, ResolveReturnShape, Param> = Omit<FieldOptionsFromKind<Types, ParentShape, Type, Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, "resolve" | "type"> & {
|
|
49
|
+
type: Param;
|
|
50
|
+
resolve: (query: <T extends QueryForDrizzleField<Types, Param, Table>>(selection?: T) => T, parent: ParentShape, args: InputShapeFromFields<Args>, ctx: Types["Context"], info: GraphQLResolveInfo) => MaybePromise<ShapeFromTypeParam<Types, Type, Nullable>>;
|
|
51
|
+
};
|
|
52
|
+
export type DrizzleFieldWithInputOptions<Types extends SchemaTypes, ParentShape, Table extends keyof Types["DrizzleRelationSchema"], Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, Kind extends FieldKind, ResolveShape, ResolveReturnShape, Param, InputName extends string, Fields extends InputFieldMap, ArgRequired extends boolean> = Omit<DrizzleFieldOptions<Types, ParentShape, Table, Type, Nullable, Args & {
|
|
53
|
+
[K in InputName]: ArgumentRef<Types, InputShapeFromFields<Fields> | (true extends ArgRequired ? never : null | undefined)>;
|
|
54
|
+
}, Kind, ResolveShape, ResolveReturnShape, Param>, "args"> & PothosSchemaTypes.FieldWithInputBaseOptions<Types, Args & {
|
|
55
|
+
[K in InputName]: ArgumentRef<Types, InputShapeFromFields<Fields> | (true extends ArgRequired ? never : null | undefined)>;
|
|
56
|
+
}, Fields, InputName, ArgRequired>;
|
|
57
|
+
export type DrizzleObjectFieldOptions<Types extends SchemaTypes, ParentShape, Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, Select, ResolveReturnShape, ShapeWithSelection = Normalize<Omit<unknown extends Select ? ParentShape : BuildQueryResult<Types["DrizzleRelationSchema"], ExtractTable<Types, ParentShape>, Record<string, unknown> & (Select extends (...args: any[]) => infer R ? R : Select)> & ParentShape, typeof drizzleTableName>>> = PothosSchemaTypes.ObjectFieldOptions<Types, ShapeWithSelection, Type, Nullable, Args, ResolveReturnShape> & InferredFieldOptionsByKind<Types, Types["InferredFieldOptionsKind"], ShapeWithSelection, Type, Nullable, Args, ResolveReturnShape> & {
|
|
58
|
+
select?: Select & (DBQueryConfig<"one", false, Types["DrizzleRelationSchema"], ExtractTable<Types, ParentShape>> | ((args: InputShapeFromFields<Args>, ctx: Types["Context"], nestedSelection: <Selection extends boolean | {}>(selection?: Selection, path?: string[]) => Selection) => DBQueryConfig<"one", false, Types["DrizzleRelationSchema"], ExtractTable<Types, ParentShape>>));
|
|
59
|
+
};
|
|
60
|
+
export type DrizzleFieldSelection = DBQueryConfig<"one", false> | ((args: {}, ctx: object, mergeNestedSelection: (selection: SelectionMap | boolean | ((args: object, context: object) => DBQueryConfig<"one", false>), path?: IndirectInclude | string[], type?: string) => DBQueryConfig<"one", false> | boolean, resolveSelection: (path: string[]) => FieldNode | null) => SelectionMap);
|
|
61
|
+
export type ExtractTable<Types extends SchemaTypes, Shape> = Shape extends {
|
|
62
|
+
[drizzleTableName]?: keyof Types["DrizzleRelationSchema"];
|
|
63
|
+
} ? Types["DrizzleRelationSchema"][NonNullable<Shape[typeof drizzleTableName]>] : never;
|
|
64
|
+
export type RelatedFieldOptions<Types extends SchemaTypes, Table extends TableRelationalConfig, Field extends keyof Table["relations"], Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape, Shape> = Omit<DrizzleObjectFieldOptions<Types, Shape, RefForRelation<Types, Table["relations"][Field]>, Nullable, Args, {
|
|
65
|
+
columns: {};
|
|
66
|
+
with: {
|
|
67
|
+
[K in Field]: true;
|
|
68
|
+
};
|
|
69
|
+
}, ResolveReturnShape>, "description" | "resolve" | "select" | "type"> & {
|
|
70
|
+
description?: string | false;
|
|
71
|
+
type?: ObjectRef<Types, TypesForRelation<Types, Table["relations"][Field]>>;
|
|
72
|
+
query?: QueryForField<Types, Args, Table["relations"][Field]>;
|
|
73
|
+
};
|
|
74
|
+
export type VariantFieldOptions<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationSchema"], Variant extends DrizzleRef<any, Table> | Table, Args extends InputFieldMap, isNull, Shape, ResolveShape, ResolveReturnShape> = Omit<FieldOptionsFromKind<Types, Shape, Variant extends DrizzleRef<any> ? Variant : DrizzleRef<any, Table>, unknown extends isNull ? false : true, Args, "DrizzleObject", ResolveShape, ResolveReturnShape>, InferredFieldOptionKeys | "type"> & {
|
|
75
|
+
isNull?: isNull & ((parent: Normalize<Omit<unknown extends ResolveShape ? Shape : BuildQueryResult<Types["DrizzleRelationSchema"], ExtractTable<Types, Shape>, Record<string, unknown> & (ResolveShape extends (...args: any[]) => infer R ? R : ResolveShape)> & Shape, typeof drizzleTableName>>, args: InputShapeFromFields<Args>, context: Types["Context"], info: GraphQLResolveInfo) => MaybePromise<boolean>);
|
|
76
|
+
};
|
|
77
|
+
export type RefForRelation<Types extends SchemaTypes, Rel extends Relation> = Rel extends {
|
|
78
|
+
$relationBrand: "One";
|
|
79
|
+
} ? ObjectRef<Types, TypesForRelation<Types, Rel>> : [
|
|
80
|
+
ObjectRef<Types, TypesForRelation<Types, Rel>>
|
|
81
|
+
];
|
|
82
|
+
export type TypesForRelation<Types extends SchemaTypes, Rel extends Relation> = BuildQueryResult<Types["DrizzleRelationSchema"], Types["DrizzleRelationSchema"][Rel["referencedTable"]["_"]["name"]], true>;
|
|
83
|
+
export type QueryForField<Types extends SchemaTypes, Args extends InputFieldMap, Rel extends Relation> = (Rel extends {
|
|
84
|
+
$relationBrand: "One";
|
|
85
|
+
} ? Omit<DBQueryConfig<"one", false, Types["DrizzleRelationSchema"], Types["DrizzleRelationSchema"][Rel["referencedTable"]["_"]["name"]]>, "columns" | "extra" | "with"> : Omit<DBQueryConfig<"many", false, Types["DrizzleRelationSchema"], Types["DrizzleRelationSchema"][Rel["referencedTable"]["_"]["name"]]>, "columns" | "extra" | "with">) extends infer QueryConfig ? QueryConfig | ((args: InputShapeFromFields<Args>, context: Types["Context"]) => QueryConfig) : never;
|
|
86
|
+
export type QueryForDrizzleField<Types extends SchemaTypes, Param, Table extends keyof Types["DrizzleRelationSchema"]> = Omit<DBQueryConfig<"many", true, Types["DrizzleRelationSchema"], Types["DrizzleRelationSchema"][Table]>, Param extends [
|
|
87
|
+
unknown
|
|
88
|
+
] ? never : "limit">;
|
|
89
|
+
export type QueryForRelatedConnection<Types extends SchemaTypes, Table extends TableRelationalConfig, Args> = Omit<DBQueryConfig<"many", false, Types["DrizzleRelationSchema"], Table>, "orderBy" | "limit" | "offset" | "columns" | "extra" | "with"> & {
|
|
90
|
+
orderBy?: ConnectionOrderBy | ((columns: Table["columns"]) => ConnectionOrderBy);
|
|
91
|
+
} extends infer QueryConfig ? QueryConfig | ((args: Args, context: Types["Context"]) => QueryConfig) : never;
|
|
92
|
+
export type QueryForDrizzleConnection<Types extends SchemaTypes, Table extends TableRelationalConfig> = Omit<DBQueryConfig<"many", false, Types["DrizzleRelationSchema"], Table>, "orderBy" | "limit" | "offset"> & {
|
|
93
|
+
orderBy?: ConnectionOrderBy | ((columns: Table["columns"]) => ConnectionOrderBy);
|
|
94
|
+
};
|
|
95
|
+
export type ListRelation<T extends TableRelationalConfig> = {
|
|
96
|
+
[K in keyof T["relations"]]: T["relations"][K] extends Many<string> ? K : never;
|
|
97
|
+
}[keyof T["relations"]];
|
|
98
|
+
export type DrizzleConnectionFieldOptions<Types extends SchemaTypes, ParentShape, Type extends DrizzleRef<any, keyof Types["DrizzleRelationSchema"]> | keyof Types["DrizzleRelationSchema"], TableConfig extends TableRelationalConfig, Param extends OutputType<Types>, Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape, Kind extends FieldKind> = Omit<FieldOptionsFromKind<Types, ParentShape, Param, Nullable, InputFieldsFromShape<Types, PothosSchemaTypes.DefaultConnectionArguments, "Arg"> & (InputFieldMap extends Args ? {} : Args), Kind, ParentShape, ResolveReturnShape>, "args" | "resolve" | "type"> & Omit<PothosSchemaTypes.ConnectionFieldOptions<Types, ParentShape, Param, Nullable, false, false, Args, ResolveReturnShape>, "resolve" | "type"> & (InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments extends infer ConnectionArgs ? {
|
|
99
|
+
type: Type;
|
|
100
|
+
defaultSize?: number | ((args: ConnectionArgs, ctx: Types["Context"]) => number);
|
|
101
|
+
maxSize?: number | ((args: ConnectionArgs, ctx: Types["Context"]) => number);
|
|
102
|
+
resolve: (query: <T extends QueryForRelatedConnection<Types, Types["DrizzleRelationSchema"][Type extends DrizzleRef<any, infer K> ? K : Type & keyof Types["DrizzleRelationSchema"]], ConnectionArgs>>(selection?: T) => Omit<T, "orderBy"> & {
|
|
103
|
+
orderBy: SQL;
|
|
104
|
+
}, parent: ParentShape, args: ConnectionArgs, context: Types["Context"], info: GraphQLResolveInfo) => ShapeFromTypeParam<Types, [
|
|
105
|
+
Param
|
|
106
|
+
], Nullable> extends infer Shape ? [
|
|
107
|
+
Shape
|
|
108
|
+
] extends [
|
|
109
|
+
[
|
|
110
|
+
readonly (infer Item)[] | null | undefined
|
|
111
|
+
]
|
|
112
|
+
] ? ListResolveValue<Shape, Item, ResolveReturnShape> : MaybePromise<Shape> : never;
|
|
113
|
+
} : never);
|
|
114
|
+
export type RelatedConnectionOptions<Types extends SchemaTypes, Shape, Table extends TableRelationalConfig, Field extends keyof Table["relations"], Nullable extends boolean, Args extends InputFieldMap, NodeTable extends TableRelationalConfig = Types["DrizzleRelationSchema"][Table["relations"][Field]["referencedTable"]["_"]["name"]]> = Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, ObjectRef<Types, unknown>, Nullable, InputFieldsFromShape<Types, PothosSchemaTypes.DefaultConnectionArguments, "InputObject"> & (InputFieldMap extends Args ? {} : Args), unknown>, "args" | "resolve" | "type"> & Omit<PothosSchemaTypes.ConnectionFieldOptions<Types, Shape, ObjectRef<Types, unknown>, false, false, Nullable, Args, unknown>, "resolve" | "type"> & (InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments extends infer ConnectionArgs ? {
|
|
115
|
+
resolve?: (parent: Shape, args: ConnectionArgs, context: Types["Context"], info: GraphQLResolveInfo) => MaybePromise<ShapeFromTypeParam<Types, [
|
|
116
|
+
ObjectRef<Types, TypesForRelation<Types, Table["relations"][Field]>>
|
|
117
|
+
], Nullable>>;
|
|
118
|
+
query: QueryForRelatedConnection<Types, NodeTable, ConnectionArgs>;
|
|
119
|
+
type?: DrizzleRef<any, Table["relations"][Field]["referencedTable"]["_"]["name"]>;
|
|
120
|
+
defaultSize?: number | ((args: ConnectionArgs, ctx: Types["Context"]) => number);
|
|
121
|
+
maxSize?: number | ((args: ConnectionArgs, ctx: Types["Context"]) => number);
|
|
122
|
+
} : never);
|
|
123
|
+
export type ConnectionOrderBy = Column | {
|
|
124
|
+
asc: Column;
|
|
125
|
+
} | {
|
|
126
|
+
desc: Column;
|
|
127
|
+
} | (Column | {
|
|
128
|
+
asc: Column;
|
|
129
|
+
} | {
|
|
130
|
+
desc: Column;
|
|
131
|
+
})[];
|
|
132
|
+
export type ShapeFromConnection<T> = T extends {
|
|
133
|
+
shape: unknown;
|
|
134
|
+
} ? T["shape"] : never;
|
|
135
|
+
export type DrizzleConnectionShape<Types extends SchemaTypes, T, Parent, Args extends InputFieldMap> = (ShapeFromConnection<PothosSchemaTypes.ConnectionShapeHelper<Types, T, false>> extends infer Shape ? Shape & {
|
|
136
|
+
parent: Parent;
|
|
137
|
+
args: InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments;
|
|
138
|
+
} : never) extends infer C ? [
|
|
139
|
+
C
|
|
140
|
+
] extends [
|
|
141
|
+
{
|
|
142
|
+
edges: MaybePromise<readonly (infer Edge | null | undefined)[] | null | undefined>;
|
|
143
|
+
}
|
|
144
|
+
] ? Omit<C, "edges"> & {
|
|
145
|
+
edges: (Edge & {
|
|
146
|
+
connection: C;
|
|
147
|
+
})[];
|
|
148
|
+
} : C : never;
|
|
149
|
+
export type WithBrand<T> = T & {
|
|
150
|
+
[typeBrandKey]: string;
|
|
151
|
+
};
|
|
152
|
+
export interface AddGraphQLInputTypeOptions<Types extends SchemaTypes, Shape extends {}> extends Omit<PothosSchemaTypes.InputObjectTypeOptions<Types, InputFieldsFromShape<Types, Shape, "InputObject">>, "fields"> {
|
|
153
|
+
name?: string;
|
|
154
|
+
}
|
|
155
|
+
export interface DrizzleGraphQLInputExtensions {
|
|
156
|
+
table: string;
|
|
157
|
+
tableConfig: TableRelationalConfig;
|
|
158
|
+
inputType: "insert" | "filters" | "orderBy" | "update";
|
|
159
|
+
}
|
|
160
|
+
export {};
|
|
161
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SchemaTypes } from '@pothos/core';
|
|
2
|
+
import { RelationalSchemaConfig, TableRelationalConfig, TablesRelationalConfig } from 'drizzle-orm';
|
|
3
|
+
export interface PothosDrizzleSchemaConfig extends RelationalSchemaConfig<TablesRelationalConfig> {
|
|
4
|
+
dbToSchema: Record<string, TableRelationalConfig>;
|
|
5
|
+
}
|
|
6
|
+
export declare function getSchemaConfig<Types extends SchemaTypes>(builder: PothosSchemaTypes.SchemaBuilder<Types>): PothosDrizzleSchemaConfig;
|
|
7
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAEpG,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB,CAAC,sBAAsB,CAAC;IAC/F,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CACnD;AAkBD,wBAAgB,eAAe,CAAC,KAAK,SAAS,WAAW,EACvD,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,6BAGhD"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { MaybePromise, SchemaTypes } from '@pothos/core';
|
|
2
|
+
import { Column, SQL, TableRelationalConfig } from 'drizzle-orm';
|
|
3
|
+
import { ConnectionOrderBy, QueryForDrizzleConnection } from '../types.js';
|
|
4
|
+
import { SelectionMap } from './selections.js';
|
|
5
|
+
import { GraphQLResolveInfo } from 'graphql';
|
|
6
|
+
import { PothosDrizzleSchemaConfig } from './config.js';
|
|
7
|
+
export declare function formatCursorChunk(value: unknown): string;
|
|
8
|
+
export declare function formatDrizzleCursor(record: Record<string, unknown>, fields: Column[]): string;
|
|
9
|
+
export declare function getColumnSerializer(fields: Column[]): (value: Record<string, unknown>) => string;
|
|
10
|
+
export declare function getCursorFormatter(fields: Column[]): (value: Record<string, unknown>) => string;
|
|
11
|
+
export declare function parseDrizzleCursor(cursor: unknown): unknown;
|
|
12
|
+
export declare function parseSerializedDrizzleColumn(value: unknown): unknown;
|
|
13
|
+
export declare function parseID(id: string, dataType: string): unknown;
|
|
14
|
+
export declare function getColumnParser(fields: readonly Column[]): (value: unknown) => Record<string, unknown>;
|
|
15
|
+
export declare function getCursorParser(fields: readonly Column[]): (cursor: unknown) => Record<string, unknown>;
|
|
16
|
+
export interface DrizzleCursorConnectionQueryOptions {
|
|
17
|
+
args: PothosSchemaTypes.DefaultConnectionArguments;
|
|
18
|
+
ctx: {};
|
|
19
|
+
defaultSize?: number | ((args: {}, ctx: {}) => number);
|
|
20
|
+
maxSize?: number | ((args: {}, ctx: {}) => number);
|
|
21
|
+
orderBy: ConnectionOrderBy;
|
|
22
|
+
where?: SQL;
|
|
23
|
+
}
|
|
24
|
+
export declare function drizzleCursorConnectionQuery({ args, ctx, maxSize, defaultSize, orderBy, where, }: DrizzleCursorConnectionQueryOptions): {
|
|
25
|
+
cursorColumns: Column<import("drizzle-orm").ColumnBaseConfig<import("drizzle-orm").ColumnDataType, string>, object, object>[];
|
|
26
|
+
columns: Record<string, boolean>;
|
|
27
|
+
orderBy: SQL<unknown>[];
|
|
28
|
+
limit: number;
|
|
29
|
+
offset: number;
|
|
30
|
+
where: SQL<unknown> | undefined;
|
|
31
|
+
};
|
|
32
|
+
export declare function wrapConnectionResult<T extends {}>(results: readonly T[], args: PothosSchemaTypes.DefaultConnectionArguments, limit: number, cursor: (node: T) => string, resolveNode?: (node: unknown) => unknown): {
|
|
33
|
+
args: PothosSchemaTypes.DefaultConnectionArguments;
|
|
34
|
+
edges: ({
|
|
35
|
+
cursor: string;
|
|
36
|
+
node: unknown;
|
|
37
|
+
} | null)[];
|
|
38
|
+
pageInfo: {
|
|
39
|
+
startCursor: string | null;
|
|
40
|
+
endCursor: string | null;
|
|
41
|
+
hasPreviousPage: boolean;
|
|
42
|
+
hasNextPage: boolean;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
export declare function resolveDrizzleCursorConnection<T extends {}>(table: TableRelationalConfig, info: GraphQLResolveInfo, typeName: string, config: PothosDrizzleSchemaConfig, options: Omit<DrizzleCursorConnectionQueryOptions, "orderBy">, resolve: (queryFn: (query: QueryForDrizzleConnection<SchemaTypes, TableRelationalConfig>) => SelectionMap) => MaybePromise<readonly T[]>): Promise<{
|
|
46
|
+
args: PothosSchemaTypes.DefaultConnectionArguments;
|
|
47
|
+
edges: ({
|
|
48
|
+
cursor: string;
|
|
49
|
+
node: unknown;
|
|
50
|
+
} | null)[];
|
|
51
|
+
pageInfo: {
|
|
52
|
+
startCursor: string | null;
|
|
53
|
+
endCursor: string | null;
|
|
54
|
+
hasPreviousPage: boolean;
|
|
55
|
+
hasNextPage: boolean;
|
|
56
|
+
};
|
|
57
|
+
}>;
|
|
58
|
+
//# sourceMappingURL=cursors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursors.d.ts","sourceRoot":"","sources":["../../src/utils/cursors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deep-equal.d.ts","sourceRoot":"","sources":["../../src/utils/deep-equal.ts"],"names":[],"mappings":"AACA,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,WAwD5E"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Column, SQL, TableRelationalConfig } from 'drizzle-orm';
|
|
2
|
+
export declare const remapFromGraphQLCore: (value: any, column: Column, columnName: string) => any;
|
|
3
|
+
export declare const remapFromGraphQLSingleInput: (queryInput: Record<string, any>, table: TableRelationalConfig) => Record<string, any>;
|
|
4
|
+
export declare const remapFromGraphQLArrayInput: (queryInput: Record<string, any>[], table: TableRelationalConfig) => Record<string, any>[];
|
|
5
|
+
export type OrderByArgs<TTable extends TableRelationalConfig> = {
|
|
6
|
+
[Key in keyof TTable["columns"]]?: {
|
|
7
|
+
direction: "asc" | "desc";
|
|
8
|
+
priority: number;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export declare const extractOrderBy: <TTable extends TableRelationalConfig, TArgs extends OrderByArgs<any> = OrderByArgs<TTable>>(table: TTable, orderArgs: TArgs) => SQL[];
|
|
12
|
+
export declare const extractFiltersColumn: <TColumn extends Column>(column: TColumn, columnName: string, operators: Record<string, unknown> & {
|
|
13
|
+
OR?: Record<string, unknown>[];
|
|
14
|
+
}) => SQL | undefined;
|
|
15
|
+
export declare const extractFilters: <TTable extends TableRelationalConfig>(table: TTable, tableName: string, filters: Record<string, unknown> & {
|
|
16
|
+
OR?: Record<string, unknown>[];
|
|
17
|
+
}) => SQL | undefined;
|
|
18
|
+
//# sourceMappingURL=drizzle-graphql.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drizzle-graphql.d.ts","sourceRoot":"","sources":["../../src/utils/drizzle-graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,MAAM,EAAsB,GAAG,EAAS,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGjG,eAAO,MAAM,oBAAoB,UAAW,GAAG,UAAU,MAAM,cAAc,MAAM,QAwDlF,CAAC;AAEF,eAAO,MAAM,2BAA2B,eAC1B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,SACxB,qBAAqB,wBAmB7B,CAAC;AAEF,eAAO,MAAM,0BAA0B,eACzB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAC1B,qBAAqB,0BAK7B,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,qBAAqB,IAAI;KAC7D,GAAG,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;QACjC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;KAClB;CACF,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,MAAM,SAAS,qBAAqB,EACpC,KAAK,SAAS,WAAW,CAAC,GAAG,CAAC,+BAEvB,MAAM,aACF,KAAK,KACf,GAAG,EAaL,CAAC;AAIF,eAAO,MAAM,oBAAoB,GAAI,OAAO,SAAS,MAAM,UACjD,OAAO,cACH,MAAM,aACP,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAAE,KACtE,GAAG,GAAG,SAmER,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,qBAAqB,SAC1D,MAAM,aACF,MAAM,WACR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CAChC,KACA,GAAG,GAAG,SAgCR,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { GraphQLResolveInfo } from 'graphql';
|
|
2
|
+
export type LoaderMappings = Record<string, {
|
|
3
|
+
field: string;
|
|
4
|
+
type: string;
|
|
5
|
+
mappings: LoaderMappings;
|
|
6
|
+
indirectPath: string[];
|
|
7
|
+
}>;
|
|
8
|
+
export declare function cacheKey(type: string, path: GraphQLResolveInfo["path"], subPath?: string[]): string;
|
|
9
|
+
export declare function setLoaderMappings(ctx: object, info: GraphQLResolveInfo, value: LoaderMappings): void;
|
|
10
|
+
export declare function getLoaderMapping(ctx: object, path: GraphQLResolveInfo["path"], type: string): LoaderMappings | null;
|
|
11
|
+
//# sourceMappingURL=loader-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader-map.d.ts","sourceRoot":"","sources":["../../src/utils/loader-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7C,MAAM,MAAM,cAAc,GAAG,MAAM,CACjC,MAAM,EACN;IACE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,cAAc,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CACF,CAAC;AAIF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAE,MAAM,EAAO,UAgB9F;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,QAU7F;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,yBAK3F"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { GraphQLNamedType, GraphQLResolveInfo } from 'graphql';
|
|
2
|
+
import { SelectionMap, SelectionState } from './selections.js';
|
|
3
|
+
import { PothosDrizzleSchemaConfig } from './config.js';
|
|
4
|
+
export interface IndirectInclude {
|
|
5
|
+
getType: () => string;
|
|
6
|
+
path?: {
|
|
7
|
+
type?: string;
|
|
8
|
+
name: string;
|
|
9
|
+
}[];
|
|
10
|
+
paths?: {
|
|
11
|
+
type?: string;
|
|
12
|
+
name: string;
|
|
13
|
+
}[][];
|
|
14
|
+
}
|
|
15
|
+
export interface QueryFromInfoOptions<T extends SelectionMap> {
|
|
16
|
+
config: PothosDrizzleSchemaConfig;
|
|
17
|
+
context: object;
|
|
18
|
+
info: GraphQLResolveInfo;
|
|
19
|
+
typeName?: string;
|
|
20
|
+
select?: T;
|
|
21
|
+
path?: string[];
|
|
22
|
+
paths?: string[][];
|
|
23
|
+
withUsageCheck?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare function queryFromInfo<T extends SelectionMap>({ withUsageCheck, ...options }: QueryFromInfoOptions<T>): T;
|
|
26
|
+
export declare function stateFromInfo<T extends SelectionMap>({ config, context, info, typeName, select, path, paths, }: QueryFromInfoOptions<T>): SelectionState;
|
|
27
|
+
export declare function selectionStateFromInfo(config: PothosDrizzleSchemaConfig, context: object, info: GraphQLResolveInfo, typeName?: string): SelectionState;
|
|
28
|
+
export declare function getIndirectType(type: GraphQLNamedType, info: GraphQLResolveInfo): GraphQLNamedType;
|
|
29
|
+
export declare function normalizeInclude(path: string[], type: GraphQLNamedType, expectedType?: GraphQLNamedType): IndirectInclude;
|
|
30
|
+
//# sourceMappingURL=map-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-query.d.ts","sourceRoot":"","sources":["../../src/utils/map-query.ts"],"names":[],"mappings":"AAOA,OAAO,EASL,gBAAgB,EAEhB,kBAAkB,EAOnB,MAAM,SAAS,CAAC;AAIjB,OAAO,EAIL,YAAY,EACZ,cAAc,EAEf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzC,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,EAAE,CAAC;CAC7C;AAwVD,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,YAAY;IAC1D,MAAM,EAAE,yBAAyB,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,EACpD,cAAc,EACd,GAAG,OAAO,EACX,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAQ7B;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,EACpD,MAAM,EACN,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,IAAS,EACT,KAAU,GACX,EAAE,oBAAoB,CAAC,CAAC,CAAC,kBAsDzB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,EACxB,QAAQ,CAAC,EAAE,MAAM,kBAelB;AAyBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,oBAU/E;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,gBAAgB,EACtB,YAAY,CAAC,EAAE,gBAAgB,GAC9B,eAAe,CA+BjB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SchemaTypes } from '@pothos/core';
|
|
2
|
+
import { DrizzleRef } from '../interface-ref.js';
|
|
3
|
+
export declare const refMap: WeakMap<object, Map<string, DrizzleRef<never>>>;
|
|
4
|
+
export declare function getRefFromModel<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, type?: "interface" | "object"): DrizzleRef<Types>;
|
|
5
|
+
//# sourceMappingURL=refs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../src/utils/refs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAuB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnE,eAAO,MAAM,MAAM,iDAAwD,CAAC;AAE5E,wBAAgB,eAAe,CAAC,KAAK,SAAS,WAAW,EACvD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,IAAI,GAAE,WAAW,GAAG,QAAmB,GACtC,UAAU,CAAC,KAAK,CAAC,CAcnB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DBQueryConfig, SQL, TableRelationalConfig } from 'drizzle-orm';
|
|
2
|
+
import { LoaderMappings } from './loader-map.js';
|
|
3
|
+
import { PothosDrizzleSchemaConfig } from './config.js';
|
|
4
|
+
export interface SelectionState {
|
|
5
|
+
table: TableRelationalConfig;
|
|
6
|
+
query: object;
|
|
7
|
+
allColumns: boolean;
|
|
8
|
+
columns: Set<string>;
|
|
9
|
+
with: Map<string, SelectionState>;
|
|
10
|
+
extras: Map<string, SQL.Aliased>;
|
|
11
|
+
mappings: LoaderMappings;
|
|
12
|
+
parent?: SelectionState;
|
|
13
|
+
depth: number;
|
|
14
|
+
}
|
|
15
|
+
export type SelectionMap = DBQueryConfig<"one", false>;
|
|
16
|
+
export declare function selectionCompatible(state: SelectionState, selectionMap: SelectionMap | boolean, ignoreQuery?: boolean): boolean;
|
|
17
|
+
export declare function stateCompatible(state: SelectionState, newState: SelectionState, ignoreQuery?: boolean): boolean;
|
|
18
|
+
export declare function mergeState(state: SelectionState, newState: SelectionState): void;
|
|
19
|
+
export declare function createState(table: TableRelationalConfig, parent?: SelectionState): SelectionState;
|
|
20
|
+
export declare function mergeSelection(config: PothosDrizzleSchemaConfig, state: SelectionState, { with: withSelection, extras, columns, ...query }: SelectionMap): void;
|
|
21
|
+
export declare function selectionToQuery(state: SelectionState): SelectionMap;
|
|
22
|
+
//# sourceMappingURL=selections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selections.d.ts","sourceRoot":"","sources":["../../src/utils/selections.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EAEb,GAAG,EACH,qBAAqB,EAGtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,qBAAqB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEvD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,YAAY,GAAG,OAAO,EACpC,WAAW,UAAQ,GAClB,OAAO,CAmCT;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,cAAc,EACxB,WAAW,UAAQ,GAClB,OAAO,CAQT;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,QAoBzE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,cAAc,CAYjG;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,yBAAyB,EACjC,KAAK,EAAE,cAAc,EACrB,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,QAsDjE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,CA8BpE"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const usageSymbol: unique symbol;
|
|
2
|
+
export declare function wrapWithUsageCheck<T extends Object>(obj: T): T;
|
|
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;
|
|
5
|
+
//# sourceMappingURL=usage.d.ts.map
|