@pothos/plugin-drizzle 0.18.1 → 0.19.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 (165) hide show
  1. package/CHANGELOG.md +345 -0
  2. package/README.md +784 -221
  3. package/dts/connection-helpers.d.ts +18 -8
  4. package/dts/connection-helpers.d.ts.map +1 -1
  5. package/dts/drizzle-field-builder.d.ts +4 -11
  6. package/dts/drizzle-field-builder.d.ts.map +1 -1
  7. package/dts/global-types.d.ts.map +1 -1
  8. package/dts/index.d.ts.map +1 -1
  9. package/dts/model-loader.d.ts +18 -17
  10. package/dts/model-loader.d.ts.map +1 -1
  11. package/dts/types.d.ts +80 -20
  12. package/dts/types.d.ts.map +1 -1
  13. package/dts/utils/adapter.d.ts +39 -0
  14. package/dts/utils/adapter.d.ts.map +1 -0
  15. package/dts/utils/await-selections.d.ts +12 -0
  16. package/dts/utils/await-selections.d.ts.map +1 -0
  17. package/dts/utils/config.d.ts +23 -3
  18. package/dts/utils/config.d.ts.map +1 -1
  19. package/dts/utils/cursors.d.ts +6 -6
  20. package/dts/utils/cursors.d.ts.map +1 -1
  21. package/dts/utils/map-query.d.ts +22 -21
  22. package/dts/utils/map-query.d.ts.map +1 -1
  23. package/dts/utils/path-info.d.ts +13 -0
  24. package/dts/utils/path-info.d.ts.map +1 -0
  25. package/dts/utils/relation-filter.d.ts +48 -0
  26. package/dts/utils/relation-filter.d.ts.map +1 -0
  27. package/dts/utils/selections.d.ts +2 -21
  28. package/dts/utils/selections.d.ts.map +1 -1
  29. package/esm/connection-helpers.d.ts +18 -8
  30. package/esm/connection-helpers.d.ts.map +1 -1
  31. package/esm/connection-helpers.js +52 -19
  32. package/esm/connection-helpers.js.map +1 -1
  33. package/esm/drizzle-field-builder.d.ts +4 -11
  34. package/esm/drizzle-field-builder.d.ts.map +1 -1
  35. package/esm/drizzle-field-builder.js +138 -96
  36. package/esm/drizzle-field-builder.js.map +1 -1
  37. package/esm/field-builder.js +61 -47
  38. package/esm/field-builder.js.map +1 -1
  39. package/esm/global-types.d.ts.map +1 -1
  40. package/esm/index.d.ts.map +1 -1
  41. package/esm/index.js +37 -61
  42. package/esm/index.js.map +1 -1
  43. package/esm/model-loader.d.ts +18 -17
  44. package/esm/model-loader.d.ts.map +1 -1
  45. package/esm/model-loader.js +76 -45
  46. package/esm/model-loader.js.map +1 -1
  47. package/esm/schema-builder.js +40 -149
  48. package/esm/schema-builder.js.map +1 -1
  49. package/esm/types.d.ts +80 -20
  50. package/esm/types.d.ts.map +1 -1
  51. package/esm/types.js.map +1 -1
  52. package/esm/utils/adapter.d.ts +39 -0
  53. package/esm/utils/adapter.d.ts.map +1 -0
  54. package/esm/utils/adapter.js +137 -0
  55. package/esm/utils/adapter.js.map +1 -0
  56. package/esm/utils/await-selections.d.ts +12 -0
  57. package/esm/utils/await-selections.d.ts.map +1 -0
  58. package/esm/utils/await-selections.js +19 -0
  59. package/esm/utils/await-selections.js.map +1 -0
  60. package/esm/utils/config.d.ts +23 -3
  61. package/esm/utils/config.d.ts.map +1 -1
  62. package/esm/utils/config.js +1 -4
  63. package/esm/utils/config.js.map +1 -1
  64. package/esm/utils/cursors.d.ts +6 -6
  65. package/esm/utils/cursors.d.ts.map +1 -1
  66. package/esm/utils/cursors.js +55 -90
  67. package/esm/utils/cursors.js.map +1 -1
  68. package/esm/utils/map-query.d.ts +22 -21
  69. package/esm/utils/map-query.d.ts.map +1 -1
  70. package/esm/utils/map-query.js +40 -354
  71. package/esm/utils/map-query.js.map +1 -1
  72. package/esm/utils/path-info.d.ts +13 -0
  73. package/esm/utils/path-info.d.ts.map +1 -0
  74. package/esm/utils/path-info.js +37 -0
  75. package/esm/utils/path-info.js.map +1 -0
  76. package/esm/utils/relation-filter.d.ts +48 -0
  77. package/esm/utils/relation-filter.d.ts.map +1 -0
  78. package/esm/utils/relation-filter.js +92 -0
  79. package/esm/utils/relation-filter.js.map +1 -0
  80. package/esm/utils/selections.d.ts +2 -21
  81. package/esm/utils/selections.d.ts.map +1 -1
  82. package/esm/utils/selections.js +1 -133
  83. package/esm/utils/selections.js.map +1 -1
  84. package/lib/connection-helpers.js +51 -18
  85. package/lib/connection-helpers.js.map +1 -1
  86. package/lib/drizzle-field-builder.js +136 -94
  87. package/lib/drizzle-field-builder.js.map +1 -1
  88. package/lib/field-builder.js +58 -44
  89. package/lib/field-builder.js.map +1 -1
  90. package/lib/index.js +36 -60
  91. package/lib/index.js.map +1 -1
  92. package/lib/model-loader.js +76 -45
  93. package/lib/model-loader.js.map +1 -1
  94. package/lib/schema-builder.js +40 -149
  95. package/lib/schema-builder.js.map +1 -1
  96. package/lib/types.js.map +1 -1
  97. package/lib/utils/adapter.js +147 -0
  98. package/lib/utils/adapter.js.map +1 -0
  99. package/lib/utils/await-selections.js +20 -0
  100. package/lib/utils/await-selections.js.map +1 -0
  101. package/lib/utils/config.js +1 -4
  102. package/lib/utils/config.js.map +1 -1
  103. package/lib/utils/cursors.js +47 -88
  104. package/lib/utils/cursors.js.map +1 -1
  105. package/lib/utils/map-query.js +28 -359
  106. package/lib/utils/map-query.js.map +1 -1
  107. package/lib/utils/path-info.js +39 -0
  108. package/lib/utils/path-info.js.map +1 -0
  109. package/lib/utils/relation-filter.js +91 -0
  110. package/lib/utils/relation-filter.js.map +1 -0
  111. package/lib/utils/selections.js +3 -158
  112. package/lib/utils/selections.js.map +1 -1
  113. package/package.json +8 -6
  114. package/src/connection-helpers.ts +167 -53
  115. package/src/drizzle-field-builder.ts +296 -176
  116. package/src/field-builder.ts +110 -77
  117. package/src/global-types.ts +0 -32
  118. package/src/index.ts +42 -68
  119. package/src/model-loader.ts +110 -71
  120. package/src/schema-builder.ts +76 -169
  121. package/src/types.ts +175 -44
  122. package/src/utils/adapter.ts +197 -0
  123. package/src/utils/await-selections.ts +31 -0
  124. package/src/utils/config.ts +1 -5
  125. package/src/utils/cursors.ts +53 -81
  126. package/src/utils/map-query.ts +51 -734
  127. package/src/utils/path-info.ts +40 -0
  128. package/src/utils/relation-filter.ts +185 -0
  129. package/src/utils/selections.ts +2 -207
  130. package/dts/utils/deep-equal.d.ts +0 -2
  131. package/dts/utils/deep-equal.d.ts.map +0 -1
  132. package/dts/utils/drizzle-graphql.d.ts +0 -2
  133. package/dts/utils/drizzle-graphql.d.ts.map +0 -1
  134. package/dts/utils/loader-map.d.ts +0 -11
  135. package/dts/utils/loader-map.d.ts.map +0 -1
  136. package/dts/utils/usage.d.ts +0 -5
  137. package/dts/utils/usage.d.ts.map +0 -1
  138. package/esm/utils/deep-equal.d.ts +0 -2
  139. package/esm/utils/deep-equal.d.ts.map +0 -1
  140. package/esm/utils/deep-equal.js +0 -45
  141. package/esm/utils/deep-equal.js.map +0 -1
  142. package/esm/utils/drizzle-graphql.d.ts +0 -2
  143. package/esm/utils/drizzle-graphql.d.ts.map +0 -1
  144. package/esm/utils/drizzle-graphql.js +0 -232
  145. package/esm/utils/drizzle-graphql.js.map +0 -1
  146. package/esm/utils/loader-map.d.ts +0 -11
  147. package/esm/utils/loader-map.d.ts.map +0 -1
  148. package/esm/utils/loader-map.js +0 -35
  149. package/esm/utils/loader-map.js.map +0 -1
  150. package/esm/utils/usage.d.ts +0 -5
  151. package/esm/utils/usage.d.ts.map +0 -1
  152. package/esm/utils/usage.js +0 -59
  153. package/esm/utils/usage.js.map +0 -1
  154. package/lib/utils/deep-equal.js +0 -55
  155. package/lib/utils/deep-equal.js.map +0 -1
  156. package/lib/utils/drizzle-graphql.js +0 -236
  157. package/lib/utils/drizzle-graphql.js.map +0 -1
  158. package/lib/utils/loader-map.js +0 -56
  159. package/lib/utils/loader-map.js.map +0 -1
  160. package/lib/utils/usage.js +0 -83
  161. package/lib/utils/usage.js.map +0 -1
  162. package/src/utils/deep-equal.ts +0 -57
  163. package/src/utils/drizzle-graphql.ts +0 -274
  164. package/src/utils/loader-map.ts +0 -49
  165. package/src/utils/usage.ts +0 -62
