@pothos/plugin-drizzle 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE +6 -0
  3. package/README.md +437 -0
  4. package/TODO.md +21 -0
  5. package/drizzle/meta/_journal.json +1 -0
  6. package/drizzle.config.ts +10 -0
  7. package/dts/drizzle-field-builder.d.ts +124 -0
  8. package/dts/drizzle-field-builder.d.ts.map +1 -0
  9. package/dts/field-builder.d.ts +2 -0
  10. package/dts/field-builder.d.ts.map +1 -0
  11. package/dts/global-types.d.ts +92 -0
  12. package/dts/global-types.d.ts.map +1 -0
  13. package/dts/index.d.ts +13 -0
  14. package/dts/index.d.ts.map +1 -0
  15. package/dts/interface-ref.d.ts +9 -0
  16. package/dts/interface-ref.d.ts.map +1 -0
  17. package/dts/model-loader.d.ts +44 -0
  18. package/dts/model-loader.d.ts.map +1 -0
  19. package/dts/node-ref.d.ts +5 -0
  20. package/dts/node-ref.d.ts.map +1 -0
  21. package/dts/object-ref.d.ts +14 -0
  22. package/dts/object-ref.d.ts.map +1 -0
  23. package/dts/schema-builder.d.ts +2 -0
  24. package/dts/schema-builder.d.ts.map +1 -0
  25. package/dts/types.d.ts +147 -0
  26. package/dts/types.d.ts.map +1 -0
  27. package/dts/utils/config.d.ts +7 -0
  28. package/dts/utils/config.d.ts.map +1 -0
  29. package/dts/utils/cursors.d.ts +58 -0
  30. package/dts/utils/cursors.d.ts.map +1 -0
  31. package/dts/utils/deep-equal.d.ts +2 -0
  32. package/dts/utils/deep-equal.d.ts.map +1 -0
  33. package/dts/utils/drizzle-graphql.d.ts +18 -0
  34. package/dts/utils/drizzle-graphql.d.ts.map +1 -0
  35. package/dts/utils/loader-map.d.ts +11 -0
  36. package/dts/utils/loader-map.d.ts.map +1 -0
  37. package/dts/utils/map-query.d.ts +30 -0
  38. package/dts/utils/map-query.d.ts.map +1 -0
  39. package/dts/utils/refs.d.ts +5 -0
  40. package/dts/utils/refs.d.ts.map +1 -0
  41. package/dts/utils/selections.d.ts +22 -0
  42. package/dts/utils/selections.d.ts.map +1 -0
  43. package/dts/utils/usage.d.ts +5 -0
  44. package/dts/utils/usage.d.ts.map +1 -0
  45. package/esm/drizzle-field-builder.d.ts +216 -0
  46. package/esm/drizzle-field-builder.d.ts.map +1 -0
  47. package/esm/field-builder.d.ts +2 -0
  48. package/esm/field-builder.d.ts.map +1 -0
  49. package/esm/global-types.d.ts +124 -0
  50. package/esm/global-types.d.ts.map +1 -0
  51. package/esm/index.d.ts +13 -0
  52. package/esm/index.d.ts.map +1 -0
  53. package/esm/interface-ref.d.ts +9 -0
  54. package/esm/interface-ref.d.ts.map +1 -0
  55. package/esm/model-loader.d.ts +45 -0
  56. package/esm/model-loader.d.ts.map +1 -0
  57. package/esm/node-ref.d.ts +5 -0
  58. package/esm/node-ref.d.ts.map +1 -0
  59. package/esm/object-ref.d.ts +14 -0
  60. package/esm/object-ref.d.ts.map +1 -0
  61. package/esm/package.json +3 -0
  62. package/esm/schema-builder.d.ts +2 -0
  63. package/esm/schema-builder.d.ts.map +1 -0
  64. package/esm/src/drizzle-field-builder.js +215 -0
  65. package/esm/src/drizzle-field-builder.js.map +1 -0
  66. package/esm/src/field-builder.js +77 -0
  67. package/esm/src/field-builder.js.map +1 -0
  68. package/esm/src/global-types.js +2 -0
  69. package/esm/src/global-types.js.map +1 -0
  70. package/esm/src/index.js +107 -0
  71. package/esm/src/index.js.map +1 -0
  72. package/esm/src/interface-ref.js +26 -0
  73. package/esm/src/interface-ref.js.map +1 -0
  74. package/esm/src/model-loader.js +168 -0
  75. package/esm/src/model-loader.js.map +1 -0
  76. package/esm/src/node-ref.js +4 -0
  77. package/esm/src/node-ref.js.map +1 -0
  78. package/esm/src/object-ref.js +38 -0
  79. package/esm/src/object-ref.js.map +1 -0
  80. package/esm/src/schema-builder.js +190 -0
  81. package/esm/src/schema-builder.js.map +1 -0
  82. package/esm/src/types.js +2 -0
  83. package/esm/src/types.js.map +1 -0
  84. package/esm/src/utils/config.js +15 -0
  85. package/esm/src/utils/config.js.map +1 -0
  86. package/esm/src/utils/cursors.js +316 -0
  87. package/esm/src/utils/cursors.js.map +1 -0
  88. package/esm/src/utils/deep-equal.js +44 -0
  89. package/esm/src/utils/deep-equal.js.map +1 -0
  90. package/esm/src/utils/drizzle-graphql.js +176 -0
  91. package/esm/src/utils/drizzle-graphql.js.map +1 -0
  92. package/esm/src/utils/loader-map.js +35 -0
  93. package/esm/src/utils/loader-map.js.map +1 -0
  94. package/esm/src/utils/map-query.js +284 -0
  95. package/esm/src/utils/map-query.js.map +1 -0
  96. package/esm/src/utils/refs.js +14 -0
  97. package/esm/src/utils/refs.js.map +1 -0
  98. package/esm/src/utils/selections.js +136 -0
  99. package/esm/src/utils/selections.js.map +1 -0
  100. package/esm/src/utils/usage.js +59 -0
  101. package/esm/src/utils/usage.js.map +1 -0
  102. package/esm/types.d.ts +161 -0
  103. package/esm/types.d.ts.map +1 -0
  104. package/esm/utils/config.d.ts +7 -0
  105. package/esm/utils/config.d.ts.map +1 -0
  106. package/esm/utils/cursors.d.ts +58 -0
  107. package/esm/utils/cursors.d.ts.map +1 -0
  108. package/esm/utils/deep-equal.d.ts +2 -0
  109. package/esm/utils/deep-equal.d.ts.map +1 -0
  110. package/esm/utils/drizzle-graphql.d.ts +18 -0
  111. package/esm/utils/drizzle-graphql.d.ts.map +1 -0
  112. package/esm/utils/loader-map.d.ts +11 -0
  113. package/esm/utils/loader-map.d.ts.map +1 -0
  114. package/esm/utils/map-query.d.ts +30 -0
  115. package/esm/utils/map-query.d.ts.map +1 -0
  116. package/esm/utils/refs.d.ts +5 -0
  117. package/esm/utils/refs.d.ts.map +1 -0
  118. package/esm/utils/selections.d.ts +22 -0
  119. package/esm/utils/selections.d.ts.map +1 -0
  120. package/esm/utils/usage.d.ts +5 -0
  121. package/esm/utils/usage.d.ts.map +1 -0
  122. package/lib/src/drizzle-field-builder.js +225 -0
  123. package/lib/src/drizzle-field-builder.js.map +1 -0
  124. package/lib/src/field-builder.js +82 -0
  125. package/lib/src/field-builder.js.map +1 -0
  126. package/lib/src/global-types.js +6 -0
  127. package/lib/src/global-types.js.map +1 -0
  128. package/lib/src/index.js +180 -0
  129. package/lib/src/index.js.map +1 -0
  130. package/lib/src/interface-ref.js +36 -0
  131. package/lib/src/interface-ref.js.map +1 -0
  132. package/lib/src/model-loader.js +176 -0
  133. package/lib/src/model-loader.js.map +1 -0
  134. package/lib/src/node-ref.js +15 -0
  135. package/lib/src/node-ref.js.map +1 -0
  136. package/lib/src/object-ref.js +56 -0
  137. package/lib/src/object-ref.js.map +1 -0
  138. package/lib/src/schema-builder.js +236 -0
  139. package/lib/src/schema-builder.js.map +1 -0
  140. package/lib/src/types.js +13 -0
  141. package/lib/src/types.js.map +1 -0
  142. package/lib/src/utils/config.js +26 -0
  143. package/lib/src/utils/config.js.map +1 -0
  144. package/lib/src/utils/cursors.js +362 -0
  145. package/lib/src/utils/cursors.js.map +1 -0
  146. package/lib/src/utils/deep-equal.js +55 -0
  147. package/lib/src/utils/deep-equal.js.map +1 -0
  148. package/lib/src/utils/drizzle-graphql.js +192 -0
  149. package/lib/src/utils/drizzle-graphql.js.map +1 -0
  150. package/lib/src/utils/loader-map.js +57 -0
  151. package/lib/src/utils/loader-map.js.map +1 -0
  152. package/lib/src/utils/map-query.js +308 -0
  153. package/lib/src/utils/map-query.js.map +1 -0
  154. package/lib/src/utils/refs.js +33 -0
  155. package/lib/src/utils/refs.js.map +1 -0
  156. package/lib/src/utils/selections.js +163 -0
  157. package/lib/src/utils/selections.js.map +1 -0
  158. package/lib/src/utils/usage.js +84 -0
  159. package/lib/src/utils/usage.js.map +1 -0
  160. package/package.json +66 -0
  161. package/src/drizzle-field-builder.ts +500 -0
  162. package/src/field-builder.ts +168 -0
  163. package/src/global-types.ts +481 -0
  164. package/src/index.ts +175 -0
  165. package/src/interface-ref.ts +24 -0
  166. package/src/model-loader.ts +235 -0
  167. package/src/node-ref.ts +8 -0
  168. package/src/object-ref.ts +51 -0
  169. package/src/schema-builder.ts +299 -0
  170. package/src/types.ts +640 -0
  171. package/src/utils/config.ts +28 -0
  172. package/src/utils/cursors.ts +446 -0
  173. package/src/utils/deep-equal.ts +58 -0
  174. package/src/utils/drizzle-graphql.ts +235 -0
  175. package/src/utils/loader-map.ts +51 -0
  176. package/src/utils/map-query.ts +582 -0
  177. package/src/utils/refs.ts +25 -0
  178. package/src/utils/selections.ts +209 -0
  179. package/src/utils/usage.ts +64 -0
