@pothos/plugin-drizzle 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/TODO.md +25 -4
  3. package/dts/connection-helpers.d.ts +32 -0
  4. package/dts/connection-helpers.d.ts.map +1 -0
  5. package/dts/drizzle-field-builder.d.ts +18 -53
  6. package/dts/drizzle-field-builder.d.ts.map +1 -1
  7. package/dts/global-types.d.ts +22 -41
  8. package/dts/global-types.d.ts.map +1 -1
  9. package/dts/index.d.ts +4 -2
  10. package/dts/index.d.ts.map +1 -1
  11. package/dts/interface-ref.d.ts +3 -2
  12. package/dts/interface-ref.d.ts.map +1 -1
  13. package/dts/model-loader.d.ts +3 -2
  14. package/dts/model-loader.d.ts.map +1 -1
  15. package/dts/node-ref.d.ts +1 -1
  16. package/dts/node-ref.d.ts.map +1 -1
  17. package/dts/object-ref.d.ts +2 -2
  18. package/dts/object-ref.d.ts.map +1 -1
  19. package/dts/types.d.ts +61 -41
  20. package/dts/types.d.ts.map +1 -1
  21. package/dts/utils/config.d.ts +4 -3
  22. package/dts/utils/config.d.ts.map +1 -1
  23. package/dts/utils/cursors.d.ts +13 -7
  24. package/dts/utils/cursors.d.ts.map +1 -1
  25. package/dts/utils/drizzle-graphql.d.ts +0 -17
  26. package/dts/utils/drizzle-graphql.d.ts.map +1 -1
  27. package/dts/utils/map-query.d.ts.map +1 -1
  28. package/dts/utils/selections.d.ts +5 -5
  29. package/dts/utils/selections.d.ts.map +1 -1
  30. package/esm/connection-helpers.d.ts +34 -0
  31. package/esm/connection-helpers.d.ts.map +1 -0
  32. package/esm/connection-helpers.js +74 -0
  33. package/esm/connection-helpers.js.map +1 -0
  34. package/esm/drizzle-field-builder.d.ts +18 -73
  35. package/esm/drizzle-field-builder.d.ts.map +1 -1
  36. package/esm/drizzle-field-builder.js +25 -14
  37. package/esm/drizzle-field-builder.js.map +1 -1
  38. package/esm/field-builder.js +2 -3
  39. package/esm/field-builder.js.map +1 -1
  40. package/esm/global-types.d.ts +35 -60
  41. package/esm/global-types.d.ts.map +1 -1
  42. package/esm/global-types.js.map +1 -1
  43. package/esm/index.d.ts +4 -2
  44. package/esm/index.d.ts.map +1 -1
  45. package/esm/index.js +70 -61
  46. package/esm/index.js.map +1 -1
  47. package/esm/interface-ref.d.ts +3 -2
  48. package/esm/interface-ref.d.ts.map +1 -1
  49. package/esm/interface-ref.js.map +1 -1
  50. package/esm/model-loader.d.ts +3 -2
  51. package/esm/model-loader.d.ts.map +1 -1
  52. package/esm/model-loader.js +18 -10
  53. package/esm/model-loader.js.map +1 -1
  54. package/esm/node-ref.d.ts +1 -1
  55. package/esm/node-ref.d.ts.map +1 -1
  56. package/esm/object-ref.d.ts +2 -2
  57. package/esm/object-ref.d.ts.map +1 -1
  58. package/esm/schema-builder.js +111 -65
  59. package/esm/schema-builder.js.map +1 -1
  60. package/esm/types.d.ts +61 -41
  61. package/esm/types.d.ts.map +1 -1
  62. package/esm/types.js.map +1 -1
  63. package/esm/utils/config.d.ts +4 -3
  64. package/esm/utils/config.d.ts.map +1 -1
  65. package/esm/utils/config.js +32 -15
  66. package/esm/utils/config.js.map +1 -1
  67. package/esm/utils/cursors.d.ts +13 -7
  68. package/esm/utils/cursors.d.ts.map +1 -1
  69. package/esm/utils/cursors.js +137 -63
  70. package/esm/utils/cursors.js.map +1 -1
  71. package/esm/utils/drizzle-graphql.d.ts +0 -17
  72. package/esm/utils/drizzle-graphql.d.ts.map +1 -1
  73. package/esm/utils/drizzle-graphql.js +230 -198
  74. package/esm/utils/drizzle-graphql.js.map +1 -1
  75. package/esm/utils/map-query.d.ts.map +1 -1
  76. package/esm/utils/map-query.js +9 -5
  77. package/esm/utils/map-query.js.map +1 -1
  78. package/esm/utils/selections.d.ts +5 -5
  79. package/esm/utils/selections.d.ts.map +1 -1
  80. package/esm/utils/selections.js +19 -18
  81. package/esm/utils/selections.js.map +1 -1
  82. package/lib/connection-helpers.js +85 -0
  83. package/lib/connection-helpers.js.map +1 -0
  84. package/lib/drizzle-field-builder.js +24 -13
  85. package/lib/drizzle-field-builder.js.map +1 -1
  86. package/lib/field-builder.js +2 -3
  87. package/lib/field-builder.js.map +1 -1
  88. package/lib/index.js +75 -60
  89. package/lib/index.js.map +1 -1
  90. package/lib/interface-ref.js.map +1 -1
  91. package/lib/model-loader.js +18 -10
  92. package/lib/model-loader.js.map +1 -1
  93. package/lib/schema-builder.js +111 -65
  94. package/lib/schema-builder.js.map +1 -1
  95. package/lib/types.js.map +1 -1
  96. package/lib/utils/config.js +31 -14
  97. package/lib/utils/config.js.map +1 -1
  98. package/lib/utils/cursors.js +135 -63
  99. package/lib/utils/cursors.js.map +1 -1
  100. package/lib/utils/drizzle-graphql.js +230 -221
  101. package/lib/utils/drizzle-graphql.js.map +1 -1
  102. package/lib/utils/map-query.js +9 -5
  103. package/lib/utils/map-query.js.map +1 -1
  104. package/lib/utils/selections.js +18 -17
  105. package/lib/utils/selections.js.map +1 -1
  106. package/package.json +14 -14
  107. package/src/connection-helpers.ts +184 -0
  108. package/src/drizzle-field-builder.ts +30 -26
  109. package/src/field-builder.ts +4 -7
  110. package/src/global-types.ts +112 -119
  111. package/src/index.ts +90 -68
  112. package/src/interface-ref.ts +7 -3
  113. package/src/model-loader.ts +33 -17
  114. package/src/node-ref.ts +1 -1
  115. package/src/object-ref.ts +2 -2
  116. package/src/schema-builder.ts +114 -111
  117. package/src/types.ts +95 -62
  118. package/src/utils/config.ts +39 -30
  119. package/src/utils/cursors.ts +134 -101
  120. package/src/utils/drizzle-graphql.ts +273 -274
  121. package/src/utils/map-query.ts +19 -7
  122. package/src/utils/selections.ts +34 -28
