@pothos/plugin-drizzle 0.18.0 → 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 (167) hide show
  1. package/CHANGELOG.md +351 -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 +81 -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 +81 -20
  50. package/esm/types.d.ts.map +1 -1
  51. package/esm/types.js +1 -0
  52. package/esm/types.js.map +1 -1
  53. package/esm/utils/adapter.d.ts +39 -0
  54. package/esm/utils/adapter.d.ts.map +1 -0
  55. package/esm/utils/adapter.js +137 -0
  56. package/esm/utils/adapter.js.map +1 -0
  57. package/esm/utils/await-selections.d.ts +12 -0
  58. package/esm/utils/await-selections.d.ts.map +1 -0
  59. package/esm/utils/await-selections.js +19 -0
  60. package/esm/utils/await-selections.js.map +1 -0
  61. package/esm/utils/config.d.ts +23 -3
  62. package/esm/utils/config.d.ts.map +1 -1
  63. package/esm/utils/config.js +1 -4
  64. package/esm/utils/config.js.map +1 -1
  65. package/esm/utils/cursors.d.ts +6 -6
  66. package/esm/utils/cursors.d.ts.map +1 -1
  67. package/esm/utils/cursors.js +55 -90
  68. package/esm/utils/cursors.js.map +1 -1
  69. package/esm/utils/map-query.d.ts +22 -21
  70. package/esm/utils/map-query.d.ts.map +1 -1
  71. package/esm/utils/map-query.js +40 -336
  72. package/esm/utils/map-query.js.map +1 -1
  73. package/esm/utils/path-info.d.ts +13 -0
  74. package/esm/utils/path-info.d.ts.map +1 -0
  75. package/esm/utils/path-info.js +37 -0
  76. package/esm/utils/path-info.js.map +1 -0
  77. package/esm/utils/relation-filter.d.ts +48 -0
  78. package/esm/utils/relation-filter.d.ts.map +1 -0
  79. package/esm/utils/relation-filter.js +92 -0
  80. package/esm/utils/relation-filter.js.map +1 -0
  81. package/esm/utils/selections.d.ts +2 -21
  82. package/esm/utils/selections.d.ts.map +1 -1
  83. package/esm/utils/selections.js +1 -133
  84. package/esm/utils/selections.js.map +1 -1
  85. package/lib/connection-helpers.js +51 -18
  86. package/lib/connection-helpers.js.map +1 -1
  87. package/lib/drizzle-field-builder.js +136 -94
  88. package/lib/drizzle-field-builder.js.map +1 -1
  89. package/lib/field-builder.js +58 -44
  90. package/lib/field-builder.js.map +1 -1
  91. package/lib/index.js +36 -60
  92. package/lib/index.js.map +1 -1
  93. package/lib/model-loader.js +76 -45
  94. package/lib/model-loader.js.map +1 -1
  95. package/lib/schema-builder.js +40 -149
  96. package/lib/schema-builder.js.map +1 -1
  97. package/lib/types.js +4 -0
  98. package/lib/types.js.map +1 -1
  99. package/lib/utils/adapter.js +147 -0
  100. package/lib/utils/adapter.js.map +1 -0
  101. package/lib/utils/await-selections.js +20 -0
  102. package/lib/utils/await-selections.js.map +1 -0
  103. package/lib/utils/config.js +1 -4
  104. package/lib/utils/config.js.map +1 -1
  105. package/lib/utils/cursors.js +47 -88
  106. package/lib/utils/cursors.js.map +1 -1
  107. package/lib/utils/map-query.js +28 -341
  108. package/lib/utils/map-query.js.map +1 -1
  109. package/lib/utils/path-info.js +39 -0
  110. package/lib/utils/path-info.js.map +1 -0
  111. package/lib/utils/relation-filter.js +91 -0
  112. package/lib/utils/relation-filter.js.map +1 -0
  113. package/lib/utils/selections.js +3 -158
  114. package/lib/utils/selections.js.map +1 -1
  115. package/package.json +8 -6
  116. package/src/connection-helpers.ts +167 -53
  117. package/src/drizzle-field-builder.ts +296 -176
  118. package/src/field-builder.ts +110 -77
  119. package/src/global-types.ts +0 -32
  120. package/src/index.ts +42 -68
  121. package/src/model-loader.ts +110 -71
  122. package/src/schema-builder.ts +76 -169
  123. package/src/types.ts +176 -44
  124. package/src/utils/adapter.ts +197 -0
  125. package/src/utils/await-selections.ts +31 -0
  126. package/src/utils/config.ts +1 -5
  127. package/src/utils/cursors.ts +53 -81
  128. package/src/utils/map-query.ts +51 -708
  129. package/src/utils/path-info.ts +40 -0
  130. package/src/utils/relation-filter.ts +185 -0
  131. package/src/utils/selections.ts +2 -207
  132. package/dts/utils/deep-equal.d.ts +0 -2
  133. package/dts/utils/deep-equal.d.ts.map +0 -1
  134. package/dts/utils/drizzle-graphql.d.ts +0 -2
  135. package/dts/utils/drizzle-graphql.d.ts.map +0 -1
  136. package/dts/utils/loader-map.d.ts +0 -11
  137. package/dts/utils/loader-map.d.ts.map +0 -1
  138. package/dts/utils/usage.d.ts +0 -5
  139. package/dts/utils/usage.d.ts.map +0 -1
  140. package/esm/utils/deep-equal.d.ts +0 -2
  141. package/esm/utils/deep-equal.d.ts.map +0 -1
  142. package/esm/utils/deep-equal.js +0 -45
  143. package/esm/utils/deep-equal.js.map +0 -1
  144. package/esm/utils/drizzle-graphql.d.ts +0 -2
  145. package/esm/utils/drizzle-graphql.d.ts.map +0 -1
  146. package/esm/utils/drizzle-graphql.js +0 -232
  147. package/esm/utils/drizzle-graphql.js.map +0 -1
  148. package/esm/utils/loader-map.d.ts +0 -11
  149. package/esm/utils/loader-map.d.ts.map +0 -1
  150. package/esm/utils/loader-map.js +0 -35
  151. package/esm/utils/loader-map.js.map +0 -1
  152. package/esm/utils/usage.d.ts +0 -5
  153. package/esm/utils/usage.d.ts.map +0 -1
  154. package/esm/utils/usage.js +0 -59
  155. package/esm/utils/usage.js.map +0 -1
  156. package/lib/utils/deep-equal.js +0 -55
  157. package/lib/utils/deep-equal.js.map +0 -1
  158. package/lib/utils/drizzle-graphql.js +0 -236
  159. package/lib/utils/drizzle-graphql.js.map +0 -1
  160. package/lib/utils/loader-map.js +0 -56
  161. package/lib/utils/loader-map.js.map +0 -1
  162. package/lib/utils/usage.js +0 -83
  163. package/lib/utils/usage.js.map +0 -1
  164. package/src/utils/deep-equal.ts +0 -57
  165. package/src/utils/drizzle-graphql.ts +0 -274
  166. package/src/utils/loader-map.ts +0 -49
  167. package/src/utils/usage.ts +0 -62
package/esm/types.d.ts CHANGED
@@ -1,10 +1,15 @@
1
- import { type ArgumentRef, type DistributeOmit, type FieldKind, type FieldMap, type FieldNullability, type FieldOptionsFromKind, type InferredFieldOptionKeys, type InferredFieldOptionsByKind, type InputFieldMap, type InputFieldsFromShape, type InputShapeFromFields, type InterfaceParam, type InterfaceRef, type InterfaceTypeOptions, type ListResolveValue, type MaybePromise, type Merge, type Normalize, type ObjectRef, type ObjectTypeOptions, type OutputShape, type OutputType, type SchemaTypes, type ShapeFromTypeParam, type TypeParam, typeBrandKey } from '@pothos/core';
1
+ import { type ArgumentRef, type CheckAsyncSelection, type DistributeOmit, type FieldKind, type FieldMap, type FieldNullability, type FieldOptionsFromKind, type InferredFieldOptionKeys, type InferredFieldOptionsByKind, type InputFieldMap, type InputFieldsFromShape, type InputShapeFromFields, type InterfaceParam, type InterfaceRef, type InterfaceTypeOptions, type ListResolveValue, type MaybeAsyncSelection, type MaybePromise, type Merge, type Normalize, type ObjectRef, type ObjectTypeOptions, type OutputShape, type OutputType, type SchemaTypes, type ShapeFromTypeParam, type TypeParam, typeBrandKey } from '@pothos/core';
2
+ import type { IndirectInclude, IndirectPathSegment, PathSegment } from '@pothos/selection-mapper';
2
3
  import type { AnyRelations, BuildQueryResult, Column, DBQueryConfig, Many, Relation, SQL, SQLWrapper, Table, TableRelationalConfig } from 'drizzle-orm';
3
4
  import type { FieldNode, GraphQLResolveInfo } from 'graphql';
