@pothos/plugin-drizzle 0.18.1 → 0.19.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.
- package/CHANGELOG.md +357 -0
- package/README.md +1199 -563
- package/dts/connection-helpers.d.ts +18 -8
- package/dts/connection-helpers.d.ts.map +1 -1
- package/dts/drizzle-field-builder.d.ts +4 -11
- package/dts/drizzle-field-builder.d.ts.map +1 -1
- package/dts/global-types.d.ts.map +1 -1
- package/dts/index.d.ts.map +1 -1
- package/dts/model-loader.d.ts +18 -17
- package/dts/model-loader.d.ts.map +1 -1
- package/dts/types.d.ts +82 -22
- package/dts/types.d.ts.map +1 -1
- package/dts/utils/adapter.d.ts +39 -0
- package/dts/utils/adapter.d.ts.map +1 -0
- package/dts/utils/await-selections.d.ts +12 -0
- package/dts/utils/await-selections.d.ts.map +1 -0
- package/dts/utils/config.d.ts +23 -3
- package/dts/utils/config.d.ts.map +1 -1
- package/dts/utils/cursors.d.ts +6 -6
- package/dts/utils/cursors.d.ts.map +1 -1
- package/dts/utils/map-query.d.ts +22 -21
- package/dts/utils/map-query.d.ts.map +1 -1
- package/dts/utils/path-info.d.ts +13 -0
- package/dts/utils/path-info.d.ts.map +1 -0
- package/dts/utils/relation-filter.d.ts +48 -0
- package/dts/utils/relation-filter.d.ts.map +1 -0
- package/dts/utils/selections.d.ts +2 -21
- package/dts/utils/selections.d.ts.map +1 -1
- package/esm/connection-helpers.d.ts +18 -8
- package/esm/connection-helpers.d.ts.map +1 -1
- package/esm/connection-helpers.js +52 -19
- package/esm/connection-helpers.js.map +1 -1
- package/esm/drizzle-field-builder.d.ts +4 -11
- package/esm/drizzle-field-builder.d.ts.map +1 -1
- package/esm/drizzle-field-builder.js +138 -96
- package/esm/drizzle-field-builder.js.map +1 -1
- package/esm/field-builder.js +61 -47
- package/esm/field-builder.js.map +1 -1
- package/esm/global-types.d.ts.map +1 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +37 -61
- package/esm/index.js.map +1 -1
- package/esm/model-loader.d.ts +18 -17
- package/esm/model-loader.d.ts.map +1 -1
- package/esm/model-loader.js +76 -45
- package/esm/model-loader.js.map +1 -1
- package/esm/schema-builder.js +40 -149
- package/esm/schema-builder.js.map +1 -1
- package/esm/types.d.ts +82 -22
- package/esm/types.d.ts.map +1 -1
- package/esm/types.js.map +1 -1
- package/esm/utils/adapter.d.ts +39 -0
- package/esm/utils/adapter.d.ts.map +1 -0
- package/esm/utils/adapter.js +137 -0
- package/esm/utils/adapter.js.map +1 -0
- package/esm/utils/await-selections.d.ts +12 -0
- package/esm/utils/await-selections.d.ts.map +1 -0
- package/esm/utils/await-selections.js +19 -0
- package/esm/utils/await-selections.js.map +1 -0
- package/esm/utils/config.d.ts +23 -3
- package/esm/utils/config.d.ts.map +1 -1
- package/esm/utils/config.js +1 -4
- package/esm/utils/config.js.map +1 -1
- package/esm/utils/cursors.d.ts +6 -6
- package/esm/utils/cursors.d.ts.map +1 -1
- package/esm/utils/cursors.js +75 -92
- package/esm/utils/cursors.js.map +1 -1
- package/esm/utils/map-query.d.ts +22 -21
- package/esm/utils/map-query.d.ts.map +1 -1
- package/esm/utils/map-query.js +40 -354
- package/esm/utils/map-query.js.map +1 -1
- package/esm/utils/path-info.d.ts +13 -0
- package/esm/utils/path-info.d.ts.map +1 -0
- package/esm/utils/path-info.js +37 -0
- package/esm/utils/path-info.js.map +1 -0
- package/esm/utils/relation-filter.d.ts +48 -0
- package/esm/utils/relation-filter.d.ts.map +1 -0
- package/esm/utils/relation-filter.js +92 -0
- package/esm/utils/relation-filter.js.map +1 -0
- package/esm/utils/selections.d.ts +2 -21
- package/esm/utils/selections.d.ts.map +1 -1
- package/esm/utils/selections.js +1 -133
- package/esm/utils/selections.js.map +1 -1
- package/lib/connection-helpers.js +51 -18
- package/lib/connection-helpers.js.map +1 -1
- package/lib/drizzle-field-builder.js +136 -94
- package/lib/drizzle-field-builder.js.map +1 -1
- package/lib/field-builder.js +58 -44
- package/lib/field-builder.js.map +1 -1
- package/lib/index.js +36 -60
- package/lib/index.js.map +1 -1
- package/lib/model-loader.js +76 -45
- package/lib/model-loader.js.map +1 -1
- package/lib/schema-builder.js +40 -149
- package/lib/schema-builder.js.map +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/adapter.js +147 -0
- package/lib/utils/adapter.js.map +1 -0
- package/lib/utils/await-selections.js +20 -0
- package/lib/utils/await-selections.js.map +1 -0
- package/lib/utils/config.js +1 -4
- package/lib/utils/config.js.map +1 -1
- package/lib/utils/cursors.js +67 -90
- package/lib/utils/cursors.js.map +1 -1
- package/lib/utils/map-query.js +28 -359
- package/lib/utils/map-query.js.map +1 -1
- package/lib/utils/path-info.js +39 -0
- package/lib/utils/path-info.js.map +1 -0
- package/lib/utils/relation-filter.js +91 -0
- package/lib/utils/relation-filter.js.map +1 -0
- package/lib/utils/selections.js +3 -158
- package/lib/utils/selections.js.map +1 -1
- package/package.json +10 -8
- package/src/connection-helpers.ts +168 -54
- package/src/drizzle-field-builder.ts +296 -176
- package/src/field-builder.ts +110 -77
- package/src/global-types.ts +0 -32
- package/src/index.ts +42 -68
- package/src/model-loader.ts +110 -71
- package/src/schema-builder.ts +76 -169
- package/src/types.ts +178 -46
- package/src/utils/adapter.ts +197 -0
- package/src/utils/await-selections.ts +31 -0
- package/src/utils/config.ts +1 -5
- package/src/utils/cursors.ts +84 -83
- package/src/utils/map-query.ts +51 -734
- package/src/utils/path-info.ts +40 -0
- package/src/utils/relation-filter.ts +185 -0
- package/src/utils/selections.ts +2 -207
- package/dts/utils/deep-equal.d.ts +0 -2
- package/dts/utils/deep-equal.d.ts.map +0 -1
- package/dts/utils/drizzle-graphql.d.ts +0 -2
- package/dts/utils/drizzle-graphql.d.ts.map +0 -1
- package/dts/utils/loader-map.d.ts +0 -11
- package/dts/utils/loader-map.d.ts.map +0 -1
- package/dts/utils/usage.d.ts +0 -5
- package/dts/utils/usage.d.ts.map +0 -1
- package/esm/utils/deep-equal.d.ts +0 -2
- package/esm/utils/deep-equal.d.ts.map +0 -1
- package/esm/utils/deep-equal.js +0 -45
- package/esm/utils/deep-equal.js.map +0 -1
- package/esm/utils/drizzle-graphql.d.ts +0 -2
- package/esm/utils/drizzle-graphql.d.ts.map +0 -1
- package/esm/utils/drizzle-graphql.js +0 -232
- package/esm/utils/drizzle-graphql.js.map +0 -1
- package/esm/utils/loader-map.d.ts +0 -11
- package/esm/utils/loader-map.d.ts.map +0 -1
- package/esm/utils/loader-map.js +0 -35
- package/esm/utils/loader-map.js.map +0 -1
- package/esm/utils/usage.d.ts +0 -5
- package/esm/utils/usage.d.ts.map +0 -1
- package/esm/utils/usage.js +0 -59
- package/esm/utils/usage.js.map +0 -1
- package/lib/utils/deep-equal.js +0 -55
- package/lib/utils/deep-equal.js.map +0 -1
- package/lib/utils/drizzle-graphql.js +0 -236
- package/lib/utils/drizzle-graphql.js.map +0 -1
- package/lib/utils/loader-map.js +0 -56
- package/lib/utils/loader-map.js.map +0 -1
- package/lib/utils/usage.js +0 -83
- package/lib/utils/usage.js.map +0 -1
- package/src/utils/deep-equal.ts +0 -57
- package/src/utils/drizzle-graphql.ts +0 -274
- package/src/utils/loader-map.ts +0 -49
- 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;
|
|
@@ -15,12 +20,23 @@ export interface PathInfo {
|
|
|
15
20
|
path: string[];
|
|
16
21
|
segments: FieldPathInfo[];
|
|
17
22
|
}
|
|
18
|
-
export type DrizzleClient<TCountSource = Table | SQL | SQLWrapper
|
|
23
|
+
export type DrizzleClient<TCountSource = Table | SQL | SQLWrapper, TTable = Extract<TCountSource, Table>> = {
|
|
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: TTable): {
|
|
34
|
+
innerJoin(table: TTable, 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: {
|
|
@@ -32,11 +48,17 @@ type GetTableConfigFn<TTable = Table> = (table: TTable) => {
|
|
|
32
48
|
readonly columns: Column[];
|
|
33
49
|
};
|
|
34
50
|
type AnyRelationTable<Types extends SchemaTypes> = Types['DrizzleRelations'][keyof Types['DrizzleRelations']]['table'];
|
|
35
|
-
type DrizzleClientForTypes<Types extends SchemaTypes> = DrizzleClient<AnyRelationTable<Types> | SQL | SQLWrapper>;
|
|
51
|
+
type DrizzleClientForTypes<Types extends SchemaTypes> = DrizzleClient<AnyRelationTable<Types> | SQL | SQLWrapper, Table extends AnyRelationTable<Types> ? Table : never>;
|
|
36
52
|
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
|
-
|
|
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
|
-
|
|
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,14 +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
|
-
}
|
|
213
273
|
export { DrizzleInterfaceRef, type DrizzleRef } from './interface-ref.js';
|
|
214
274
|
export { DrizzleObjectRef } from './object-ref.js';
|
|
215
275
|
//# sourceMappingURL=types.d.ts.map
|
package/esm/types.d.ts.map
CHANGED
|
@@ -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":"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"}
|
package/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types.ts"],"names":["drizzleTableName","Symbol","for","DrizzleInterfaceRef","DrizzleObjectRef"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/types.ts"],"names":["drizzleTableName","Symbol","for","DrizzleInterfaceRef","DrizzleObjectRef"],"mappings":"AAsIA,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"}
|
package/esm/utils/config.d.ts
CHANGED
|
@@ -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<import("drizzle-orm").TableConfig<import("drizzle-orm").Columns>>): {
|
|
22
|
+
innerJoin(table: Table<import("drizzle-orm").TableConfig<import("drizzle-orm").Columns>>, 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<import("drizzle-orm").TableConfig<import("drizzle-orm").Columns>>): {
|
|
40
|
+
innerJoin(table: Table<import("drizzle-orm").TableConfig<import("drizzle-orm").Columns>>, 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,
|
|
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"}
|
package/esm/utils/config.js
CHANGED
|
@@ -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(
|
|
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);
|
package/esm/utils/config.js.map
CHANGED
|
@@ -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","
|
|
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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"}
|