@@ -1,232 +0,0 @@
1
- export { }; // 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: this is fine
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: this is fine
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: this is fine
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: this is fine
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: this is fine
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: this is fine
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
- // };
231
-
232
- //# sourceMappingURL=drizzle-graphql.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/drizzle-graphql.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { 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
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader-map.d.ts","sourceRoot":"","sources":["../../src/utils/loader-map.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,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,QAQ7F;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,yBAK3F"}
@@ -1,35 +0,0 @@
1
- import { createContextCache } from '@pothos/core';
2
- const cache = createContextCache(()=>new Map());
3
- export function cacheKey(type, path, subPath = []) {
4
- let key = '';
5
- let current = path;
6
- while(current){
7
- if (typeof current.key === 'string') {
8
- key = key ? `${current.key}.${key}` : current.key;
9
- }
10
- current = current.prev;
11
- }
12
- for (const entry of subPath){
13
- key = `${key}.${entry}`;
14
- }
15
- return `${type}@${key}`;
16
- }
17
- export function setLoaderMappings(ctx, info, value) {
18
- const map = cache(ctx);
19
- for (const [field, mapping] of Object.entries(value)){
20
- const subPath = [
21
- ...mapping.indirectPath,
22
- field
23
- ];
24
- const key = cacheKey(mapping.type, info.path, subPath);
25
- map.set(key, mapping.mappings);
26
- }
27
- }
28
- export function getLoaderMapping(ctx, path, type) {
29
- var _map_get;
30
- const map = cache(ctx);
31
- const key = cacheKey(type, path, []);
32
- return (_map_get = map.get(key)) !== null && _map_get !== void 0 ? _map_get : null;
33
- }
34
-
35
- //# sourceMappingURL=loader-map.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/loader-map.ts"],"names":["createContextCache","cache","Map","cacheKey","type","path","subPath","key","current","prev","entry","setLoaderMappings","ctx","info","value","map","field","mapping","Object","entries","indirectPath","set","mappings","getLoaderMapping","get"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,eAAe;AAalD,MAAMC,QAAQD,mBAAmB,IAAM,IAAIE;AAE3C,OAAO,SAASC,SAASC,IAAY,EAAEC,IAAgC,EAAEC,UAAoB,EAAE;IAC7F,IAAIC,MAAM;IACV,IAAIC,UAAkDH;IAEtD,MAAOG,QAAS;QACd,IAAI,OAAOA,QAAQD,GAAG,KAAK,UAAU;YACnCA,MAAMA,MAAM,GAAGC,QAAQD,GAAG,CAAC,CAAC,EAAEA,KAAK,GAAGC,QAAQD,GAAG;QACnD;QACAC,UAAUA,QAAQC,IAAI;IACxB;IAEA,KAAK,MAAMC,SAASJ,QAAS;QAC3BC,MAAM,GAAGA,IAAI,CAAC,EAAEG,OAAO;IACzB;IAEA,OAAO,GAAGN,KAAK,CAAC,EAAEG,KAAK;AACzB;AAEA,OAAO,SAASI,kBAAkBC,GAAW,EAAEC,IAAwB,EAAEC,KAAqB;IAC5F,MAAMC,MAAMd,MAAMW;IAClB,KAAK,MAAM,CAACI,OAAOC,QAAQ,IAAIC,OAAOC,OAAO,CAACL,OAAQ;QACpD,MAAMR,UAAU;eAAIW,QAAQG,YAAY;YAAEJ;SAAM;QAChD,MAAMT,MAAMJ,SAASc,QAAQb,IAAI,EAAES,KAAKR,IAAI,EAAEC;QAE9CS,IAAIM,GAAG,CAACd,KAAKU,QAAQK,QAAQ;IAC/B;AACF;AAEA,OAAO,SAASC,iBAAiBX,GAAW,EAAEP,IAAgC,EAAED,IAAY;QAInFW;IAHP,MAAMA,MAAMd,MAAMW;IAClB,MAAML,MAAMJ,SAASC,MAAMC,MAAM,EAAE;IAEnC,QAAOU,WAAAA,IAAIS,GAAG,CAACjB,kBAARQ,sBAAAA,WAAgB;AACzB"}
@@ -1,5 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/utils/usage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,eAA8B,CAAC;AAEvD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CA4B9D;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAChE,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,CAAC,GACX,CAAC,GAAG,CAAC,CAsBP"}
@@ -1,59 +0,0 @@
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
- get () {
21
- used = true;
22
- return obj[key];
23
- }
24
- });
25
- }
26
- return result;
27
- }
28
- export function isUsed(obj) {
29
- return !(usageSymbol in obj) || obj[usageSymbol];
30
- }
31
- export function extendWithUsage(original, extension) {
32
- if (!(usageSymbol in original)) {
33
- return {
34
- ...original,
35
- ...extension
36
- };
37
- }
38
- const result = {
39
- ...extension
40
- };
41
- for (const key of [
42
- usageSymbol,
43
- ...Object.keys(original)
44
- ]){
45
- if (key in result) {
46
- continue;
47
- }
48
- Object.defineProperty(result, key, {
49
- enumerable: key !== usageSymbol,
50
- configurable: key !== usageSymbol,
51
- get () {
52
- return original[key];
53
- }
54
- });
55
- }
56
- return result;
57
- }
58
-
59
- //# sourceMappingURL=usage.js.map
@@ -1 +0,0 @@
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;YACdN;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;YACjB;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"}
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "deepEqual", {
6
- enumerable: true,
7
- get: function() {
8
- return deepEqual;
9
- }
10
- });
11
- function deepEqual(left, right, ignore) {
12
- if (left === right) {
13
- return true;
14
- }
15
- if (left && right && typeof left === 'object' && typeof right === 'object') {
16
- var _left_valueOf, _right_valueOf;
17
- if (Array.isArray(left)) {
18
- if (!Array.isArray(right)) {
19
- return false;
20
- }
21
- const { length } = left;
22
- if (right.length !== length) {
23
- return false;
24
- }
25
- for(let i = 0; i < length; i += 1){
26
- if (!deepEqual(left[i], right[i])) {
27
- return false;
28
- }
29
- }
30
- return true;
31
- }
32
- const lValue = (_left_valueOf = left.valueOf) === null || _left_valueOf === void 0 ? void 0 : _left_valueOf.call(left);
33
- const rValue = (_right_valueOf = right.valueOf) === null || _right_valueOf === void 0 ? void 0 : _right_valueOf.call(right);
34
- if ((lValue != null || rValue != null) && typeof lValue !== 'object') {
35
- return lValue === rValue;
36
- }
37
- const keys = Object.keys(left);
38
- const keyLength = keys.length;
39
- if (keyLength !== Object.keys(right).length) {
40
- return false;
41
- }
42
- for (const key of keys){
43
- if (ignore === null || ignore === void 0 ? void 0 : ignore.has(key)) {
44
- continue;
45
- }
46
- if (!deepEqual(left[key], right[key])) {
47
- return false;
48
- }
49
- }
50
- return true;
51
- }
52
- return false;
53
- }
54
-
55
- //# sourceMappingURL=deep-equal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/deep-equal.ts"],"names":["deepEqual","left","right","ignore","Array","isArray","length","i","lValue","valueOf","rValue","keys","Object","keyLength","key","has"],"mappings":";;;;+BAAgBA;;;eAAAA;;;AAAT,SAASA,UAAUC,IAAa,EAAEC,KAAc,EAAEC,MAAoB;IAC3E,IAAIF,SAASC,OAAO;QAClB,OAAO;IACT;IAEA,IAAID,QAAQC,SAAS,OAAOD,SAAS,YAAY,OAAOC,UAAU,UAAU;YAqB3DD,eACAC;QArBf,IAAIE,MAAMC,OAAO,CAACJ,OAAO;YACvB,IAAI,CAACG,MAAMC,OAAO,CAACH,QAAQ;gBACzB,OAAO;YACT;YAEA,MAAM,EAAEI,MAAM,EAAE,GAAGL;YAEnB,IAAIC,MAAMI,MAAM,KAAKA,QAAQ;gBAC3B,OAAO;YACT;YAEA,IAAK,IAAIC,IAAI,GAAGA,IAAID,QAAQC,KAAK,EAAG;gBAClC,IAAI,CAACP,UAAUC,IAAI,CAACM,EAAE,EAAEL,KAAK,CAACK,EAAE,GAAG;oBACjC,OAAO;gBACT;YACF;YAEA,OAAO;QACT;QAEA,MAAMC,UAASP,gBAAAA,KAAKQ,OAAO,cAAZR,oCAAAA,mBAAAA;QACf,MAAMS,UAASR,iBAAAA,MAAMO,OAAO,cAAbP,qCAAAA,oBAAAA;QAEf,IAAI,AAACM,CAAAA,UAAU,QAAQE,UAAU,IAAG,KAAM,OAAOF,WAAW,UAAU;YACpE,OAAOA,WAAWE;QACpB;QAEA,MAAMC,OAAOC,OAAOD,IAAI,CAACV;QACzB,MAAMY,YAAYF,KAAKL,MAAM;QAE7B,IAAIO,cAAcD,OAAOD,IAAI,CAACT,OAAOI,MAAM,EAAE;YAC3C,OAAO;QACT;QAEA,KAAK,MAAMQ,OAAOH,KAAM;YACtB,IAAIR,mBAAAA,6BAAAA,OAAQY,GAAG,CAACD,MAAM;gBACpB;YACF;YAEA,IACE,CAACd,UAAU,AAACC,IAAgC,CAACa,IAAI,EAAE,AAACZ,KAAiC,CAACY,IAAI,GAC1F;gBACA,OAAO;YACT;QACF;QAEA,OAAO;IACT;IAEA,OAAO;AACT"}
@@ -1,236 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- // import {
6
- // type Column,
7
- // type SQL,
8
- // type TableRelationalConfig,
9
- // asc,
10
- // desc,
11
- // operators as ops,
12
- // } from 'drizzle-orm';
13
- // import { GraphQLError } from 'graphql';
14
- // // biome-ignore lint/suspicious/noExplicitAny: this is fine
15
- // export const remapFromGraphQLCore = (value: any, column: Column, columnName: string) => {
16
- // switch (column.dataType) {
17
- // case 'date': {
18
- // const formatted = new Date(value);
19
- // if (Number.isNaN(formatted.getTime())) {
20
- // throw new GraphQLError(`Field '${columnName}' is not a valid date!`);
21
- // }
22
- // return formatted;
23
- // }
24
- // case 'buffer': {
25
- // if (!Array.isArray(value)) {
26
- // throw new GraphQLError(`Field '${columnName}' is not an array!`);
27
- // }
28
- // return Buffer.from(value);
29
- // }
30
- // case 'json': {
31
- // if (column.columnType === 'PgGeometryObject') {
32
- // return value;
33
- // }
34
- // try {
35
- // return JSON.parse(value);
36
- // } catch (e) {
37
- // throw new GraphQLError(
38
- // `Invalid JSON in field '${columnName}':\n${e instanceof Error ? e.message : 'Unknown error'}`,
39
- // );
40
- // }
41
- // }
42
- // case 'array': {
43
- // if (!Array.isArray(value)) {
44
- // throw new GraphQLError(`Field '${columnName}' is not an array!`);
45
- // }
46
- // if (column.columnType === 'PgGeometry' && value.length !== 2) {
47
- // throw new GraphQLError(
48
- // `Invalid float tuple in field '${columnName}': expected array with length of 2, received ${value.length}`,
49
- // );
50
- // }
51
- // return value;
52
- // }
53
- // case 'bigint': {
54
- // try {
55
- // return BigInt(value);
56
- // } catch (_error) {
57
- // throw new GraphQLError(`Field '${columnName}' is not a BigInt!`);
58
- // }
59
- // }
60
- // default: {
61
- // return value;
62
- // }
63
- // }
64
- // };
65
- // export const remapFromGraphQLSingleInput = (
66
- // // biome-ignore lint/suspicious/noExplicitAny: this is fine
67
- // queryInput: Record<string, any>,
68
- // table: TableRelationalConfig,
69
- // ) => {
70
- // for (const [key, value] of Object.entries(queryInput)) {
71
- // if (value === undefined) {
72
- // delete queryInput[key];
73
- // } else {
74
- // const column = table.columns[key];
75
- // if (!column) {
76
- // throw new GraphQLError(`Unknown column: ${key}`);
77
- // }
78
- // if (value === null && (column as Column).notNull) {
79
- // delete queryInput[key];
80
- // continue;
81
- // }
82
- // queryInput[key] = remapFromGraphQLCore(value, column as Column, key);
83
- // }
84
- // }
85
- // return queryInput;
86
- // };
87
- // export const remapFromGraphQLArrayInput = (
88
- // // biome-ignore lint/suspicious/noExplicitAny: this is fine
89
- // queryInput: Record<string, any>[],
90
- // table: TableRelationalConfig,
91
- // ) => {
92
- // for (const entry of queryInput) {
93
- // remapFromGraphQLSingleInput(entry, table);
94
- // }
95
- // return queryInput;
96
- // };
97
- // export type OrderByArgs<TTable extends TableRelationalConfig> = {
98
- // [Key in keyof TTable['columns']]?: {
99
- // direction: 'asc' | 'desc';
100
- // priority: number;
101
- // };
102
- // };
103
- // export const extractOrderBy = <
104
- // TTable extends TableRelationalConfig,
105
- // // biome-ignore lint/suspicious/noExplicitAny: this is fine
106
- // TArgs extends OrderByArgs<any> = OrderByArgs<TTable>,
107
- // >(
108
- // table: TTable,
109
- // orderArgs: TArgs,
110
- // ): SQL[] => {
111
- // const res = [] as SQL[];
112
- // for (const [column, config] of Object.entries(orderArgs).sort(
113
- // (a, b) => (b[1]?.priority ?? 0) - (a[1]?.priority ?? 0),
114
- // )) {
115
- // if (!config) {
116
- // continue;
117
- // }
118
- // const { direction } = config;
119
- // res.push(direction === 'asc' ? asc(table.columns[column]!) : desc(table.columns[column]!));
120
- // }
121
- // return res;
122
- // };
123
- // export const extractFiltersColumn = <TColumn extends Column>(
124
- // column: TColumn,
125
- // columnName: string,
126
- // operators: Record<string, unknown> & { OR?: Record<string, unknown>[] },
127
- // ): SQL | undefined => {
128
- // if (!operators.OR?.length) {
129
- // // biome-ignore lint/performance/noDelete: <explanation>
130
- // delete operators.OR;
131
- // }
132
- // const entries = Object.entries(operators);
133
- // if (operators.OR) {
134
- // if (entries.length > 1) {
135
- // throw new GraphQLError(
136
- // `WHERE ${columnName}: Cannot specify both fields and 'OR' in column operators!`,
137
- // );
138
- // }
139
- // const variants = [] as SQL[];
140
- // for (const variant of operators.OR) {
141
- // const extracted = extractFiltersColumn(column, columnName, variant);
142
- // // biome-ignore lint/style/useBlockStatements: <explanation>
143
- // if (extracted) variants.push(extracted);
144
- // }
145
- // return variants.length ? (variants.length > 1 ? ops.or(...variants) : variants[0]) : undefined;
146
- // }
147
- // const variants = [] as SQL[];
148
- // for (const [operatorName, operatorValue] of entries) {
149
- // // biome-ignore lint/style/useBlockStatements: <explanation>
150
- // if (operatorValue === null || operatorValue === false) continue;
151
- // switch (operatorName) {
152
- // case 'eq':
153
- // case 'ne':
154
- // case 'gt':
155
- // case 'gte':
156
- // case 'lt':
157
- // case 'lte': {
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 as string));
167
- // break;
168
- // case 'inArray':
169
- // case 'notInArray': {
170
- // // biome-ignore lint/suspicious/noExplicitAny: this is fine
171
- // if (!(operatorValue as any[]).length) {
172
- // throw new GraphQLError(
173
- // `WHERE ${columnName}: Unable to use operator ${operatorName} with an empty array!`,
174
- // );
175
- // }
176
- // // biome-ignore lint/suspicious/noExplicitAny: this is fine
177
- // const arrayValue = (operatorValue as any[]).map((val) =>
178
- // remapFromGraphQLCore(val, column, columnName),
179
- // );
180
- // variants.push(ops[operatorName](column, arrayValue));
181
- // break;
182
- // }
183
- // case 'isNull':
184
- // case 'isNotNull':
185
- // variants.push(ops[operatorName](column));
186
- // break;
187
- // default:
188
- // throw new GraphQLError(`Unknown operator: ${operatorName}`);
189
- // }
190
- // }
191
- // return variants.length ? (variants.length > 1 ? ops.and(...variants) : variants[0]) : undefined;
192
- // };
193
- // export const extractFilters = <TTable extends TableRelationalConfig>(
194
- // table: TTable,
195
- // tableName: string,
196
- // filters: Record<string, unknown> & {
197
- // OR?: Record<string, unknown>[];
198
- // },
199
- // ): SQL | undefined => {
200
- // if (!filters.OR?.length) {
201
- // // biome-ignore lint/performance/noDelete: <explanation>
202
- // delete filters.OR;
203
- // }
204
- // const entries = Object.entries(filters);
205
- // if (!entries.length) {
206
- // return;
207
- // }
208
- // if (filters.OR) {
209
- // if (entries.length > 1) {
210
- // throw new GraphQLError(
211
- // `WHERE ${tableName}: Cannot specify both fields and 'OR' in table filters!`,
212
- // );
213
- // }
214
- // const variants = [] as SQL[];
215
- // for (const variant of filters.OR) {
216
- // const extracted = extractFilters(table, tableName, variant);
217
- // if (extracted) {
218
- // variants.push(extracted);
219
- // }
220
- // }
221
- // return variants.length ? (variants.length > 1 ? ops.or(...variants) : variants[0]) : undefined;
222
- // }
223
- // const variants = [] as SQL[];
224
- // for (const [columnName, operators] of entries) {
225
- // if (operators === null) {
226
- // continue;
227
- // }
228
- // const column = table.columns[columnName]!;
229
- // variants.push(
230
- // extractFiltersColumn(column as Column, columnName, operators as Record<string, unknown>)!,
231
- // );
232
- // }
233
- // return variants.length ? (variants.length > 1 ? ops.and(...variants) : variants[0]) : undefined;
234
- // };
235
-
236
- //# sourceMappingURL=drizzle-graphql.js.map