@pothos/plugin-drizzle 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/LICENSE +6 -0
- package/README.md +437 -0
- package/TODO.md +21 -0
- package/drizzle/meta/_journal.json +1 -0
- package/drizzle.config.ts +10 -0
- package/dts/drizzle-field-builder.d.ts +124 -0
- package/dts/drizzle-field-builder.d.ts.map +1 -0
- package/dts/field-builder.d.ts +2 -0
- package/dts/field-builder.d.ts.map +1 -0
- package/dts/global-types.d.ts +92 -0
- package/dts/global-types.d.ts.map +1 -0
- package/dts/index.d.ts +13 -0
- package/dts/index.d.ts.map +1 -0
- package/dts/interface-ref.d.ts +9 -0
- package/dts/interface-ref.d.ts.map +1 -0
- package/dts/model-loader.d.ts +44 -0
- package/dts/model-loader.d.ts.map +1 -0
- package/dts/node-ref.d.ts +5 -0
- package/dts/node-ref.d.ts.map +1 -0
- package/dts/object-ref.d.ts +14 -0
- package/dts/object-ref.d.ts.map +1 -0
- package/dts/schema-builder.d.ts +2 -0
- package/dts/schema-builder.d.ts.map +1 -0
- package/dts/types.d.ts +147 -0
- package/dts/types.d.ts.map +1 -0
- package/dts/utils/config.d.ts +7 -0
- package/dts/utils/config.d.ts.map +1 -0
- package/dts/utils/cursors.d.ts +58 -0
- package/dts/utils/cursors.d.ts.map +1 -0
- package/dts/utils/deep-equal.d.ts +2 -0
- package/dts/utils/deep-equal.d.ts.map +1 -0
- package/dts/utils/drizzle-graphql.d.ts +18 -0
- package/dts/utils/drizzle-graphql.d.ts.map +1 -0
- package/dts/utils/loader-map.d.ts +11 -0
- package/dts/utils/loader-map.d.ts.map +1 -0
- package/dts/utils/map-query.d.ts +30 -0
- package/dts/utils/map-query.d.ts.map +1 -0
- package/dts/utils/refs.d.ts +5 -0
- package/dts/utils/refs.d.ts.map +1 -0
- package/dts/utils/selections.d.ts +22 -0
- package/dts/utils/selections.d.ts.map +1 -0
- package/dts/utils/usage.d.ts +5 -0
- package/dts/utils/usage.d.ts.map +1 -0
- package/esm/drizzle-field-builder.d.ts +216 -0
- package/esm/drizzle-field-builder.d.ts.map +1 -0
- package/esm/field-builder.d.ts +2 -0
- package/esm/field-builder.d.ts.map +1 -0
- package/esm/global-types.d.ts +124 -0
- package/esm/global-types.d.ts.map +1 -0
- package/esm/index.d.ts +13 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/interface-ref.d.ts +9 -0
- package/esm/interface-ref.d.ts.map +1 -0
- package/esm/model-loader.d.ts +45 -0
- package/esm/model-loader.d.ts.map +1 -0
- package/esm/node-ref.d.ts +5 -0
- package/esm/node-ref.d.ts.map +1 -0
- package/esm/object-ref.d.ts +14 -0
- package/esm/object-ref.d.ts.map +1 -0
- package/esm/package.json +3 -0
- package/esm/schema-builder.d.ts +2 -0
- package/esm/schema-builder.d.ts.map +1 -0
- package/esm/src/drizzle-field-builder.js +215 -0
- package/esm/src/drizzle-field-builder.js.map +1 -0
- package/esm/src/field-builder.js +77 -0
- package/esm/src/field-builder.js.map +1 -0
- package/esm/src/global-types.js +2 -0
- package/esm/src/global-types.js.map +1 -0
- package/esm/src/index.js +107 -0
- package/esm/src/index.js.map +1 -0
- package/esm/src/interface-ref.js +26 -0
- package/esm/src/interface-ref.js.map +1 -0
- package/esm/src/model-loader.js +168 -0
- package/esm/src/model-loader.js.map +1 -0
- package/esm/src/node-ref.js +4 -0
- package/esm/src/node-ref.js.map +1 -0
- package/esm/src/object-ref.js +38 -0
- package/esm/src/object-ref.js.map +1 -0
- package/esm/src/schema-builder.js +190 -0
- package/esm/src/schema-builder.js.map +1 -0
- package/esm/src/types.js +2 -0
- package/esm/src/types.js.map +1 -0
- package/esm/src/utils/config.js +15 -0
- package/esm/src/utils/config.js.map +1 -0
- package/esm/src/utils/cursors.js +316 -0
- package/esm/src/utils/cursors.js.map +1 -0
- package/esm/src/utils/deep-equal.js +44 -0
- package/esm/src/utils/deep-equal.js.map +1 -0
- package/esm/src/utils/drizzle-graphql.js +176 -0
- package/esm/src/utils/drizzle-graphql.js.map +1 -0
- package/esm/src/utils/loader-map.js +35 -0
- package/esm/src/utils/loader-map.js.map +1 -0
- package/esm/src/utils/map-query.js +284 -0
- package/esm/src/utils/map-query.js.map +1 -0
- package/esm/src/utils/refs.js +14 -0
- package/esm/src/utils/refs.js.map +1 -0
- package/esm/src/utils/selections.js +136 -0
- package/esm/src/utils/selections.js.map +1 -0
- package/esm/src/utils/usage.js +59 -0
- package/esm/src/utils/usage.js.map +1 -0
- package/esm/types.d.ts +161 -0
- package/esm/types.d.ts.map +1 -0
- package/esm/utils/config.d.ts +7 -0
- package/esm/utils/config.d.ts.map +1 -0
- package/esm/utils/cursors.d.ts +58 -0
- package/esm/utils/cursors.d.ts.map +1 -0
- package/esm/utils/deep-equal.d.ts +2 -0
- package/esm/utils/deep-equal.d.ts.map +1 -0
- package/esm/utils/drizzle-graphql.d.ts +18 -0
- package/esm/utils/drizzle-graphql.d.ts.map +1 -0
- package/esm/utils/loader-map.d.ts +11 -0
- package/esm/utils/loader-map.d.ts.map +1 -0
- package/esm/utils/map-query.d.ts +30 -0
- package/esm/utils/map-query.d.ts.map +1 -0
- package/esm/utils/refs.d.ts +5 -0
- package/esm/utils/refs.d.ts.map +1 -0
- package/esm/utils/selections.d.ts +22 -0
- package/esm/utils/selections.d.ts.map +1 -0
- package/esm/utils/usage.d.ts +5 -0
- package/esm/utils/usage.d.ts.map +1 -0
- package/lib/src/drizzle-field-builder.js +225 -0
- package/lib/src/drizzle-field-builder.js.map +1 -0
- package/lib/src/field-builder.js +82 -0
- package/lib/src/field-builder.js.map +1 -0
- package/lib/src/global-types.js +6 -0
- package/lib/src/global-types.js.map +1 -0
- package/lib/src/index.js +180 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/interface-ref.js +36 -0
- package/lib/src/interface-ref.js.map +1 -0
- package/lib/src/model-loader.js +176 -0
- package/lib/src/model-loader.js.map +1 -0
- package/lib/src/node-ref.js +15 -0
- package/lib/src/node-ref.js.map +1 -0
- package/lib/src/object-ref.js +56 -0
- package/lib/src/object-ref.js.map +1 -0
- package/lib/src/schema-builder.js +236 -0
- package/lib/src/schema-builder.js.map +1 -0
- package/lib/src/types.js +13 -0
- package/lib/src/types.js.map +1 -0
- package/lib/src/utils/config.js +26 -0
- package/lib/src/utils/config.js.map +1 -0
- package/lib/src/utils/cursors.js +362 -0
- package/lib/src/utils/cursors.js.map +1 -0
- package/lib/src/utils/deep-equal.js +55 -0
- package/lib/src/utils/deep-equal.js.map +1 -0
- package/lib/src/utils/drizzle-graphql.js +192 -0
- package/lib/src/utils/drizzle-graphql.js.map +1 -0
- package/lib/src/utils/loader-map.js +57 -0
- package/lib/src/utils/loader-map.js.map +1 -0
- package/lib/src/utils/map-query.js +308 -0
- package/lib/src/utils/map-query.js.map +1 -0
- package/lib/src/utils/refs.js +33 -0
- package/lib/src/utils/refs.js.map +1 -0
- package/lib/src/utils/selections.js +163 -0
- package/lib/src/utils/selections.js.map +1 -0
- package/lib/src/utils/usage.js +84 -0
- package/lib/src/utils/usage.js.map +1 -0
- package/package.json +66 -0
- package/src/drizzle-field-builder.ts +500 -0
- package/src/field-builder.ts +168 -0
- package/src/global-types.ts +481 -0
- package/src/index.ts +175 -0
- package/src/interface-ref.ts +24 -0
- package/src/model-loader.ts +235 -0
- package/src/node-ref.ts +8 -0
- package/src/object-ref.ts +51 -0
- package/src/schema-builder.ts +299 -0
- package/src/types.ts +640 -0
- package/src/utils/config.ts +28 -0
- package/src/utils/cursors.ts +446 -0
- package/src/utils/deep-equal.ts +58 -0
- package/src/utils/drizzle-graphql.ts +235 -0
- package/src/utils/loader-map.ts +51 -0
- package/src/utils/map-query.ts +582 -0
- package/src/utils/refs.ts +25 -0
- package/src/utils/selections.ts +209 -0
- package/src/utils/usage.ts +64 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { GraphQLNamedType, GraphQLResolveInfo } from 'graphql';
|
|
2
|
+
import { SelectionMap, SelectionState } from './selections';
|
|
3
|
+
import { PothosDrizzleSchemaConfig } from './config';
|
|
4
|
+
export interface IndirectInclude {
|
|
5
|
+
getType: () => string;
|
|
6
|
+
path?: {
|
|
7
|
+
type?: string;
|
|
8
|
+
name: string;
|
|
9
|
+
}[];
|
|
10
|
+
paths?: {
|
|
11
|
+
type?: string;
|
|
12
|
+
name: string;
|
|
13
|
+
}[][];
|
|
14
|
+
}
|
|
15
|
+
export interface QueryFromInfoOptions<T extends SelectionMap> {
|
|
16
|
+
config: PothosDrizzleSchemaConfig;
|
|
17
|
+
context: object;
|
|
18
|
+
info: GraphQLResolveInfo;
|
|
19
|
+
typeName?: string;
|
|
20
|
+
select?: T;
|
|
21
|
+
path?: string[];
|
|
22
|
+
paths?: string[][];
|
|
23
|
+
withUsageCheck?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare function queryFromInfo<T extends SelectionMap>({ withUsageCheck, ...options }: QueryFromInfoOptions<T>): T;
|
|
26
|
+
export declare function stateFromInfo<T extends SelectionMap>({ config, context, info, typeName, select, path, paths, }: QueryFromInfoOptions<T>): SelectionState;
|
|
27
|
+
export declare function selectionStateFromInfo(config: PothosDrizzleSchemaConfig, context: object, info: GraphQLResolveInfo, typeName?: string): SelectionState;
|
|
28
|
+
export declare function getIndirectType(type: GraphQLNamedType, info: GraphQLResolveInfo): GraphQLNamedType;
|
|
29
|
+
export declare function normalizeInclude(path: string[], type: GraphQLNamedType, expectedType?: GraphQLNamedType): IndirectInclude;
|
|
30
|
+
//# sourceMappingURL=map-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-query.d.ts","sourceRoot":"","sources":["../../src/utils/map-query.ts"],"names":[],"mappings":"AAOA,OAAO,EASL,gBAAgB,EAEhB,kBAAkB,EAOnB,MAAM,SAAS,CAAC;AAIjB,OAAO,EAIL,YAAY,EACZ,cAAc,EAEf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzC,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,EAAE,CAAC;CAC7C;AAwVD,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,YAAY;IAC1D,MAAM,EAAE,yBAAyB,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,EACpD,cAAc,EACd,GAAG,OAAO,EACX,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAQ7B;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,EACpD,MAAM,EACN,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,IAAS,EACT,KAAU,GACX,EAAE,oBAAoB,CAAC,CAAC,CAAC,kBAsDzB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,EACxB,QAAQ,CAAC,EAAE,MAAM,kBAelB;AAyBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,oBAU/E;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,gBAAgB,EACtB,YAAY,CAAC,EAAE,gBAAgB,GAC9B,eAAe,CA+BjB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SchemaTypes } from '@pothos/core';
|
|
2
|
+
import { DrizzleRef } from '../interface-ref';
|
|
3
|
+
export declare const refMap: WeakMap<object, Map<string, DrizzleRef<never>>>;
|
|
4
|
+
export declare function getRefFromModel<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, type?: 'interface' | 'object'): DrizzleRef<Types>;
|
|
5
|
+
//# sourceMappingURL=refs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../src/utils/refs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAuB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnE,eAAO,MAAM,MAAM,iDAAwD,CAAC;AAE5E,wBAAgB,eAAe,CAAC,KAAK,SAAS,WAAW,EACvD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,IAAI,GAAE,WAAW,GAAG,QAAmB,GACtC,UAAU,CAAC,KAAK,CAAC,CAcnB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DBQueryConfig, SQL, TableRelationalConfig } from 'drizzle-orm';
|
|
2
|
+
import { LoaderMappings } from './loader-map';
|
|
3
|
+
import { PothosDrizzleSchemaConfig } from './config';
|
|
4
|
+
export interface SelectionState {
|
|
5
|
+
table: TableRelationalConfig;
|
|
6
|
+
query: object;
|
|
7
|
+
allColumns: boolean;
|
|
8
|
+
columns: Set<string>;
|
|
9
|
+
with: Map<string, SelectionState>;
|
|
10
|
+
extras: Map<string, SQL.Aliased>;
|
|
11
|
+
mappings: LoaderMappings;
|
|
12
|
+
parent?: SelectionState;
|
|
13
|
+
depth: number;
|
|
14
|
+
}
|
|
15
|
+
export type SelectionMap = DBQueryConfig<'one', false>;
|
|
16
|
+
export declare function selectionCompatible(state: SelectionState, selectionMap: SelectionMap | boolean, ignoreQuery?: boolean): boolean;
|
|
17
|
+
export declare function stateCompatible(state: SelectionState, newState: SelectionState, ignoreQuery?: boolean): boolean;
|
|
18
|
+
export declare function mergeState(state: SelectionState, newState: SelectionState): void;
|
|
19
|
+
export declare function createState(table: TableRelationalConfig, parent?: SelectionState): SelectionState;
|
|
20
|
+
export declare function mergeSelection(config: PothosDrizzleSchemaConfig, state: SelectionState, { with: withSelection, extras, columns, ...query }: SelectionMap): void;
|
|
21
|
+
export declare function selectionToQuery(state: SelectionState): SelectionMap;
|
|
22
|
+
//# sourceMappingURL=selections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selections.d.ts","sourceRoot":"","sources":["../../src/utils/selections.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EAEb,GAAG,EACH,qBAAqB,EAGtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,qBAAqB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEvD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,YAAY,GAAG,OAAO,EACpC,WAAW,UAAQ,GAClB,OAAO,CAmCT;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,cAAc,EACxB,WAAW,UAAQ,GAClB,OAAO,CAQT;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,QAoBzE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,cAAc,CAYjG;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,yBAAyB,EACjC,KAAK,EAAE,cAAc,EACrB,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,QAsDjE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,CA8BpE"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const usageSymbol: unique symbol;
|
|
2
|
+
export declare function wrapWithUsageCheck<T extends Object>(obj: T): T;
|
|
3
|
+
export declare function isUsed(obj: object): boolean;
|
|
4
|
+
export declare function extendWithUsage<T extends object, U extends object>(original: T, extension: U): T & U;
|
|
5
|
+
//# sourceMappingURL=usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/utils/usage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,eAA8B,CAAC;AAEvD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CA6B9D;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAChE,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,CAAC,GACX,CAAC,GAAG,CAAC,CAuBP"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { InferModelFromColumns, TableRelationalConfig } from 'drizzle-orm';
|
|
2
|
+
import { CompatibleTypes, ExposeNullability, FieldKind, FieldRef, InputFieldMap, InterfaceParam, NormalizeArgs, ObjectRef, PluginName, SchemaTypes, ShapeFromTypeParam, TypeParam } from '@pothos/core';
|
|
3
|
+
import { DrizzleConnectionShape, ListRelation, RelatedConnectionOptions, RelatedFieldOptions, ShapeFromConnection, TypesForRelation, VariantFieldOptions } from './types.js';
|
|
4
|
+
import { DrizzleRef } from './interface-ref.js';
|
|
5
|
+
declare const RootBuilder: {
|
|
6
|
+
new <Types extends SchemaTypes, Shape, Kind extends FieldKind>(builder: PothosSchemaTypes.SchemaBuilder<Types>, kind: FieldKind, graphqlKind: PothosSchemaTypes.PothosKindToGraphQLType[FieldKind]): PothosSchemaTypes.RootFieldBuilder<Types, Shape, Kind>;
|
|
7
|
+
};
|
|
8
|
+
export declare class DrizzleObjectFieldBuilder<Types extends SchemaTypes, TableConfig extends TableRelationalConfig, Shape, ExposableShape = InferModelFromColumns<TableConfig["columns"]>> extends RootBuilder<Types, Shape, "DrizzleObject"> {
|
|
9
|
+
exposeBoolean: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, ExposableShape, "Boolean", true>>(...args: NormalizeArgs<[
|
|
10
|
+
name: Name,
|
|
11
|
+
options: ExposeNullability<Types, "Boolean", ExposableShape, Name, Nullable> & Omit<PothosSchemaTypes.ObjectFieldOptions<Types, ExposableShape, "Boolean", Nullable, {}, ResolveReturnShape>, "select" | "resolve" | "nullable" | "type"> & {
|
|
12
|
+
description?: string | false;
|
|
13
|
+
}
|
|
14
|
+
], 1>) => FieldRef<Types, ShapeFromTypeParam<Types, "Boolean", Nullable>, "DrizzleObject">;
|
|
15
|
+
exposeFloat: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, ExposableShape, "Float", true>>(...args: NormalizeArgs<[
|
|
16
|
+
name: Name,
|
|
17
|
+
options: ExposeNullability<Types, "Float", ExposableShape, Name, Nullable> & Omit<PothosSchemaTypes.ObjectFieldOptions<Types, ExposableShape, "Float", Nullable, {}, ResolveReturnShape>, "select" | "resolve" | "nullable" | "type"> & {
|
|
18
|
+
description?: string | false;
|
|
19
|
+
}
|
|
20
|
+
], 1>) => FieldRef<Types, ShapeFromTypeParam<Types, "Float", Nullable>, "DrizzleObject">;
|
|
21
|
+
exposeInt: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, ExposableShape, "Int", true>>(...args: NormalizeArgs<[
|
|
22
|
+
name: Name,
|
|
23
|
+
options: ExposeNullability<Types, "Int", ExposableShape, Name, Nullable> & Omit<PothosSchemaTypes.ObjectFieldOptions<Types, ExposableShape, "Int", Nullable, {}, ResolveReturnShape>, "select" | "resolve" | "nullable" | "type"> & {
|
|
24
|
+
description?: string | false;
|
|
25
|
+
}
|
|
26
|
+
], 1>) => FieldRef<Types, ShapeFromTypeParam<Types, "Int", Nullable>, "DrizzleObject">;
|
|
27
|
+
exposeID: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, ExposableShape, "ID", true>>(...args: NormalizeArgs<[
|
|
28
|
+
name: Name,
|
|
29
|
+
options: ExposeNullability<Types, "ID", ExposableShape, Name, Nullable> & Omit<PothosSchemaTypes.ObjectFieldOptions<Types, ExposableShape, "ID", Nullable, {}, ResolveReturnShape>, "select" | "resolve" | "nullable" | "type"> & {
|
|
30
|
+
description?: string | false;
|
|
31
|
+
}
|
|
32
|
+
], 1>) => FieldRef<Types, ShapeFromTypeParam<Types, "ID", Nullable>, "DrizzleObject">;
|
|
33
|
+
exposeString: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, ExposableShape, "String", true>>(...args: NormalizeArgs<[
|
|
34
|
+
name: Name,
|
|
35
|
+
options: ExposeNullability<Types, "String", ExposableShape, Name, Nullable> & Omit<PothosSchemaTypes.ObjectFieldOptions<Types, ExposableShape, "String", Nullable, {}, ResolveReturnShape>, "select" | "resolve" | "nullable" | "type"> & {
|
|
36
|
+
description?: string | false;
|
|
37
|
+
}
|
|
38
|
+
], 1>) => FieldRef<Types, ShapeFromTypeParam<Types, "String", Nullable>, "DrizzleObject">;
|
|
39
|
+
exposeBooleanList: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, ExposableShape, [
|
|
40
|
+
"Boolean"
|
|
41
|
+
], {
|
|
42
|
+
list: true;
|
|
43
|
+
items: true;
|
|
44
|
+
}>>(...args: NormalizeArgs<[
|
|
45
|
+
name: Name,
|
|
46
|
+
options: ExposeNullability<Types, [
|
|
47
|
+
"Boolean"
|
|
48
|
+
], ExposableShape, Name, Nullable> & Omit<PothosSchemaTypes.ObjectFieldOptions<Types, ExposableShape, [
|
|
49
|
+
"Boolean"
|
|
50
|
+
], Nullable, {}, ResolveReturnShape>, "select" | "resolve" | "nullable" | "type"> & {
|
|
51
|
+
description?: string | false;
|
|
52
|
+
}
|
|
53
|
+
], 1>) => FieldRef<Types, ShapeFromTypeParam<Types, [
|
|
54
|
+
"Boolean"
|
|
55
|
+
], Nullable>, "DrizzleObject">;
|
|
56
|
+
exposeFloatList: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, ExposableShape, [
|
|
57
|
+
"Float"
|
|
58
|
+
], {
|
|
59
|
+
list: true;
|
|
60
|
+
items: true;
|
|
61
|
+
}>>(...args: NormalizeArgs<[
|
|
62
|
+
name: Name,
|
|
63
|
+
options: ExposeNullability<Types, [
|
|
64
|
+
"Float"
|
|
65
|
+
], ExposableShape, Name, Nullable> & Omit<PothosSchemaTypes.ObjectFieldOptions<Types, ExposableShape, [
|
|
66
|
+
"Float"
|
|
67
|
+
], Nullable, {}, ResolveReturnShape>, "select" | "resolve" | "nullable" | "type"> & {
|
|
68
|
+
description?: string | false;
|
|
69
|
+
}
|
|
70
|
+
], 1>) => FieldRef<Types, ShapeFromTypeParam<Types, [
|
|
71
|
+
"Float"
|
|
72
|
+
], Nullable>, "DrizzleObject">;
|
|
73
|
+
exposeIntList: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, ExposableShape, [
|
|
74
|
+
"Int"
|
|
75
|
+
], {
|
|
76
|
+
list: true;
|
|
77
|
+
items: true;
|
|
78
|
+
}>>(...args: NormalizeArgs<[
|
|
79
|
+
name: Name,
|
|
80
|
+
options: ExposeNullability<Types, [
|
|
81
|
+
"Int"
|
|
82
|
+
], ExposableShape, Name, Nullable> & Omit<PothosSchemaTypes.ObjectFieldOptions<Types, ExposableShape, [
|
|
83
|
+
"Int"
|
|
84
|
+
], Nullable, {}, ResolveReturnShape>, "select" | "resolve" | "nullable" | "type"> & {
|
|
85
|
+
description?: string | false;
|
|
86
|
+
}
|
|
87
|
+
], 1>) => FieldRef<Types, ShapeFromTypeParam<Types, [
|
|
88
|
+
"Int"
|
|
89
|
+
], Nullable>, "DrizzleObject">;
|
|
90
|
+
exposeIDList: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, ExposableShape, [
|
|
91
|
+
"ID"
|
|
92
|
+
], {
|
|
93
|
+
list: true;
|
|
94
|
+
items: true;
|
|
95
|
+
}>>(...args: NormalizeArgs<[
|
|
96
|
+
name: Name,
|
|
97
|
+
options: ExposeNullability<Types, [
|
|
98
|
+
"ID"
|
|
99
|
+
], ExposableShape, Name, Nullable> & Omit<PothosSchemaTypes.ObjectFieldOptions<Types, ExposableShape, [
|
|
100
|
+
"ID"
|
|
101
|
+
], Nullable, {}, ResolveReturnShape>, "select" | "resolve" | "nullable" | "type"> & {
|
|
102
|
+
description?: string | false;
|
|
103
|
+
}
|
|
104
|
+
], 1>) => FieldRef<Types, ShapeFromTypeParam<Types, [
|
|
105
|
+
"ID"
|
|
106
|
+
], Nullable>, "DrizzleObject">;
|
|
107
|
+
exposeStringList: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, ExposableShape, [
|
|
108
|
+
"String"
|
|
109
|
+
], {
|
|
110
|
+
list: true;
|
|
111
|
+
items: true;
|
|
112
|
+
}>>(...args: NormalizeArgs<[
|
|
113
|
+
name: Name,
|
|
114
|
+
options: ExposeNullability<Types, [
|
|
115
|
+
"String"
|
|
116
|
+
], ExposableShape, Name, Nullable> & Omit<PothosSchemaTypes.ObjectFieldOptions<Types, ExposableShape, [
|
|
117
|
+
"String"
|
|
118
|
+
], Nullable, {}, ResolveReturnShape>, "select" | "resolve" | "nullable" | "type"> & {
|
|
119
|
+
description?: string | false;
|
|
120
|
+
}
|
|
121
|
+
], 1>) => FieldRef<Types, ShapeFromTypeParam<Types, [
|
|
122
|
+
"String"
|
|
123
|
+
], Nullable>, "DrizzleObject">;
|
|
124
|
+
table: string;
|
|
125
|
+
typename: string;
|
|
126
|
+
relatedConnection: "relay" extends PluginName ? <Field extends ListRelation<TableConfig>, Nullable extends boolean, Args extends InputFieldMap, ConnectionInterfaces extends InterfaceParam<Types>[] = [
|
|
127
|
+
], EdgeInterfaces extends InterfaceParam<Types>[] = [
|
|
128
|
+
]>(field: Field, options: RelatedConnectionOptions<Types, Shape, TableConfig, Field, Nullable, Args>, ...args: NormalizeArgs<[
|
|
129
|
+
connectionOptions: ObjectRef<Types, ShapeFromConnection<PothosSchemaTypes.ConnectionShapeHelper<Types, TypesForRelation<Types, TableConfig["relations"][Field]>, false>>> | PothosSchemaTypes.ConnectionObjectOptions<Types, ObjectRef<Types, ShapeFromTypeParam<Types, [
|
|
130
|
+
ObjectRef<Types, TypesForRelation<Types, TableConfig["relations"][Field]>>
|
|
131
|
+
], Nullable>>, false, false, DrizzleConnectionShape<Types, ShapeFromTypeParam<Types, [
|
|
132
|
+
ObjectRef<Types, TypesForRelation<Types, TableConfig["relations"][Field]>>
|
|
133
|
+
], Nullable>, Shape, Args>, ConnectionInterfaces>,
|
|
134
|
+
edgeOptions: ObjectRef<Types, {
|
|
135
|
+
cursor: string;
|
|
136
|
+
node?: TypesForRelation<Types, TableConfig["relations"][Field]>;
|
|
137
|
+
}> | PothosSchemaTypes.ConnectionEdgeObjectOptions<Types, ObjectRef<Types, ShapeFromTypeParam<Types, [
|
|
138
|
+
ObjectRef<Types, TypesForRelation<Types, TableConfig["relations"][Field]>>
|
|
139
|
+
], Nullable>>, false, DrizzleConnectionShape<Types, ShapeFromTypeParam<Types, [
|
|
140
|
+
ObjectRef<Types, TypesForRelation<Types, TableConfig["relations"][Field]>>
|
|
141
|
+
], Nullable>, Shape, Args>, EdgeInterfaces>
|
|
142
|
+
], 0>) => FieldRef<Types, ShapeFromConnection<PothosSchemaTypes.ConnectionShapeHelper<Types, Shape, Nullable>>> : "@pothos/plugin-relay is required to use this method";
|
|
143
|
+
constructor(typename: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, table: string, graphqlKind?: PothosSchemaTypes.PothosKindToGraphQLType[FieldKind]);
|
|
144
|
+
variant<Variant extends DrizzleRef<Types, TableConfig["tsName"]> | TableConfig["tsName"], Args extends InputFieldMap, Nullable, ResolveShape, ResolveReturn>(variant: Variant, ...allArgs: NormalizeArgs<[
|
|
145
|
+
options: VariantFieldOptions<Types, TableConfig["tsName"] & keyof Types["DrizzleRelationSchema"], Variant, Args, Nullable, Shape, ResolveShape, ResolveReturn>
|
|
146
|
+
]>): FieldRef<Types, ResolveReturn, "Object">;
|
|
147
|
+
relation<Field extends keyof TableConfig["relations"], Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape>(name: Field, ...allArgs: NormalizeArgs<[
|
|
148
|
+
options: RelatedFieldOptions<Types, TableConfig, Field, Nullable, Args, ResolveReturnShape, Shape>
|
|
149
|
+
]>): FieldRef<Types, TypesForRelation<Types, TableConfig["relations"][Field]>, "Object">;
|
|
150
|
+
expose<Type extends TypeParam<Types>, Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, ExposableShape, Type, Nullable>>(...args: NormalizeArgs<[
|
|
151
|
+
name: Name,
|
|
152
|
+
options: ExposeNullability<Types, Type, ExposableShape, Name, Nullable> & Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, Type, Nullable, {}, ResolveReturnShape>, "nullable" | "resolve" | "select">
|
|
153
|
+
]>): FieldRef<Types, ShapeFromTypeParam<Types, Type, (false & (Type extends [
|
|
154
|
+
unknown
|
|
155
|
+
] ? Awaited<ExposableShape[Name]> extends readonly (infer T)[] | null | undefined ? [
|
|
156
|
+
T
|
|
157
|
+
] extends [
|
|
158
|
+
NonNullable<T>
|
|
159
|
+
] ? (readonly T[] | null | undefined) & Awaited<ExposableShape[Name]> extends readonly T[] & Awaited<ExposableShape[Name]> ? boolean | {
|
|
160
|
+
items: boolean;
|
|
161
|
+
list: boolean;
|
|
162
|
+
} : true | {
|
|
163
|
+
items: boolean;
|
|
164
|
+
list: true;
|
|
165
|
+
} : (readonly T[] | null | undefined) & Awaited<ExposableShape[Name]> extends readonly T[] & Awaited<ExposableShape[Name]> ? {
|
|
166
|
+
items: true;
|
|
167
|
+
list: boolean;
|
|
168
|
+
} : {
|
|
169
|
+
items: true;
|
|
170
|
+
list: true;
|
|
171
|
+
} : never : Awaited<ExposableShape[Name]> extends NonNullable<Awaited<ExposableShape[Name]>> ? boolean : true) & Nullable) | (true & (Type extends [
|
|
172
|
+
unknown
|
|
173
|
+
] ? Awaited<ExposableShape[Name]> extends readonly (infer T)[] | null | undefined ? [
|
|
174
|
+
T
|
|
175
|
+
] extends [
|
|
176
|
+
NonNullable<T>
|
|
177
|
+
] ? (readonly T[] | null | undefined) & Awaited<ExposableShape[Name]> extends readonly T[] & Awaited<ExposableShape[Name]> ? boolean | {
|
|
178
|
+
items: boolean;
|
|
179
|
+
list: boolean;
|
|
180
|
+
} : true | {
|
|
181
|
+
items: boolean;
|
|
182
|
+
list: true;
|
|
183
|
+
} : (readonly T[] | null | undefined) & Awaited<ExposableShape[Name]> extends readonly T[] & Awaited<ExposableShape[Name]> ? {
|
|
184
|
+
items: true;
|
|
185
|
+
list: boolean;
|
|
186
|
+
} : {
|
|
187
|
+
items: true;
|
|
188
|
+
list: true;
|
|
189
|
+
} : never : Awaited<ExposableShape[Name]> extends NonNullable<Awaited<ExposableShape[Name]>> ? boolean : true) & Nullable) | ((Type extends [
|
|
190
|
+
unknown
|
|
191
|
+
] ? boolean | {
|
|
192
|
+
items: boolean;
|
|
193
|
+
list: boolean;
|
|
194
|
+
} : boolean) & (Type extends [
|
|
195
|
+
unknown
|
|
196
|
+
] ? Awaited<ExposableShape[Name]> extends readonly (infer T)[] | null | undefined ? [
|
|
197
|
+
T
|
|
198
|
+
] extends [
|
|
199
|
+
NonNullable<T>
|
|
200
|
+
] ? (readonly T[] | null | undefined) & Awaited<ExposableShape[Name]> extends readonly T[] & Awaited<ExposableShape[Name]> ? boolean | {
|
|
201
|
+
items: boolean;
|
|
202
|
+
list: boolean;
|
|
203
|
+
} : true | {
|
|
204
|
+
items: boolean;
|
|
205
|
+
list: true;
|
|
206
|
+
} : (readonly T[] | null | undefined) & Awaited<ExposableShape[Name]> extends readonly T[] & Awaited<ExposableShape[Name]> ? {
|
|
207
|
+
items: true;
|
|
208
|
+
list: boolean;
|
|
209
|
+
} : {
|
|
210
|
+
items: true;
|
|
211
|
+
list: true;
|
|
212
|
+
} : never : Awaited<ExposableShape[Name]> extends NonNullable<Awaited<ExposableShape[Name]>> ? boolean : true) & Nullable)>, "DrizzleObject">;
|
|
213
|
+
private createExpose;
|
|
214
|
+
}
|
|
215
|
+
export {};
|
|
216
|
+
//# sourceMappingURL=drizzle-field-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drizzle-field-builder.d.ts","sourceRoot":"","sources":["../src/drizzle-field-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-builder.d.ts","sourceRoot":"","sources":["../src/field-builder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import type { BuildQueryResult, DBQueryConfig, ExtractTablesWithRelations, SQL, TableRelationalConfig } from 'drizzle-orm';
|
|
2
|
+
import { FieldKind, FieldMap, FieldNullability, FieldRef, InputFieldMap, InterfaceParam, NormalizeArgs, OutputType, PluginName, SchemaTypes, ShapeFromTypeParam, TypeParam } from '@pothos/core';
|
|
3
|
+
import { DrizzleObjectFieldBuilder } from './drizzle-field-builder.js';
|
|
4
|
+
import { DrizzleInterfaceRef, DrizzleRef } from './interface-ref.js';
|
|
5
|
+
import { DrizzleObjectRef, drizzleTableKey } from './object-ref.js';
|
|
6
|
+
import type { AddGraphQLInputTypeOptions, DrizzleConnectionFieldOptions, DrizzleConnectionShape, DrizzleFieldOptions, DrizzleFieldWithInputOptions, DrizzleInterfaceOptions, DrizzleNodeOptions, DrizzleObjectFieldOptions, DrizzleObjectOptions, DrizzlePluginOptions, drizzleTableName, ShapeFromConnection } from './types.js';
|
|
7
|
+
import type { PothosDrizzlePlugin } from './index.js';
|
|
8
|
+
import { DrizzleNodeRef } from './node-ref.js';
|
|
9
|
+
import { GraphQLInputObjectType } from 'graphql';
|
|
10
|
+
declare global {
|
|
11
|
+
export namespace PothosSchemaTypes {
|
|
12
|
+
interface Plugins<Types extends SchemaTypes> {
|
|
13
|
+
drizzle: PothosDrizzlePlugin<Types>;
|
|
14
|
+
}
|
|
15
|
+
interface SchemaBuilderOptions<Types extends SchemaTypes> {
|
|
16
|
+
drizzle: DrizzlePluginOptions<Types>;
|
|
17
|
+
}
|
|
18
|
+
interface UserSchemaTypes {
|
|
19
|
+
DrizzleSchema: Record<string, unknown>;
|
|
20
|
+
DrizzleRelationSchema: Record<string, TableRelationalConfig>;
|
|
21
|
+
}
|
|
22
|
+
interface ExtendDefaultTypes<PartialTypes extends Partial<UserSchemaTypes>> {
|
|
23
|
+
DrizzleSchema: PartialTypes["DrizzleSchema"] & {};
|
|
24
|
+
DrizzleRelationSchema: ExtractTablesWithRelations<PartialTypes["DrizzleSchema"] & {}>;
|
|
25
|
+
}
|
|
26
|
+
interface SchemaBuilder<Types extends SchemaTypes> {
|
|
27
|
+
drizzleObject: <Interfaces extends InterfaceParam<Types>[], Table extends keyof Types["DrizzleRelationSchema"], Selection extends DBQueryConfig<"one", false, Types["DrizzleRelationSchema"], Types["DrizzleRelationSchema"][Table]> | true, Shape = BuildQueryResult<Types["DrizzleRelationSchema"], Types["DrizzleRelationSchema"][Table], Selection>>(table: Table, options: DrizzleObjectOptions<Types, Table, Shape, Selection, Interfaces>) => DrizzleObjectRef<Types, Table, Shape>;
|
|
28
|
+
drizzleInterface: <Interfaces extends InterfaceParam<Types>[], Table extends keyof Types["DrizzleRelationSchema"], Selection extends DBQueryConfig<"one", false, Types["DrizzleRelationSchema"], Types["DrizzleRelationSchema"][Table]> | true, Shape = BuildQueryResult<Types["DrizzleRelationSchema"], Types["DrizzleRelationSchema"][Table], Selection>>(table: Table, options: DrizzleInterfaceOptions<Types, Table, Shape, Selection, Interfaces>) => DrizzleInterfaceRef<Types, Table, Shape>;
|
|
29
|
+
drizzleNode: "relay" extends PluginName ? <Interfaces extends InterfaceParam<Types>[], Table extends keyof Types["DrizzleRelationSchema"], Selection extends DBQueryConfig<"one", false, Types["DrizzleRelationSchema"], Types["DrizzleRelationSchema"][Table]> | true, Shape = BuildQueryResult<Types["DrizzleRelationSchema"], Types["DrizzleRelationSchema"][Table], Selection>>(table: Table, options: DrizzleNodeOptions<Types, Table, Shape, Selection, Interfaces>) => DrizzleNodeRef<Types, Table, Shape> : "@pothos/plugin-relay is required to use this method";
|
|
30
|
+
drizzleObjectField: <Type extends DrizzleObjectRef<Types> | keyof Types["DrizzleRelationSchema"], TableConfig extends TableRelationalConfig = Type extends DrizzleObjectRef<Types> ? Type[typeof drizzleTableKey] : Types["DrizzleRelationSchema"][Type & keyof Types["DrizzleRelationSchema"]], Shape extends {} = Type extends DrizzleObjectRef<Types, keyof Types["DrizzleRelationSchema"], infer S> ? S & {
|
|
31
|
+
[drizzleTableName]?: TableConfig["tsName"];
|
|
32
|
+
} : BuildQueryResult<Types["DrizzleRelationSchema"], TableConfig, true> & {
|
|
33
|
+
[drizzleTableName]?: Type;
|
|
34
|
+
}>(type: Type, fieldName: string, field: (t: DrizzleObjectFieldBuilder<Types, TableConfig, false, Shape>) => FieldRef<Types>) => void;
|
|
35
|
+
drizzleInterfaceField: <Type extends DrizzleInterfaceRef<Types> | keyof Types["DrizzleRelationSchema"], TableConfig extends TableRelationalConfig = Type extends DrizzleObjectRef<Types> ? Type[typeof drizzleTableKey] : Types["DrizzleRelationSchema"][Type & keyof Types["DrizzleRelationSchema"]], Shape extends {} = Type extends DrizzleInterfaceRef<Types, keyof Types["DrizzleRelationSchema"], infer S> ? S & {
|
|
36
|
+
[drizzleTableName]?: TableConfig["tsName"];
|
|
37
|
+
} : BuildQueryResult<Types["DrizzleRelationSchema"], TableConfig, true> & {
|
|
38
|
+
[drizzleTableName]?: Type;
|
|
39
|
+
}>(type: Type, fieldName: string, field: (t: DrizzleObjectFieldBuilder<Types, TableConfig, false, Shape>) => FieldRef<Types>) => void;
|
|
40
|
+
drizzleObjectFields: <Type extends DrizzleObjectRef<Types> | keyof Types["DrizzleRelationSchema"], TableConfig extends TableRelationalConfig = Type extends DrizzleObjectRef<Types> ? Type[typeof drizzleTableKey] : Types["DrizzleRelationSchema"][Type & keyof Types["DrizzleRelationSchema"]], Shape extends {} = Type extends DrizzleObjectRef<Types, keyof Types["DrizzleRelationSchema"], infer S> ? S & {
|
|
41
|
+
[drizzleTableName]?: TableConfig["tsName"];
|
|
42
|
+
} : BuildQueryResult<Types["DrizzleRelationSchema"], TableConfig, true> & {
|
|
43
|
+
[drizzleTableName]?: Type;
|
|
44
|
+
}>(type: Type, fields: (t: DrizzleObjectFieldBuilder<Types, TableConfig, false, Shape>) => FieldMap) => void;
|
|
45
|
+
drizzleInterfaceFields: <Type extends DrizzleInterfaceRef<Types> | keyof Types["DrizzleRelationSchema"], TableConfig extends TableRelationalConfig = Type extends DrizzleObjectRef<Types> ? Type[typeof drizzleTableKey] : Types["DrizzleRelationSchema"][Type & keyof Types["DrizzleRelationSchema"]], Shape extends {} = Type extends DrizzleInterfaceRef<Types, keyof Types["DrizzleRelationSchema"], infer S> ? S & {
|
|
46
|
+
[drizzleTableName]?: TableConfig["tsName"];
|
|
47
|
+
} : BuildQueryResult<Types["DrizzleRelationSchema"], TableConfig, true> & {
|
|
48
|
+
[drizzleTableName]?: Type;
|
|
49
|
+
}>(type: Type, fields: (t: DrizzleObjectFieldBuilder<Types, TableConfig, false, Shape>) => FieldMap) => void;
|
|
50
|
+
drizzleGraphQLOrderBy: "addGraphQL" extends PluginName ? <Table extends keyof Types["DrizzleRelationSchema"]>(table: Table, type: GraphQLInputObjectType, ...args: NormalizeArgs<[
|
|
51
|
+
options: AddGraphQLInputTypeOptions<Types, {}>
|
|
52
|
+
]>) => InputObjectRef<Types, SQL | SQL[]> : "@pothos/plugin-add-graphql is required to use this method";
|
|
53
|
+
drizzleGraphQLFilters: "addGraphQL" extends PluginName ? <Table extends keyof Types["DrizzleRelationSchema"]>(table: Table, type: GraphQLInputObjectType, ...args: NormalizeArgs<[
|
|
54
|
+
options: AddGraphQLInputTypeOptions<Types, {}>
|
|
55
|
+
]>) => InputObjectRef<Types, SQL> : "@pothos/plugin-add-graphql is required to use this method";
|
|
56
|
+
drizzleGraphQLInsert: "addGraphQL" extends PluginName ? <Table extends keyof Types["DrizzleRelationSchema"]>(table: Table, type: GraphQLInputObjectType, ...args: NormalizeArgs<[
|
|
57
|
+
options: AddGraphQLInputTypeOptions<Types, {}>
|
|
58
|
+
]>) => InputObjectRef<Types, Record<string, unknown>> : "@pothos/plugin-add-graphql is required to use this method";
|
|
59
|
+
drizzleGraphQLUpdate: "addGraphQL" extends PluginName ? <Table extends keyof Types["DrizzleRelationSchema"]>(table: Table, type: GraphQLInputObjectType, ...args: NormalizeArgs<[
|
|
60
|
+
options: AddGraphQLInputTypeOptions<Types, {}>
|
|
61
|
+
]>) => InputObjectRef<Types, Record<string, unknown>> : "@pothos/plugin-add-graphql is required to use this method";
|
|
62
|
+
}
|
|
63
|
+
interface PothosKindToGraphQLType {
|
|
64
|
+
DrizzleObject: "Object";
|
|
65
|
+
}
|
|
66
|
+
interface FieldOptionsByKind<Types extends SchemaTypes, ParentShape, Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, ResolveShape, ResolveReturnShape> {
|
|
67
|
+
DrizzleObject: DrizzleObjectFieldOptions<Types, ParentShape, Type, Nullable, Args, ResolveShape, ResolveReturnShape>;
|
|
68
|
+
}
|
|
69
|
+
interface RootFieldBuilder<Types extends SchemaTypes, ParentShape, Kind extends FieldKind = FieldKind> {
|
|
70
|
+
drizzleField: <Args extends InputFieldMap, Param extends keyof Types["DrizzleRelationSchema"] | [
|
|
71
|
+
keyof Types["DrizzleRelationSchema"]
|
|
72
|
+
] | DrizzleRef<any> | [
|
|
73
|
+
DrizzleRef<any>
|
|
74
|
+
], Nullable extends FieldNullability<Type>, ResolveShape, ResolveReturnShape, Table extends keyof Types["DrizzleRelationSchema"] = Param extends keyof Types["DrizzleRelationSchema"] ? Param : Param extends [
|
|
75
|
+
keyof Types["DrizzleRelationSchema"]
|
|
76
|
+
] ? Param[0] : Param extends DrizzleRef<any, infer T> ? T & keyof Types["DrizzleRelationSchema"] : Param extends [
|
|
77
|
+
DrizzleRef<any, infer T>
|
|
78
|
+
] ? T & keyof Types["DrizzleRelationSchema"] : never, Type extends TypeParam<Types> = ObjectRef<Types, BuildQueryResult<Types["DrizzleRelationSchema"], Types["DrizzleRelationSchema"][Table], true>>>(options: DrizzleFieldOptions<Types, ParentShape, Table, Type, Nullable, Args, Kind, ResolveShape, ResolveReturnShape, Param>) => FieldRef<Types, ShapeFromTypeParam<Types, Type, Nullable>>;
|
|
79
|
+
drizzleConnection: "relay" extends PluginName ? <Type extends DrizzleRef<any, keyof Types["DrizzleRelationSchema"]> | keyof Types["DrizzleRelationSchema"], Nullable extends boolean, ResolveReturnShape, Args extends InputFieldMap = {}, Shape = Type extends DrizzleRef<any, keyof Types["DrizzleRelationSchema"], infer S> ? S : BuildQueryResult<Types["DrizzleRelationSchema"], Types["DrizzleRelationSchema"][Type & keyof Types["DrizzleRelationSchema"]], true>, ConnectionInterfaces extends InterfaceParam<Types>[] = [
|
|
80
|
+
], EdgeInterfaces extends InterfaceParam<Types>[] = [
|
|
81
|
+
]>(options: DrizzleConnectionFieldOptions<Types, ParentShape, Type, Types["DrizzleRelationSchema"][Type extends DrizzleRef<any, infer K> ? K : Type & keyof Types["DrizzleRelationSchema"]], ObjectRef<Types, Shape>, Nullable, Args, ResolveReturnShape, Kind>, ...args: NormalizeArgs<[
|
|
82
|
+
connectionOptions: ConnectionObjectOptions<Types, ObjectRef<Types, Shape>, false, false, DrizzleConnectionShape<Types, Shape, ParentShape, Args>, ConnectionInterfaces> | ObjectRef<Types, ShapeFromConnection<ConnectionShapeHelper<Types, Shape, false>>>,
|
|
83
|
+
edgeOptions: ConnectionEdgeObjectOptions<Types, ObjectRef<Types, Shape>, false, DrizzleConnectionShape<Types, Shape, ParentShape, Args>, EdgeInterfaces> | ObjectRef<Types, {
|
|
84
|
+
cursor: string;
|
|
85
|
+
node?: Shape | null | undefined;
|
|
86
|
+
}>
|
|
87
|
+
], 0>) => FieldRef<Types, ShapeFromConnection<ConnectionShapeHelper<Types, Shape, Nullable>>> : "@pothos/plugin-relay is required to use this method";
|
|
88
|
+
drizzleFieldWithInput: "withInput" extends PluginName ? <Fields extends InputFieldMap, Args extends InputFieldMap, Param extends keyof Types["DrizzleRelationSchema"] | [
|
|
89
|
+
keyof Types["DrizzleRelationSchema"]
|
|
90
|
+
] | DrizzleRef<any> | [
|
|
91
|
+
DrizzleRef<any>
|
|
92
|
+
], Nullable extends FieldNullability<Type>, ResolveShape, ResolveReturnShape, ArgRequired extends boolean, InputName extends string = "input", Table extends keyof Types["DrizzleRelationSchema"] = Param extends keyof Types["DrizzleRelationSchema"] ? Param : Param extends [
|
|
93
|
+
keyof Types["DrizzleRelationSchema"]
|
|
94
|
+
] ? Param[0] : Param extends DrizzleRef<any, infer T> ? T & keyof Types["DrizzleRelationSchema"] : Param extends [
|
|
95
|
+
DrizzleRef<any, infer T>
|
|
96
|
+
] ? T & keyof Types["DrizzleRelationSchema"] : never, Type extends TypeParam<Types> = ObjectRef<Types, BuildQueryResult<Types["DrizzleRelationSchema"], Types["DrizzleRelationSchema"][Table], true>>>(options: DrizzleFieldWithInputOptions<Types, ParentShape, Table, Type, Nullable, Args, Kind, ResolveShape, ResolveReturnShape, Param, InputName, Fields, boolean extends ArgRequired ? (Types & {
|
|
97
|
+
WithInputArgRequired: boolean;
|
|
98
|
+
})["WithInputArgRequired"] : ArgRequired>) => FieldRef<Types, ShapeFromTypeParam<Types, Type, Nullable>> : "@pothos/plugin-with-input is required to use this method";
|
|
99
|
+
}
|
|
100
|
+
interface ConnectionFieldOptions<Types extends SchemaTypes, ParentShape, Type extends OutputType<Types>, Nullable extends boolean, EdgeNullability extends FieldNullability<[
|
|
101
|
+
unknown
|
|
102
|
+
]>, NodeNullability extends boolean, Args extends InputFieldMap, ResolveReturnShape> {
|
|
103
|
+
}
|
|
104
|
+
interface ConnectionObjectOptions<Types extends SchemaTypes, Type extends OutputType<Types>, EdgeNullability extends FieldNullability<[
|
|
105
|
+
unknown
|
|
106
|
+
]>, NodeNullability extends boolean, Resolved, Interfaces extends InterfaceParam<Types>[] = [
|
|
107
|
+
]> {
|
|
108
|
+
}
|
|
109
|
+
interface ConnectionEdgeObjectOptions<Types extends SchemaTypes, Type extends OutputType<Types>, NodeNullability extends boolean, Resolved, Interfaces extends InterfaceParam<Types>[] = [
|
|
110
|
+
]> {
|
|
111
|
+
}
|
|
112
|
+
interface DefaultConnectionArguments {
|
|
113
|
+
first?: number | null | undefined;
|
|
114
|
+
last?: number | null | undefined;
|
|
115
|
+
before?: string | null | undefined;
|
|
116
|
+
after?: string | null | undefined;
|
|
117
|
+
}
|
|
118
|
+
interface ConnectionShapeHelper<Types extends SchemaTypes, T, Nullable> {
|
|
119
|
+
}
|
|
120
|
+
interface FieldWithInputBaseOptions<Types extends SchemaTypes, Args extends InputFieldMap, Fields extends InputFieldMap, InputName extends string, ArgRequired extends boolean> {
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=global-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-types.d.ts","sourceRoot":"","sources":["../src/global-types.ts"],"names":[],"mappings":"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"}
|
package/esm/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import './global-types.js';
|
|
2
|
+
import './field-builder.js';
|
|
3
|
+
import './schema-builder.js';
|
|
4
|
+
import { GraphQLFieldResolver } from 'graphql';
|
|
5
|
+
import { BasePlugin, PothosOutputFieldConfig, SchemaTypes } from '@pothos/core';
|
|
6
|
+
export * from './types.js';
|
|
7
|
+
declare const pluginName = "drizzle";
|
|
8
|
+
export default pluginName;
|
|
9
|
+
export declare class PothosDrizzlePlugin<Types extends SchemaTypes> extends BasePlugin<Types> {
|
|
10
|
+
onOutputFieldConfig(fieldConfig: PothosOutputFieldConfig<Types>): PothosOutputFieldConfig<Types> | null;
|
|
11
|
+
wrapResolve(resolver: GraphQLFieldResolver<unknown, Types["Context"], object, unknown>, fieldConfig: PothosOutputFieldConfig<Types>): GraphQLFieldResolver<unknown, Types["Context"], object>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AACxB,OAAO,iBAAiB,CAAC;AACzB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAsB,EACpB,UAAU,EAIV,uBAAuB,EACvB,WAAW,EACZ,MAAM,cAAc,CAAC;AAUtB,cAAc,SAAS,CAAC;AAExB,QAAA,MAAM,UAAU,YAAY,CAAC;AAE7B,eAAe,UAAU,CAAC;AAE1B,qBAAa,mBAAmB,CAAC,KAAK,SAAS,WAAW,CAAE,SAAQ,UAAU,CAAC,KAAK,CAAC;IAC1E,mBAAmB,CAC1B,WAAW,EAAE,uBAAuB,CAAC,KAAK,CAAC,GAC1C,uBAAuB,CAAC,KAAK,CAAC,GAAG,IAAI;IAgF/B,WAAW,CAClB,QAAQ,EAAE,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC1E,WAAW,EAAE,uBAAuB,CAAC,KAAK,CAAC,GAC1C,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CA2D3D"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InterfaceRef, SchemaTypes } from '@pothos/core';
|
|
2
|
+
import { DrizzleObjectRef, drizzleTableKey } from './object-ref.js';
|
|
3
|
+
export type DrizzleRef<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationSchema"] = keyof Types["DrizzleRelationSchema"], T = {}> = DrizzleInterfaceRef<Types, Table, T> | DrizzleObjectRef<Types, Table, T>;
|
|
4
|
+
export declare class DrizzleInterfaceRef<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationSchema"] = keyof Types["DrizzleRelationSchema"], T = {}> extends InterfaceRef<Types, T> {
|
|
5
|
+
[drizzleTableKey]: Table;
|
|
6
|
+
tableName: string;
|
|
7
|
+
constructor(name: string, tableName: string);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=interface-ref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface-ref.d.ts","sourceRoot":"","sources":["../src/interface-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjE,MAAM,MAAM,UAAU,CACpB,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,uBAAuB,CAAC,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,EACzF,CAAC,GAAG,EAAE,IACJ,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAE7E,qBAAa,mBAAmB,CAC9B,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,uBAAuB,CAAC,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,EACzF,CAAC,GAAG,EAAE,CACN,SAAQ,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC,eAAe,CAAC,EAAG,KAAK,CAAC;IAE1B,SAAS,EAAE,MAAM,CAAC;gBAEN,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAK5C"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { GraphQLResolveInfo } from 'graphql';
|
|
2
|
+
import { Column, TableRelationalConfig } from 'drizzle-orm';
|
|
3
|
+
import { SchemaTypes } from '@pothos/core';
|
|
4
|
+
import { SelectionMap, SelectionState } from './utils/selections.js';
|
|
5
|
+
import { PothosDrizzleSchemaConfig } from './utils/config.js';
|
|
6
|
+
interface ResolvablePromise<T> {
|
|
7
|
+
promise: Promise<T>;
|
|
8
|
+
resolve: (value: T) => void;
|
|
9
|
+
reject: (err: unknown) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare class ModelLoader {
|
|
12
|
+
context: object;
|
|
13
|
+
builder: PothosSchemaTypes.SchemaBuilder<never>;
|
|
14
|
+
modelName: string;
|
|
15
|
+
queryCache: Map<string, {
|
|
16
|
+
selection: SelectionState;
|
|
17
|
+
query: SelectionMap;
|
|
18
|
+
}>;
|
|
19
|
+
staged: Set<{
|
|
20
|
+
state: SelectionState;
|
|
21
|
+
models: Map<object, ResolvablePromise<Record<string, unknown> | null>>;
|
|
22
|
+
}>;
|
|
23
|
+
config: PothosDrizzleSchemaConfig;
|
|
24
|
+
table: TableRelationalConfig;
|
|
25
|
+
columns: Column[];
|
|
26
|
+
selectSQL: import("drizzle-orm").SQL<unknown>;
|
|
27
|
+
constructor(context: object, builder: PothosSchemaTypes.SchemaBuilder<never>, modelName: string, columns?: Column[]);
|
|
28
|
+
static forModel<Types extends SchemaTypes>(modelName: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, columns?: Column[]): import("@pothos/core").ContextCache<ModelLoader, object, [
|
|
29
|
+
]>;
|
|
30
|
+
sqlForModel(model: object): string | number | (string | number)[];
|
|
31
|
+
getSelection(info: GraphQLResolveInfo): {
|
|
32
|
+
selection: SelectionState;
|
|
33
|
+
query: SelectionMap;
|
|
34
|
+
};
|
|
35
|
+
getSelectionForField(info: GraphQLResolveInfo, typeName: string): {
|
|
36
|
+
selection: SelectionState;
|
|
37
|
+
query: SelectionMap;
|
|
38
|
+
};
|
|
39
|
+
loadSelection(info: GraphQLResolveInfo, model: object): Promise<Record<string, unknown> | null>;
|
|
40
|
+
loadSelectionForField(info: GraphQLResolveInfo, model: object, returnType: string): Promise<Record<string, unknown> | null>;
|
|
41
|
+
stageQuery(selection: SelectionState, query: SelectionMap, model: object): Promise<Record<string, unknown> | null>;
|
|
42
|
+
initLoad(selection: SelectionState, model: object): Promise<Record<string, unknown> | null>;
|
|
43
|
+
}
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=model-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-loader.d.ts","sourceRoot":"","sources":["../src/model-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EACL,MAAM,EAIN,qBAAqB,EAEtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAsB,WAAW,EAAE,MAAM,cAAc,CAAC;AAG/D,OAAO,EAGL,YAAY,EACZ,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAmB,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE5E,UAAU,iBAAiB,CAAC,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAChC;AACD,qBAAa,WAAW;IACtB,OAAO,EAAE,MAAM,CAAC;IAEhB,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAEhD,SAAS,EAAE,MAAM,CAAC;IAElB,UAAU;mBAAgC,cAAc;eAAS,YAAY;OAAM;IAEnF,MAAM;eACG,cAAc;gBACb,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;OACnE;IAEL,MAAM,EAAE,yBAAyB,CAAC;IAClC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,qCAAC;gBAGR,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,EAAE;IAcpB,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAS,WAAW,EACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,OAAO,CAAC,EAAE,MAAM,EAAE;IAOpB,WAAW,CAAC,KAAK,EAAE,MAAM;IAazB,YAAY,CAAC,IAAI,EAAE,kBAAkB;mBArDK,cAAc;eAAS,YAAY;;IAkE7E,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM;mBAlErB,cAAc;eAAS,YAAY;;IAqFvE,aAAa,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM;IAgBrD,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAYjF,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM;IAgB9E,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM;CA6DlD"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SchemaTypes } from '@pothos/core';
|
|
2
|
+
import { DrizzleObjectRef } from './object-ref.js';
|
|
3
|
+
export declare class DrizzleNodeRef<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationSchema"] = keyof Types["DrizzleRelationSchema"], T = {}> extends DrizzleObjectRef<Types, Table, T> {
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=node-ref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-ref.d.ts","sourceRoot":"","sources":["../src/node-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,qBAAa,cAAc,CACzB,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,uBAAuB,CAAC,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,EACzF,CAAC,GAAG,EAAE,CACN,SAAQ,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;CAAG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { abstractReturnShapeKey, ObjectRef, SchemaTypes } from '@pothos/core';
|
|
2
|
+
import type { WithBrand } from './types.js';
|
|
3
|
+
export declare const drizzleTableKey: unique symbol;
|
|
4
|
+
export declare class DrizzleObjectRef<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationSchema"] = keyof Types["DrizzleRelationSchema"], T = {}> extends ObjectRef<Types, T> {
|
|
5
|
+
[drizzleTableKey]: Types["DrizzleRelationSchema"][Table];
|
|
6
|
+
[abstractReturnShapeKey]: WithBrand<T>;
|
|
7
|
+
tableName: string;
|
|
8
|
+
constructor(name: string, tableName: string);
|
|
9
|
+
addBrand<V extends T | T[]>(value: V): V extends T[] ? {
|
|
10
|
+
[K in keyof V]: WithBrand<V[K]>;
|
|
11
|
+
} : WithBrand<V>;
|
|
12
|
+
hasBrand(value: unknown): boolean;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=object-ref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-ref.d.ts","sourceRoot":"","sources":["../src/object-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAEtB,SAAS,EACT,WAAW,EAEZ,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,eAAe,eAAuC,CAAC;AAEpE,qBAAa,gBAAgB,CAC3B,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,uBAAuB,CAAC,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,EACzF,CAAC,GAAG,EAAE,CACN,SAAQ,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3B,CAAC,eAAe,CAAC,EAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,CAAC;IAE1D,CAAC,sBAAsB,CAAC,EAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAExC,SAAS,EAAE,MAAM,CAAC;gBAEN,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAM3C,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EACxB,KAAK,EAAE,CAAC,GACP,CAAC,SAAS,CAAC,EAAE,GAAG;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IAYrE,QAAQ,CAAC,KAAK,EAAE,OAAO;CAQxB"}
|
package/esm/package.json
ADDED