4
5
  import type { DrizzleObjectFieldBuilder } from './drizzle-field-builder.js';
5
6
  import type { DrizzleRef } from './interface-ref.js';
6
- import type { IndirectInclude } from './utils/map-query.js';
7
7
  import type { SelectionMap } from './utils/selections.js';
8
+ /**
9
+ * A segment of a `path` given to `queryFromInfo` or `nestedSelection`: a field name, or
10
+ * `{ name, type }` to pin the type the field must be selected under (a fragment on it).
11
+ */
12
+ export type { IndirectInclude, IndirectPathSegment, PathSegment };
8
13
  export interface FieldPathInfo {
9
14
  field: string;
10
15
  alias: string;
@@ -19,8 +24,19 @@ export type DrizzleClient<TCountSource = Table | SQL | SQLWrapper> = {
19
24
  readonly _: {
20
25
  readonly relations: AnyRelations;
21
26
  };
22
- query: {};
27
+ query: Record<string, {
28
+ findMany: (config: never) => PromiseLike<Record<string, unknown>[]>;
29
+ }>;
23
30
  $count: (source: TCountSource, filter?: SQL) => SQL<number>;
31
+ /** Core SQL construction used for relation predicates and counts; it does not execute a query. */
32
+ select: (fields: Record<string, SQL>) => {
33
+ from(table: Extract<TCountSource, Table>): {
34
+ innerJoin(table: Extract<TCountSource, Table>, on: SQL): {
35
+ where: (filter?: SQL) => SQLWrapper;
36
+ };
37
+ where: (filter?: SQL) => SQLWrapper;
38
+ };
39
+ };
24
40
  };
25
41
  type GetTableConfigFn<TTable = Table> = (table: TTable) => {
26
42
  primaryKeys: {
@@ -37,6 +53,12 @@ type DrizzlePluginBaseOptions = {
37
53
  maxConnectionSize?: number;
38
54
  defaultConnectionSize?: number;
39
55
  skipDeferredFragments?: boolean;
56
+ /**
57
+ * When `true` (the default), the `totalCount` of a `relatedConnection` applies the `where`
58
+ * returned by the field's `query`, so it counts the same rows the connection paginates. Set to
59
+ * `false` to count every related row regardless of the filter.
60
+ */
61
+ filterConnectionTotalCount?: boolean;
40
62
  };
41
63
  export type DrizzlePluginOptions<Types extends SchemaTypes> = DrizzlePluginBaseOptions & ({
42
64
  client: DrizzleClientForTypes<Types>;
@@ -99,14 +121,50 @@ export type DrizzleFieldOptions<Types extends SchemaTypes, ParentShape, Table ex
99
121
  export type DrizzleFieldWithInputOptions<Types extends SchemaTypes, ParentShape, Table extends keyof Types['DrizzleRelations'], 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> = DistributeOmit<DrizzleFieldOptions<Types, ParentShape, Table, Type, Nullable, Args & {
100
122
  [K in InputName]: ArgumentRef<Types, InputShapeFromFields<Fields> | (true extends ArgRequired ? never : null | undefined)>;
101
123
  }, Kind, ResolveShape, ResolveReturnShape, Param>, 'args'> & PothosSchemaTypes.FieldWithInputBaseOptions<Types, Args, Fields, InputName, ArgRequired>;
102
- 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['DrizzleRelations'], ExtractTable<Types, ParentShape>, Record<string, unknown> & Select extends (...args: any[]) => infer R ? R & {
124
+ 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['DrizzleRelations'], ExtractTable<Types, ParentShape>, Record<string, unknown> & Select extends (...args: any[]) => infer R ? Awaited<R> & {
103
125
  columns: {};
104
126
  } : Select & {
105
127
  columns: {};
106
128
  }> & ParentShape, typeof drizzleTableName>>> = PothosSchemaTypes.ObjectFieldOptions<Types, ShapeWithSelection, Type, Nullable, Args, ResolveReturnShape> & InferredFieldOptionsByKind<Types, Types['InferredFieldOptionsKind'], ShapeWithSelection, Type, Nullable, Args, ResolveReturnShape> & {
107
- select?: Select & (DBQueryConfig<'one', Types['DrizzleRelations'], ExtractTable<Types, ParentShape>> | ((args: InputShapeFromFields<Args>, ctx: Types['Context'], nestedSelection: (<Selection extends boolean | {}>(selection?: Selection, path?: string[]) => Selection) & PathInfo) => DBQueryConfig<'one', Types['DrizzleRelations'], ExtractTable<Types, ParentShape>>));
129
+ /**
130
+ * What the field needs from its parent row. With `AsyncSelections: true` the function may be
131
+ * async, and `nestedSelection` is then a promise when a selection beneath it is async, and
132
+ * must be awaited.
133
+ */
134
+ select?: Select & CheckAsyncSelection<Types, Select> & (DBQueryConfig<'one', Types['DrizzleRelations'], ExtractTable<Types, ParentShape>> | ((args: InputShapeFromFields<Args>, ctx: Types['Context'], nestedSelection: NestedSelectionFn<Types, Type, Args>) => MaybeAsyncSelection<Types, DBQueryConfig<'one', Types['DrizzleRelations'], ExtractTable<Types, ParentShape>>>));
108
135
  };
109
- export type DrizzleFieldSelection = DBQueryConfig<'one'> | ((args: {}, ctx: object, mergeNestedSelection: (selection: SelectionMap | boolean | ((args: object, context: object) => DBQueryConfig<'one'>), path?: IndirectInclude | string[], type?: string) => DBQueryConfig<'one'> | boolean, resolveSelection: (path: string[]) => FieldNode | null, pathInfo: PathInfo) => SelectionMap);
136
+ /** The table a field's type param names: a drizzle ref, or a list of one. */
137
+ export type TableForTypeParam<Types extends SchemaTypes, Type> = Type extends [infer Item] ? TableForTypeParam<Types, Item> : Type extends DrizzleRef<any, infer Table> ? Table & keyof Types['DrizzleRelations'] : never;
138
+ /**
139
+ * The query config for the table a field's type param names (a `many` config for a list field),
140
+ * or never when the type has no table.
141
+ */
142
+ export type QueryForTypeParam<Types extends SchemaTypes, Type> = TableForTypeParam<Types, Type> extends infer Table ? [Table] extends [never] ? never : DBQueryConfig<Type extends [unknown] ? 'many' : 'one', Types['DrizzleRelations'], Types['DrizzleRelations'][Table & keyof Types['DrizzleRelations']]> : never;
143
+ /**
144
+ * What `nestedSelection` returns: the query config for the field's table, keeping the keys of
145
+ * the given selection as they were given (so `columns` in it still narrow the parent shape).
146
+ * With no selection, or `true`, it is the config itself. A field whose type has no table keeps
147
+ * the selection it was given.
148
+ */
149
+ export type NestedSelectionResult<Types extends SchemaTypes, Type, Selection> = [
150
+ QueryForTypeParam<Types, Type>
151
+ ] extends [never] ? Selection : Selection extends boolean ? QueryForTypeParam<Types, Type> : Normalize<Omit<QueryForTypeParam<Types, Type>, keyof Selection> & Selection>;
152
+ /**
153
+ * The callback a field's `select` function plans the selection beneath the field with: `path`
154
+ * walks a field nested under the field's type, `type` names the type the selection is read as.
155
+ * It also carries the `PathInfo` of the field being planned. The selection is typed by the
156
+ * field's table when it has one, so `columns: { title: true }` keeps its literal `true`.
157
+ */
158
+ export type NestedSelectionFn<Types extends SchemaTypes, Type, Args extends InputFieldMap = {}> = (<Selection extends boolean | ([QueryForTypeParam<Types, Type>] extends [never] ? {} : QueryForTypeParam<Types, Type>) = true>(selection?: NestedSelectionArg<Types, Selection, Args>, path?: PathSegment[], type?: string) => NestedSelectionResult<Types, Type, Selection>) & PathInfo;
159
+ /**
160
+ * The selection given to `nestedSelection`: the query config itself, or a callback building it
161
+ * from the field's arguments, the context, and the field's `PathInfo`. A schema with
162
+ * `AsyncSelections: true` may also give a promise of the config, or an async callback; the result
163
+ * is typed by the query either way, and is a promise at runtime only when a promise or an async
164
+ * callback was given, or a selection beneath it is async, and must then be awaited.
165
+ */
166
+ export type NestedSelectionArg<Types extends SchemaTypes, Selection, Args extends InputFieldMap> = Selection | (true extends Types['AsyncSelections'] ? PromiseLike<Selection> : never) | ((args: InputShapeFromFields<Args>, ctx: Types['Context'], pathInfo: PathInfo) => MaybeAsyncSelection<Types, Selection>);
167
+ export type DrizzleFieldSelection = DBQueryConfig<'one'> | ((args: {}, ctx: object, mergeNestedSelection: (selection: SelectionMap | boolean | ((args: object, context: object, pathInfo: PathInfo) => MaybePromise<DBQueryConfig<'one'>>), path?: IndirectInclude | PathSegment[], type?: string) => DBQueryConfig<'one'> | boolean, resolveSelection: (path: string[]) => FieldNode | null, pathInfo: PathInfo) => MaybePromise<SelectionMap | false | null | undefined>);
110
168
  export type ExtractTable<Types extends SchemaTypes, Shape> = Shape extends {
111
169
  [drizzleTableName]?: keyof Types['DrizzleRelations'];
112
170
  } ? Types['DrizzleRelations'][NonNullable<Shape[typeof drizzleTableName]>] : never;
@@ -131,16 +189,29 @@ export type RefForRelation<Types extends SchemaTypes, Rel extends Relation> = Re
131
189
  relationType: 'one';
132
190
  } ? ObjectRef<Types, TypesForRelation<Types, Rel>> : [ObjectRef<Types, TypesForRelation<Types, Rel>>];
133
191
  export type RelatedCountOptions<Types extends SchemaTypes, Shape, Args extends InputFieldMap, Where> = Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, 'Int', false, Args, number>, 'type' | InferredFieldOptionKeys> & {
134
- where?: Where | ((args: InputShapeFromFields<Args>, context: Types['Context']) => Where);
192
+ where?: Where | ((args: InputShapeFromFields<Args>, context: Types['Context']) => MaybeAsyncSelection<Types, Where>);
193
+ };
194
+ /**
195
+ * The options of `t.relatedField`: the ordinary object field options (description, deprecation,
196
+ * extensions, and what other plugins add), with a `select` that plans a query on the relation.
197
+ */
198
+ export type RelatedSelectionFieldOptions<Types extends SchemaTypes, TableConfig extends TableRelationalConfig, Type extends TypeParam<Types>, Nullable extends boolean, Args extends InputFieldMap, Select, ShapeWithSelection> = Omit<PothosSchemaTypes.ObjectFieldOptions<Types, ShapeWithSelection, Type, Nullable, Args, unknown>, InferredFieldOptionKeys> & {
199
+ /**
200
+ * The query planned on the parent row for this field: `buildFilter` filters the related table
201
+ * to the parent's rows, `nestedQuery` plans the field's own selection beneath a query. With
202
+ * `AsyncSelections: true` the function may be async.
203
+ */
204
+ select: ((buildFilter: (parentTable: TableConfig['table']) => SQL, args: InputShapeFromFields<Args>, ctx: Types['Context'], nestedQuery: (query: DBQueryConfig<'many', Types['DrizzleRelations'], TableConfig>) => DBQueryConfig<'many', Types['DrizzleRelations'], TableConfig>) => MaybeAsyncSelection<Types, Select>) & CheckAsyncSelection<Types, Select>;
205
+ resolve: (parent: ShapeWithSelection, args: InputShapeFromFields<Args>, ctx: Types['Context'], info: GraphQLResolveInfo) => MaybePromise<ShapeFromTypeParam<Types, Type, Nullable>>;
135
206
  };
136
207
  export type TypesForRelation<Types extends SchemaTypes, Rel extends Relation> = BuildQueryResult<Types['DrizzleRelations'], Types['DrizzleRelations'][Rel['targetTableName']], true>;
137
208
  export type QueryForField<Types extends SchemaTypes, Args extends InputFieldMap, Rel extends Relation> = (Rel extends {
138
209
  relationType: 'one';
139
- } ? Omit<DBQueryConfig<'one', Types['DrizzleRelations'], Types['DrizzleRelations'][Rel['targetTableName']]>, 'columns' | 'extra' | 'with'> : Omit<DBQueryConfig<'many', Types['DrizzleRelations'], Types['DrizzleRelations'][Rel['targetTableName']]>, 'columns' | 'extra' | 'with'>) extends infer QueryConfig ? QueryConfig | ((args: InputShapeFromFields<Args>, context: Types['Context'], pathInfo: PathInfo) => QueryConfig) : never;
210
+ } ? Omit<DBQueryConfig<'one', Types['DrizzleRelations'], Types['DrizzleRelations'][Rel['targetTableName']]>, 'columns' | 'extra' | 'with'> : Omit<DBQueryConfig<'many', Types['DrizzleRelations'], Types['DrizzleRelations'][Rel['targetTableName']]>, 'columns' | 'extra' | 'with'>) extends infer QueryConfig ? QueryConfig | ((args: InputShapeFromFields<Args>, context: Types['Context'], pathInfo: PathInfo) => MaybeAsyncSelection<Types, QueryConfig>) : never;
140
211
  export type QueryForDrizzleField<Types extends SchemaTypes, Param, Table extends keyof Types['DrizzleRelations']> = DBQueryConfig<Param extends [unknown] ? 'one' : 'many', Types['DrizzleRelations'], Types['DrizzleRelations'][Table]>;
141
212
  export type QueryForRelatedConnection<Types extends SchemaTypes, Table extends TableRelationalConfig, Args> = Omit<DBQueryConfig<'many', Types['DrizzleRelations'], Table>, 'limit' | 'offset' | 'columns' | 'extra' | 'with' | 'orderBy'> & {
142
213
  orderBy?: ConnectionOrderBy<Table> | ((table: Table) => ConnectionOrderBy<Table>);
143
- } extends infer QueryConfig ? QueryConfig | ((args: Args, context: Types['Context'], pathInfo: PathInfo) => QueryConfig) : never;
214
+ } extends infer QueryConfig ? QueryConfig | ((args: Args, context: Types['Context'], pathInfo: PathInfo) => MaybeAsyncSelection<Types, QueryConfig>) : never;
144
215
  export type QueryForDrizzleConnection<Types extends SchemaTypes, TableConfig extends TableRelationalConfig> = Omit<DBQueryConfig<'many', Types['DrizzleRelations'], TableConfig>, 'limit' | 'offset' | 'orderBy'> & {
145
216
  orderBy?: ConnectionOrderBy<TableConfig> | ((table: Table) => ConnectionOrderBy<TableConfig>);
146
217
  };
@@ -170,9 +241,6 @@ DrizzleRef<any, keyof Types['DrizzleRelations']> | keyof Types['DrizzleRelations
170
241
  }, 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;
171
242
  } : never);