@@ -1,224 +1,233 @@
1
+ // import {
2
+ // type Column,
3
+ // type SQL,
4
+ // type TableRelationalConfig,
5
+ // asc,
6
+ // desc,
7
+ // operators as ops,
8
+ // } from 'drizzle-orm';
9
+ // import { GraphQLError } from 'graphql';
10
+ // // biome-ignore lint/suspicious/noExplicitAny: <explanation>
11
+ // export const remapFromGraphQLCore = (value: any, column: Column, columnName: string) => {
12
+ // switch (column.dataType) {
13
+ // case 'date': {
14
+ // const formatted = new Date(value);
15
+ // if (Number.isNaN(formatted.getTime())) {
16
+ // throw new GraphQLError(`Field '${columnName}' is not a valid date!`);
17
+ // }
18
+ // return formatted;
19
+ // }
20
+ // case 'buffer': {
21
+ // if (!Array.isArray(value)) {
22
+ // throw new GraphQLError(`Field '${columnName}' is not an array!`);
23
+ // }
24
+ // return Buffer.from(value);
25
+ // }
26
+ // case 'json': {
27
+ // if (column.columnType === 'PgGeometryObject') {
28
+ // return value;
29
+ // }
30
+ // try {
31
+ // return JSON.parse(value);
32
+ // } catch (e) {
33
+ // throw new GraphQLError(
34
+ // `Invalid JSON in field '${columnName}':\n${e instanceof Error ? e.message : 'Unknown error'}`,
35
+ // );
36
+ // }
37
+ // }
38
+ // case 'array': {
39
+ // if (!Array.isArray(value)) {
40
+ // throw new GraphQLError(`Field '${columnName}' is not an array!`);
41
+ // }
42
+ // if (column.columnType === 'PgGeometry' && value.length !== 2) {
43
+ // throw new GraphQLError(
44
+ // `Invalid float tuple in field '${columnName}': expected array with length of 2, received ${value.length}`,
45
+ // );
46
+ // }
47
+ // return value;
48
+ // }
49
+ // case 'bigint': {
50
+ // try {
51
+ // return BigInt(value);
52
+ // } catch (_error) {
53
+ // throw new GraphQLError(`Field '${columnName}' is not a BigInt!`);
54
+ // }
55
+ // }
56
+ // default: {
57
+ // return value;
58
+ // }
59
+ // }
60
+ // };
61
+ // export const remapFromGraphQLSingleInput = (
62
+ // // biome-ignore lint/suspicious/noExplicitAny: <explanation>
63
+ // queryInput: Record<string, any>,
64
+ // table: TableRelationalConfig,
65
+ // ) => {
66
+ // for (const [key, value] of Object.entries(queryInput)) {
67
+ // if (value === undefined) {
68
+ // delete queryInput[key];
69
+ // } else {
70
+ // const column = table.columns[key];
71
+ // if (!column) {
72
+ // throw new GraphQLError(`Unknown column: ${key}`);
73
+ // }
74
+ // if (value === null && (column as Column).notNull) {
75
+ // delete queryInput[key];
76
+ // continue;
77
+ // }
78
+ // queryInput[key] = remapFromGraphQLCore(value, column as Column, key);
79
+ // }
80
+ // }
81
+ // return queryInput;
82
+ // };
83
+ // export const remapFromGraphQLArrayInput = (
84
+ // // biome-ignore lint/suspicious/noExplicitAny: <explanation>
85
+ // queryInput: Record<string, any>[],
86
+ // table: TableRelationalConfig,
87
+ // ) => {
88
+ // for (const entry of queryInput) {
89
+ // remapFromGraphQLSingleInput(entry, table);
90
+ // }
91
+ // return queryInput;
92
+ // };
93
+ // export type OrderByArgs<TTable extends TableRelationalConfig> = {
94
+ // [Key in keyof TTable['columns']]?: {
95
+ // direction: 'asc' | 'desc';
96
+ // priority: number;
97
+ // };
98
+ // };
99
+ // export const extractOrderBy = <
100
+ // TTable extends TableRelationalConfig,
101
+ // // biome-ignore lint/suspicious/noExplicitAny: <explanation>
102
+ // TArgs extends OrderByArgs<any> = OrderByArgs<TTable>,
103
+ // >(
104
+ // table: TTable,
105
+ // orderArgs: TArgs,
106
+ // ): SQL[] => {
107
+ // const res = [] as SQL[];
108
+ // for (const [column, config] of Object.entries(orderArgs).sort(
109
+ // (a, b) => (b[1]?.priority ?? 0) - (a[1]?.priority ?? 0),
110
+ // )) {
111
+ // if (!config) {
112
+ // continue;
113
+ // }
114
+ // const { direction } = config;
115
+ // res.push(direction === 'asc' ? asc(table.columns[column]!) : desc(table.columns[column]!));
116
+ // }
117
+ // return res;
118
+ // };
119
+ // export const extractFiltersColumn = <TColumn extends Column>(
120
+ // column: TColumn,
121
+ // columnName: string,
122
+ // operators: Record<string, unknown> & { OR?: Record<string, unknown>[] },
123
+ // ): SQL | undefined => {
124
+ // if (!operators.OR?.length) {
125
+ // // biome-ignore lint/performance/noDelete: <explanation>
126
+ // delete operators.OR;
127
+ // }
128
+ // const entries = Object.entries(operators);
129
+ // if (operators.OR) {
130
+ // if (entries.length > 1) {
131
+ // throw new GraphQLError(
132
+ // `WHERE ${columnName}: Cannot specify both fields and 'OR' in column operators!`,
133
+ // );
134
+ // }
135
+ // const variants = [] as SQL[];
136
+ // for (const variant of operators.OR) {
137
+ // const extracted = extractFiltersColumn(column, columnName, variant);
138
+ // // biome-ignore lint/style/useBlockStatements: <explanation>
139
+ // if (extracted) variants.push(extracted);
140
+ // }
141
+ // return variants.length ? (variants.length > 1 ? ops.or(...variants) : variants[0]) : undefined;
142
+ // }
143
+ // const variants = [] as SQL[];
144
+ // for (const [operatorName, operatorValue] of entries) {
145
+ // // biome-ignore lint/style/useBlockStatements: <explanation>
146
+ // if (operatorValue === null || operatorValue === false) continue;
147
+ // switch (operatorName) {
148
+ // case 'eq':
149
+ // case 'ne':
150
+ // case 'gt':
151
+ // case 'gte':
152
+ // case 'lt':
153
+ // case 'lte': {
154
+ // const singleValue = remapFromGraphQLCore(operatorValue, column, columnName);
155
+ // variants.push(ops[operatorName](column, singleValue));
156
+ // break;
157
+ // }
158
+ // case 'like':
159
+ // case 'notLike':
160
+ // case 'ilike':
161
+ // case 'notIlike':
162
+ // variants.push(ops[operatorName](column, operatorValue as string));
163
+ // break;
164
+ // case 'inArray':
165
+ // case 'notInArray': {
166
+ // // biome-ignore lint/suspicious/noExplicitAny: <explanation>
167
+ // if (!(operatorValue as any[]).length) {
168
+ // throw new GraphQLError(
169
+ // `WHERE ${columnName}: Unable to use operator ${operatorName} with an empty array!`,
170
+ // );
171
+ // }
172
+ // // biome-ignore lint/suspicious/noExplicitAny: <explanation>
173
+ // const arrayValue = (operatorValue as any[]).map((val) =>
174
+ // remapFromGraphQLCore(val, column, columnName),
175
+ // );
176
+ // variants.push(ops[operatorName](column, arrayValue));
177
+ // break;
178
+ // }
179
+ // case 'isNull':
180
+ // case 'isNotNull':
181
+ // variants.push(ops[operatorName](column));
182
+ // break;
183
+ // default:
184
+ // throw new GraphQLError(`Unknown operator: ${operatorName}`);
185
+ // }
186
+ // }
187
+ // return variants.length ? (variants.length > 1 ? ops.and(...variants) : variants[0]) : undefined;
188
+ // };
189
+ // export const extractFilters = <TTable extends TableRelationalConfig>(
190
+ // table: TTable,
191
+ // tableName: string,
192
+ // filters: Record<string, unknown> & {
193
+ // OR?: Record<string, unknown>[];
194
+ // },
195
+ // ): SQL | undefined => {
196
+ // if (!filters.OR?.length) {
197
+ // // biome-ignore lint/performance/noDelete: <explanation>
198
+ // delete filters.OR;
199
+ // }
200
+ // const entries = Object.entries(filters);
201
+ // if (!entries.length) {
202
+ // return;
203
+ // }
204
+ // if (filters.OR) {
205
+ // if (entries.length > 1) {
206
+ // throw new GraphQLError(
207
+ // `WHERE ${tableName}: Cannot specify both fields and 'OR' in table filters!`,
208
+ // );
209
+ // }
210
+ // const variants = [] as SQL[];
211
+ // for (const variant of filters.OR) {
212
+ // const extracted = extractFilters(table, tableName, variant);
213
+ // if (extracted) {
214
+ // variants.push(extracted);
215
+ // }
216
+ // }
217
+ // return variants.length ? (variants.length > 1 ? ops.or(...variants) : variants[0]) : undefined;
218
+ // }
219
+ // const variants = [] as SQL[];
220
+ // for (const [columnName, operators] of entries) {
221
+ // if (operators === null) {
222
+ // continue;
223
+ // }
224
+ // const column = table.columns[columnName]!;
225
+ // variants.push(
226
+ // extractFiltersColumn(column as Column, columnName, operators as Record<string, unknown>)!,
227
+ // );
228
+ // }
229
+ // return variants.length ? (variants.length > 1 ? ops.and(...variants) : variants[0]) : undefined;
230
+ // };
1
231
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- extractFilters: function() {
13
- return extractFilters;
14
- },
15
- extractFiltersColumn: function() {
16
- return extractFiltersColumn;
17
- },
18
- extractOrderBy: function() {
19
- return extractOrderBy;
20
- },
21
- remapFromGraphQLArrayInput: function() {
22
- return remapFromGraphQLArrayInput;
23
- },
24
- remapFromGraphQLCore: function() {
25
- return remapFromGraphQLCore;
26
- },
27
- remapFromGraphQLSingleInput: function() {
28
- return remapFromGraphQLSingleInput;
29
- }
30
- });
31
- const _drizzleorm = require("drizzle-orm");
32
- const _graphql = require("graphql");
33
- const remapFromGraphQLCore = (value, column, columnName)=>{
34
- switch(column.dataType){
35
- case 'date':
36
- {
37
- const formatted = new Date(value);
38
- if (Number.isNaN(formatted.getTime())) {
39
- throw new _graphql.GraphQLError(`Field '${columnName}' is not a valid date!`);
40
- }
41
- return formatted;
42
- }
43
- case 'buffer':
44
- {
45
- if (!Array.isArray(value)) {
46
- throw new _graphql.GraphQLError(`Field '${columnName}' is not an array!`);
47
- }
48
- return Buffer.from(value);
49
- }
50
- case 'json':
51
- {
52
- if (column.columnType === 'PgGeometryObject') {
53
- return value;
54
- }
55
- try {
56
- return JSON.parse(value);
57
- } catch (e) {
58
- throw new _graphql.GraphQLError(`Invalid JSON in field '${columnName}':\n${e instanceof Error ? e.message : 'Unknown error'}`);
59
- }
60
- }
61
- case 'array':
62
- {
63
- if (!Array.isArray(value)) {
64
- throw new _graphql.GraphQLError(`Field '${columnName}' is not an array!`);
65
- }
66
- if (column.columnType === 'PgGeometry' && value.length !== 2) {
67
- throw new _graphql.GraphQLError(`Invalid float tuple in field '${columnName}': expected array with length of 2, received ${value.length}`);
68
- }
69
- return value;
70
- }
71
- case 'bigint':
72
- {
73
- try {
74
- return BigInt(value);
75
- } catch (_error) {
76
- throw new _graphql.GraphQLError(`Field '${columnName}' is not a BigInt!`);
77
- }
78
- }
79
- default:
80
- {
81
- return value;
82
- }
83
- }
84
- };
85
- const remapFromGraphQLSingleInput = (// biome-ignore lint/suspicious/noExplicitAny: <explanation>
86
- queryInput, table)=>{
87
- for (const [key, value] of Object.entries(queryInput)){
88
- if (value === undefined) {
89
- delete queryInput[key];
90
- } else {
91
- const column = table.columns[key];
92
- if (!column) {
93
- throw new _graphql.GraphQLError(`Unknown column: ${key}`);
94
- }
95
- if (value === null && column.notNull) {
96
- delete queryInput[key];
97
- continue;
98
- }
99
- queryInput[key] = remapFromGraphQLCore(value, column, key);
100
- }
101
- }
102
- return queryInput;
103
- };
104
- const remapFromGraphQLArrayInput = (// biome-ignore lint/suspicious/noExplicitAny: <explanation>
105
- queryInput, table)=>{
106
- for (const entry of queryInput){
107
- remapFromGraphQLSingleInput(entry, table);
108
- }
109
- return queryInput;
110
- };
111
- const extractOrderBy = (table, orderArgs)=>{
112
- const res = [];
113
- for (const [column, config] of Object.entries(orderArgs).sort((a, b)=>{
114
- var _b_, _a_;
115
- var _b__priority, _a__priority;
116
- return ((_b__priority = (_b_ = b[1]) === null || _b_ === void 0 ? void 0 : _b_.priority) !== null && _b__priority !== void 0 ? _b__priority : 0) - ((_a__priority = (_a_ = a[1]) === null || _a_ === void 0 ? void 0 : _a_.priority) !== null && _a__priority !== void 0 ? _a__priority : 0);
117
- })){
118
- if (!config) {
119
- continue;
120
- }
121
- const { direction } = config;
122
- res.push(direction === 'asc' ? (0, _drizzleorm.asc)(table.columns[column]) : (0, _drizzleorm.desc)(table.columns[column]));
123
- }
124
- return res;
125
- };
126
- const ops = (0, _drizzleorm.getOperators)();
127
- const extractFiltersColumn = (column, columnName, operators)=>{
128
- var _operators_OR;
129
- if (!((_operators_OR = operators.OR) === null || _operators_OR === void 0 ? void 0 : _operators_OR.length)) {
130
- // biome-ignore lint/performance/noDelete: <explanation>
131
- delete operators.OR;
132
- }
133
- const entries = Object.entries(operators);
134
- if (operators.OR) {
135
- if (entries.length > 1) {
136
- throw new _graphql.GraphQLError(`WHERE ${columnName}: Cannot specify both fields and 'OR' in column operators!`);
137
- }
138
- const variants = [];
139
- for (const variant of operators.OR){
140
- const extracted = extractFiltersColumn(column, columnName, variant);
141
- // biome-ignore lint/style/useBlockStatements: <explanation>
142
- if (extracted) variants.push(extracted);
143
- }
144
- return variants.length ? variants.length > 1 ? ops.or(...variants) : variants[0] : undefined;
145
- }
146
- const variants = [];
147
- for (const [operatorName, operatorValue] of entries){
148
- // biome-ignore lint/style/useBlockStatements: <explanation>
149
- if (operatorValue === null || operatorValue === false) continue;
150
- switch(operatorName){
151
- case 'eq':
152
- case 'ne':
153
- case 'gt':
154
- case 'gte':
155
- case 'lt':
156
- case 'lte':
157
- {
158
- const singleValue = remapFromGraphQLCore(operatorValue, column, columnName);
159
- variants.push(ops[operatorName](column, singleValue));
160
- break;
161
- }
162
- case 'like':
163
- case 'notLike':
164
- case 'ilike':
165
- case 'notIlike':
166
- variants.push(ops[operatorName](column, operatorValue));
167
- break;
168
- case 'inArray':
169
- case 'notInArray':
170
- {
171
- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
172
- if (!operatorValue.length) {
173
- throw new _graphql.GraphQLError(`WHERE ${columnName}: Unable to use operator ${operatorName} with an empty array!`);
174
- }
175
- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
176
- const arrayValue = operatorValue.map((val)=>remapFromGraphQLCore(val, column, columnName));
177
- variants.push(ops[operatorName](column, arrayValue));
178
- break;
179
- }
180
- case 'isNull':
181
- case 'isNotNull':
182
- variants.push(ops[operatorName](column));
183
- break;
184
- default:
185
- throw new _graphql.GraphQLError(`Unknown operator: ${operatorName}`);
186
- }
187
- }
188
- return variants.length ? variants.length > 1 ? ops.and(...variants) : variants[0] : undefined;
189
- };
190
- const extractFilters = (table, tableName, filters)=>{
191
- var _filters_OR;
192
- if (!((_filters_OR = filters.OR) === null || _filters_OR === void 0 ? void 0 : _filters_OR.length)) {
193
- // biome-ignore lint/performance/noDelete: <explanation>
194
- delete filters.OR;
195
- }
196
- const entries = Object.entries(filters);
197
- if (!entries.length) {
198
- return;
199
- }
200
- if (filters.OR) {
201
- if (entries.length > 1) {
202
- throw new _graphql.GraphQLError(`WHERE ${tableName}: Cannot specify both fields and 'OR' in table filters!`);
203
- }
204
- const variants = [];
205
- for (const variant of filters.OR){
206
- const extracted = extractFilters(table, tableName, variant);
207
- if (extracted) {
208
- variants.push(extracted);
209
- }
210
- }
211
- return variants.length ? variants.length > 1 ? ops.or(...variants) : variants[0] : undefined;
212
- }
213
- const variants = [];
214
- for (const [columnName, operators] of entries){
215
- if (operators === null) {
216
- continue;
217
- }
218
- const column = table.columns[columnName];
219
- variants.push(extractFiltersColumn(column, columnName, operators));
220
- }
221
- return variants.length ? variants.length > 1 ? ops.and(...variants) : variants[0] : undefined;
222
- };
223
232
 
