@pothos/plugin-drizzle 0.17.4 → 0.17.5
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 +8 -0
- package/dts/connection-helpers.d.ts +3 -3
- package/dts/connection-helpers.d.ts.map +1 -1
- package/dts/drizzle-field-builder.d.ts +2 -2
- package/dts/drizzle-field-builder.d.ts.map +1 -1
- package/dts/global-types.d.ts +6 -6
- package/dts/global-types.d.ts.map +1 -1
- package/dts/index.d.ts +8 -8
- package/dts/index.d.ts.map +1 -1
- package/dts/interface-ref.d.ts +2 -2
- package/dts/interface-ref.d.ts.map +1 -1
- package/dts/model-loader.d.ts +2 -2
- package/dts/model-loader.d.ts.map +1 -1
- package/dts/node-ref.d.ts +1 -1
- package/dts/node-ref.d.ts.map +1 -1
- package/dts/object-ref.d.ts +1 -1
- package/dts/object-ref.d.ts.map +1 -1
- package/dts/types.d.ts +5 -5
- package/dts/types.d.ts.map +1 -1
- package/dts/utils/cursors.d.ts +4 -4
- package/dts/utils/cursors.d.ts.map +1 -1
- package/dts/utils/map-query.d.ts +3 -3
- package/dts/utils/map-query.d.ts.map +1 -1
- package/dts/utils/refs.d.ts +1 -1
- package/dts/utils/refs.d.ts.map +1 -1
- package/dts/utils/selections.d.ts +2 -2
- package/dts/utils/selections.d.ts.map +1 -1
- package/esm/connection-helpers.d.ts +14 -16
- package/esm/connection-helpers.d.ts.map +1 -1
- package/esm/connection-helpers.js +25 -24
- package/esm/connection-helpers.js.map +1 -1
- package/esm/drizzle-field-builder.d.ts +60 -172
- package/esm/drizzle-field-builder.d.ts.map +1 -1
- package/esm/drizzle-field-builder.js +48 -48
- package/esm/drizzle-field-builder.js.map +1 -1
- package/esm/field-builder.d.ts +1 -1
- package/esm/field-builder.js +29 -28
- package/esm/field-builder.js.map +1 -1
- package/esm/global-types.d.ts +32 -60
- package/esm/global-types.d.ts.map +1 -1
- package/esm/global-types.js +3 -2
- package/esm/global-types.js.map +1 -1
- package/esm/index.d.ts +2 -2
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +15 -14
- package/esm/index.js.map +1 -1
- package/esm/interface-ref.d.ts +4 -4
- package/esm/interface-ref.d.ts.map +1 -1
- package/esm/interface-ref.js +4 -4
- package/esm/interface-ref.js.map +1 -1
- package/esm/model-loader.d.ts +2 -3
- package/esm/model-loader.d.ts.map +1 -1
- package/esm/model-loader.js +24 -25
- package/esm/model-loader.js.map +1 -1
- package/esm/node-ref.d.ts +2 -2
- package/esm/node-ref.d.ts.map +1 -1
- package/esm/node-ref.js +5 -5
- package/esm/node-ref.js.map +1 -1
- package/esm/object-ref.d.ts +3 -3
- package/esm/object-ref.d.ts.map +1 -1
- package/esm/object-ref.js +7 -7
- package/esm/schema-builder.d.ts +1 -1
- package/esm/schema-builder.js +133 -132
- package/esm/schema-builder.js.map +1 -1
- package/esm/types.d.ts +69 -83
- package/esm/types.d.ts.map +1 -1
- package/esm/types.js +3 -2
- package/esm/types.js.map +1 -1
- package/esm/utils/config.d.ts +2 -4
- package/esm/utils/config.js +14 -14
- package/esm/utils/cursors.d.ts +3 -3
- package/esm/utils/cursors.d.ts.map +1 -1
- package/esm/utils/cursors.js +85 -90
- package/esm/utils/cursors.js.map +1 -1
- package/esm/utils/deep-equal.d.ts +1 -1
- package/esm/utils/deep-equal.js +6 -5
- package/esm/utils/drizzle-graphql.d.ts +1 -1
- package/esm/utils/drizzle-graphql.js +232 -231
- package/esm/utils/loader-map.d.ts +3 -3
- package/esm/utils/loader-map.js +8 -7
- package/esm/utils/map-query.d.ts +2 -2
- package/esm/utils/map-query.d.ts.map +1 -1
- package/esm/utils/map-query.js +39 -43
- package/esm/utils/map-query.js.map +1 -1
- package/esm/utils/refs.d.ts +2 -2
- package/esm/utils/refs.d.ts.map +1 -1
- package/esm/utils/refs.js +5 -4
- package/esm/utils/refs.js.map +1 -1
- package/esm/utils/selections.d.ts +3 -3
- package/esm/utils/selections.d.ts.map +1 -1
- package/esm/utils/selections.js +20 -22
- package/esm/utils/selections.js.map +1 -1
- package/esm/utils/usage.d.ts +1 -1
- package/esm/utils/usage.js +9 -8
- package/lib/connection-helpers.js +5 -5
- package/lib/drizzle-field-builder.js +3 -3
- package/lib/field-builder.js +4 -4
- package/lib/index.js +8 -8
- package/lib/interface-ref.js +1 -1
- package/lib/model-loader.js +4 -4
- package/lib/node-ref.js +1 -1
- package/lib/schema-builder.js +8 -8
- package/lib/types.js +1 -1
- package/lib/utils/cursors.js +1 -1
- package/lib/utils/map-query.js +3 -3
- package/lib/utils/refs.js +2 -2
- package/lib/utils/selections.js +1 -1
- package/package.json +12 -13
- package/src/connection-helpers.ts +7 -7
- package/src/drizzle-field-builder.ts +6 -6
- package/src/field-builder.ts +7 -7
- package/src/global-types.ts +6 -6
- package/src/index.ts +11 -11
- package/src/interface-ref.ts +2 -2
- package/src/model-loader.ts +4 -4
- package/src/node-ref.ts +1 -1
- package/src/object-ref.ts +1 -1
- package/src/schema-builder.ts +9 -9
- package/src/types.ts +5 -5
- package/src/utils/config.ts +1 -1
- package/src/utils/cursors.ts +4 -4
- package/src/utils/map-query.ts +5 -5
- package/src/utils/refs.ts +2 -2
- package/src/utils/selections.ts +3 -3
package/esm/utils/map-query.js
CHANGED
|
@@ -5,7 +5,7 @@ import { createState, mergeSelection, selectionCompatible, selectionToQuery } fr
|
|
|
5
5
|
import { wrapWithUsageCheck } from './usage.js';
|
|
6
6
|
function addTypeSelectionsForField(config, type, context, info, state, selection, indirectPath, deferred, segments = []) {
|
|
7
7
|
var _type_extensions;
|
|
8
|
-
if (selection.name.value.startsWith(
|
|
8
|
+
if (selection.name.value.startsWith('__')) {
|
|
9
9
|
return;
|
|
10
10
|
}
|
|
11
11
|
const { pothosDrizzleSelect, pothosIndirectInclude } = (_type_extensions = type.extensions) !== null && _type_extensions !== void 0 ? _type_extensions : {};
|
|
@@ -13,11 +13,10 @@ function addTypeSelectionsForField(config, type, context, info, state, selection
|
|
|
13
13
|
var _pothosIndirectInclude_paths;
|
|
14
14
|
resolveIndirectIncludePaths(type, info, selection, [], (_pothosIndirectInclude_paths = pothosIndirectInclude.paths) !== null && _pothosIndirectInclude_paths !== void 0 ? _pothosIndirectInclude_paths : [
|
|
15
15
|
pothosIndirectInclude.path
|
|
16
|
-
], indirectPath, (resolvedType, field, path)
|
|
16
|
+
], indirectPath, (resolvedType, field, path)=>{
|
|
17
17
|
addTypeSelectionsForField(config, resolvedType, context, info, state, field, path, deferred, segments);
|
|
18
18
|
}, deferred);
|
|
19
|
-
}
|
|
20
|
-
else if (pothosIndirectInclude) {
|
|
19
|
+
} else if (pothosIndirectInclude) {
|
|
21
20
|
addTypeSelectionsForField(config, info.schema.getType(pothosIndirectInclude.getType()), context, info, state, selection, indirectPath, deferred, segments);
|
|
22
21
|
return;
|
|
23
22
|
}
|
|
@@ -34,14 +33,13 @@ function addTypeSelectionsForField(config, type, context, info, state, selection
|
|
|
34
33
|
}
|
|
35
34
|
}
|
|
36
35
|
function resolveIndirectIncludePaths(type, info, selection, pathPrefix, includePaths, path, resolve, deferred) {
|
|
37
|
-
for (const includePath of includePaths)
|
|
36
|
+
for (const includePath of includePaths){
|
|
38
37
|
if (pathPrefix.length > 0) {
|
|
39
38
|
resolveIndirectInclude(type, info, selection, [
|
|
40
39
|
...pathPrefix,
|
|
41
40
|
...includePath
|
|
42
41
|
], path, resolve, deferred);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
42
|
+
} else {
|
|
45
43
|
resolveIndirectInclude(type, info, selection, includePath, path, resolve, deferred);
|
|
46
44
|
}
|
|
47
45
|
}
|
|
@@ -55,8 +53,8 @@ function resolveIndirectInclude(type, info, selection, includePath, path, resolv
|
|
|
55
53
|
if (!selection.selectionSet || !include) {
|
|
56
54
|
return;
|
|
57
55
|
}
|
|
58
|
-
for (const sel of selection.selectionSet.selections)
|
|
59
|
-
switch
|
|
56
|
+
for (const sel of selection.selectionSet.selections){
|
|
57
|
+
switch(sel.kind){
|
|
60
58
|
case Kind.FIELD:
|
|
61
59
|
if (!fieldSkipped(info, sel) && sel.name.value === include.name && (isObjectType(type) || isInterfaceType(type))) {
|
|
62
60
|
var _ref;
|
|
@@ -85,8 +83,8 @@ function resolveIndirectInclude(type, info, selection, includePath, path, resolv
|
|
|
85
83
|
}
|
|
86
84
|
function addNestedSelections(config, type, context, info, state, selections, indirectPath, segments = []) {
|
|
87
85
|
let parentType = type;
|
|
88
|
-
for (const selection of selections.selections)
|
|
89
|
-
switch
|
|
86
|
+
for (const selection of selections.selections){
|
|
87
|
+
switch(selection.kind){
|
|
90
88
|
case Kind.FIELD:
|
|
91
89
|
addFieldSelection(config, type, context, info, state, selection, indirectPath, segments);
|
|
92
90
|
continue;
|
|
@@ -120,7 +118,7 @@ function addNestedSelections(config, type, context, info, state, selections, ind
|
|
|
120
118
|
function addFieldSelection(config, type, context, info, state, selection, indirectPath, segments = []) {
|
|
121
119
|
var _ref;
|
|
122
120
|
var _selection_alias, _field_extensions;
|
|
123
|
-
if (selection.name.value.startsWith(
|
|
121
|
+
if (selection.name.value.startsWith('__') || fieldSkipped(info, selection)) {
|
|
124
122
|
return;
|
|
125
123
|
}
|
|
126
124
|
const field = type.getFields()[selection.name.value];
|
|
@@ -139,18 +137,18 @@ function addFieldSelection(config, type, context, info, state, selection, indire
|
|
|
139
137
|
const fieldSelect = (_field_extensions = field.extensions) === null || _field_extensions === void 0 ? void 0 : _field_extensions.pothosDrizzleSelect;
|
|
140
138
|
let fieldSelectionMap;
|
|
141
139
|
let mappings = {};
|
|
142
|
-
if (typeof fieldSelect ===
|
|
140
|
+
if (typeof fieldSelect === 'function') {
|
|
143
141
|
const pathInfo = {
|
|
144
|
-
path: allSegments.map((s)
|
|
142
|
+
path: allSegments.map((s)=>`${s.parentType}.${s.field}`),
|
|
145
143
|
segments: allSegments
|
|
146
144
|
};
|
|
147
145
|
const args = getMappedArgumentValues(field, selection, context, info);
|
|
148
|
-
fieldSelectionMap = fieldSelect(args, context, (rawQuery, indirectInclude, expectedType)
|
|
146
|
+
fieldSelectionMap = fieldSelect(args, context, (rawQuery, indirectInclude, expectedType)=>{
|
|
149
147
|
const returnType = getNamedType(field.type);
|
|
150
|
-
const query = typeof rawQuery ===
|
|
148
|
+
const query = typeof rawQuery === 'function' ? rawQuery(args, context) : rawQuery;
|
|
151
149
|
const normalizedIndirectInclude = Array.isArray(indirectInclude) ? normalizeInclude(indirectInclude, getIndirectType(returnType, info), expectedType ? getNamedType(info.schema.getType(expectedType)) : undefined) : indirectInclude;
|
|
152
150
|
const fieldState = createStateForSelection(config, info, normalizedIndirectInclude ? info.schema.getType(normalizedIndirectInclude.getType()) : returnType, state);
|
|
153
|
-
if (typeof query ===
|
|
151
|
+
if (typeof query === 'object' && Object.keys(query).length > 0) {
|
|
154
152
|
mergeSelection(config, fieldState, {
|
|
155
153
|
columns: {},
|
|
156
154
|
...query
|
|
@@ -161,25 +159,24 @@ function addFieldSelection(config, type, context, info, state, selection, indire
|
|
|
161
159
|
var _returnType_extensions_pothosIndirectInclude, _returnType_extensions;
|
|
162
160
|
resolveIndirectIncludePaths(returnType, info, selection, (_ref = (_returnType_extensions = returnType.extensions) === null || _returnType_extensions === void 0 ? void 0 : (_returnType_extensions_pothosIndirectInclude = _returnType_extensions.pothosIndirectInclude) === null || _returnType_extensions_pothosIndirectInclude === void 0 ? void 0 : _returnType_extensions_pothosIndirectInclude.path) !== null && _ref !== void 0 ? _ref : [], (_normalizedIndirectInclude_paths = normalizedIndirectInclude.paths) !== null && _normalizedIndirectInclude_paths !== void 0 ? _normalizedIndirectInclude_paths : [
|
|
163
161
|
normalizedIndirectInclude.path
|
|
164
|
-
], [], (resolvedType, resolvedField, path, deferred)
|
|
162
|
+
], [], (resolvedType, resolvedField, path, deferred)=>{
|
|
165
163
|
addTypeSelectionsForField(config, resolvedType, context, info, fieldState, resolvedField, path, deferred, allSegments);
|
|
166
164
|
});
|
|
167
165
|
}
|
|
168
166
|
addTypeSelectionsForField(config, returnType, context, info, fieldState, selection, [], undefined, allSegments);
|
|
169
167
|
mappings = fieldState.mappings;
|
|
170
168
|
return selectionToQuery(config, fieldState);
|
|
171
|
-
}, (path)
|
|
169
|
+
}, (path)=>{
|
|
172
170
|
const returnType = getNamedType(field.type);
|
|
173
171
|
let node = null;
|
|
174
|
-
resolveIndirectInclude(returnType, info, selection, path.map((name)
|
|
175
|
-
|
|
176
|
-
|
|
172
|
+
resolveIndirectInclude(returnType, info, selection, path.map((name)=>({
|
|
173
|
+
name
|
|
174
|
+
})), [], (_, resolvedField)=>{
|
|
177
175
|
node = resolvedField;
|
|
178
176
|
});
|
|
179
177
|
return node;
|
|
180
178
|
}, pathInfo);
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
179
|
+
} else {
|
|
183
180
|
fieldSelectionMap = fieldSelect;
|
|
184
181
|
}
|
|
185
182
|
if (fieldSelect && selectionCompatible(state, fieldSelectionMap, true)) {
|
|
@@ -200,14 +197,13 @@ function mergeMappings(existing, incoming) {
|
|
|
200
197
|
const result = {
|
|
201
198
|
...existing
|
|
202
199
|
};
|
|
203
|
-
for (const [key, value] of Object.entries(incoming))
|
|
200
|
+
for (const [key, value] of Object.entries(incoming)){
|
|
204
201
|
if (result[key]) {
|
|
205
202
|
result[key] = {
|
|
206
203
|
...result[key],
|
|
207
204
|
mappings: mergeMappings(result[key].mappings, value.mappings)
|
|
208
205
|
};
|
|
209
|
-
}
|
|
210
|
-
else {
|
|
206
|
+
} else {
|
|
211
207
|
result[key] = value;
|
|
212
208
|
}
|
|
213
209
|
}
|
|
@@ -230,20 +226,19 @@ export function stateFromInfo({ config, context, info, typeName, select, path =
|
|
|
230
226
|
if (path.length > 0 || paths.length > 0) {
|
|
231
227
|
var _returnType_extensions, _ref;
|
|
232
228
|
const { pothosIndirectInclude } = (_returnType_extensions = returnType.extensions) !== null && _returnType_extensions !== void 0 ? _returnType_extensions : {};
|
|
233
|
-
resolveIndirectInclude(returnType, info, info.fieldNodes[0], (_ref = pothosIndirectInclude === null || pothosIndirectInclude === void 0 ? void 0 : pothosIndirectInclude.path) !== null && _ref !== void 0 ? _ref : [], [], (indirectType, indirectField, subPath, deferred)
|
|
234
|
-
resolveIndirectIncludePaths(indirectType, info, indirectField, [], paths.length > 0 ? paths.map((p)
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
path.map((n)
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
], subPath, (resolvedType, resolvedField, nested, deferred)
|
|
229
|
+
resolveIndirectInclude(returnType, info, info.fieldNodes[0], (_ref = pothosIndirectInclude === null || pothosIndirectInclude === void 0 ? void 0 : pothosIndirectInclude.path) !== null && _ref !== void 0 ? _ref : [], [], (indirectType, indirectField, subPath, deferred)=>{
|
|
230
|
+
resolveIndirectIncludePaths(indirectType, info, indirectField, [], paths.length > 0 ? paths.map((p)=>p.map((n)=>typeof n === 'string' ? {
|
|
231
|
+
name: n
|
|
232
|
+
} : n)) : [
|
|
233
|
+
path.map((n)=>typeof n === 'string' ? {
|
|
234
|
+
name: n
|
|
235
|
+
} : n)
|
|
236
|
+
], subPath, (resolvedType, resolvedField, nested, deferred)=>{
|
|
241
237
|
state = createStateForSelection(config, info, resolvedType, undefined, initialSelection);
|
|
242
238
|
addTypeSelectionsForField(config, typeName ? type : resolvedType, context, info, state, resolvedField, nested, deferred);
|
|
243
239
|
}, deferred);
|
|
244
240
|
});
|
|
245
|
-
}
|
|
246
|
-
else {
|
|
241
|
+
} else {
|
|
247
242
|
var _ref1;
|
|
248
243
|
var _rootFieldNode_alias;
|
|
249
244
|
state = createStateForSelection(config, info, type, undefined, initialSelection);
|
|
@@ -269,7 +264,7 @@ export function selectionStateFromInfo(config, context, info, typeName) {
|
|
|
269
264
|
const type = typeName ? info.schema.getTypeMap()[typeName] : info.parentType;
|
|
270
265
|
const state = createStateForSelection(config, info, type);
|
|
271
266
|
if (!(isObjectType(type) || isInterfaceType(type))) {
|
|
272
|
-
throw new PothosValidationError(
|
|
267
|
+
throw new PothosValidationError('Drizzle plugin can only resolve selections for object and interface types');
|
|
273
268
|
}
|
|
274
269
|
addFieldSelection(config, type, context, info, state, info.fieldNodes[0], []);
|
|
275
270
|
return state;
|
|
@@ -290,7 +285,7 @@ function createStateForSelection(config, info, type, parent, initialSelections)
|
|
|
290
285
|
export function getIndirectType(type, info) {
|
|
291
286
|
var _targetType_extensions;
|
|
292
287
|
let targetType = type;
|
|
293
|
-
while
|
|
288
|
+
while((_targetType_extensions = targetType.extensions) === null || _targetType_extensions === void 0 ? void 0 : _targetType_extensions.pothosIndirectInclude){
|
|
294
289
|
targetType = info.schema.getType(targetType.extensions.pothosIndirectInclude.getType());
|
|
295
290
|
}
|
|
296
291
|
return targetType;
|
|
@@ -301,7 +296,7 @@ export function normalizeInclude(path, type, expectedType) {
|
|
|
301
296
|
if (!(isObjectType(currentType) || isInterfaceType(currentType))) {
|
|
302
297
|
throw new PothosValidationError(`Expected ${currentType} to be an Object type`);
|
|
303
298
|
}
|
|
304
|
-
for (const fieldName of path)
|
|
299
|
+
for (const fieldName of path){
|
|
305
300
|
const field = currentType.getFields()[fieldName];
|
|
306
301
|
if (!field) {
|
|
307
302
|
throw new PothosValidationError(`Expected ${currentType} to have a field ${fieldName}`);
|
|
@@ -316,7 +311,7 @@ export function normalizeInclude(path, type, expectedType) {
|
|
|
316
311
|
});
|
|
317
312
|
}
|
|
318
313
|
return {
|
|
319
|
-
getType: ()
|
|
314
|
+
getType: ()=>{
|
|
320
315
|
var _ref;
|
|
321
316
|
return (_ref = expectedType === null || expectedType === void 0 ? void 0 : expectedType.name) !== null && _ref !== void 0 ? _ref : normalized.length > 0 ? normalized[normalized.length - 1].type : type.name;
|
|
322
317
|
},
|
|
@@ -335,11 +330,12 @@ function fieldSkipped(info, selection) {
|
|
|
335
330
|
return false;
|
|
336
331
|
}
|
|
337
332
|
function isDeferredFragment(node, info) {
|
|
338
|
-
const deferDirective = info.schema.getDirective(
|
|
333
|
+
const deferDirective = info.schema.getDirective('defer');
|
|
339
334
|
if (!deferDirective) {
|
|
340
335
|
return false;
|
|
341
336
|
}
|
|
342
337
|
const defer = getDirectiveValues(deferDirective, node, info.variableValues);
|
|
343
338
|
return !!defer && defer.if !== false;
|
|
344
339
|
}
|
|
345
|
-
|
|
340
|
+
|
|
341
|
+
//# sourceMappingURL=map-query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/map-query.ts"],"names":["getMappedArgumentValues","PothosValidationError","GraphQLIncludeDirective","GraphQLSkipDirective","getDirectiveValues","getNamedType","isInterfaceType","isListType","isObjectType","Kind","setLoaderMappings","createState","mergeSelection","selectionCompatible","selectionToQuery","wrapWithUsageCheck","addTypeSelectionsForField","config","type","context","info","state","selection","indirectPath","deferred","segments","name","value","startsWith","pothosDrizzleSelect","pothosIndirectInclude","extensions","path","length","paths","resolveIndirectIncludePaths","resolvedType","field","schema","getType","selectionSet","skipDeferredFragments","addNestedSelections","pathPrefix","includePaths","resolve","includePath","resolveIndirectInclude","include","rest","sel","selections","kind","FIELD","fieldSkipped","returnType","getFields","alias","FRAGMENT_SPREAD","fragments","typeCondition","isDeferredFragment","INLINE_FRAGMENT","parentType","addFieldSelection","pothosDrizzleModel","allSegments","isList","fieldSelect","fieldSelectionMap","mappings","pathInfo","map","s","args","rawQuery","indirectInclude","expectedType","query","normalizedIndirectInclude","Array","isArray","normalizeInclude","getIndirectType","undefined","fieldState","createStateForSelection","Object","keys","columns","resolvedField","node","_","mergeMappings","existing","incoming","result","key","entries","queryFromInfo","withUsageCheck","options","stateFromInfo","typeName","select","getTypeMap","initialSelection","fieldNodes","indirectType","indirectField","subPath","p","n","nested","rootFieldNode","rootField","initialSegments","selectionStateFromInfo","parent","initialSelections","targetType","pothosDrizzleTable","currentType","normalized","fieldName","push","skip","variableValues","if","deferDirective","getDirective","defer"],"mappings":"AAAA,SAASA,uBAAuB,EAAEC,qBAAqB,QAAQ,eAAe;AAE9E,SAKEC,uBAAuB,EAKvBC,oBAAoB,EACpBC,kBAAkB,EAClBC,YAAY,EAEZC,eAAe,EACfC,UAAU,EACVC,YAAY,EACZC,IAAI,QAEC,UAAU;AAGjB,SAA8BC,iBAAiB,QAAQ,eAAe;AACtE,SACEC,WAAW,EACXC,cAAc,EAGdC,mBAAmB,EACnBC,gBAAgB,QACX,eAAe;AACtB,SAASC,kBAAkB,QAAQ,UAAU;AAQ7C,SAASC,0BACPC,MAAiC,EACjCC,IAAsB,EACtBC,OAAe,EACfC,IAAwB,EACxBC,KAAqB,EACrBC,SAAoB,EACpBC,YAAsB,EACtBC,QAAkB,EAClBC,WAA4B,EAAE;QAM0BP;IAJxD,IAAII,UAAUI,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,OAAO;QACzC;IACF;IAEA,MAAM,EAAEC,mBAAmB,EAAEC,qBAAqB,EAAE,IAAIZ,mBAAAA,KAAKa,UAAU,cAAfb,8BAAAA,mBAAmB,CAAC;IAK5E,IACE,AAAC,CAAC,EAACY,kCAAAA,4CAAAA,sBAAuBE,IAAI,KAAIF,sBAAsBE,IAAI,CAACC,MAAM,GAAG,KACrE,CAAC,EAACH,kCAAAA,4CAAAA,sBAAuBI,KAAK,KAAIJ,sBAAsBI,KAAK,CAACD,MAAM,KAAK,GAC1E;YAMEH;QALFK,4BACEjB,MACAE,MACAE,WACA,EAAE,GACFQ,+BAAAA,sBAAsBI,KAAK,cAA3BJ,0CAAAA,+BAA+B;YAACA,sBAAsBE,IAAI;SAAE,EAC5DT,cACA,CAACa,cAAcC,OAAOL;YACpBhB,0BACEC,QACAmB,cACAjB,SACAC,MACAC,OACAgB,OACAL,MACAR,UACAC;QAEJ,GACAD;IAEJ,OAAO,IAAIM,uBAAuB;QAChCd,0BACEC,QACAG,KAAKkB,MAAM,CAACC,OAAO,CAACT,sBAAsBS,OAAO,KACjDpB,SACAC,MACAC,OACAC,WACAC,cACAC,UACAC;QAEF;IACF;IAEA,IAAI,CAAEjB,CAAAA,aAAaU,SAASZ,gBAAgBY,KAAI,GAAI;QAClD;IACF;IAEA,IAAIW,qBAAqB;QACvBjB,eAAeK,QAAQI,OAAOQ,wBAAwB,OAAO,OAAO;YAAE,GAAGA,mBAAmB;QAAC;IAC/F;IAEA,IAAIP,UAAUkB,YAAY,IAAK,CAAA,CAAChB,YAAY,CAACH,MAAMoB,qBAAqB,AAAD,GAAI;QACzEC,oBACEzB,QACAC,MACAC,SACAC,MACAC,OACAC,UAAUkB,YAAY,EACtBjB,cACAE;IAEJ;AACF;AAEA,SAASU,4BACPjB,IAAsB,EACtBE,IAAwB,EACxBE,SAAkE,EAClEqB,UAA6C,EAC7CC,YAAiD,EACjDZ,IAAc,EACda,OAA8F,EAC9FrB,QAAkB;IAElB,KAAK,MAAMsB,eAAeF,aAAc;QACtC,IAAID,WAAWV,MAAM,GAAG,GAAG;YACzBc,uBACE7B,MACAE,MACAE,WACA;mBAAIqB;mBAAeG;aAAY,EAC/Bd,MACAa,SACArB;QAEJ,OAAO;YACLuB,uBAAuB7B,MAAME,MAAME,WAAWwB,aAAad,MAAMa,SAASrB;QAC5E;IACF;AACF;AAEA,SAASuB,uBACP7B,IAAsB,EACtBE,IAAwB,EACxBE,SAAkE,EAClEwB,WAA8C,EAC9Cd,IAAc,EACda,OAA8F,EAC9FrB,WAAW,KAAK;IAEhB,IAAIsB,YAAYb,MAAM,KAAK,GAAG;QAC5BY,QAAQ3B,MAAMI,WAAwBU,MAAMR;QAC5C;IACF;IAEA,MAAM,CAACwB,SAAS,GAAGC,KAAK,GAAGH;IAC3B,IAAI,CAACxB,UAAUkB,YAAY,IAAI,CAACQ,SAAS;QACvC;IACF;IAEA,KAAK,MAAME,OAAO5B,UAAUkB,YAAY,CAACW,UAAU,CAAE;QACnD,OAAQD,IAAIE,IAAI;YACd,KAAK3C,KAAK4C,KAAK;gBACb,IACE,CAACC,aAAalC,MAAM8B,QACpBA,IAAIxB,IAAI,CAACC,KAAK,KAAKqB,QAAQtB,IAAI,IAC9BlB,CAAAA,aAAaU,SAASZ,gBAAgBY,KAAI,GAC3C;;wBAQYgC;oBAPZ,MAAMK,aAAalD,aAAaa,KAAKsC,SAAS,EAAE,CAACN,IAAIxB,IAAI,CAACC,KAAK,CAAC,CAACT,IAAI;oBAErE6B,uBACEQ,YACAnC,MACA8B,KACAD,MACA;2BAAIjB;iCAAMkB,aAAAA,IAAIO,KAAK,cAATP,iCAAAA,WAAWvB,KAAK,uCAAIuB,IAAIxB,IAAI,CAACC,KAAK;qBAAC,EAC7CkB,SACArB;gBAEJ;gBACA;YACF,KAAKf,KAAKiD,eAAe;gBACvB,IACE,CAACV,QAAQ9B,IAAI,IACbE,KAAKuC,SAAS,CAACT,IAAIxB,IAAI,CAACC,KAAK,CAAC,CAACiC,aAAa,CAAClC,IAAI,CAACC,KAAK,KAAKqB,QAAQ9B,IAAI,EACxE;oBACA6B,uBACEC,QAAQ9B,IAAI,GAAGE,KAAKkB,MAAM,CAACC,OAAO,CAACS,QAAQ9B,IAAI,IAAKA,MACpDE,MACAA,KAAKuC,SAAS,CAACT,IAAIxB,IAAI,CAACC,KAAK,CAAC,EAC9BmB,aACAd,MACAa,SACArB,YAAYqC,mBAAmBX,KAAK9B;gBAExC;gBAEA;YAEF,KAAKX,KAAKqD,eAAe;gBACvB,IAAI,CAACZ,IAAIU,aAAa,IAAI,CAACZ,QAAQ9B,IAAI,IAAIgC,IAAIU,aAAa,CAAClC,IAAI,CAACC,KAAK,KAAKqB,QAAQ9B,IAAI,EAAE;oBACxF6B,uBACEG,IAAIU,aAAa,GAAGxC,KAAKkB,MAAM,CAACC,OAAO,CAACW,IAAIU,aAAa,CAAClC,IAAI,CAACC,KAAK,IAAKT,MACzEE,MACA8B,KACAJ,aACAd,MACAa,SACArB,YAAYqC,mBAAmBX,KAAK9B;gBAExC;gBAEA;YAEF;gBACE,MAAM,IAAInB,sBACR,CAAC,2BAA2B,EAAE,AAACqB,UAA+B8B,IAAI,EAAE;QAE1E;IACF;AACF;AAEA,SAASV,oBACPzB,MAAiC,EACjCC,IAA8C,EAC9CC,OAAe,EACfC,IAAwB,EACxBC,KAAqB,EACrB8B,UAA4B,EAC5B5B,YAAsB,EACtBE,WAA4B,EAAE;IAE9B,IAAIsC,aAAa7C;IACjB,KAAK,MAAMI,aAAa6B,WAAWA,UAAU,CAAE;QAC7C,OAAQ7B,UAAU8B,IAAI;YACpB,KAAK3C,KAAK4C,KAAK;gBACbW,kBAAkB/C,QAAQC,MAAMC,SAASC,MAAMC,OAAOC,WAAWC,cAAcE;gBAE/E;YACF,KAAKhB,KAAKiD,eAAe;oBAWjBK;gBAVN,IAAI1C,MAAMoB,qBAAqB,IAAIoB,mBAAmBvC,WAAWF,OAAO;oBACtE;gBACF;gBAEA2C,aAAa3C,KAAKkB,MAAM,CAACC,OAAO,CAC9BnB,KAAKuC,SAAS,CAACrC,UAAUI,IAAI,CAACC,KAAK,CAAC,CAACiC,aAAa,CAAClC,IAAI,CAACC,KAAK;gBAE/D,IACEnB,aAAaU,QACT6C,WAAWrC,IAAI,KAAKR,KAAKQ,IAAI,GAC7BqC,EAAAA,yBAAAA,WAAWhC,UAAU,cAArBgC,6CAAAA,uBAAuBE,kBAAkB,MAAK/C,KAAKa,UAAU,CAACkC,kBAAkB,EACpF;oBACA;gBACF;gBAEAvB,oBACEzB,QACA8C,YACA5C,SACAC,MACAC,OACAD,KAAKuC,SAAS,CAACrC,UAAUI,IAAI,CAACC,KAAK,CAAC,CAACa,YAAY,EACjDjB,cACAE;gBAGF;YAEF,KAAKhB,KAAKqD,eAAe;oBAWjBC;gBAVN,IAAI1C,MAAMoB,qBAAqB,IAAIoB,mBAAmBvC,WAAWF,OAAO;oBACtE;gBACF;gBAEA2C,aAAazC,UAAUsC,aAAa,GAC/BxC,KAAKkB,MAAM,CAACC,OAAO,CAACjB,UAAUsC,aAAa,CAAClC,IAAI,CAACC,KAAK,IACvDT;gBACJ,IACEV,aAAaU,QACT6C,WAAWrC,IAAI,KAAKR,KAAKQ,IAAI,GAC7BqC,EAAAA,0BAAAA,WAAWhC,UAAU,cAArBgC,8CAAAA,wBAAuBE,kBAAkB,MAAK/C,KAAKa,UAAU,CAACkC,kBAAkB,EACpF;oBACA;gBACF;gBAEAvB,oBACEzB,QACA8C,YACA5C,SACAC,MACAC,OACAC,UAAUkB,YAAY,EACtBjB,cACAE;gBAGF;YAEF;gBACE,MAAM,IAAIxB,sBACR,CAAC,2BAA2B,EAAE,AAACqB,UAA+B8B,IAAI,EAAE;QAE1E;IACF;AACF;AAEA,SAASY,kBACP/C,MAAiC,EACjCC,IAA8C,EAC9CC,OAAe,EACfC,IAAwB,EACxBC,KAAqB,EACrBC,SAAoB,EACpBC,YAAsB,EACtBE,WAA4B,EAAE;;QAcnBH,kBAMSe;IAlBpB,IAAIf,UAAUI,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,SAAS0B,aAAalC,MAAME,YAAY;QAC1E;IACF;IACA,MAAMe,QAAQnB,KAAKsC,SAAS,EAAE,CAAClC,UAAUI,IAAI,CAACC,KAAK,CAAC;IACpD,IAAI,CAACU,OAAO;QACV,MAAM,IAAIpC,sBAAsB,CAAC,cAAc,EAAEqB,UAAUI,IAAI,CAACC,KAAK,CAAC,IAAI,EAAET,KAAKQ,IAAI,EAAE;IACzF;IAEA,MAAMwC,cAAc;WACfzC;QACH;YACEY,OAAOf,UAAUI,IAAI,CAACC,KAAK;YAC3B8B,KAAK,WAAEnC,mBAAAA,UAAUmC,KAAK,cAAfnC,uCAAAA,iBAAiBK,KAAK,uCAAIL,UAAUI,IAAI,CAACC,KAAK;YACrDoC,YAAY7C,KAAKQ,IAAI;YACrByC,QAAQ5D,WAAW8B,MAAMnB,IAAI,KAAKX,WAAWF,aAAagC,MAAMnB,IAAI;QACtE;KACD;IAED,MAAMkD,eAAc/B,oBAAAA,MAAMN,UAAU,cAAhBM,wCAAAA,kBAAkBR,mBAAmB;IAEzD,IAAIwC;IACJ,IAAIC,WAA2B,CAAC;IAChC,IAAI,OAAOF,gBAAgB,YAAY;QACrC,MAAMG,WAAqB;YACzBvC,MAAMkC,YAAYM,GAAG,CAAC,CAACC,IAAM,GAAGA,EAAEV,UAAU,CAAC,CAAC,EAAEU,EAAEpC,KAAK,EAAE;YACzDZ,UAAUyC;QACZ;QAEA,MAAMQ,OAAO1E,wBAAwBqC,OAAOf,WAAWH,SAASC;QAIhEiD,oBAAoBD,YAClBM,MACAvD,SACA,CAACwD,UAAUC,iBAAiBC;YAC1B,MAAMtB,aAAalD,aAAagC,MAAMnB,IAAI;YAC1C,MAAM4D,QAAQ,OAAOH,aAAa,aAAaA,SAASD,MAAMvD,WAAWwD;YACzE,MAAMI,4BAA4BC,MAAMC,OAAO,CAACL,mBAC5CM,iBACEN,iBACAO,gBAAgB5B,YAAYnC,OAC5ByD,eAAexE,aAAae,KAAKkB,MAAM,CAACC,OAAO,CAACsC,iBAAiBO,aAEnER;YACJ,MAAMS,aAAaC,wBACjBrE,QACAG,MACA2D,4BACI3D,KAAKkB,MAAM,CAACC,OAAO,CAACwC,0BAA0BxC,OAAO,MACrDgB,YACJlC;YAGF,IAAI,OAAOyD,UAAU,YAAYS,OAAOC,IAAI,CAACV,OAAO7C,MAAM,GAAG,GAAG;gBAC9DrB,eAAeK,QAAQoE,YAAY;oBAAEI,SAAS,CAAC;oBAAG,GAAGX,KAAK;gBAAC;YAC7D;YACA,IACE,AAAC,CAAC,EAACC,sCAAAA,gDAAAA,0BAA2B/C,IAAI,KAAI+C,0BAA0B/C,IAAI,CAACC,MAAM,GAAG,KAC7E,CAAC,EAAC8C,sCAAAA,gDAAAA,0BAA2B7C,KAAK,KAAI6C,0BAA0B7C,KAAK,CAACD,MAAM,GAAG,GAChF;0BAME8C;oBADCxB,8CAAAA;gBAJHpB,4BACEoB,YACAnC,MACAE,oBACCiC,yBAAAA,WAAWxB,UAAU,cAArBwB,8CAAAA,+CAAAA,uBAAuBzB,qBAAqB,cAA5CyB,mEAAD,AAACA,6CAA+DvB,IAAI,uCAAI,EAAE,GAC1E+C,mCAAAA,0BAA0B7C,KAAK,cAA/B6C,8CAAAA,mCAAmC;oBAACA,0BAA0B/C,IAAI;iBAAE,EACpE,EAAE,EACF,CAACI,cAAcsD,eAAe1D,MAAMR;oBAClCR,0BACEC,QACAmB,cACAjB,SACAC,MACAiE,YACAK,eACA1D,MACAR,UACA0C;gBAEJ;YAEJ;YACAlD,0BACEC,QACAsC,YACApC,SACAC,MACAiE,YACA/D,WACA,EAAE,EACF8D,WACAlB;YAEFI,WAAWe,WAAWf,QAAQ;YAC9B,OAAOxD,iBAAiBG,QAAQoE;QAClC,GACA,CAACrD;YACC,MAAMuB,aAAalD,aAAagC,MAAMnB,IAAI;YAC1C,IAAIyE,OAAyB;YAC7B5C,uBACEQ,YACAnC,MACAE,WACAU,KAAKwC,GAAG,CAAC,CAAC9C,OAAU,CAAA;oBAClBA;gBACF,CAAA,IACA,EAAE,EACF,CAACkE,GAAGF;gBACFC,OAAOD;YACT;YAEF,OAAOC;QACT,GACApB;IAEJ,OAAO;QACLF,oBAAoBD;IACtB;IAEA,IAAIA,eAAevD,oBAAoBQ,OAAOgD,mBAAmB,OAAO;;YAInE/C;QAHHV,eAAeK,QAAQI,OAAOgD;QAE9BhD,MAAMiD,QAAQ,GAAGuB,cAAcxE,MAAMiD,QAAQ,EAAE;YAC7C,WAAChD,oBAAAA,UAAUmC,KAAK,cAAfnC,wCAAAA,kBAAiBK,KAAK,yCAAIL,UAAUI,IAAI,CAACC,KAAK,CAAC,EAAE;gBAChDU,OAAOf,UAAUI,IAAI,CAACC,KAAK;gBAC3BT,MAAMA,KAAKQ,IAAI;gBACf4C;gBACA/C;YACF;QACF;IACF;AACF;AAEA,SAASsE,cAAcC,QAAwB,EAAEC,QAAwB;IACvE,MAAMC,SAAyB;QAAE,GAAGF,QAAQ;IAAC;IAE7C,KAAK,MAAM,CAACG,KAAKtE,MAAM,IAAI4D,OAAOW,OAAO,CAACH,UAAW;QACnD,IAAIC,MAAM,CAACC,IAAI,EAAE;YACfD,MAAM,CAACC,IAAI,GAAG;gBACZ,GAAGD,MAAM,CAACC,IAAI;gBACd3B,UAAUuB,cAAcG,MAAM,CAACC,IAAI,CAAC3B,QAAQ,EAAE3C,MAAM2C,QAAQ;YAC9D;QACF,OAAO;YACL0B,MAAM,CAACC,IAAI,GAAGtE;QAChB;IACF;IAEA,OAAOqE;AACT;AAaA,OAAO,SAASG,cAAsC,EACpDC,cAAc,EACd,GAAGC,SACqB;IACxB,MAAMhF,QAAQiF,cAAcD;IAE5B3F,kBAAkB2F,QAAQlF,OAAO,EAAEkF,QAAQjF,IAAI,EAAEC,MAAMiD,QAAQ;IAE/D,MAAMQ,QAAQhE,iBAAiBuF,QAAQpF,MAAM,EAAEI;IAE/C,OAAO+E,iBAAiBrF,mBAAmB+D,SAASA;AACtD;AAEA,OAAO,SAASwB,cAAsC,EACpDrF,MAAM,EACNE,OAAO,EACPC,IAAI,EACJmF,QAAQ,EACRC,MAAM,EACNxE,OAAO,EAAE,EACTE,QAAQ,EAAE,EACc;IACxB,MAAMqB,aAAalD,aAAae,KAAKmC,UAAU;IAC/C,MAAMrC,OAAOqF,WAAWnF,KAAKkB,MAAM,CAACmE,UAAU,EAAE,CAACF,SAAS,GAAGhD;IAC7D,MAAMmD,mBAAmBF,SACrB;QACEf,SAAS,CAAC;QACV,GAAGe,MAAM;IACX,IACApB;IAEJ,IAAI/D;IAEJ,IAAIW,KAAKC,MAAM,GAAG,KAAKC,MAAMD,MAAM,GAAG,GAAG;YACJsB;QAAnC,MAAM,EAAEzB,qBAAqB,EAAE,IAAIyB,yBAAAA,WAAWxB,UAAU,cAArBwB,oCAAAA,yBAAyB,CAAC;QAI7DR,uBACEQ,YACAnC,MACAA,KAAKuF,UAAU,CAAC,EAAE,UAClB7E,kCAAAA,4CAAAA,sBAAuBE,IAAI,uCAAI,EAAE,EACjC,EAAE,EACF,CAAC4E,cAAcC,eAAeC,SAAStF;YACrCW,4BACEyE,cACAxF,MACAyF,eACA,EAAE,EACF3E,MAAMD,MAAM,GAAG,IACXC,MAAMsC,GAAG,CAAC,CAACuC,IAAMA,EAAEvC,GAAG,CAAC,CAACwC,IAAO,OAAOA,MAAM,WAAW;wBAAEtF,MAAMsF;oBAAE,IAAIA,MACrE;gBAAChF,KAAKwC,GAAG,CAAC,CAACwC,IAAO,OAAOA,MAAM,WAAW;wBAAEtF,MAAMsF;oBAAE,IAAIA;aAAI,EAChEF,SACA,CAAC1E,cAAcsD,eAAeuB,QAAQzF;gBACpCH,QAAQiE,wBACNrE,QACAG,MACAgB,cACAgD,WACAsB;gBAGF1F,0BACEC,QACAsF,WAAWrF,OAAOkB,cAClBjB,SACAC,MACAC,OACAqE,eACAuB,QACAzF;YAEJ,GACAA;QAEJ;IAEJ,OAAO;;YAUU0F;QATf7F,QAAQiE,wBAAwBrE,QAAQG,MAAMF,MAAMkE,WAAWsB;QAE/D,kDAAkD;QAClD,MAAMQ,gBAAgB9F,KAAKuF,UAAU,CAAC,EAAE;QACxC,MAAMQ,YAAY/F,KAAK2C,UAAU,CAACP,SAAS,EAAE,CAAC0D,cAAcxF,IAAI,CAACC,KAAK,CAAC;QACvE,MAAMyF,kBAAmCD,YACrC;YACE;gBACE9E,OAAO6E,cAAcxF,IAAI,CAACC,KAAK;gBAC/B8B,KAAK,YAAEyD,uBAAAA,cAAczD,KAAK,cAAnByD,2CAAAA,qBAAqBvF,KAAK,yCAAIuF,cAAcxF,IAAI,CAACC,KAAK;gBAC7DoC,YAAY3C,KAAK2C,UAAU,CAACrC,IAAI;gBAChCyC,QAAQ5D,WAAW4G,UAAUjG,IAAI,KAAKX,WAAWF,aAAa8G,UAAUjG,IAAI;YAC9E;SACD,GACD,EAAE;QAENF,0BACEC,QACAC,MACAC,SACAC,MACAC,OACAD,KAAKuF,UAAU,CAAC,EAAE,EAClB,EAAE,EACFvB,WACAgC;IAEJ;IAEA,IAAI,CAAC/F,OAAO;QACVA,QAAQiE,wBAAwBrE,QAAQG,MAAMF,MAAMkE,WAAWsB;IACjE;IAEA,OAAOrF;AACT;AAEA,OAAO,SAASgG,uBACdpG,MAAiC,EACjCE,OAAe,EACfC,IAAwB,EACxBmF,QAAiB;IAEjB,MAAMrF,OAAOqF,WAAWnF,KAAKkB,MAAM,CAACmE,UAAU,EAAE,CAACF,SAAS,GAAGnF,KAAK2C,UAAU;IAE5E,MAAM1C,QAAQiE,wBAAwBrE,QAAQG,MAAMF;IAEpD,IAAI,CAAEV,CAAAA,aAAaU,SAASZ,gBAAgBY,KAAI,GAAI;QAClD,MAAM,IAAIjB,sBACR;IAEJ;IAEA+D,kBAAkB/C,QAAQC,MAAMC,SAASC,MAAMC,OAAOD,KAAKuF,UAAU,CAAC,EAAE,EAAE,EAAE;IAE5E,OAAOtF;AACT;AAEA,SAASiE,wBACPrE,MAAiC,EACjCG,IAAwB,EACxBF,IAAsB,EACtBoG,MAAuB,EACvBC,iBAAgC;QAGAC;IADhC,MAAMA,aAAarC,gBAAgBjE,MAAME;IACzC,MAAM,EAAEqG,kBAAkB,EAAE,IAAID,yBAAAA,WAAWzF,UAAU,cAArByF,oCAAAA,yBAAyB,CAAC;IAI1D,IAAI,CAACC,oBAAoB;QACvB,MAAM,IAAIxH,sBAAsB,CAAC,SAAS,EAAEuH,WAAW9F,IAAI,CAAC,uBAAuB,CAAC;IACtF;IAEA,MAAML,QAAQV,YACZ8G,4BACAH,mBAAAA,6BAAAA,OAAQ7E,qBAAqB,uCAAIxB,OAAOwB,qBAAqB,EAC7D6E;IAGF,IAAIC,mBAAmB;QACrB3G,eAAeK,QAAQI,OAAOkG;IAChC;IAEA,OAAOlG;AACT;AAEA,OAAO,SAAS8D,gBAAgBjE,IAAsB,EAAEE,IAAwB;QAGvEoG;IAFP,IAAIA,aAAatG;IAEjB,OAAOsG,yBAAAA,WAAWzF,UAAU,cAArByF,6CAAAA,uBAAuB1F,qBAAqB,CAAE;QACnD0F,aAAapG,KAAKkB,MAAM,CAACC,OAAO,CAC9B,AAACiF,WAAWzF,UAAU,CAACD,qBAAqB,CAAqBS,OAAO;IAE5E;IAEA,OAAOiF;AACT;AAEA,OAAO,SAAStC,iBACdlD,IAAc,EACdd,IAAsB,EACtB2D,YAA+B;IAE/B,IAAI6C,cAAc1F,KAAKC,MAAM,GAAG,IAAIf,OAAQ2D,yBAAAA,0BAAAA,eAAgB3D;IAE5D,MAAMyG,aAA+C,EAAE;IAEvD,IAAI,CAAEnH,CAAAA,aAAakH,gBAAgBpH,gBAAgBoH,YAAW,GAAI;QAChE,MAAM,IAAIzH,sBAAsB,CAAC,SAAS,EAAEyH,YAAY,qBAAqB,CAAC;IAChF;IAEA,KAAK,MAAME,aAAa5F,KAAM;QAC5B,MAAMK,QAAwCqF,YAAYlE,SAAS,EAAE,CAACoE,UAAU;QAEhF,IAAI,CAACvF,OAAO;YACV,MAAM,IAAIpC,sBAAsB,CAAC,SAAS,EAAEyH,YAAY,iBAAiB,EAAEE,WAAW;QACxF;QAEAF,cAAcrH,aAAagC,MAAMnB,IAAI;QAErC,IAAI,CAAEV,CAAAA,aAAakH,gBAAgBpH,gBAAgBoH,YAAW,GAAI;YAChE,MAAM,IAAIzH,sBAAsB,CAAC,SAAS,EAAEyH,YAAY,kCAAkC,CAAC;QAC7F;QAEAC,WAAWE,IAAI,CAAC;YAAEnG,MAAMkG;YAAW1G,MAAMwG,YAAYhG,IAAI;QAAC;IAC5D;IAEA,OAAO;QACLa,SAAS;;2BACPsC,yBAAAA,mCAAAA,aAAcnD,IAAI,uCACjBiG,WAAW1F,MAAM,GAAG,IAAI0F,UAAU,CAACA,WAAW1F,MAAM,GAAG,EAAE,CAACf,IAAI,GAAGA,KAAKQ,IAAI;;QAC7EM,MAAM2F;IACR;AACF;AAEA,SAASrE,aAAalC,IAAwB,EAAEE,SAAoB;IAClE,MAAMwG,OAAO1H,mBAAmBD,sBAAsBmB,WAAWF,KAAK2G,cAAc;IACpF,IAAID,CAAAA,iBAAAA,2BAAAA,KAAME,EAAE,MAAK,MAAM;QACrB,OAAO;IACT;IAEA,MAAMhF,UAAU5C,mBAAmBF,yBAAyBoB,WAAWF,KAAK2G,cAAc;IAC1F,IAAI/E,CAAAA,oBAAAA,8BAAAA,QAASgF,EAAE,MAAK,OAAO;QACzB,OAAO;IACT;IAEA,OAAO;AACT;AAEA,SAASnE,mBACP8B,IAA6C,EAC7CvE,IAAwB;IAExB,MAAM6G,iBAAiB7G,KAAKkB,MAAM,CAAC4F,YAAY,CAAC;IAChD,IAAI,CAACD,gBAAgB;QACnB,OAAO;IACT;IAEA,MAAME,QAAQ/H,mBAAmB6H,gBAAgBtC,MAAMvE,KAAK2G,cAAc;IAC1E,OAAO,CAAC,CAACI,SAASA,MAAMH,EAAE,KAAK;AACjC"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/map-query.ts"],"names":["getMappedArgumentValues","PothosValidationError","GraphQLIncludeDirective","GraphQLSkipDirective","getDirectiveValues","getNamedType","isInterfaceType","isListType","isObjectType","Kind","setLoaderMappings","createState","mergeSelection","selectionCompatible","selectionToQuery","wrapWithUsageCheck","addTypeSelectionsForField","config","type","context","info","state","selection","indirectPath","deferred","segments","name","value","startsWith","pothosDrizzleSelect","pothosIndirectInclude","extensions","path","length","paths","resolveIndirectIncludePaths","resolvedType","field","schema","getType","selectionSet","skipDeferredFragments","addNestedSelections","pathPrefix","includePaths","resolve","includePath","resolveIndirectInclude","include","rest","sel","selections","kind","FIELD","fieldSkipped","returnType","getFields","alias","FRAGMENT_SPREAD","fragments","typeCondition","isDeferredFragment","INLINE_FRAGMENT","parentType","addFieldSelection","pothosDrizzleModel","allSegments","isList","fieldSelect","fieldSelectionMap","mappings","pathInfo","map","s","args","rawQuery","indirectInclude","expectedType","query","normalizedIndirectInclude","Array","isArray","normalizeInclude","getIndirectType","undefined","fieldState","createStateForSelection","Object","keys","columns","resolvedField","node","_","mergeMappings","existing","incoming","result","key","entries","queryFromInfo","withUsageCheck","options","stateFromInfo","typeName","select","getTypeMap","initialSelection","fieldNodes","indirectType","indirectField","subPath","p","n","nested","rootFieldNode","rootField","initialSegments","selectionStateFromInfo","parent","initialSelections","targetType","pothosDrizzleTable","currentType","normalized","fieldName","push","skip","variableValues","if","deferDirective","getDirective","defer"],"mappings":"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"}
|
package/esm/utils/refs.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type SchemaTypes } from '@pothos/core';
|
|
2
2
|
import { type DrizzleRef } from '../interface-ref.js';
|
|
3
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?:
|
|
5
|
-
//# sourceMappingURL=refs.d.ts.map
|
|
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
|
package/esm/utils/refs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../src/utils/refs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../src/utils/refs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG3E,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,CAyBnB"}
|
package/esm/utils/refs.js
CHANGED
|
@@ -2,18 +2,19 @@ import { PothosSchemaError } from '@pothos/core';
|
|
|
2
2
|
import { DrizzleInterfaceRef } from '../interface-ref.js';
|
|
3
3
|
import { DrizzleObjectRef } from '../object-ref.js';
|
|
4
4
|
export const refMap = new WeakMap();
|
|
5
|
-
export function getRefFromModel(name, builder, type =
|
|
5
|
+
export function getRefFromModel(name, builder, type = 'object') {
|
|
6
6
|
if (!refMap.has(builder)) {
|
|
7
7
|
refMap.set(builder, new Map());
|
|
8
8
|
}
|
|
9
9
|
const cache = refMap.get(builder);
|
|
10
10
|
if (!cache.has(name)) {
|
|
11
|
-
cache.set(name, type ===
|
|
11
|
+
cache.set(name, type === 'object' ? new DrizzleObjectRef(name, name) : new DrizzleInterfaceRef(name, name));
|
|
12
12
|
}
|
|
13
13
|
const ref = cache.get(name);
|
|
14
|
-
if (type ===
|
|
14
|
+
if (type === 'interface' && !(ref instanceof DrizzleInterfaceRef) || type === 'object' && !(ref instanceof DrizzleObjectRef)) {
|
|
15
15
|
throw new PothosSchemaError(`Drizzle table ${name} was created as both an object and interface. Use 'variant' instead of 'name' in one of the implementations`);
|
|
16
16
|
}
|
|
17
17
|
return ref;
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=refs.js.map
|
package/esm/utils/refs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/refs.ts"],"names":["PothosSchemaError","DrizzleInterfaceRef","DrizzleObjectRef","refMap","WeakMap","getRefFromModel","name","builder","type","has","set","Map","cache","get","ref"],"mappings":"AAAA,SAASA,iBAAiB,QAA0B,eAAe;AACnE,SAASC,mBAAmB,QAAyB,
|
|
1
|
+
{"version":3,"sources":["../../src/utils/refs.ts"],"names":["PothosSchemaError","DrizzleInterfaceRef","DrizzleObjectRef","refMap","WeakMap","getRefFromModel","name","builder","type","has","set","Map","cache","get","ref"],"mappings":"AAAA,SAASA,iBAAiB,QAA0B,eAAe;AACnE,SAASC,mBAAmB,QAAyB,sBAAsB;AAC3E,SAASC,gBAAgB,QAAQ,mBAAmB;AAEpD,OAAO,MAAMC,SAAS,IAAIC,UAAkD;AAE5E,OAAO,SAASC,gBACdC,IAAY,EACZC,OAA+C,EAC/CC,OAA+B,QAAQ;IAEvC,IAAI,CAACL,OAAOM,GAAG,CAACF,UAAU;QACxBJ,OAAOO,GAAG,CAACH,SAAS,IAAII;IAC1B;IACA,MAAMC,QAAQT,OAAOU,GAAG,CAACN;IAEzB,IAAI,CAACK,MAAMH,GAAG,CAACH,OAAO;QACpBM,MAAMF,GAAG,CACPJ,MACAE,SAAS,WAAW,IAAIN,iBAAiBI,MAAMA,QAAQ,IAAIL,oBAAoBK,MAAMA;IAEzF;IAEA,MAAMQ,MAAMF,MAAMC,GAAG,CAACP;IAEtB,IACE,AAACE,SAAS,eAAe,CAAEM,CAAAA,eAAeb,mBAAkB,KAC3DO,SAAS,YAAY,CAAEM,CAAAA,eAAeZ,gBAAe,GACtD;QACA,MAAM,IAAIF,kBACR,CAAC,cAAc,EAAEM,KAAK,4GAA4G,CAAC;IAEvI;IAEA,OAAOQ;AACT"}
|
|
@@ -7,17 +7,17 @@ export interface SelectionState {
|
|
|
7
7
|
allColumns: boolean;
|
|
8
8
|
columns: Set<string>;
|
|
9
9
|
with: Map<string, SelectionState>;
|
|
10
|
-
extras: Map<string, NonNullable<SelectionMap[
|
|
10
|
+
extras: Map<string, NonNullable<SelectionMap['extras']>[string]>;
|
|
11
11
|
mappings: LoaderMappings;
|
|
12
12
|
parent?: SelectionState;
|
|
13
13
|
depth: number;
|
|
14
14
|
skipDeferredFragments: boolean;
|
|
15
15
|
}
|
|
16
|
-
export type SelectionMap = DBQueryConfig<
|
|
16
|
+
export type SelectionMap = DBQueryConfig<'one'>;
|
|
17
17
|
export declare function selectionCompatible(state: SelectionState, selectionMap: SelectionMap | boolean, ignoreQuery?: boolean): boolean;
|
|
18
18
|
export declare function stateCompatible(state: SelectionState, newState: SelectionState, ignoreQuery?: boolean): boolean;
|
|
19
19
|
export declare function mergeState(state: SelectionState, newState: SelectionState): void;
|
|
20
20
|
export declare function createState(table: TableRelationalConfig, skipDeferredFragments: boolean, parent?: SelectionState): SelectionState;
|
|
21
21
|
export declare function mergeSelection(config: PothosDrizzleSchemaConfig, state: SelectionState, selection: SelectionMap | boolean): void;
|
|
22
22
|
export declare function selectionToQuery(config: PothosDrizzleSchemaConfig, state: SelectionState): SelectionMap;
|
|
23
|
-
//# sourceMappingURL=selections.d.ts.map
|
|
23
|
+
//# sourceMappingURL=selections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selections.d.ts","sourceRoot":"","sources":["../../src/utils/selections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"selections.d.ts","sourceRoot":"","sources":["../../src/utils/selections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,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,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAEhD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,YAAY,GAAG,OAAO,EACpC,WAAW,UAAQ,GAClB,OAAO,CA+BT;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,CACzB,KAAK,EAAE,qBAAqB,EAC5B,qBAAqB,EAAE,OAAO,EAC9B,MAAM,CAAC,EAAE,cAAc,GACtB,cAAc,CAahB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,yBAAyB,EACjC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,YAAY,GAAG,OAAO,QAyDlC;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,yBAAyB,EACjC,KAAK,EAAE,cAAc,GACpB,YAAY,CA6Bd"}
|
package/esm/utils/selections.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { PothosValidationError } from '@pothos/core';
|
|
2
2
|
import { deepEqual } from './deep-equal.js';
|
|
3
3
|
export function selectionCompatible(state, selectionMap, ignoreQuery = false) {
|
|
4
|
-
if (typeof selectionMap ===
|
|
4
|
+
if (typeof selectionMap === 'boolean') {
|
|
5
5
|
return ignoreQuery || !selectionMap || Object.keys(state.query).length === 0;
|
|
6
6
|
}
|
|
7
7
|
const { with: withSelection, extras, columns: _, ...query } = selectionMap;
|
|
8
|
-
if (withSelection && Object.entries(withSelection).some(([key, value])
|
|
8
|
+
if (withSelection && Object.entries(withSelection).some(([key, value])=>value && state.with.has(key) && // TODO: make sure nested extras are normalized
|
|
9
9
|
!selectionCompatible(state.with.get(key), value))) {
|
|
10
10
|
return false;
|
|
11
11
|
}
|
|
12
|
-
if (extras && Object.entries(extras).some(([key, value])
|
|
12
|
+
if (extras && Object.entries(extras).some(([key, value])=>{
|
|
13
13
|
const existing = state.extras.get(key);
|
|
14
14
|
return existing && existing !== value;
|
|
15
15
|
})) {
|
|
@@ -18,7 +18,7 @@ export function selectionCompatible(state, selectionMap, ignoreQuery = false) {
|
|
|
18
18
|
return ignoreQuery || deepEqual(state.query, query);
|
|
19
19
|
}
|
|
20
20
|
export function stateCompatible(state, newState, ignoreQuery = false) {
|
|
21
|
-
for (const [name, relationState] of newState.with)
|
|
21
|
+
for (const [name, relationState] of newState.with){
|
|
22
22
|
if (state.with.has(name) && !stateCompatible(state.with.get(name), relationState)) {
|
|
23
23
|
return false;
|
|
24
24
|
}
|
|
@@ -26,7 +26,7 @@ export function stateCompatible(state, newState, ignoreQuery = false) {
|
|
|
26
26
|
return ignoreQuery || deepEqual(state.query, newState.query);
|
|
27
27
|
}
|
|
28
28
|
export function mergeState(state, newState) {
|
|
29
|
-
for (const [name, relationState] of newState.with)
|
|
29
|
+
for (const [name, relationState] of newState.with){
|
|
30
30
|
if (state.with.has(name)) {
|
|
31
31
|
mergeState(state.with.get(name), relationState);
|
|
32
32
|
}
|
|
@@ -34,14 +34,13 @@ export function mergeState(state, newState) {
|
|
|
34
34
|
if (!state.allColumns) {
|
|
35
35
|
if (newState.allColumns) {
|
|
36
36
|
state.allColumns = true;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
for (const name of newState.columns) {
|
|
37
|
+
} else {
|
|
38
|
+
for (const name of newState.columns){
|
|
40
39
|
state.columns.add(name);
|
|
41
40
|
}
|
|
42
41
|
}
|
|
43
42
|
}
|
|
44
|
-
for (const [name, value] of newState.extras)
|
|
43
|
+
for (const [name, value] of newState.extras){
|
|
45
44
|
state.extras.set(name, value);
|
|
46
45
|
}
|
|
47
46
|
}
|
|
@@ -60,11 +59,11 @@ export function createState(table, skipDeferredFragments, parent) {
|
|
|
60
59
|
};
|
|
61
60
|
}
|
|
62
61
|
export function mergeSelection(config, state, selection) {
|
|
63
|
-
const { with: withSelection, extras, columns, ...query } = typeof selection ===
|
|
62
|
+
const { with: withSelection, extras, columns, ...query } = typeof selection === 'boolean' ? selection === true ? {} : {
|
|
64
63
|
columns: {}
|
|
65
64
|
} : selection;
|
|
66
65
|
if (withSelection) {
|
|
67
|
-
for (const [key, value] of Object.entries(withSelection))
|
|
66
|
+
for (const [key, value] of Object.entries(withSelection)){
|
|
68
67
|
const relation = state.table.relations[key];
|
|
69
68
|
if (!relation) {
|
|
70
69
|
throw new PothosValidationError(`Relation ${key} does not exist on ${state.table.name}`);
|
|
@@ -76,7 +75,7 @@ export function mergeSelection(config, state, selection) {
|
|
|
76
75
|
state.query = query;
|
|
77
76
|
}
|
|
78
77
|
if (extras) {
|
|
79
|
-
for (const [key, value] of Object.entries(extras))
|
|
78
|
+
for (const [key, value] of Object.entries(extras)){
|
|
80
79
|
state.extras.set(key, value);
|
|
81
80
|
}
|
|
82
81
|
}
|
|
@@ -84,13 +83,12 @@ export function mergeSelection(config, state, selection) {
|
|
|
84
83
|
return;
|
|
85
84
|
}
|
|
86
85
|
if (columns && !state.allColumns) {
|
|
87
|
-
for (const [key, value] of Object.entries(columns))
|
|
86
|
+
for (const [key, value] of Object.entries(columns)){
|
|
88
87
|
if (value) {
|
|
89
88
|
state.columns.add(key);
|
|
90
89
|
}
|
|
91
90
|
}
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
91
|
+
} else {
|
|
94
92
|
state.allColumns = true;
|
|
95
93
|
}
|
|
96
94
|
function merge(table, key, value) {
|
|
@@ -99,8 +97,7 @@ export function mergeSelection(config, state, selection) {
|
|
|
99
97
|
}
|
|
100
98
|
if (state.with.has(key)) {
|
|
101
99
|
mergeSelection(config, state.with.get(key), value);
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
100
|
+
} else {
|
|
104
101
|
const relatedState = createState(table, state.skipDeferredFragments, state);
|
|
105
102
|
mergeSelection(config, relatedState, value);
|
|
106
103
|
state.with.set(key, relatedState);
|
|
@@ -116,20 +113,21 @@ export function selectionToQuery(config, state) {
|
|
|
116
113
|
};
|
|
117
114
|
if (!state.allColumns) {
|
|
118
115
|
query.columns = {};
|
|
119
|
-
for (const key of state.columns)
|
|
116
|
+
for (const key of state.columns){
|
|
120
117
|
query.columns[key] = true;
|
|
121
118
|
}
|
|
122
|
-
for (const column of config.getPrimaryKey(state.table.name))
|
|
119
|
+
for (const column of config.getPrimaryKey(state.table.name)){
|
|
123
120
|
const tsName = config.columnToTsName(column);
|
|
124
121
|
query.columns[tsName] = true;
|
|
125
122
|
}
|
|
126
123
|
}
|
|
127
|
-
for (const [key, value] of state.extras)
|
|
124
|
+
for (const [key, value] of state.extras){
|
|
128
125
|
query.extras[key] = value;
|
|
129
126
|
}
|
|
130
|
-
state.with.forEach((sel, relation)
|
|
127
|
+
state.with.forEach((sel, relation)=>{
|
|
131
128
|
query.with[relation] = selectionToQuery(config, sel);
|
|
132
129
|
});
|
|
133
130
|
return query;
|
|
134
131
|
}
|
|
135
|
-
|
|
132
|
+
|
|
133
|
+
//# sourceMappingURL=selections.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/selections.ts"],"names":["PothosValidationError","deepEqual","selectionCompatible","state","selectionMap","ignoreQuery","Object","keys","query","length","with","withSelection","extras","columns","_","entries","some","key","value","has","get","existing","stateCompatible","newState","name","relationState","mergeState","allColumns","add","set","createState","table","skipDeferredFragments","parent","Set","Map","mappings","depth","mergeSelection","config","selection","relation","relations","merge","targetTableName","relatedState","selectionToQuery","undefined","column","getPrimaryKey","tsName","columnToTsName","forEach","sel"],"mappings":"AAAA,SAASA,qBAAqB,QAAQ,eAAe;AAGrD,SAASC,SAAS,QAAQ,
|
|
1
|
+
{"version":3,"sources":["../../src/utils/selections.ts"],"names":["PothosValidationError","deepEqual","selectionCompatible","state","selectionMap","ignoreQuery","Object","keys","query","length","with","withSelection","extras","columns","_","entries","some","key","value","has","get","existing","stateCompatible","newState","name","relationState","mergeState","allColumns","add","set","createState","table","skipDeferredFragments","parent","Set","Map","mappings","depth","mergeSelection","config","selection","relation","relations","merge","targetTableName","relatedState","selectionToQuery","undefined","column","getPrimaryKey","tsName","columnToTsName","forEach","sel"],"mappings":"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"}
|
package/esm/utils/usage.d.ts
CHANGED
|
@@ -2,4 +2,4 @@ export declare const usageSymbol: unique symbol;
|
|
|
2
2
|
export declare function wrapWithUsageCheck<T extends object>(obj: T): T;
|
|
3
3
|
export declare function isUsed(obj: object): boolean;
|
|
4
4
|
export declare function extendWithUsage<T extends object, U extends object>(original: T, extension: U): T & U;
|
|
5
|
-
//# sourceMappingURL=usage.d.ts.map
|
|
5
|
+
//# sourceMappingURL=usage.d.ts.map
|
package/esm/utils/usage.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
export const usageSymbol = Symbol.for(
|
|
1
|
+
export const usageSymbol = Symbol.for('Pothos.isUsed');
|
|
2
2
|
export function wrapWithUsageCheck(obj) {
|
|
3
3
|
const result = {};
|
|
4
4
|
let used = true;
|
|
5
5
|
Object.defineProperty(result, usageSymbol, {
|
|
6
|
-
get() {
|
|
6
|
+
get () {
|
|
7
7
|
return used;
|
|
8
8
|
},
|
|
9
|
-
set(value) {
|
|
9
|
+
set (value) {
|
|
10
10
|
used = value;
|
|
11
11
|
},
|
|
12
12
|
enumerable: false
|
|
13
13
|
});
|
|
14
|
-
for (const key of Object.keys(obj))
|
|
14
|
+
for (const key of Object.keys(obj)){
|
|
15
15
|
// only set to false if the object has keys
|
|
16
16
|
used = false;
|
|
17
17
|
Object.defineProperty(result, key, {
|
|
18
18
|
enumerable: true,
|
|
19
19
|
configurable: true,
|
|
20
|
-
get() {
|
|
20
|
+
get () {
|
|
21
21
|
used = true;
|
|
22
22
|
return obj[key];
|
|
23
23
|
}
|
|
@@ -41,18 +41,19 @@ export function extendWithUsage(original, extension) {
|
|
|
41
41
|
for (const key of [
|
|
42
42
|
usageSymbol,
|
|
43
43
|
...Object.keys(original)
|
|
44
|
-
])
|
|
44
|
+
]){
|
|
45
45
|
if (key in result) {
|
|
46
46
|
continue;
|
|
47
47
|
}
|
|
48
48
|
Object.defineProperty(result, key, {
|
|
49
49
|
enumerable: key !== usageSymbol,
|
|
50
50
|
configurable: key !== usageSymbol,
|
|
51
|
-
get() {
|
|
51
|
+
get () {
|
|
52
52
|
return original[key];
|
|
53
53
|
}
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
return result;
|
|
57
57
|
}
|
|
58
|
-
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=usage.js.map
|
|
@@ -8,11 +8,11 @@ Object.defineProperty(exports, "drizzleConnectionHelpers", {
|
|
|
8
8
|
return drizzleConnectionHelpers;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _config = require("./utils/config");
|
|
12
|
-
const _cursors = require("./utils/cursors");
|
|
13
|
-
const _mapquery = require("./utils/map-query");
|
|
14
|
-
const _refs = require("./utils/refs");
|
|
15
|
-
const _selections = require("./utils/selections");
|
|
11
|
+
const _config = require("./utils/config.js");
|
|
12
|
+
const _cursors = require("./utils/cursors.js");
|
|
13
|
+
const _mapquery = require("./utils/map-query.js");
|
|
14
|
+
const _refs = require("./utils/refs.js");
|
|
15
|
+
const _selections = require("./utils/selections.js");
|
|
16
16
|
var _builder_options_drizzle, _builder_options_drizzle1;
|
|
17
17
|
function drizzleConnectionHelpers(builder, refOrType, { select, resolveNode, query, args: createArgs, maxSize = (_builder_options_drizzle = builder.options.drizzle) === null || _builder_options_drizzle === void 0 ? void 0 : _builder_options_drizzle.maxConnectionSize, defaultSize = (_builder_options_drizzle1 = builder.options.drizzle) === null || _builder_options_drizzle1 === void 0 ? void 0 : _builder_options_drizzle1.defaultConnectionSize }) {
|
|
18
18
|
const config = (0, _config.getSchemaConfig)(builder);
|
|
@@ -11,9 +11,9 @@ Object.defineProperty(exports, "DrizzleObjectFieldBuilder", {
|
|
|
11
11
|
const _core = require("@pothos/core");
|
|
12
12
|
const _drizzleorm = require("drizzle-orm");
|
|
13
13
|
const _graphql = require("graphql");
|
|
14
|
-
const _config = require("./utils/config");
|
|
15
|
-
const _cursors = require("./utils/cursors");
|
|
16
|
-
const _refs = require("./utils/refs");
|
|
14
|
+
const _config = require("./utils/config.js");
|
|
15
|
+
const _cursors = require("./utils/cursors.js");
|
|
16
|
+
const _refs = require("./utils/refs.js");
|
|
17
17
|
function _define_property(obj, key, value) {
|
|
18
18
|
if (key in obj) {
|
|
19
19
|
Object.defineProperty(obj, key, {
|