@@ -0,0 +1,92 @@
1
+ import type { BuildQueryResult, DBQueryConfig, ExtractTablesWithRelations, SQL, TableRelationalConfig } from 'drizzle-orm';
2
+ import { FieldKind, FieldMap, FieldNullability, FieldRef, InputFieldMap, InterfaceParam, NormalizeArgs, OutputType, PluginName, SchemaTypes, ShapeFromTypeParam, TypeParam } from '@pothos/core';
3
+ import { DrizzleObjectFieldBuilder } from './drizzle-field-builder';
4
+ import { DrizzleInterfaceRef, DrizzleRef } from './interface-ref';
5
+ import { DrizzleObjectRef, drizzleTableKey } from './object-ref';
6
+ import type { AddGraphQLInputTypeOptions, DrizzleConnectionFieldOptions, DrizzleConnectionShape, DrizzleFieldOptions, DrizzleFieldWithInputOptions, DrizzleInterfaceOptions, DrizzleNodeOptions, DrizzleObjectFieldOptions, DrizzleObjectOptions, DrizzlePluginOptions, drizzleTableName, ShapeFromConnection } from './types';
7
+ import type { PothosDrizzlePlugin } from '.';
8
+ import { DrizzleNodeRef } from './node-ref';
9
+ import { GraphQLInputObjectType } from 'graphql';
10
+ declare global {
11
+ export namespace PothosSchemaTypes {
12
+ interface Plugins<Types extends SchemaTypes> {
13
+ drizzle: PothosDrizzlePlugin<Types>;
14
+ }
15
+ interface SchemaBuilderOptions<Types extends SchemaTypes> {
16
+ drizzle: DrizzlePluginOptions<Types>;
17
+ }
18
+ interface UserSchemaTypes {
19
+ DrizzleSchema: Record<string, unknown>;
20
+ DrizzleRelationSchema: Record<string, TableRelationalConfig>;
21
+ }
22
+ interface ExtendDefaultTypes<PartialTypes extends Partial<UserSchemaTypes>> {
23
+ DrizzleSchema: PartialTypes['DrizzleSchema'] & {};
24
+ DrizzleRelationSchema: ExtractTablesWithRelations<PartialTypes['DrizzleSchema'] & {}>;
25
+ }
26
+ interface SchemaBuilder<Types extends SchemaTypes> {
27
+ drizzleObject: <Interfaces extends InterfaceParam<Types>[], Table extends keyof Types['DrizzleRelationSchema'], Selection extends DBQueryConfig<'one', false, Types['DrizzleRelationSchema'], Types['DrizzleRelationSchema'][Table]> | true, Shape = BuildQueryResult<Types['DrizzleRelationSchema'], Types['DrizzleRelationSchema'][Table], Selection>>(table: Table, options: DrizzleObjectOptions<Types, Table, Shape, Selection, Interfaces>) => DrizzleObjectRef<Types, Table, Shape>;
28
+ drizzleInterface: <Interfaces extends InterfaceParam<Types>[], Table extends keyof Types['DrizzleRelationSchema'], Selection extends DBQueryConfig<'one', false, Types['DrizzleRelationSchema'], Types['DrizzleRelationSchema'][Table]> | true, Shape = BuildQueryResult<Types['DrizzleRelationSchema'], Types['DrizzleRelationSchema'][Table], Selection>>(table: Table, options: DrizzleInterfaceOptions<Types, Table, Shape, Selection, Interfaces>) => DrizzleInterfaceRef<Types, Table, Shape>;
29
+ drizzleNode: 'relay' extends PluginName ? <Interfaces extends InterfaceParam<Types>[], Table extends keyof Types['DrizzleRelationSchema'], Selection extends DBQueryConfig<'one', false, Types['DrizzleRelationSchema'], Types['DrizzleRelationSchema'][Table]> | true, Shape = BuildQueryResult<Types['DrizzleRelationSchema'], Types['DrizzleRelationSchema'][Table], Selection>>(table: Table, options: DrizzleNodeOptions<Types, Table, Shape, Selection, Interfaces>) => DrizzleNodeRef<Types, Table, Shape> : '@pothos/plugin-relay is required to use this method';
30
+ drizzleObjectField: <Type extends DrizzleObjectRef<Types> | keyof Types['DrizzleRelationSchema'], TableConfig extends TableRelationalConfig = Type extends DrizzleObjectRef<Types> ? Type[typeof drizzleTableKey] : Types['DrizzleRelationSchema'][Type & keyof Types['DrizzleRelationSchema']], Shape extends {} = Type extends DrizzleObjectRef<Types, keyof Types['DrizzleRelationSchema'], infer S> ? S & {
31
+ [drizzleTableName]?: TableConfig['tsName'];
32
+ } : BuildQueryResult<Types['DrizzleRelationSchema'], TableConfig, true> & {
33
+ [drizzleTableName]?: Type;
34
+ }>(type: Type, fieldName: string, field: (t: DrizzleObjectFieldBuilder<Types, TableConfig, false, Shape>) => FieldRef<Types>) => void;
35
+ drizzleInterfaceField: <Type extends DrizzleInterfaceRef<Types> | keyof Types['DrizzleRelationSchema'], TableConfig extends TableRelationalConfig = Type extends DrizzleObjectRef<Types> ? Type[typeof drizzleTableKey] : Types['DrizzleRelationSchema'][Type & keyof Types['DrizzleRelationSchema']], Shape extends {} = Type extends DrizzleInterfaceRef<Types, keyof Types['DrizzleRelationSchema'], infer S> ? S & {
36
+ [drizzleTableName]?: TableConfig['tsName'];
37
+ } : BuildQueryResult<Types['DrizzleRelationSchema'], TableConfig, true> & {
38
+ [drizzleTableName]?: Type;
39
+ }>(type: Type, fieldName: string, field: (t: DrizzleObjectFieldBuilder<Types, TableConfig, false, Shape>) => FieldRef<Types>) => void;
40
+ drizzleObjectFields: <Type extends DrizzleObjectRef<Types> | keyof Types['DrizzleRelationSchema'], TableConfig extends TableRelationalConfig = Type extends DrizzleObjectRef<Types> ? Type[typeof drizzleTableKey] : Types['DrizzleRelationSchema'][Type & keyof Types['DrizzleRelationSchema']], Shape extends {} = Type extends DrizzleObjectRef<Types, keyof Types['DrizzleRelationSchema'], infer S> ? S & {
41
+ [drizzleTableName]?: TableConfig['tsName'];
42
+ } : BuildQueryResult<Types['DrizzleRelationSchema'], TableConfig, true> & {
43
+ [drizzleTableName]?: Type;
44
+ }>(type: Type, fields: (t: DrizzleObjectFieldBuilder<Types, TableConfig, false, Shape>) => FieldMap) => void;
45
+ drizzleInterfaceFields: <Type extends DrizzleInterfaceRef<Types> | keyof Types['DrizzleRelationSchema'], TableConfig extends TableRelationalConfig = Type extends DrizzleObjectRef<Types> ? Type[typeof drizzleTableKey] : Types['DrizzleRelationSchema'][Type & keyof Types['DrizzleRelationSchema']], Shape extends {} = Type extends DrizzleInterfaceRef<Types, keyof Types['DrizzleRelationSchema'], infer S> ? S & {
46
+ [drizzleTableName]?: TableConfig['tsName'];
47
+ } : BuildQueryResult<Types['DrizzleRelationSchema'], TableConfig, true> & {
48
+ [drizzleTableName]?: Type;
49
+ }>(type: Type, fields: (t: DrizzleObjectFieldBuilder<Types, TableConfig, false, Shape>) => FieldMap) => void;
50
+ drizzleGraphQLOrderBy: 'addGraphQL' extends PluginName ? <Table extends keyof Types['DrizzleRelationSchema']>(table: Table, type: GraphQLInputObjectType, ...args: NormalizeArgs<[options: AddGraphQLInputTypeOptions<Types, {}>]>) => InputObjectRef<Types, SQL | SQL[]> : '@pothos/plugin-add-graphql is required to use this method';
51
+ drizzleGraphQLFilters: 'addGraphQL' extends PluginName ? <Table extends keyof Types['DrizzleRelationSchema']>(table: Table, type: GraphQLInputObjectType, ...args: NormalizeArgs<[options: AddGraphQLInputTypeOptions<Types, {}>]>) => InputObjectRef<Types, SQL> : '@pothos/plugin-add-graphql is required to use this method';
52
+ drizzleGraphQLInsert: 'addGraphQL' extends PluginName ? <Table extends keyof Types['DrizzleRelationSchema']>(table: Table, type: GraphQLInputObjectType, ...args: NormalizeArgs<[options: AddGraphQLInputTypeOptions<Types, {}>]>) => InputObjectRef<Types, Record<string, unknown>> : '@pothos/plugin-add-graphql is required to use this method';
53
+ drizzleGraphQLUpdate: 'addGraphQL' extends PluginName ? <Table extends keyof Types['DrizzleRelationSchema']>(table: Table, type: GraphQLInputObjectType, ...args: NormalizeArgs<[options: AddGraphQLInputTypeOptions<Types, {}>]>) => InputObjectRef<Types, Record<string, unknown>> : '@pothos/plugin-add-graphql is required to use this method';
54
+ }
55
+ interface PothosKindToGraphQLType {
56
+ DrizzleObject: 'Object';
57
+ }
58
+ interface FieldOptionsByKind<Types extends SchemaTypes, ParentShape, Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, ResolveShape, ResolveReturnShape> {
59
+ DrizzleObject: DrizzleObjectFieldOptions<Types, ParentShape, Type, Nullable, Args, ResolveShape, ResolveReturnShape>;
60
+ }
61
+ interface RootFieldBuilder<Types extends SchemaTypes, ParentShape, Kind extends FieldKind = FieldKind> {
62
+ drizzleField: <Args extends InputFieldMap, Param extends keyof Types['DrizzleRelationSchema'] | [keyof Types['DrizzleRelationSchema']] | DrizzleRef<any> | [DrizzleRef<any>], Nullable extends FieldNullability<Type>, ResolveShape, ResolveReturnShape, Table extends keyof Types['DrizzleRelationSchema'] = Param extends keyof Types['DrizzleRelationSchema'] ? Param : Param extends [keyof Types['DrizzleRelationSchema']] ? Param[0] : Param extends DrizzleRef<any, infer T> ? T & keyof Types['DrizzleRelationSchema'] : Param extends [DrizzleRef<any, infer T>] ? T & keyof Types['DrizzleRelationSchema'] : never, Type extends TypeParam<Types> = ObjectRef<Types, BuildQueryResult<Types['DrizzleRelationSchema'], Types['DrizzleRelationSchema'][Table], true>>>(options: DrizzleFieldOptions<Types, ParentShape, Table, Type, Nullable, Args, Kind, ResolveShape, ResolveReturnShape, Param>) => FieldRef<Types, ShapeFromTypeParam<Types, Type, Nullable>>;
63
+ drizzleConnection: 'relay' extends PluginName ? <Type extends DrizzleRef<any, keyof Types['DrizzleRelationSchema']> | keyof Types['DrizzleRelationSchema'], Nullable extends boolean, ResolveReturnShape, Args extends InputFieldMap = {}, Shape = Type extends DrizzleRef<any, keyof Types['DrizzleRelationSchema'], infer S> ? S : BuildQueryResult<Types['DrizzleRelationSchema'], Types['DrizzleRelationSchema'][Type & keyof Types['DrizzleRelationSchema']], true>, ConnectionInterfaces extends InterfaceParam<Types>[] = [], EdgeInterfaces extends InterfaceParam<Types>[] = []>(options: DrizzleConnectionFieldOptions<Types, ParentShape, Type, Types['DrizzleRelationSchema'][Type extends DrizzleRef<any, infer K> ? K : Type & keyof Types['DrizzleRelationSchema']], ObjectRef<Types, Shape>, Nullable, Args, ResolveReturnShape, Kind>, ...args: NormalizeArgs<[
64
+ connectionOptions: ConnectionObjectOptions<Types, ObjectRef<Types, Shape>, false, false, DrizzleConnectionShape<Types, Shape, ParentShape, Args>, ConnectionInterfaces> | ObjectRef<Types, ShapeFromConnection<ConnectionShapeHelper<Types, Shape, false>>>,
65
+ edgeOptions: ConnectionEdgeObjectOptions<Types, ObjectRef<Types, Shape>, false, DrizzleConnectionShape<Types, Shape, ParentShape, Args>, EdgeInterfaces> | ObjectRef<Types, {
66
+ cursor: string;
67
+ node?: Shape | null | undefined;
68
+ }>
69
+ ], 0>) => FieldRef<Types, ShapeFromConnection<ConnectionShapeHelper<Types, Shape, Nullable>>> : '@pothos/plugin-relay is required to use this method';
70
+ drizzleFieldWithInput: 'withInput' extends PluginName ? <Fields extends InputFieldMap, Args extends InputFieldMap, Param extends keyof Types['DrizzleRelationSchema'] | [keyof Types['DrizzleRelationSchema']] | DrizzleRef<any> | [DrizzleRef<any>], Nullable extends FieldNullability<Type>, ResolveShape, ResolveReturnShape, ArgRequired extends boolean, InputName extends string = 'input', Table extends keyof Types['DrizzleRelationSchema'] = Param extends keyof Types['DrizzleRelationSchema'] ? Param : Param extends [keyof Types['DrizzleRelationSchema']] ? Param[0] : Param extends DrizzleRef<any, infer T> ? T & keyof Types['DrizzleRelationSchema'] : Param extends [DrizzleRef<any, infer T>] ? T & keyof Types['DrizzleRelationSchema'] : never, Type extends TypeParam<Types> = ObjectRef<Types, BuildQueryResult<Types['DrizzleRelationSchema'], Types['DrizzleRelationSchema'][Table], true>>>(options: DrizzleFieldWithInputOptions<Types, ParentShape, Table, Type, Nullable, Args, Kind, ResolveShape, ResolveReturnShape, Param, InputName, Fields, boolean extends ArgRequired ? (Types & {
71
+ WithInputArgRequired: boolean;
72
+ })['WithInputArgRequired'] : ArgRequired>) => FieldRef<Types, ShapeFromTypeParam<Types, Type, Nullable>> : '@pothos/plugin-with-input is required to use this method';
73
+ }
74
+ interface ConnectionFieldOptions<Types extends SchemaTypes, ParentShape, Type extends OutputType<Types>, Nullable extends boolean, EdgeNullability extends FieldNullability<[unknown]>, NodeNullability extends boolean, Args extends InputFieldMap, ResolveReturnShape> {
75
+ }
76
+ interface ConnectionObjectOptions<Types extends SchemaTypes, Type extends OutputType<Types>, EdgeNullability extends FieldNullability<[unknown]>, NodeNullability extends boolean, Resolved, Interfaces extends InterfaceParam<Types>[] = []> {
77
+ }
78
+ interface ConnectionEdgeObjectOptions<Types extends SchemaTypes, Type extends OutputType<Types>, NodeNullability extends boolean, Resolved, Interfaces extends InterfaceParam<Types>[] = []> {
79
+ }
80
+ interface DefaultConnectionArguments {
81
+ first?: number | null | undefined;
82
+ last?: number | null | undefined;
83
+ before?: string | null | undefined;
84
+ after?: string | null | undefined;
85
+ }
86
+ interface ConnectionShapeHelper<Types extends SchemaTypes, T, Nullable> {
87
+ }
88
+ interface FieldWithInputBaseOptions<Types extends SchemaTypes, Args extends InputFieldMap, Fields extends InputFieldMap, InputName extends string, ArgRequired extends boolean> {
89
+ }
90
+ }
91
+ }
92
+ //# sourceMappingURL=global-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-types.d.ts","sourceRoot":"","sources":["../src/global-types.ts"],"names":[],"mappings":"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"}
package/dts/index.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ import './global-types';
2
+ import './field-builder';
3
+ import './schema-builder';
4
+ import { GraphQLFieldResolver } from 'graphql';
5
+ import { BasePlugin, PothosOutputFieldConfig, SchemaTypes } from '@pothos/core';
6
+ export * from './types';
7
+ declare const pluginName = "drizzle";
8
+ export default pluginName;
9
+ export declare class PothosDrizzlePlugin<Types extends SchemaTypes> extends BasePlugin<Types> {
10
+ onOutputFieldConfig(fieldConfig: PothosOutputFieldConfig<Types>): PothosOutputFieldConfig<Types> | null;
11
+ wrapResolve(resolver: GraphQLFieldResolver<unknown, Types['Context'], object, unknown>, fieldConfig: PothosOutputFieldConfig<Types>): GraphQLFieldResolver<unknown, Types['Context'], object>;
12
+ }
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AACxB,OAAO,iBAAiB,CAAC;AACzB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAsB,EACpB,UAAU,EAIV,uBAAuB,EACvB,WAAW,EACZ,MAAM,cAAc,CAAC;AAUtB,cAAc,SAAS,CAAC;AAExB,QAAA,MAAM,UAAU,YAAY,CAAC;AAE7B,eAAe,UAAU,CAAC;AAE1B,qBAAa,mBAAmB,CAAC,KAAK,SAAS,WAAW,CAAE,SAAQ,UAAU,CAAC,KAAK,CAAC;IAC1E,mBAAmB,CAC1B,WAAW,EAAE,uBAAuB,CAAC,KAAK,CAAC,GAC1C,uBAAuB,CAAC,KAAK,CAAC,GAAG,IAAI;IAgF/B,WAAW,CAClB,QAAQ,EAAE,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC1E,WAAW,EAAE,uBAAuB,CAAC,KAAK,CAAC,GAC1C,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CA2D3D"}
@@ -0,0 +1,9 @@
1
+ import { InterfaceRef, SchemaTypes } from '@pothos/core';
2
+ import { DrizzleObjectRef, drizzleTableKey } from './object-ref';
3
+ export type DrizzleRef<Types extends SchemaTypes, Table extends keyof Types['DrizzleRelationSchema'] = keyof Types['DrizzleRelationSchema'], T = {}> = DrizzleInterfaceRef<Types, Table, T> | DrizzleObjectRef<Types, Table, T>;
4
+ export declare class DrizzleInterfaceRef<Types extends SchemaTypes, Table extends keyof Types['DrizzleRelationSchema'] = keyof Types['DrizzleRelationSchema'], T = {}> extends InterfaceRef<Types, T> {
5
+ [drizzleTableKey]: Table;
6
+ tableName: string;
7
+ constructor(name: string, tableName: string);
8
+ }
9
+ //# sourceMappingURL=interface-ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface-ref.d.ts","sourceRoot":"","sources":["../src/interface-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjE,MAAM,MAAM,UAAU,CACpB,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,uBAAuB,CAAC,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,EACzF,CAAC,GAAG,EAAE,IACJ,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAE7E,qBAAa,mBAAmB,CAC9B,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,uBAAuB,CAAC,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,EACzF,CAAC,GAAG,EAAE,CACN,SAAQ,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC,eAAe,CAAC,EAAG,KAAK,CAAC;IAE1B,SAAS,EAAE,MAAM,CAAC;gBAEN,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAK5C"}
@@ -0,0 +1,44 @@
1
+ import { GraphQLResolveInfo } from 'graphql';
2
+ import { Column, TableRelationalConfig } from 'drizzle-orm';
3
+ import { SchemaTypes } from '@pothos/core';
4
+ import { SelectionMap, SelectionState } from './utils/selections';
5
+ import { PothosDrizzleSchemaConfig } from './utils/config';
6
+ interface ResolvablePromise<T> {
7
+ promise: Promise<T>;
8
+ resolve: (value: T) => void;
9
+ reject: (err: unknown) => void;
10
+ }
11
+ export declare class ModelLoader {
12
+ context: object;
13
+ builder: PothosSchemaTypes.SchemaBuilder<never>;
14
+ modelName: string;
15
+ queryCache: Map<string, {
16
+ selection: SelectionState;
17
+ query: SelectionMap;
18
+ }>;
19
+ staged: Set<{
20
+ state: SelectionState;
21
+ models: Map<object, ResolvablePromise<Record<string, unknown> | null>>;
22
+ }>;
23
+ config: PothosDrizzleSchemaConfig;
24
+ table: TableRelationalConfig;
25
+ columns: Column[];
26
+ selectSQL: import("drizzle-orm").SQL<unknown>;
27
+ constructor(context: object, builder: PothosSchemaTypes.SchemaBuilder<never>, modelName: string, columns?: Column[]);
28
+ static forModel<Types extends SchemaTypes>(modelName: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, columns?: Column[]): import("@pothos/core").ContextCache<ModelLoader, object, []>;
29
+ sqlForModel(model: object): string | number | (string | number)[];
30
+ getSelection(info: GraphQLResolveInfo): {
31
+ selection: SelectionState;
32
+ query: SelectionMap;
33
+ };
34
+ getSelectionForField(info: GraphQLResolveInfo, typeName: string): {
35
+ selection: SelectionState;
36
+ query: SelectionMap;
37
+ };
38
+ loadSelection(info: GraphQLResolveInfo, model: object): Promise<Record<string, unknown> | null>;
39
+ loadSelectionForField(info: GraphQLResolveInfo, model: object, returnType: string): Promise<Record<string, unknown> | null>;
40
+ stageQuery(selection: SelectionState, query: SelectionMap, model: object): Promise<Record<string, unknown> | null>;
41
+ initLoad(selection: SelectionState, model: object): Promise<Record<string, unknown> | null>;
42
+ }
43
+ export {};
44
+ //# sourceMappingURL=model-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-loader.d.ts","sourceRoot":"","sources":["../src/model-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EACL,MAAM,EAIN,qBAAqB,EAEtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAsB,WAAW,EAAE,MAAM,cAAc,CAAC;AAG/D,OAAO,EAGL,YAAY,EACZ,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAmB,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE5E,UAAU,iBAAiB,CAAC,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAChC;AACD,qBAAa,WAAW;IACtB,OAAO,EAAE,MAAM,CAAC;IAEhB,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAEhD,SAAS,EAAE,MAAM,CAAC;IAElB,UAAU;mBAAgC,cAAc;eAAS,YAAY;OAAM;IAEnF,MAAM;eACG,cAAc;gBACb,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;OACnE;IAEL,MAAM,EAAE,yBAAyB,CAAC;IAClC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,qCAAC;gBAGR,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,EAAE;IAcpB,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAS,WAAW,EACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,OAAO,CAAC,EAAE,MAAM,EAAE;IAOpB,WAAW,CAAC,KAAK,EAAE,MAAM;IAazB,YAAY,CAAC,IAAI,EAAE,kBAAkB;mBArDK,cAAc;eAAS,YAAY;;IAkE7E,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM;mBAlErB,cAAc;eAAS,YAAY;;IAqFvE,aAAa,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM;IAgBrD,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAYjF,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM;IAgB9E,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM;CA6DlD"}
@@ -0,0 +1,5 @@
1
+ import { SchemaTypes } from '@pothos/core';
2
+ import { DrizzleObjectRef } from './object-ref';
3
+ export declare class DrizzleNodeRef<Types extends SchemaTypes, Table extends keyof Types['DrizzleRelationSchema'] = keyof Types['DrizzleRelationSchema'], T = {}> extends DrizzleObjectRef<Types, Table, T> {
4
+ }
5
+ //# sourceMappingURL=node-ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-ref.d.ts","sourceRoot":"","sources":["../src/node-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,qBAAa,cAAc,CACzB,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,uBAAuB,CAAC,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,EACzF,CAAC,GAAG,EAAE,CACN,SAAQ,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;CAAG"}
@@ -0,0 +1,14 @@
1
+ import { abstractReturnShapeKey, ObjectRef, SchemaTypes } from '@pothos/core';
2
+ import type { WithBrand } from './types';
3
+ export declare const drizzleTableKey: unique symbol;
4
+ export declare class DrizzleObjectRef<Types extends SchemaTypes, Table extends keyof Types['DrizzleRelationSchema'] = keyof Types['DrizzleRelationSchema'], T = {}> extends ObjectRef<Types, T> {
5
+ [drizzleTableKey]: Types['DrizzleRelationSchema'][Table];
6
+ [abstractReturnShapeKey]: WithBrand<T>;
7
+ tableName: string;
8
+ constructor(name: string, tableName: string);
9
+ addBrand<V extends T | T[]>(value: V): V extends T[] ? {
10
+ [K in keyof V]: WithBrand<V[K]>;
11
+ } : WithBrand<V>;
12
+ hasBrand(value: unknown): boolean;
13
+ }
14
+ //# sourceMappingURL=object-ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-ref.d.ts","sourceRoot":"","sources":["../src/object-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAEtB,SAAS,EACT,WAAW,EAEZ,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,eAAe,eAAuC,CAAC;AAEpE,qBAAa,gBAAgB,CAC3B,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,uBAAuB,CAAC,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,EACzF,CAAC,GAAG,EAAE,CACN,SAAQ,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3B,CAAC,eAAe,CAAC,EAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,CAAC;IAE1D,CAAC,sBAAsB,CAAC,EAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAExC,SAAS,EAAE,MAAM,CAAC;gBAEN,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAM3C,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EACxB,KAAK,EAAE,CAAC,GACP,CAAC,SAAS,CAAC,EAAE,GAAG;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IAYrE,QAAQ,CAAC,KAAK,EAAE,OAAO;CAQxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-builder.d.ts","sourceRoot":"","sources":["../src/schema-builder.ts"],"names":[],"mappings":""}
package/dts/types.d.ts ADDED
@@ -0,0 +1,147 @@
1
+ import { BuildQueryResult, Column, DBQueryConfig, Many, Relation, RelationalSchemaConfig, SQL, TableRelationalConfig, TablesRelationalConfig } from 'drizzle-orm';
2
+ import { FieldNode, GraphQLResolveInfo } from 'graphql';
3
+ import { ArgumentRef, FieldKind, FieldMap, FieldNullability, FieldOptionsFromKind, InferredFieldOptionKeys, InferredFieldOptionsByKind, InputFieldMap, InputFieldsFromShape, InputShapeFromFields, InterfaceParam, InterfaceRef, InterfaceTypeOptions, ListResolveValue, MaybePromise, Normalize, ObjectRef, ObjectTypeOptions, OutputShape, OutputType, SchemaTypes, ShapeFromTypeParam, typeBrandKey, TypeParam } from '@pothos/core';
4
+ import type { DrizzleObjectFieldBuilder } from './drizzle-field-builder';
5
+ import { type DrizzleRef } from './interface-ref';
6
+ import { IndirectInclude } from './utils/map-query';
7
+ import { SelectionMap } from './utils/selections';
8
+ export interface DrizzlePluginOptions<Types extends SchemaTypes> {
9
+ client: {
10
+ _: Partial<RelationalSchemaConfig<TablesRelationalConfig>>;
11
+ query: {};
12
+ };
13
+ maxConnectionSize?: number;
14
+ defaultConnectionSize?: number;
15
+ }
16
+ export declare const drizzleTableName: unique symbol;
17
+ type NameOrVariant = {
18
+ name?: never;
19
+ variant?: string;
20
+ } | {
21
+ name?: string;
22
+ variant?: never;
23
+ };
24
+ export type DrizzleObjectOptions<Types extends SchemaTypes, Table extends keyof Types['DrizzleRelationSchema'], Shape, Selection, Interfaces extends InterfaceParam<Types>[]> = Omit<ObjectTypeOptions<Types, ObjectRef<Types, Shape>, Shape, Interfaces>, 'fields'> & NameOrVariant & {
25
+ select?: Selection;
26
+ fields?: (t: DrizzleObjectFieldBuilder<Types, Types['DrizzleRelationSchema'][Table], Shape & {
27
+ [drizzleTableName]?: Table;
28
+ }>) => FieldMap;
29
+ };
30
+ export type DrizzleInterfaceOptions<Types extends SchemaTypes, Table extends keyof Types['DrizzleRelationSchema'], Shape, Selection, Interfaces extends InterfaceParam<Types>[]> = Omit<InterfaceTypeOptions<Types, InterfaceRef<Types, Shape>, Shape, Interfaces> & {
31
+ name: string;
32
+ select?: Selection;
33
+ }, 'fields'> & NameOrVariant & {
34
+ fields?: (t: DrizzleObjectFieldBuilder<Types, Types['DrizzleRelationSchema'][Table], Shape & {
35
+ [drizzleTableName]?: Table;
36
+ }>) => FieldMap;
37
+ };
38
+ export type DrizzleNodeOptions<Types extends SchemaTypes, Table extends keyof Types['DrizzleRelationSchema'], Shape, Selection, Interfaces extends InterfaceParam<Types>[]> = NameOrVariant & Omit<PothosSchemaTypes.ObjectTypeOptions<Types, Shape> | PothosSchemaTypes.ObjectTypeWithInterfaceOptions<Types, Shape, Interfaces>, 'fields' | 'isTypeOf'> & {
39
+ id: Omit<FieldOptionsFromKind<Types, Shape, 'ID', false, {}, 'Object', OutputShape<Types, 'ID'>, MaybePromise<OutputShape<Types, 'ID'>>>, 'args' | 'nullable' | 'type' | InferredFieldOptionKeys> & {
40
+ column: Column | Column[] | ((columns: Types['DrizzleRelationSchema'][Table]['columns']) => Column | Column[]);
41
+ };
42
+ name: string;
43
+ select?: Selection;
44
+ fields?: (t: DrizzleObjectFieldBuilder<Types, Types['DrizzleRelationSchema'][Table], Shape & {
45
+ [drizzleTableName]?: Table;
46
+ }>) => FieldMap;
47
+ };
48
+ export type DrizzleFieldOptions<Types extends SchemaTypes, ParentShape, Table extends keyof Types['DrizzleRelationSchema'], Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, Kind extends FieldKind, ResolveShape, ResolveReturnShape, Param> = Omit<FieldOptionsFromKind<Types, ParentShape, Type, Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, 'resolve' | 'type'> & {
49
+ type: Param;
50
+ resolve: (query: <T extends QueryForDrizzleField<Types, Param, Table>>(selection?: T) => T, parent: ParentShape, args: InputShapeFromFields<Args>, ctx: Types['Context'], info: GraphQLResolveInfo) => MaybePromise<ShapeFromTypeParam<Types, Type, Nullable>>;
51
+ };
52
+ export type DrizzleFieldWithInputOptions<Types extends SchemaTypes, ParentShape, Table extends keyof Types['DrizzleRelationSchema'], Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, Kind extends FieldKind, ResolveShape, ResolveReturnShape, Param, InputName extends string, Fields extends InputFieldMap, ArgRequired extends boolean> = Omit<DrizzleFieldOptions<Types, ParentShape, Table, Type, Nullable, Args & {
53
+ [K in InputName]: ArgumentRef<Types, InputShapeFromFields<Fields> | (true extends ArgRequired ? never : null | undefined)>;
54
+ }, Kind, ResolveShape, ResolveReturnShape, Param>, 'args'> & PothosSchemaTypes.FieldWithInputBaseOptions<Types, Args & {
55
+ [K in InputName]: ArgumentRef<Types, InputShapeFromFields<Fields> | (true extends ArgRequired ? never : null | undefined)>;
56
+ }, Fields, InputName, ArgRequired>;
57
+ export type DrizzleObjectFieldOptions<Types extends SchemaTypes, ParentShape, Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, Select, ResolveReturnShape, ShapeWithSelection = Normalize<Omit<unknown extends Select ? ParentShape : BuildQueryResult<Types['DrizzleRelationSchema'], ExtractTable<Types, ParentShape>, Record<string, unknown> & (Select extends (...args: any[]) => infer R ? R : Select)> & ParentShape, typeof drizzleTableName>>> = PothosSchemaTypes.ObjectFieldOptions<Types, ShapeWithSelection, Type, Nullable, Args, ResolveReturnShape> & InferredFieldOptionsByKind<Types, Types['InferredFieldOptionsKind'], ShapeWithSelection, Type, Nullable, Args, ResolveReturnShape> & {
58
+ select?: Select & (DBQueryConfig<'one', false, Types['DrizzleRelationSchema'], ExtractTable<Types, ParentShape>> | ((args: InputShapeFromFields<Args>, ctx: Types['Context'], nestedSelection: <Selection extends boolean | {}>(selection?: Selection, path?: string[]) => Selection) => DBQueryConfig<'one', false, Types['DrizzleRelationSchema'], ExtractTable<Types, ParentShape>>));
59
+ };
60
+ export type DrizzleFieldSelection = DBQueryConfig<'one', false> | ((args: {}, ctx: object, mergeNestedSelection: (selection: SelectionMap | boolean | ((args: object, context: object) => DBQueryConfig<'one', false>), path?: IndirectInclude | string[], type?: string) => DBQueryConfig<'one', false> | boolean, resolveSelection: (path: string[]) => FieldNode | null) => SelectionMap);
61
+ export type ExtractTable<Types extends SchemaTypes, Shape> = Shape extends {
62
+ [drizzleTableName]?: keyof Types['DrizzleRelationSchema'];
63
+ } ? Types['DrizzleRelationSchema'][NonNullable<Shape[typeof drizzleTableName]>] : never;
64
+ export type RelatedFieldOptions<Types extends SchemaTypes, Table extends TableRelationalConfig, Field extends keyof Table['relations'], Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape, Shape> = Omit<DrizzleObjectFieldOptions<Types, Shape, RefForRelation<Types, Table['relations'][Field]>, Nullable, Args, {
65
+ columns: {};
66
+ with: {
67
+ [K in Field]: true;
68
+ };
69
+ }, ResolveReturnShape>, 'description' | 'resolve' | 'select' | 'type'> & {
70
+ description?: string | false;
71
+ type?: ObjectRef<Types, TypesForRelation<Types, Table['relations'][Field]>>;
72
+ query?: QueryForField<Types, Args, Table['relations'][Field]>;
73
+ };
74
+ export type VariantFieldOptions<Types extends SchemaTypes, Table extends keyof Types['DrizzleRelationSchema'], Variant extends DrizzleRef<any, Table> | Table, Args extends InputFieldMap, isNull, Shape, ResolveShape, ResolveReturnShape> = Omit<FieldOptionsFromKind<Types, Shape, Variant extends DrizzleRef<any> ? Variant : DrizzleRef<any, Table>, unknown extends isNull ? false : true, Args, 'DrizzleObject', ResolveShape, ResolveReturnShape>, InferredFieldOptionKeys | 'type'> & {
75
+ isNull?: isNull & ((parent: Normalize<Omit<unknown extends ResolveShape ? Shape : BuildQueryResult<Types['DrizzleRelationSchema'], ExtractTable<Types, Shape>, Record<string, unknown> & (ResolveShape extends (...args: any[]) => infer R ? R : ResolveShape)> & Shape, typeof drizzleTableName>>, args: InputShapeFromFields<Args>, context: Types['Context'], info: GraphQLResolveInfo) => MaybePromise<boolean>);
76
+ };
77
+ export type RefForRelation<Types extends SchemaTypes, Rel extends Relation> = Rel extends {
78
+ $relationBrand: 'One';
79
+ } ? ObjectRef<Types, TypesForRelation<Types, Rel>> : [ObjectRef<Types, TypesForRelation<Types, Rel>>];
80
+ export type TypesForRelation<Types extends SchemaTypes, Rel extends Relation> = BuildQueryResult<Types['DrizzleRelationSchema'], Types['DrizzleRelationSchema'][Rel['referencedTable']['_']['name']], true>;
81
+ export type QueryForField<Types extends SchemaTypes, Args extends InputFieldMap, Rel extends Relation> = (Rel extends {
82
+ $relationBrand: 'One';
83
+ } ? Omit<DBQueryConfig<'one', false, Types['DrizzleRelationSchema'], Types['DrizzleRelationSchema'][Rel['referencedTable']['_']['name']]>, 'columns' | 'extra' | 'with'> : Omit<DBQueryConfig<'many', false, Types['DrizzleRelationSchema'], Types['DrizzleRelationSchema'][Rel['referencedTable']['_']['name']]>, 'columns' | 'extra' | 'with'>) extends infer QueryConfig ? QueryConfig | ((args: InputShapeFromFields<Args>, context: Types['Context']) => QueryConfig) : never;
84
+ export type QueryForDrizzleField<Types extends SchemaTypes, Param, Table extends keyof Types['DrizzleRelationSchema']> = Omit<DBQueryConfig<'many', true, Types['DrizzleRelationSchema'], Types['DrizzleRelationSchema'][Table]>, Param extends [unknown] ? never : 'limit'>;
85
+ export type QueryForRelatedConnection<Types extends SchemaTypes, Table extends TableRelationalConfig, Args> = Omit<DBQueryConfig<'many', false, Types['DrizzleRelationSchema'], Table>, 'orderBy' | 'limit' | 'offset' | 'columns' | 'extra' | 'with'> & {
86
+ orderBy?: ConnectionOrderBy | ((columns: Table['columns']) => ConnectionOrderBy);
87
+ } extends infer QueryConfig ? QueryConfig | ((args: Args, context: Types['Context']) => QueryConfig) : never;
88
+ export type QueryForDrizzleConnection<Types extends SchemaTypes, Table extends TableRelationalConfig> = Omit<DBQueryConfig<'many', false, Types['DrizzleRelationSchema'], Table>, 'orderBy' | 'limit' | 'offset'> & {
89
+ orderBy?: ConnectionOrderBy | ((columns: Table['columns']) => ConnectionOrderBy);
90
+ };
91
+ export type ListRelation<T extends TableRelationalConfig> = {
92
+ [K in keyof T['relations']]: T['relations'][K] extends Many<string> ? K : never;
93
+ }[keyof T['relations']];
94
+ export type DrizzleConnectionFieldOptions<Types extends SchemaTypes, ParentShape, Type extends DrizzleRef<any, keyof Types['DrizzleRelationSchema']> | keyof Types['DrizzleRelationSchema'], TableConfig extends TableRelationalConfig, Param extends OutputType<Types>, Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape, Kind extends FieldKind> = Omit<FieldOptionsFromKind<Types, ParentShape, Param, Nullable, InputFieldsFromShape<Types, PothosSchemaTypes.DefaultConnectionArguments, 'Arg'> & (InputFieldMap extends Args ? {} : Args), Kind, ParentShape, ResolveReturnShape>, 'args' | 'resolve' | 'type'> & Omit<PothosSchemaTypes.ConnectionFieldOptions<Types, ParentShape, Param, Nullable, false, false, Args, ResolveReturnShape>, 'resolve' | 'type'> & (InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments extends infer ConnectionArgs ? {
95
+ type: Type;
96
+ defaultSize?: number | ((args: ConnectionArgs, ctx: Types['Context']) => number);
97
+ maxSize?: number | ((args: ConnectionArgs, ctx: Types['Context']) => number);
98
+ resolve: (query: <T extends QueryForRelatedConnection<Types, Types['DrizzleRelationSchema'][Type extends DrizzleRef<any, infer K> ? K : Type & keyof Types['DrizzleRelationSchema']], ConnectionArgs>>(selection?: T) => Omit<T, 'orderBy'> & {
99
+ orderBy: SQL;
100
+ }, parent: ParentShape, args: ConnectionArgs, context: Types['Context'], info: GraphQLResolveInfo) => ShapeFromTypeParam<Types, [Param], Nullable> extends infer Shape ? [Shape] extends [[readonly (infer Item)[] | null | undefined]] ? ListResolveValue<Shape, Item, ResolveReturnShape> : MaybePromise<Shape> : never;
101
+ } : never);
102
+ export type RelatedConnectionOptions<Types extends SchemaTypes, Shape, Table extends TableRelationalConfig, Field extends keyof Table['relations'], Nullable extends boolean, Args extends InputFieldMap, NodeTable extends TableRelationalConfig = Types['DrizzleRelationSchema'][Table['relations'][Field]['referencedTable']['_']['name']]> = Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, ObjectRef<Types, unknown>, Nullable, InputFieldsFromShape<Types, PothosSchemaTypes.DefaultConnectionArguments, 'InputObject'> & (InputFieldMap extends Args ? {} : Args), unknown>, 'args' | 'resolve' | 'type'> & Omit<PothosSchemaTypes.ConnectionFieldOptions<Types, Shape, ObjectRef<Types, unknown>, false, false, Nullable, Args, unknown>, 'resolve' | 'type'> & (InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments extends infer ConnectionArgs ? {
103
+ resolve?: (parent: Shape, args: ConnectionArgs, context: Types['Context'], info: GraphQLResolveInfo) => MaybePromise<ShapeFromTypeParam<Types, [
104
+ ObjectRef<Types, TypesForRelation<Types, Table['relations'][Field]>>
105
+ ], Nullable>>;
106
+ query: QueryForRelatedConnection<Types, NodeTable, ConnectionArgs>;
107
+ type?: DrizzleRef<any, Table['relations'][Field]['referencedTable']['_']['name']>;
108
+ defaultSize?: number | ((args: ConnectionArgs, ctx: Types['Context']) => number);
109
+ maxSize?: number | ((args: ConnectionArgs, ctx: Types['Context']) => number);
110
+ } : never);
111
+ export type ConnectionOrderBy = Column | {
112
+ asc: Column;
113
+ } | {
114
+ desc: Column;
115
+ } | (Column | {
116
+ asc: Column;
117
+ } | {
118
+ desc: Column;
119
+ })[];
120
+ export type ShapeFromConnection<T> = T extends {
121
+ shape: unknown;
122
+ } ? T['shape'] : never;
123
+ export type DrizzleConnectionShape<Types extends SchemaTypes, T, Parent, Args extends InputFieldMap> = (ShapeFromConnection<PothosSchemaTypes.ConnectionShapeHelper<Types, T, false>> extends infer Shape ? Shape & {
124
+ parent: Parent;
125
+ args: InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments;
126
+ } : never) extends infer C ? [C] extends [
127
+ {
128
+ edges: MaybePromise<readonly (infer Edge | null | undefined)[] | null | undefined>;
129
+ }
130
+ ] ? Omit<C, 'edges'> & {
131
+ edges: (Edge & {
132
+ connection: C;
133
+ })[];
134
+ } : C : never;
135
+ export type WithBrand<T> = T & {
136
+ [typeBrandKey]: string;
137
+ };
138
+ export interface AddGraphQLInputTypeOptions<Types extends SchemaTypes, Shape extends {}> extends Omit<PothosSchemaTypes.InputObjectTypeOptions<Types, InputFieldsFromShape<Types, Shape, 'InputObject'>>, 'fields'> {
139
+ name?: string;
140
+ }
141
+ export interface DrizzleGraphQLInputExtensions {
142
+ table: string;
143
+ tableConfig: TableRelationalConfig;
144
+ inputType: 'insert' | 'filters' | 'orderBy' | 'update';
145
+ }
146
+ export {};
147
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { SchemaTypes } from '@pothos/core';
2
+ import { RelationalSchemaConfig, TableRelationalConfig, TablesRelationalConfig } from 'drizzle-orm';
3
+ export interface PothosDrizzleSchemaConfig extends RelationalSchemaConfig<TablesRelationalConfig> {
4
+ dbToSchema: Record<string, TableRelationalConfig>;
5
+ }
6
+ export declare function getSchemaConfig<Types extends SchemaTypes>(builder: PothosSchemaTypes.SchemaBuilder<Types>): PothosDrizzleSchemaConfig;
7
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAEpG,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB,CAAC,sBAAsB,CAAC;IAC/F,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CACnD;AAkBD,wBAAgB,eAAe,CAAC,KAAK,SAAS,WAAW,EACvD,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,6BAGhD"}
@@ -0,0 +1,58 @@
1
+ import { MaybePromise, SchemaTypes } from '@pothos/core';
2
+ import { Column, SQL, TableRelationalConfig } from 'drizzle-orm';
3
+ import { ConnectionOrderBy, QueryForDrizzleConnection } from '../types';
4
+ import { SelectionMap } from './selections';
5
+ import { GraphQLResolveInfo } from 'graphql';
6
+ import { PothosDrizzleSchemaConfig } from './config';
7
+ export declare function formatCursorChunk(value: unknown): string;
8
+ export declare function formatDrizzleCursor(record: Record<string, unknown>, fields: Column[]): string;
9
+ export declare function getColumnSerializer(fields: Column[]): (value: Record<string, unknown>) => string;
10
+ export declare function getCursorFormatter(fields: Column[]): (value: Record<string, unknown>) => string;
11
+ export declare function parseDrizzleCursor(cursor: unknown): unknown;
12
+ export declare function parseSerializedDrizzleColumn(value: unknown): unknown;
13
+ export declare function parseID(id: string, dataType: string): unknown;
14
+ export declare function getColumnParser(fields: readonly Column[]): (value: unknown) => Record<string, unknown>;
15
+ export declare function getCursorParser(fields: readonly Column[]): (cursor: unknown) => Record<string, unknown>;
16
+ export interface DrizzleCursorConnectionQueryOptions {
17
+ args: PothosSchemaTypes.DefaultConnectionArguments;
18
+ ctx: {};
19
+ defaultSize?: number | ((args: {}, ctx: {}) => number);
20
+ maxSize?: number | ((args: {}, ctx: {}) => number);
21
+ orderBy: ConnectionOrderBy;
22
+ where?: SQL;
23
+ }
24
+ export declare function drizzleCursorConnectionQuery({ args, ctx, maxSize, defaultSize, orderBy, where, }: DrizzleCursorConnectionQueryOptions): {
25
+ cursorColumns: Column<import("drizzle-orm").ColumnBaseConfig<import("drizzle-orm").ColumnDataType, string>, object, object>[];
26
+ columns: Record<string, boolean>;
27
+ orderBy: SQL<unknown>[];
28
+ limit: number;
29
+ offset: number;
30
+ where: SQL<unknown> | undefined;
31
+ };
32
+ export declare function wrapConnectionResult<T extends {}>(results: readonly T[], args: PothosSchemaTypes.DefaultConnectionArguments, limit: number, cursor: (node: T) => string, resolveNode?: (node: unknown) => unknown): {
33
+ args: PothosSchemaTypes.DefaultConnectionArguments;
34
+ edges: ({
35
+ cursor: string;
36
+ node: unknown;
37
+ } | null)[];
38
+ pageInfo: {
39
+ startCursor: string | null;
40
+ endCursor: string | null;
41
+ hasPreviousPage: boolean;
42
+ hasNextPage: boolean;
43
+ };
44
+ };
45
+ export declare function resolveDrizzleCursorConnection<T extends {}>(table: TableRelationalConfig, info: GraphQLResolveInfo, typeName: string, config: PothosDrizzleSchemaConfig, options: Omit<DrizzleCursorConnectionQueryOptions, 'orderBy'>, resolve: (queryFn: (query: QueryForDrizzleConnection<SchemaTypes, TableRelationalConfig>) => SelectionMap) => MaybePromise<readonly T[]>): Promise<{
46
+ args: PothosSchemaTypes.DefaultConnectionArguments;
47
+ edges: ({
48
+ cursor: string;
49
+ node: unknown;
50
+ } | null)[];
51
+ pageInfo: {
52
+ startCursor: string | null;
53
+ endCursor: string | null;
54
+ hasPreviousPage: boolean;
55
+ hasNextPage: boolean;
56
+ };
57
+ }>;
58
+ //# sourceMappingURL=cursors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursors.d.ts","sourceRoot":"","sources":["../../src/utils/cursors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function deepEqual(left: unknown, right: unknown, ignore?: Set<string>): boolean;
2
+ //# sourceMappingURL=deep-equal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep-equal.d.ts","sourceRoot":"","sources":["../../src/utils/deep-equal.ts"],"names":[],"mappings":"AACA,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,WAwD5E"}
@@ -0,0 +1,18 @@
1
+ import { Column, SQL, TableRelationalConfig } from 'drizzle-orm';
2
+ export declare const remapFromGraphQLCore: (value: any, column: Column, columnName: string) => any;
3
+ export declare const remapFromGraphQLSingleInput: (queryInput: Record<string, any>, table: TableRelationalConfig) => Record<string, any>;
4
+ export declare const remapFromGraphQLArrayInput: (queryInput: Record<string, any>[], table: TableRelationalConfig) => Record<string, any>[];
5
+ export type OrderByArgs<TTable extends TableRelationalConfig> = {
6
+ [Key in keyof TTable['columns']]?: {
7
+ direction: 'asc' | 'desc';
8
+ priority: number;
9
+ };
10
+ };
11
+ export declare const extractOrderBy: <TTable extends TableRelationalConfig, TArgs extends OrderByArgs<any> = OrderByArgs<TTable>>(table: TTable, orderArgs: TArgs) => SQL[];
12
+ export declare const extractFiltersColumn: <TColumn extends Column>(column: TColumn, columnName: string, operators: Record<string, unknown> & {
13
+ OR?: Record<string, unknown>[];
14
+ }) => SQL | undefined;
15
+ export declare const extractFilters: <TTable extends TableRelationalConfig>(table: TTable, tableName: string, filters: Record<string, unknown> & {
16
+ OR?: Record<string, unknown>[];
17
+ }) => SQL | undefined;
18
+ //# sourceMappingURL=drizzle-graphql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle-graphql.d.ts","sourceRoot":"","sources":["../../src/utils/drizzle-graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,MAAM,EAAsB,GAAG,EAAS,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGjG,eAAO,MAAM,oBAAoB,UAAW,GAAG,UAAU,MAAM,cAAc,MAAM,QAwDlF,CAAC;AAEF,eAAO,MAAM,2BAA2B,eAC1B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,SACxB,qBAAqB,wBAmB7B,CAAC;AAEF,eAAO,MAAM,0BAA0B,eACzB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAC1B,qBAAqB,0BAK7B,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,qBAAqB,IAAI;KAC7D,GAAG,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;QACjC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;KAClB;CACF,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,MAAM,SAAS,qBAAqB,EACpC,KAAK,SAAS,WAAW,CAAC,GAAG,CAAC,+BAEvB,MAAM,aACF,KAAK,KACf,GAAG,EAaL,CAAC;AAIF,eAAO,MAAM,oBAAoB,GAAI,OAAO,SAAS,MAAM,UACjD,OAAO,cACH,MAAM,aACP,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAAE,KACtE,GAAG,GAAG,SAmER,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,qBAAqB,SAC1D,MAAM,aACF,MAAM,WACR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CAChC,KACA,GAAG,GAAG,SAgCR,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { GraphQLResolveInfo } from 'graphql';
2
+ export type LoaderMappings = Record<string, {
3
+ field: string;
4
+ type: string;
5
+ mappings: LoaderMappings;
6
+ indirectPath: string[];
7
+ }>;
8
+ export declare function cacheKey(type: string, path: GraphQLResolveInfo['path'], subPath?: string[]): string;
9
+ export declare function setLoaderMappings(ctx: object, info: GraphQLResolveInfo, value: LoaderMappings): void;
10
+ export declare function getLoaderMapping(ctx: object, path: GraphQLResolveInfo['path'], type: string): LoaderMappings | null;
11
+ //# sourceMappingURL=loader-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader-map.d.ts","sourceRoot":"","sources":["../../src/utils/loader-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7C,MAAM,MAAM,cAAc,GAAG,MAAM,CACjC,MAAM,EACN;IACE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,cAAc,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CACF,CAAC;AAIF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAE,MAAM,EAAO,UAgB9F;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,QAU7F;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,yBAK3F"}