224
233
  //# sourceMappingURL=drizzle-graphql.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/drizzle-graphql.ts"],"names":["extractFilters","extractFiltersColumn","extractOrderBy","remapFromGraphQLArrayInput","remapFromGraphQLCore","remapFromGraphQLSingleInput","value","column","columnName","dataType","formatted","Date","Number","isNaN","getTime","GraphQLError","Array","isArray","Buffer","from","columnType","JSON","parse","e","Error","message","length","BigInt","_error","queryInput","table","key","Object","entries","undefined","columns","notNull","entry","orderArgs","res","config","sort","a","b","priority","direction","push","asc","desc","ops","getOperators","operators","OR","variants","variant","extracted","or","operatorName","operatorValue","singleValue","arrayValue","map","val","and","tableName","filters"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utils/drizzle-graphql.ts"],"names":[],"mappings":"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"}
@@ -178,7 +178,7 @@ function addFieldSelection(config, type, context, info, state, selection, indire
178
178
  }
179
179
  addTypeSelectionsForField(config, returnType, context, info, fieldState, selection, []);
180
180
  mappings = fieldState.mappings;
181
- return (0, _selections.selectionToQuery)(fieldState);
181
+ return (0, _selections.selectionToQuery)(config, fieldState);
182
182
  }, (path)=>{
183
183
  const returnType = (0, _graphql.getNamedType)(field.type);
184
184
  let node = null;
@@ -207,12 +207,16 @@ function addFieldSelection(config, type, context, info, state, selection, indire
207
207
  function queryFromInfo({ withUsageCheck, ...options }) {
208
208
  const state = stateFromInfo(options);
209
209
  (0, _loadermap.setLoaderMappings)(options.context, options.info, state.mappings);
210
- const query = (0, _selections.selectionToQuery)(state);
210
+ const query = (0, _selections.selectionToQuery)(options.config, state);
211
211
  return withUsageCheck ? (0, _usage.wrapWithUsageCheck)(query) : query;
212
212
  }
213
213
  function stateFromInfo({ config, context, info, typeName, select, path = [], paths = [] }) {
214
214
  const returnType = (0, _graphql.getNamedType)(info.returnType);
215
215
  const type = typeName ? info.schema.getTypeMap()[typeName] : returnType;
216
+ const initialSelection = select ? {
217
+ columns: {},
218
+ ...select
219
+ } : undefined;
216
220
  let state;
217
221
  if (path.length > 0 || paths.length > 0) {
218
222
  var _returnType_extensions;
@@ -226,16 +230,16 @@ function stateFromInfo({ config, context, info, typeName, select, path = [], pat
226
230
  name: n
227
231
  } : n)
228
232
  ], subPath, (resolvedType, resolvedField, nested, deferred)=>{
229
- state = createStateForSelection(config, info, resolvedType, undefined, select);
233
+ state = createStateForSelection(config, info, resolvedType, undefined, initialSelection);
230
234
  addTypeSelectionsForField(config, typeName ? type : resolvedType, context, info, state, resolvedField, nested, deferred);
231
235
  }, deferred);
232
236
  });