172
243
  export type RelatedConnectionOptions<Types extends SchemaTypes, Shape, Table extends TableRelationalConfig, Field extends keyof Table['relations'], Nullable extends boolean, Args extends InputFieldMap, Type = unknown, NodeTable extends TableRelationalConfig = Types['DrizzleRelations'][Table['relations'][Field]['targetTableName']]> = Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, ObjectRef<Types, unknown>, Nullable, InputFieldsFromShape<Types, PothosSchemaTypes.DefaultConnectionArguments, 'InputObject'> & (InputFieldMap extends Args ? {} : Args), unknown>, 'args' | 'type' | InferredFieldOptionKeys> & Omit<PothosSchemaTypes.ConnectionFieldOptions<Types, Shape, ObjectRef<Types, unknown>, false, false, Nullable, Args, unknown>, 'type' | InferredFieldOptionKeys> & (InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments extends infer ConnectionArgs ? {
173
- resolve?: (parent: Shape, args: ConnectionArgs, context: Types['Context'], info: GraphQLResolveInfo) => MaybePromise<ShapeFromTypeParam<Types, [
174
- ObjectRef<Types, TypesForRelation<Types, Table['relations'][Field]>>
175
- ], Nullable>>;
176
244
  query?: QueryForRelatedConnection<Types, NodeTable, ConnectionArgs>;
177
245
  type?: Type & DrizzleRef<any, Table['relations'][Field]['targetTableName']>;
178
246
  defaultSize?: number | ((args: ConnectionArgs, ctx: Types['Context']) => number);
@@ -202,13 +270,6 @@ export type DrizzleConnectionShape<Types extends SchemaTypes, T, Parent, Args ex
202
270
  export type WithBrand<T> = T & {
203
271
  [typeBrandKey]: string;
204
272
  };
205
- export interface AddGraphQLInputTypeOptions<Types extends SchemaTypes, Shape extends {}> extends Omit<PothosSchemaTypes.InputObjectTypeOptions<Types, InputFieldsFromShape<Types, Shape, 'InputObject'>>, 'fields'> {
206
- name?: string;
207
- }
208
- export interface DrizzleGraphQLInputExtensions {
209
- table: string;
210
- tableConfig: TableRelationalConfig;
211
- inputType: 'insert' | 'filters' | 'orderBy' | 'update';
212
- }
273
+ export { DrizzleInterfaceRef, type DrizzleRef } from './interface-ref.js';
213
274
  export { DrizzleObjectRef } from './object-ref.js';
214
275
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,YAAY,EACb,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClG,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,aAAa,EACb,IAAI,EACJ,QAAQ,EACR,GAAG,EACH,UAAU,EACV,KAAK,EACL,qBAAqB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;GAGG;AACH,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,aAAa,CAAC,YAAY,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,IAAI;IACnE,QAAQ,CAAC,CAAC,EAAE;QACV,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;KAClC,CAAC;IACF,KAAK,EAAE,MAAM,CACX,MAAM,EACN;QAEE,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;KACrE,CACF,CAAC;IACF,MAAM,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5D,kGAAkG;IAClG,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK;QACvC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG;YACzC,SAAS,CACP,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EACnC,EAAE,EAAE,GAAG,GACN;gBAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,UAAU,CAAA;aAAE,CAAC;YAC3C,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,UAAU,CAAC;SACrC,CAAC;KACH,CAAC;CACH,CAAC;AAEF,KAAK,gBAAgB,CAAC,MAAM,GAAG,KAAK,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK;IACzD,WAAW,EAAE;QACX,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;KAC5B,EAAE,CAAC;IACJ,iBAAiB,CAAC,EAAE;QAClB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;KAC5B,EAAE,CAAC;IACJ,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,KAAK,gBAAgB,CAAC,KAAK,SAAS,WAAW,IAC7C,KAAK,CAAC,kBAAkB,CAAC,CAAC,MAAM,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAEtE,KAAK,qBAAqB,CAAC,KAAK,SAAS,WAAW,IAAI,aAAa,CACnE,gBAAgB,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,UAAU,CAC3C,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,KAAK,SAAS,WAAW,IAAI,wBAAwB,GACpF,CACI;IACE,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACrC,cAAc,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,SAAS,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;CACvC,GACD;IACE,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAChE,cAAc,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,SAAS,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;CACtC,CACJ,CAAC;AAEJ,eAAO,MAAM,gBAAgB,eAAwC,CAAC;AAEtE,KAAK,aAAa,GACd;IACE,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC;AAEN,MAAM,MAAM,oBAAoB,CAC9B,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,kBAAkB,CAAC,EAC7C,KAAK,EACL,SAAS,EACT,UAAU,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,IACxC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,GACtF,aAAa,GAAG;IACd,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,CACP,CAAC,EAAE,yBAAyB,CAC1B,KAAK,EACL,KAAK,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,EAChC,KAAK,GAAG;QAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAA;KAAE,CACvC,KACE,QAAQ,CAAC;CACf,CAAC;AAEJ,MAAM,MAAM,uBAAuB,CACjC,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,kBAAkB,CAAC,EAC7C,KAAK,EACL,SAAS,EACT,UAAU,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,IACxC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,GAC5F,aAAa,GAAG;IACd,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,CACP,CAAC,EAAE,yBAAyB,CAC1B,KAAK,EACL,KAAK,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,EAChC,KAAK,GAAG;QAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAA;KAAE,CACvC,KACE,QAAQ,CAAC;CACf,CAAC;AAEJ,MAAM,MAAM,kBAAkB,CAC5B,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,kBAAkB,CAAC,EAC7C,KAAK,EACL,SAAS,EACT,UAAU,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,EAC1C,SAAS,IACP,aAAa,GACf,IAAI,CACA,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,GACjD,iBAAiB,CAAC,8BAA8B,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,EAC5E,QAAQ,GAAG,UAAU,CACtB,GAAG;IACF,EAAE,EAAE,IAAI,CACN,oBAAoB,CAClB,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAK,EACL,EAAE,EACF,QAAQ,EACR,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,EACxB,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CACvC,EACD,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,uBAAuB,CACvD,GAAG;QACF,MAAM,EAAE,SAAS,GACf,CACI,MAAM,GACN,MAAM,EAAE,GACR,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,MAAM,GAAG,MAAM,EAAE,CAAC,CAC9E,CAAC;KACL,CAAC;IACF,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,CACP,CAAC,EAAE,yBAAyB,CAC1B,KAAK,EACL,KAAK,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,EAChC,KAAK,GAAG;QAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAA;KAAE,CACvC,KACE,QAAQ,CAAC;CACf,GAAG,aAAa,CAAC;AAEpB,MAAM,MAAM,kBAAkB,CAC5B,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,kBAAkB,CAAC,EAC7C,SAAS,IACP,SAAS,SAAS,MAAM,GACxB,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GACtB,SAAS,SAAS,MAAM,EAAE,GACxB;KACG,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAC5C,SAAS,CAAC,MAAM,CAAC,EACjB;QAAE,CAAC,EAAE;YAAE,IAAI,EAAE,CAAC,CAAA;SAAE,CAAA;KAAE,CACnB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;CACf,GAED,SAAS,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,GACvE,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,GACnC,KAAK,CAAC;AAEd,MAAM,MAAM,mBAAmB,CAC7B,KAAK,SAAS,WAAW,EACzB,WAAW,EACX,KAAK,SAAS,MAAM,KAAK,CAAC,kBAAkB,CAAC,EAC7C,IAAI,SAAS,SAAS,CAAC,KAAK,CAAC,EAC7B,QAAQ,SAAS,gBAAgB,CAAC,IAAI,CAAC,EACvC,IAAI,SAAS,aAAa,EAC1B,IAAI,SAAS,SAAS,EACtB,YAAY,EACZ,kBAAkB,EAClB,KAAK,IACH,IAAI,CACN,oBAAoB,CAClB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,YAAY,EACZ,kBAAkB,CACnB,EACD,MAAM,GAAG,uBAAuB,CACjC,GAAG;IACF,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,CACP,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,EACZ,SAAS,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KACtD,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG;QAClC,OAAO,EAAE,CAAC,SAAS;YAAE,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,CAAA;SAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAC5D,MAAM,EAAE;YACN,eAAe,EAAE,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;SACzC,GAAG,CAAC,CAAC,SAAS;YAAE,KAAK,EAAE,MAAM,CAAC,CAAA;SAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;KAC7C,EACD,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAChC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,EACrB,IAAI,EAAE,kBAAkB,KACrB,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,4BAA4B,CACtC,KAAK,SAAS,WAAW,EACzB,WAAW,EACX,KAAK,SAAS,MAAM,KAAK,CAAC,kBAAkB,CAAC,EAC7C,IAAI,SAAS,SAAS,CAAC,KAAK,CAAC,EAC7B,QAAQ,SAAS,gBAAgB,CAAC,IAAI,CAAC,EACvC,IAAI,SAAS,aAAa,EAC1B,IAAI,SAAS,SAAS,EACtB,YAAY,EACZ,kBAAkB,EAClB,KAAK,EACL,SAAS,SAAS,MAAM,EACxB,MAAM,SAAS,aAAa,EAC5B,WAAW,SAAS,OAAO,IACzB,cAAc,CAChB,mBAAmB,CACjB,KAAK,EACL,WAAW,EACX,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,IAAI,GAAG;KACJ,CAAC,IAAI,SAAS,GAAG,WAAW,CAC3B,KAAK,EACL,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,SAAS,WAAW,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,CACrF;CACF,EACD,IAAI,EACJ,YAAY,EACZ,kBAAkB,EAClB,KAAK,CACN,EACD,MAAM,CACP,GACC,iBAAiB,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAE3F,MAAM,MAAM,yBAAyB,CACnC,KAAK,SAAS,WAAW,EACzB,WAAW,EACX,IAAI,SAAS,SAAS,CAAC,KAAK,CAAC,EAC7B,QAAQ,SAAS,gBAAgB,CAAC,IAAI,CAAC,EACvC,IAAI,SAAS,aAAa,EAC1B,MAAM,EACN,kBAAkB,EAClB,kBAAkB,GAAG,SAAS,CAC5B,IAAI,CACF,OAAO,SAAS,MAAM,GAClB,WAAW,GACX,gBAAgB,CACd,KAAK,CAAC,kBAAkB,CAAC,EACzB,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,EAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAErB,MAAM,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,GACxC,OAAO,CAAC,CAAC,CAAC,GAAG;IAAE,OAAO,EAAE,EAAE,CAAA;CAAE,GAC5B,MAAM,GAAG;IAAE,OAAO,EAAE,EAAE,CAAA;CAAE,CAC7B,GACC,WAAW,EACjB,OAAO,gBAAgB,CACxB,CACF,IACC,iBAAiB,CAAC,kBAAkB,CACtC,KAAK,EACL,kBAAkB,EAClB,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,kBAAkB,CACnB,GACC,0BAA0B,CACxB,KAAK,EACL,KAAK,CAAC,0BAA0B,CAAC,EACjC,kBAAkB,EAClB,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,kBAAkB,CACnB,GAAG;IACF;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GACb,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,GAClC,CACI,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,GACjF,CAAC,CACC,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAChC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,EACrB,eAAe,EAAE,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAClD,mBAAmB,CACtB,KAAK,EACL,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAClF,CAAC,CACL,CAAC;CACL,CAAC;AAEJ,6EAA6E;AAC7E,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,WAAW,EAAE,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,GACtF,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,GAE9B,IAAI,SAAS,UAAU,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GACvC,KAAK,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,GACvC,KAAK,CAAC;AAEZ;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,WAAW,EAAE,IAAI,IAC3D,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,MAAM,KAAK,GAC9C,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GACrB,KAAK,GACL,aAAa,CACX,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,KAAK,EACvC,KAAK,CAAC,kBAAkB,CAAC,EACzB,KAAK,CAAC,kBAAkB,CAAC,CAAC,KAAK,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,CAAC,CACnE,GACH,KAAK,CAAC;AAEZ;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,WAAW,EAAE,IAAI,EAAE,SAAS,IAAI;IAC9E,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;CAC/B,SAAS,CAAC,KAAK,CAAC,GACb,SAAS,GACT,SAAS,SAAS,OAAO,GACvB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,GAC9B,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,WAAW,EAAE,IAAI,EAAE,IAAI,SAAS,aAAa,GAAG,EAAE,IAAI,CAAC,CACjG,SAAS,SACL,OAAO,GACP,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC7C,EAAE,GACF,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,EAE9C,SAAS,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EACtD,IAAI,CAAC,EAAE,WAAW,EAAE,EACpB,IAAI,CAAC,EAAE,MAAM,KACV,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,GACjD,QAAQ,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,WAAW,EAAE,SAAS,EAAE,IAAI,SAAS,aAAa,IAC3F,SAAS,GACT,CAAC,IAAI,SAAS,KAAK,CAAC,iBAAiB,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,GACxE,CAAC,CACC,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAChC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,EACrB,QAAQ,EAAE,QAAQ,KACf,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAEhD,MAAM,MAAM,qBAAqB,GAC7B,aAAa,CAAC,KAAK,CAAC,GACpB,CAAC,CACC,IAAI,EAAE,EAAE,EACR,GAAG,EAAE,MAAM,EACX,oBAAoB,EAAE,CACpB,SAAS,EACL,YAAY,GACZ,OAAO,GACP,CAAC,CACC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,KACf,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAC5C,IAAI,CAAC,EAAE,eAAe,GAAG,WAAW,EAAE,EACtC,IAAI,CAAC,EAAE,MAAM,KACV,aAAa,CAAC,KAAK,CAAC,GAAG,OAAO,EACnC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAS,GAAG,IAAI,EACtD,QAAQ,EAAE,QAAQ,KACf,YAAY,CAAC,YAAY,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;AAEhE,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,WAAW,EAAE,KAAK,IAAI,KAAK,SAAS;IACzE,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,kBAAkB,CAAC,CAAC;CACtD,GACG,KAAK,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,GACtE,KAAK,CAAC;AAEV,MAAM,MAAM,mBAAmB,CAC7B,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,qBAAqB,EACnC,KAAK,SAAS,MAAM,KAAK,CAAC,WAAW,CAAC,EACtC,QAAQ,SAAS,OAAO,EACxB,IAAI,SAAS,aAAa,EAC1B,kBAAkB,EAClB,KAAK,IACH,IAAI,CACN,yBAAyB,CACvB,KAAK,EACL,KAAK,EACL,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAChD,QAAQ,EACR,IAAI,EACJ;IACE,OAAO,EAAE,EAAE,CAAC;IACZ,IAAI,EAAE;SAAG,CAAC,IAAI,KAAK,GAAG,IAAI;KAAE,CAAC;CAC9B,EACD,kBAAkB,CACnB,EACD,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,uBAAuB,CAC5D,GAAG;IACF,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE7B,IAAI,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACrE,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;CAC/D,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAC7B,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,kBAAkB,CAAC,EAE7C,OAAO,SAAS,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,EAC9C,IAAI,SAAS,aAAa,EAC1B,MAAM,EACN,KAAK,EACL,YAAY,EACZ,kBAAkB,IAChB,IAAI,CACN,oBAAoB,CAClB,KAAK,EACL,KAAK,EAEL,OAAO,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,EAClE,OAAO,SAAS,MAAM,GAAG,KAAK,GAAG,IAAI,EACrC,IAAI,EACJ,eAAe,EACf,YAAY,EACZ,kBAAkB,CACnB,EACD,uBAAuB,GAAG,MAAM,CACjC,GAAG;IACF,MAAM,CAAC,EAAE,MAAM,GACb,CAAC,CACC,MAAM,EAAE,SAAS,CACf,IAAI,CACF,OAAO,SAAS,YAAY,GACxB,KAAK,GACL,gBAAgB,CACd,KAAK,CAAC,kBAAkB,CAAC,EACzB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,EAC1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAErB,YAAY,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,GAC9C,CAAC,GAAG;QAAE,OAAO,EAAE,EAAE,CAAA;KAAE,GACnB,YAAY,GAAG;QAAE,OAAO,EAAE,EAAE,CAAA;KAAE,CACnC,GACC,KAAK,EACX,OAAO,gBAAgB,CACxB,CACF,EACD,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAChC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EACzB,IAAI,EAAE,kBAAkB,KACrB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,WAAW,EAAE,GAAG,SAAS,QAAQ,IAAI,GAAG,SAAS;IACxF,YAAY,EAAE,KAAK,CAAC;CACrB,GACG,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAC9C,CAAC,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAErD,MAAM,MAAM,mBAAmB,CAC7B,KAAK,SAAS,WAAW,EACzB,KAAK,EACL,IAAI,SAAS,aAAa,EAC1B,KAAK,IACH,IAAI,CACN,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,EAC9E,MAAM,GAAG,uBAAuB,CACjC,GAAG;IACF,KAAK,CAAC,EACF,KAAK,GACL,CAAC,CACC,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAChC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,KACtB,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;CAC7C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,4BAA4B,CACtC,KAAK,SAAS,WAAW,EACzB,WAAW,SAAS,qBAAqB,EACzC,IAAI,SAAS,SAAS,CAAC,KAAK,CAAC,EAC7B,QAAQ,SAAS,OAAO,EACxB,IAAI,SAAS,aAAa,EAC1B,MAAM,EACN,kBAAkB,IAChB,IAAI,CACN,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,EAC9F,uBAAuB,CACxB,GAAG;IACF;;;;OAIG;IACH,MAAM,EAAE,CAAC,CACP,WAAW,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,GAAG,EACvD,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAChC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,EACrB,WAAW,EAAE,CACX,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC,KACjE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC,KAC/D,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GACtC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,EAAE,CACP,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAChC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,EACrB,IAAI,EAAE,kBAAkB,KACrB,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,WAAW,EAAE,GAAG,SAAS,QAAQ,IAAI,gBAAgB,CAC9F,KAAK,CAAC,kBAAkB,CAAC,EACzB,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,EACjD,IAAI,CACL,CAAC;AAEF,MAAM,MAAM,aAAa,CACvB,KAAK,SAAS,WAAW,EACzB,IAAI,SAAS,aAAa,EAC1B,GAAG,SAAS,QAAQ,IAClB,CACF,GAAG,SAAS;IACV,YAAY,EAAE,KAAK,CAAC;CACrB,GACG,IAAI,CACF,aAAa,CACX,KAAK,EACL,KAAK,CAAC,kBAAkB,CAAC,EACzB,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAClD,EACD,SAAS,GAAG,OAAO,GAAG,MAAM,CAC7B,GACD,IAAI,CACF,aAAa,CACX,MAAM,EACN,KAAK,CAAC,kBAAkB,CAAC,EACzB,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAClD,EACD,SAAS,GAAG,OAAO,GAAG,MAAM,CAC7B,CACN,SAAS,MAAM,WAAW,GAEnB,WAAW,GACX,CAAC,CACC,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAChC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EACzB,QAAQ,EAAE,QAAQ,KACf,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,GACjD,KAAK,CAAC;AAEV,MAAM,MAAM,oBAAoB,CAC9B,KAAK,SAAS,WAAW,EACzB,KAAK,EACL,KAAK,SAAS,MAAM,KAAK,CAAC,kBAAkB,CAAC,IAC3C,aAAa,CACf,KAAK,SAAS,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,MAAM,EACxC,KAAK,CAAC,kBAAkB,CAAC,EACzB,KAAK,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CACjC,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACnC,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,qBAAqB,EACnC,IAAI,IACF,IAAI,CACN,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,EACvD,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAC9D,GAAG;IACF,OAAO,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;CACnF,SAAS,MAAM,WAAW,GAEnB,WAAW,GACX,CAAC,CACC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EACzB,QAAQ,EAAE,QAAQ,KACf,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,GACjD,KAAK,CAAC;AAEV,MAAM,MAAM,yBAAyB,CACnC,KAAK,SAAS,WAAW,EACzB,WAAW,SAAS,qBAAqB,IACvC,IAAI,CACN,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC,EAC7D,OAAO,GAAG,QAAQ,GAAG,SAAS,CAC/B,GAAG;IACF,OAAO,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;CAC/F,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,qBAAqB,IAAI;KACzD,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK;CAChF,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AAExB,MAAM,MAAM,6BAA6B,CACvC,KAAK,SAAS,WAAW,EACzB,WAAW,EACX,IAAI,SACJ,AADa,2DAA2D;AACxE,UAAU,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,EAClF,WAAW,SAAS,qBAAqB,EACzC,KAAK,SAAS,UAAU,CAAC,KAAK,CAAC,EAC/B,QAAQ,SAAS,OAAO,EACxB,IAAI,SAAS,aAAa,EAC1B,kBAAkB,EAClB,IAAI,SAAS,SAAS,IACpB,IAAI,CACN,oBAAoB,CAClB,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,EACR,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,CAAC,GAC9E,CAAC,aAAa,SAAS,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,EAC1C,IAAI,EACJ,WAAW,EACX,kBAAkB,CACnB,EACD,MAAM,GAAG,MAAM,GAAG,uBAAuB,CAC1C,GACC,IAAI,CACF,iBAAiB,CAAC,sBAAsB,CACtC,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,IAAI,EACJ,kBAAkB,CACnB,EACD,MAAM,GAAG,uBAAuB,CACjC,GACD,CAAC,oBAAoB,CAAC,IAAI,CAAC,GACzB,iBAAiB,CAAC,0BAA0B,SAAS,MAAM,cAAc,GACvE;IACE,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC;IACjF,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC;IAC7E,UAAU,CAAC,EAAE,CACX,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EACzB,IAAI,EAAE,kBAAkB,KACrB,YAAY,CAAC,MAAM,CAAC,CAAC;IAE1B,OAAO,EAAE,CACP,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,EACZ,SAAS,CAAC,EAAE,CAAC,GAAG,yBAAyB,CAAC,KAAK,EAAE,WAAW,CAAC,KAC1D,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG;QAC9C,OAAO,EAAE,CAAC,SAAS;YAAE,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,CAAA;SAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAC5D,OAAO,EAAE;aACN,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS;gBAAE,OAAO,EAAE,MAAM,OAAO,CAAA;aAAE,GAC9D,MAAM,OAAO,GACb,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS;SACxC,CAAC;QACF,MAAM,EAAE;YACN,eAAe,EAAE,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC;SAC7D,GAAG,CAAC,CAAC,SAAS;YAAE,KAAK,EAAE,MAAM,CAAC,CAAA;SAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;KAC7C,EACD,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EACzB,IAAI,EAAE,kBAAkB,KACrB,kBAAkB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,SAAS,MAAM,KAAK,GACjE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,GAC5D,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,GACjD,YAAY,CAAC,KAAK,CAAC,GACrB,KAAK,CAAC;CACX,GACD,KAAK,CAAC,CAAC;AAEb,MAAM,MAAM,wBAAwB,CAClC,KAAK,SAAS,WAAW,EACzB,KAAK,EACL,KAAK,SAAS,qBAAqB,EACnC,KAAK,SAAS,MAAM,KAAK,CAAC,WAAW,CAAC,EACtC,QAAQ,SAAS,OAAO,EACxB,IAAI,SAAS,aAAa,EAC1B,IAAI,GAAG,OAAO,EACd,SAAS,SACP,qBAAqB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAC/F,IAAI,CACN,iBAAiB,CAAC,kBAAkB,CAClC,KAAK,EACL,KAAK,EACL,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EACzB,QAAQ,EACR,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,CAAC,0BAA0B,EAAE,aAAa,CAAC,GACtF,CAAC,aAAa,SAAS,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,EAC1C,OAAO,CACR,EACD,MAAM,GAAG,MAAM,GAAG,uBAAuB,CAC1C,GACC,IAAI,CACF,iBAAiB,CAAC,sBAAsB,CACtC,KAAK,EACL,KAAK,EACL,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EACzB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,OAAO,CACR,EACD,MAAM,GAAG,uBAAuB,CACjC,GACD,CAAC,oBAAoB,CAAC,IAAI,CAAC,GACzB,iBAAiB,CAAC,0BAA0B,SAAS,MAAM,cAAc,GACvE;IACE,KAAK,CAAC,EAAE,yBAAyB,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAEpE,IAAI,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAE5E,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC;IACjF,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACD,KAAK,CAAC,CAAC;AAEb,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,qBAAqB,IACzD,MAAM,GACN,MAAM,EAAE,GAGR;KACG,CAAC,IACE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS;QAAE,OAAO,EAAE,MAAM,OAAO,CAAA;KAAE,GAAG,MAAM,OAAO,GAAG,KAAK,CAAC,GAC5E,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS;CAChD,CAAC;AAEN,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;AAEvF,MAAM,MAAM,sBAAsB,CAChC,KAAK,SAAS,WAAW,EACzB,CAAC,EACD,MAAM,EACN,IAAI,SAAS,aAAa,IAE1B,KAAK,CACH,mBAAmB,CACjB,iBAAiB,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CACzD,SAAS,MAAM,KAAK,GACjB,KAAK,GAAG;IACN,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,0BAA0B,CAAC;CACjF,GACD,KAAK,CACV,SAAS,MAAM,CAAC,GACb,CAAC,CAAC,CAAC,SAAS;IACV;QACE,KAAK,EAAE,MAAM,KAAK,CAAC;KACpB;CACF,GACC,KAAK,CACH,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG;IACjB,KAAK,EAAE,KAAK,SAAS,QAAQ,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GACtE,KAAK,CAAC,IAAI,GAAG;QAAE,UAAU,EAAE,CAAC,CAAA;KAAE,CAAC,EAAE,GACjC,KAAK,CAAC;CACX,CACF,GACD,CAAC,GACH,KAAK,CAAC;AAEZ,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
package/esm/types.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export const drizzleTableName = Symbol.for('Pothos.drizzleTableName');
2
+ export { DrizzleInterfaceRef } from './interface-ref.js';
2
3
  export { DrizzleObjectRef } from './object-ref.js';
3
4
 
4
5
  //# sourceMappingURL=types.js.map
package/esm/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts"],"names":["drizzleTableName","Symbol","for","DrizzleObjectRef"],"mappings":"AAuGA,OAAO,MAAMA,mBAAmBC,OAAOC,GAAG,CAAC,2BAA2B;AA+nBtE,SAASC,gBAAgB,QAAQ,kBAAkB"}
1
+ {"version":3,"sources":["../src/types.ts"],"names":["drizzleTableName","Symbol","for","DrizzleInterfaceRef","DrizzleObjectRef"],"mappings":"AAqIA,OAAO,MAAMA,mBAAmBC,OAAOC,GAAG,CAAC,2BAA2B;AAouBtE,SAASC,mBAAmB,QAAyB,qBAAqB;AAC1E,SAASC,gBAAgB,QAAQ,kBAAkB"}
@@ -0,0 +1,39 @@
1
+ import { type Node, NodeAdapter, type Plan, type PlayedPlan, type QueryVisitor, type SelectFn } from '@pothos/selection-mapper';
2
+ import type { TableRelationalConfig } from 'drizzle-orm';
3
+ import type { GraphQLField, GraphQLNamedType } from 'graphql';
4
+ import type { PothosDrizzleSchemaConfig } from './config.js';
5
+ import { type SelectionMap } from './selections.js';
6
+ export type DrizzleNode = Node<TableRelationalConfig>;
7
+ export type DrizzlePlan = Plan<TableRelationalConfig, SelectionMap>;
8
+ export type DrizzlePlayedPlan = PlayedPlan<TableRelationalConfig, SelectionMap>;
9
+ type DrizzleVisitor = QueryVisitor<TableRelationalConfig, SelectionMap>;
10
+ /**
11
+ * How drizzle selections (`DBQueryConfig`: `columns`, `with`, `extras` and query arguments) read
12
+ * onto the shared query tree, and how a node is written back. A node whose columns are `null`
13
+ * selects every column; a named-column node always adds the table's primary key so rows can be
14
+ * matched back to their parent.
15
+ *
16
+ * The merge, compare and conflict rules are `NodeAdapter`'s: this is the schema side, the key
17
+ * loop and `toQuery`. The schema config every one of them needs is the adapter's own state.
18
+ */
19
+ export declare class DrizzleAdapter extends NodeAdapter<TableRelationalConfig, SelectionMap> {
20
+ private readonly config;
21
+ skipDeferredFragments: boolean;
22
+ private readonly fieldSelections;
23
+ constructor(config: PothosDrizzleSchemaConfig);
24
+ modelFor(type: GraphQLNamedType): TableRelationalConfig | undefined;
25
+ typeSelection(type: GraphQLNamedType): SelectionMap | undefined;
26
+ fieldSelection(field: GraphQLField<unknown, unknown>): SelectFn<SelectionMap> | import("drizzle-orm").DBQueryConfig<"one"> | undefined;
27
+ visitQuery({ columns, with: withSelection, extras, ...args }: SelectionMap, model: TableRelationalConfig, visit: DrizzleVisitor): void;
28
+ /**
29
+ * Drizzle's `extras` are functions, compared by identity: the inherited deep-equal would let
30
+ * two different functions computing the same shape merge.
31
+ */
32
+ computedConflicts(computed: ReadonlyMap<string, unknown>, name: string, value: unknown): boolean;
33
+ toQuery(node: DrizzleNode): SelectionMap;
34
+ /** The keys of a `with` map, resolved to the tables they target. */
35
+ private readRelations;
36
+ }
37
+ export declare const drizzleAdapter: import("@pothos/core").ContextCache<DrizzleAdapter, PothosDrizzleSchemaConfig, []>;
38
+ export {};
39
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/utils/adapter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,IAAI,EACT,WAAW,EACX,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEvE,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;AAChF,KAAK,cAAc,GAAG,YAAY,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;AAKxE;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,WAAW,CAAC,qBAAqB,EAAE,YAAY,CAAC;IAQtE,OAAO,CAAC,QAAQ,CAAC,MAAM;IAP1B,qBAAqB,EAAE,OAAO,CAAC;IAExC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAG5B;IAEJ,YAA6B,MAAM,EAAE,yBAAyB,EAG7D;IAGD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GACiB,qBAAqB,GAAG,SAAS,CAChF;IAED,aAAa,CAAC,IAAI,EAAE,gBAAgB,4BAKnC;IAED,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,mFAyCnD;IAED,UAAU,CACR,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,YAAY,EAC/D,KAAK,EAAE,qBAAqB,EAC5B,KAAK,EAAE,cAAc,QAqBtB;IAED;;;OAGG;IACM,iBAAiB,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,WAE9F;IAED,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CA6BvC;IAED,oEAAoE;IACpE,OAAO,CAAC,aAAa;CAyBtB;AAED,eAAO,MAAM,cAAc,oFAE1B,CAAC"}
@@ -0,0 +1,137 @@
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ import { createContextCache, PothosValidationError } from '@pothos/core';
15
+ import { NodeAdapter } from '@pothos/selection-mapper';
16
+ import { pathInfoFor } from './path-info.js';
17
+ import { omitUndefinedKeys } from './selections.js';
18
+ /** A map without `columns`: every column. Shared and never mutated. */ const ALL = Object.freeze({});
19
+ /**
20
+ * How drizzle selections (`DBQueryConfig`: `columns`, `with`, `extras` and query arguments) read
21
+ * onto the shared query tree, and how a node is written back. A node whose columns are `null`
22
+ * selects every column; a named-column node always adds the table's primary key so rows can be
23
+ * matched back to their parent.
24
+ *
25
+ * The merge, compare and conflict rules are `NodeAdapter`'s: this is the schema side, the key
26
+ * loop and `toQuery`. The schema config every one of them needs is the adapter's own state.
27
+ */ export class DrizzleAdapter extends NodeAdapter {
28
+ // Set by drizzleObject/drizzleInterface and propagated to implementing types by onTypeConfig.
29
+ modelFor(type) {
30
+ var _type_extensions;
31
+ return (_type_extensions = type.extensions) === null || _type_extensions === void 0 ? void 0 : _type_extensions.pothosDrizzleTable;
32
+ }
33
+ typeSelection(type) {
34
+ var _type_extensions;
35
+ // schema-builder stores `{ columns: {}, ...select }`, or `true` for every column.
36
+ const selection = (_type_extensions = type.extensions) === null || _type_extensions === void 0 ? void 0 : _type_extensions.pothosDrizzleSelect;
37
+ return selection === true ? ALL : selection || undefined;
38
+ }
39
+ fieldSelection(field) {
40
+ var _field_extensions;
41
+ const selection = (_field_extensions = field.extensions) === null || _field_extensions === void 0 ? void 0 : _field_extensions.pothosDrizzleSelect;
42
+ if (typeof selection !== 'function') {
43
+ return selection || undefined;
44
+ }
45
+ let compiled = this.fieldSelections.get(field);
46
+ if (!compiled) {
47
+ compiled = (args, context, nested, selected, position)=>{
48
+ // Keep the public metadata at the adapter boundary. Static query objects do not need
49
+ // either path array; callbacks that inspect metadata build them once per invocation.
50
+ let resolvedPath;
51
+ const pathInfo = {
52
+ get path () {
53
+ resolvedPath !== null && resolvedPath !== void 0 ? resolvedPath : resolvedPath = pathInfoFor(position);
54
+ return resolvedPath.path;
55
+ },
56
+ get segments () {
57
+ resolvedPath !== null && resolvedPath !== void 0 ? resolvedPath : resolvedPath = pathInfoFor(position);
58
+ return resolvedPath.segments;
59
+ }
60
+ };
61
+ return selection(args, context, (query, path, type)=>nested(// The public API also accepts false, which the walker treats as an empty seed.
62
+ typeof query === 'function' ? query(args, context, pathInfo) : query, path, type), selected, pathInfo);
63
+ };
64
+ this.fieldSelections.set(field, compiled);
65
+ }
66
+ return compiled;
67
+ }
68
+ visitQuery({ columns, with: withSelection, extras, ...args }, model, visit) {
69
+ this.readRelations(withSelection, model, visit);
70
+ visit.args(omitUndefinedKeys(args));
71
+ for (const key of Object.keys(extras !== null && extras !== void 0 ? extras : {})){
72
+ visit.computed(key, extras[key]);
73
+ }
74
+ if (!columns) {
75
+ // No `columns` means every column, which a node never goes back from.
76
+ visit.allColumns();
77
+ return;
78
+ }
79
+ for (const key of Object.keys(columns)){
80
+ if (columns[key]) {
81
+ visit.column(key);
82
+ }
83
+ }
84
+ }
85
+ /**
86
+ * Drizzle's `extras` are functions, compared by identity: the inherited deep-equal would let
87
+ * two different functions computing the same shape merge.
88
+ */ computedConflicts(computed, name, value) {
89
+ return computed.has(name) && computed.get(name) !== value;
90
+ }
91
+ toQuery(node) {
92
+ // `columns` stays present (as undefined) for an every-column node: it is what callers
93
+ // spreading or comparing the query have always seen.
94
+ const query = {
95
+ ...node.args,
96
+ columns: undefined,
97
+ with: {},
98
+ extras: {}
99
+ };
100
+ if (node.columns) {
101
+ query.columns = {};
102
+ for (const column of node.columns){
103
+ query.columns[column] = true;
104
+ }
105
+ for (const column of this.config.getPrimaryKey(node.model.name)){
106
+ query.columns[this.config.columnToTsName(column)] = true;
107
+ }
108
+ }
109
+ for (const [key, value] of node.computed){
110
+ query.extras[key] = value;
111
+ }
112
+ for (const [key, child] of node.relations){
113
+ query.with[key] = this.toQuery(child);
114
+ }
115
+ return query;
116
+ }
117
+ /** The keys of a `with` map, resolved to the tables they target. */ readRelations(withSelection, model, visit) {
118
+ for (const key of Object.keys(withSelection !== null && withSelection !== void 0 ? withSelection : {})){
119
+ const value = withSelection[key];
120
+ if (!value) {
121
+ continue;
122
+ }
123
+ const relationConfig = model.relations[key];
124
+ if (!relationConfig) {
125
+ throw new PothosValidationError(`Relation ${key} does not exist on ${model.name}`);
126
+ }
127
+ visit.relation(key, this.config.relations[relationConfig.targetTableName], value === true ? ALL : value);
128
+ }
129
+ }
130
+ constructor(config){
131
+ super(), _define_property(this, "config", void 0), _define_property(this, "skipDeferredFragments", void 0), _define_property(this, "fieldSelections", void 0), this.config = config, this.fieldSelections = new WeakMap();
132
+ this.skipDeferredFragments = config.skipDeferredFragments;
133
+ }
134
+ }
135
+ export const drizzleAdapter = createContextCache((config)=>new DrizzleAdapter(config));
136
+
137
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/adapter.ts"],"names":["createContextCache","PothosValidationError","NodeAdapter","pathInfoFor","omitUndefinedKeys","ALL","Object","freeze","DrizzleAdapter","modelFor","type","extensions","pothosDrizzleTable","typeSelection","selection","pothosDrizzleSelect","undefined","fieldSelection","field","compiled","fieldSelections","get","args","context","nested","selected","position","resolvedPath","pathInfo","path","segments","query","set","visitQuery","columns","with","withSelection","extras","model","visit","readRelations","key","keys","computed","allColumns","column","computedConflicts","name","value","has","toQuery","node","config","getPrimaryKey","columnToTsName","child","relations","relationConfig","relation","targetTableName","skipDeferredFragments","WeakMap","drizzleAdapter"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The guard behind `awaitSelections`. A query is only built asynchronously when a selection
3
+ * beneath the field is async, which the call site cannot see: what it plans is the rest of the
4
+ * document. Rather than hand back a promise where the declared type says there is none — which
5
+ * spreads into a drizzle call as one unusable key, with no type error — the promise is refused
6
+ * unless the caller asked for it.
7
+ *
8
+ * The refused promise is left handled, so a plan that also rejects does not report an unhandled
9
+ * rejection on the way out.
10
+ */
11
+ export declare function checkAwaitSelections<T>(value: T, awaitSelections: boolean | undefined, caller: string, subject: string): T;
12
+ //# sourceMappingURL=await-selections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"await-selections.d.ts","sourceRoot":"","sources":["../../src/utils/await-selections.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,KAAK,EAAE,CAAC,EACR,eAAe,EAAE,OAAO,GAAG,SAAS,EACpC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,CAAC,CAaH"}
@@ -0,0 +1,19 @@
1
+ import { isThenable, PothosValidationError } from '@pothos/core';
2
+ /**
3
+ * The guard behind `awaitSelections`. A query is only built asynchronously when a selection
4
+ * beneath the field is async, which the call site cannot see: what it plans is the rest of the
5
+ * document. Rather than hand back a promise where the declared type says there is none — which
6
+ * spreads into a drizzle call as one unusable key, with no type error — the promise is refused
7
+ * unless the caller asked for it.
8
+ *
9
+ * The refused promise is left handled, so a plan that also rejects does not report an unhandled
10
+ * rejection on the way out.
11
+ */ export function checkAwaitSelections(value, awaitSelections, caller, subject) {
12
+ if (awaitSelections || !isThenable(value)) {
13
+ return value;
14
+ }
15
+ value.then(()=>{}, ()=>{});
16
+ throw new PothosValidationError(`${caller} could not build the query for ${subject} synchronously, because a selection beneath it is async. Pass awaitSelections: true and await the result.`);
17
+ }
18
+
19
+ //# sourceMappingURL=await-selections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/await-selections.ts"],"names":["isThenable","PothosValidationError","checkAwaitSelections","value","awaitSelections","caller","subject","then"],"mappings":"AAAA,SAASA,UAAU,EAAEC,qBAAqB,QAAQ,eAAe;AAEjE;;;;;;;;;CASC,GACD,OAAO,SAASC,qBACdC,KAAQ,EACRC,eAAoC,EACpCC,MAAc,EACdC,OAAe;IAEf,IAAIF,mBAAmB,CAACJ,WAAWG,QAAQ;QACzC,OAAOA;IACT;IAEAA,MAAMI,IAAI,CACR,KAAO,GACP,KAAO;IAGT,MAAM,IAAIN,sBACR,GAAGI,OAAO,+BAA+B,EAAEC,QAAQ,yGAAyG,CAAC;AAEjK"}
@@ -1,5 +1,5 @@
1
1
  import { type SchemaTypes } from '@pothos/core';
2
- import { type AnyRelations, type Column } from 'drizzle-orm';
2
+ import { type AnyRelations, type Column, type Table } from 'drizzle-orm';
3
3
  export interface PothosDrizzleSchemaConfig {
4
4
  skipDeferredFragments: boolean;
5
5
  relations: AnyRelations;
@@ -13,15 +13,35 @@ export declare const drizzleClientCache: import("@pothos/core").ContextCache<imp
13
13
  readonly _: {
14
14
  readonly relations: AnyRelations;
15
15
  };
16
- query: {};
16
+ query: Record<string, {
17
+ findMany: (config: never) => PromiseLike<Record<string, unknown>[]>;
18
+ }>;
17
19
  $count: (source: import("drizzle-orm").SQL<unknown> | import("drizzle-orm").SQLWrapper<unknown> | import("drizzle-orm").SchemaEntry, filter?: import("drizzle-orm").SQL) => import("drizzle-orm").SQL<number>;
20
+ select: (fields: Record<string, import("drizzle-orm").SQL>) => {
21
+ from(table: Table<any>): {
22
+ innerJoin(table: Table<any>, on: import("drizzle-orm").SQL): {
23
+ where: (filter?: import("drizzle-orm").SQL) => import("drizzle-orm").SQLWrapper;
24
+ };
25
+ where: (filter?: import("drizzle-orm").SQL) => import("drizzle-orm").SQLWrapper;
26
+ };
27
+ };
18
28
  }, object, []>, PothosSchemaTypes.SchemaBuilder<SchemaTypes>, []>;
19
29
  export declare function getSchemaConfig<Types extends SchemaTypes>(builder: PothosSchemaTypes.SchemaBuilder<Types>): PothosDrizzleSchemaConfig;
20
30
  export declare function getClient<Types extends SchemaTypes>(builder: PothosSchemaTypes.SchemaBuilder<Types>, context: object): {
21
31
  readonly _: {
22
32
  readonly relations: AnyRelations;
23
33
  };
24
- query: {};
34
+ query: Record<string, {
35
+ findMany: (config: never) => PromiseLike<Record<string, unknown>[]>;
36
+ }>;
25
37
  $count: (source: import("drizzle-orm").SQL<unknown> | import("drizzle-orm").SQLWrapper<unknown> | import("drizzle-orm").SchemaEntry, filter?: import("drizzle-orm").SQL) => import("drizzle-orm").SQL<number>;
38
+ select: (fields: Record<string, import("drizzle-orm").SQL>) => {
39
+ from(table: Table<any>): {
40
+ innerJoin(table: Table<any>, on: import("drizzle-orm").SQL): {
41
+ where: (filter?: import("drizzle-orm").SQL) => import("drizzle-orm").SQLWrapper;
42
+ };
43
+ where: (filter?: import("drizzle-orm").SQL) => import("drizzle-orm").SQLWrapper;
44
+ };
45
+ };
26
46
  };
27
47
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,MAAM,EAAmC,MAAM,aAAa,CAAC;AAG9F,MAAM,WAAW,yBAAyB;IACxC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,SAAS,EAAE,YAAY,CAAC;IACxB,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,GAAG,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,GAAG,IAAI,CAAC;IACvD,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAC/C,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,EAAE,CAAC;IACxD,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C;AA2JD,eAAO,MAAM,kBAAkB;;;;;;iEAc9B,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,SAAS,WAAW,EACvD,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,6BAGhD;AAED,wBAAgB,SAAS,CAAC,KAAK,SAAS,WAAW,EACjD,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,OAAO,EAAE,MAAM;;;;;;EAGhB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,MAAM,EAAuB,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAG9F,MAAM,WAAW,yBAAyB;IACxC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,SAAS,EAAE,YAAY,CAAC;IACxB,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,GAAG,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,GAAG,IAAI,CAAC;IACvD,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAC/C,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,EAAE,CAAC;IACxD,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C;AA2JD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;iEAU9B,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,SAAS,WAAW,EACvD,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,6BAGhD;AAED,wBAAgB,SAAS,CAAC,KAAK,SAAS,WAAW,EACjD,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;EAGhB"}
@@ -129,10 +129,7 @@ const configCache = createContextCache((builder)=>{
129
129
  export const drizzleClientCache = createContextCache((builder)=>{
130
130
  const clientConfig = builder.options.drizzle.client;
131
131
  const getClient = typeof clientConfig === 'function' ? createContextCache((ctx)=>clientConfig(ctx)) : (_ctx)=>clientConfig;
132
- return createContextCache((context)=>{
133
- const client = getClient(context);
134
- return client;
135
- });
132
+ return createContextCache(getClient);
136
133
  });
137
134
  export function getSchemaConfig(builder) {
138
135
  return configCache(builder);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/config.ts"],"names":["createContextCache","getColumns","isTable","configCache","builder","relations","options","drizzle","client","_","columnNameMappings","Map","Object","values","forEach","table","entries","tsName","col","set","buildTableConfig","tableName","tableConfig","getTableConfig","tableColumns","toTableColumn","column","find","candidate","name","columns","map","primaryKeys","key","uniqueConstraints","constraint","tableConfigs","get","getUniqueConstraints","filter","primary","isUnique","length","findTieBreaker","primaryKey","compositeKey","uniqueColumn","notNull","uniqueConstraint","every","findPrimaryKey","skipDeferredFragments","columnToTsName","Error","String","getPrimaryKey","drizzleClientCache","clientConfig","getClient","ctx","_ctx","context","getSchemaConfig"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utils/config.ts"],"names":["createContextCache","getColumns","isTable","configCache","builder","relations","options","drizzle","client","_","columnNameMappings","Map","Object","values","forEach","table","entries","tsName","col","set","buildTableConfig","tableName","tableConfig","getTableConfig","tableColumns","toTableColumn","column","find","candidate","name","columns","map","primaryKeys","key","uniqueConstraints","constraint","tableConfigs","get","getUniqueConstraints","filter","primary","isUnique","length","findTieBreaker","primaryKey","compositeKey","uniqueColumn","notNull","uniqueConstraint","every","findPrimaryKey","skipDeferredFragments","columnToTsName","Error","String","getPrimaryKey","drizzleClientCache","clientConfig","getClient","ctx","_ctx","getSchemaConfig","context"],"mappings":"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"}