233
237
  } else {
234
- state = createStateForSelection(config, info, type, undefined, select);
238
+ state = createStateForSelection(config, info, type, undefined, initialSelection);
235
239
  addTypeSelectionsForField(config, type, context, info, state, info.fieldNodes[0], []);
236
240
  }
237
241
  if (!state) {
238
- state = createStateForSelection(config, info, type, undefined, select);
242
+ state = createStateForSelection(config, info, type, undefined, initialSelection);
239
243
  }
240
244
  return state;
241
245
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/map-query.ts"],"names":["getIndirectType","normalizeInclude","queryFromInfo","selectionStateFromInfo","stateFromInfo","addTypeSelectionsForField","config","type","context","info","state","selection","indirectPath","deferred","name","value","startsWith","pothosDrizzleSelect","pothosIndirectInclude","extensions","path","length","paths","resolveIndirectIncludePaths","resolvedType","field","schema","getType","isObjectType","isInterfaceType","mergeSelection","selectionSet","skipDeferredFragments","addNestedSelections","pathPrefix","includePaths","resolve","includePath","resolveIndirectInclude","include","rest","sel","selections","kind","Kind","FIELD","fieldSkipped","returnType","getNamedType","getFields","alias","FRAGMENT_SPREAD","fragments","typeCondition","isDeferredFragment","INLINE_FRAGMENT","PothosValidationError","parentType","addFieldSelection","pothosDrizzleModel","fieldSelect","fieldSelectionMap","mappings","args","getMappedArgumentValues","rawQuery","indirectInclude","expectedType","query","normalizedIndirectInclude","Array","isArray","undefined","fieldState","createStateForSelection","Object","keys","columns","resolvedField","selectionToQuery","node","map","_","selectionCompatible","withUsageCheck","options","setLoaderMappings","wrapWithUsageCheck","typeName","select","getTypeMap","fieldNodes","indirectType","indirectField","subPath","p","n","nested","parent","initialSelections","targetType","pothosDrizzleTable","createState","currentType","normalized","fieldName","push","skip","getDirectiveValues","GraphQLSkipDirective","variableValues","if","GraphQLIncludeDirective","deferDirective","getDirective","defer"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utils/map-query.ts"],"names":["getIndirectType","normalizeInclude","queryFromInfo","selectionStateFromInfo","stateFromInfo","addTypeSelectionsForField","config","type","context","info","state","selection","indirectPath","deferred","name","value","startsWith","pothosDrizzleSelect","pothosIndirectInclude","extensions","path","length","paths","resolveIndirectIncludePaths","resolvedType","field","schema","getType","isObjectType","isInterfaceType","mergeSelection","selectionSet","skipDeferredFragments","addNestedSelections","pathPrefix","includePaths","resolve","includePath","resolveIndirectInclude","include","rest","sel","selections","kind","Kind","FIELD","fieldSkipped","returnType","getNamedType","getFields","alias","FRAGMENT_SPREAD","fragments","typeCondition","isDeferredFragment","INLINE_FRAGMENT","PothosValidationError","parentType","addFieldSelection","pothosDrizzleModel","fieldSelect","fieldSelectionMap","mappings","args","getMappedArgumentValues","rawQuery","indirectInclude","expectedType","query","normalizedIndirectInclude","Array","isArray","undefined","fieldState","createStateForSelection","Object","keys","columns","resolvedField","selectionToQuery","node","map","_","selectionCompatible","withUsageCheck","options","setLoaderMappings","wrapWithUsageCheck","typeName","select","getTypeMap","initialSelection","fieldNodes","indirectType","indirectField","subPath","p","n","nested","parent","initialSelections","targetType","pothosDrizzleTable","createState","currentType","normalized","fieldName","push","skip","getDirectiveValues","GraphQLSkipDirective","variableValues","if","GraphQLIncludeDirective","deferDirective","getDirective","defer"],"mappings":"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"}