@vantreeseba/drizzle-graphql 7.7.0 → 7.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +110 -1
- package/dist/README.md +110 -1
- package/dist/index.cjs +1500 -835
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +88 -3
- package/dist/index.d.ts +88 -3
- package/dist/index.js +1501 -836
- package/dist/index.js.map +1 -1
- package/dist/package.json +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -237,6 +237,43 @@ type RelationResolverFactory = (params: {
|
|
|
237
237
|
* both end up loaded in one process.
|
|
238
238
|
*/
|
|
239
239
|
declare const drizzleExecutorKey: unique symbol;
|
|
240
|
+
/** The write a hook is attached to. `restore` only exists for a soft-deleting table. */
|
|
241
|
+
type WriteOperation = 'insert' | 'update' | 'updateMany' | 'upsert' | 'delete' | 'restore';
|
|
242
|
+
/** What a write hook is handed. See {@link BuildSchemaConfig.onWrite}. */
|
|
243
|
+
type WriteHookPayload = {
|
|
244
|
+
/** Drizzle schema key of the table being written. */
|
|
245
|
+
table: string;
|
|
246
|
+
operation: WriteOperation;
|
|
247
|
+
/** `'before'` runs ahead of the statement, `'after'` once it has returned. */
|
|
248
|
+
position: 'before' | 'after';
|
|
249
|
+
/** Whether the field writes a single row (`createUsersSingle`) or a list. */
|
|
250
|
+
single: boolean;
|
|
251
|
+
/** The field's GraphQL arguments, exactly as the resolver received them. */
|
|
252
|
+
args: any;
|
|
253
|
+
/**
|
|
254
|
+
* The rows the write produced, as the database returned them — before the output mapper,
|
|
255
|
+
* so values are database-shaped. Empty at the `before` position, and on MySQL, whose
|
|
256
|
+
* mutations return no rows.
|
|
257
|
+
*/
|
|
258
|
+
rows: any[];
|
|
259
|
+
context: any;
|
|
260
|
+
info: any;
|
|
261
|
+
/** The executor the mutation itself ran on. Throwing from the hook rolls it back. */
|
|
262
|
+
tx: any;
|
|
263
|
+
};
|
|
264
|
+
type WriteHook = (payload: WriteHookPayload) => void | Promise<void>;
|
|
265
|
+
type WriteHookPositions = {
|
|
266
|
+
before?: WriteHook;
|
|
267
|
+
after?: WriteHook;
|
|
268
|
+
};
|
|
269
|
+
type WriteHooks = WriteHook | WriteHookPositions;
|
|
270
|
+
/** Resolved, per-field hooks: `undefined` when the table registered none. */
|
|
271
|
+
type ResolvedWriteHooks = {
|
|
272
|
+
before?: WriteHook;
|
|
273
|
+
after?: WriteHook;
|
|
274
|
+
};
|
|
275
|
+
/** Build-time lookup of a table's hooks, installed on {@link TablePolicies}. */
|
|
276
|
+
type WriteHookFor = (tableName: string, operation: WriteOperation) => ResolvedWriteHooks | undefined;
|
|
240
277
|
/**
|
|
241
278
|
* Creates a RelationResolverFactory that generates field-level resolvers for each relation.
|
|
242
279
|
* Each resolver:
|
|
@@ -360,6 +397,8 @@ type TablePolicies = {
|
|
|
360
397
|
contextValues?: ContextValuesFor;
|
|
361
398
|
/** See `BuildSchemaConfig.softDelete`. */
|
|
362
399
|
softDelete?: SoftDeleteFor;
|
|
400
|
+
/** See `BuildSchemaConfig.onWrite`. */
|
|
401
|
+
onWrite?: WriteHookFor;
|
|
363
402
|
};
|
|
364
403
|
/**
|
|
365
404
|
* Where a dialect's default sort places NULLs relative to non-NULL values:
|
|
@@ -759,8 +798,14 @@ type SchemaFeatures = {
|
|
|
759
798
|
* Each relation field offers `create` and `connect`; the update input adds `disconnect`
|
|
760
799
|
* and, for a to-many relation, `set` (replace the whole set). `disconnect` and `set` are
|
|
761
800
|
* generated only when the foreign key is nullable — there is no way to detach a row whose
|
|
762
|
-
* key is NOT NULL
|
|
763
|
-
*
|
|
801
|
+
* key is NOT NULL. Nesting is one level deep: the row a nested `create` inserts takes
|
|
802
|
+
* columns only.
|
|
803
|
+
*
|
|
804
|
+
* A many-to-many (`.through()`) relation is written as junction rows: `connect` on the
|
|
805
|
+
* create input, and `connect` / `disconnect` / `set` on the update input, all
|
|
806
|
+
* unconditional, since unlinking deletes a junction row rather than nulling a column.
|
|
807
|
+
* It offers no `create` — inserting a row and linking it are two writes to two tables —
|
|
808
|
+
* and `set: []` clears the relation.
|
|
764
809
|
*
|
|
765
810
|
* The whole tree runs in one transaction (a savepoint when the request already carries
|
|
766
811
|
* one), and a column a relation fills in (`authorId`, when `author: { create: … }` is
|
|
@@ -923,6 +968,13 @@ type SoftDeleteColumn = string | {
|
|
|
923
968
|
*/
|
|
924
969
|
restoredValue?: any;
|
|
925
970
|
};
|
|
971
|
+
|
|
972
|
+
/**
|
|
973
|
+
* Write hooks, either applied to every table (a bare function, or an object naming the
|
|
974
|
+
* positions) or registered per table by Drizzle schema key. See
|
|
975
|
+
* {@link BuildSchemaConfig.onWrite}.
|
|
976
|
+
*/
|
|
977
|
+
type OnWriteConfig = WriteHooks | Record<string, WriteHooks>;
|
|
926
978
|
/**
|
|
927
979
|
* Per-table soft-delete declarations, either keyed by Drizzle schema key or as a rule applied
|
|
928
980
|
* to every table. See {@link BuildSchemaConfig.softDelete}.
|
|
@@ -1265,6 +1317,39 @@ type BuildSchemaConfig = {
|
|
|
1265
1317
|
* Marking a parent deleted does not mark its children — a cascade is a schema decision.
|
|
1266
1318
|
*/
|
|
1267
1319
|
softDelete?: SoftDeleteConfig;
|
|
1320
|
+
/**
|
|
1321
|
+
* A hook that runs **inside the mutation's transaction**, so its writes commit or roll back
|
|
1322
|
+
* with the mutation itself — the position an audit row, an outbox row, or a denormalized
|
|
1323
|
+
* counter needs, and the one a `graphql-middleware` wrapper cannot occupy.
|
|
1324
|
+
*
|
|
1325
|
+
* ```ts
|
|
1326
|
+
* buildSchema(db, {
|
|
1327
|
+
* onWrite: {
|
|
1328
|
+
* posts: async ({ table, operation, rows, tx }) => {
|
|
1329
|
+
* await tx.insert(auditLog).values(rows.map((row) => ({ table, operation, rowId: row.id })));
|
|
1330
|
+
* },
|
|
1331
|
+
* },
|
|
1332
|
+
* });
|
|
1333
|
+
* ```
|
|
1334
|
+
*
|
|
1335
|
+
* A bare function is the **`after`** hook — the position that has rows. `{ before, after }`
|
|
1336
|
+
* names them explicitly; `before` receives the field's args ahead of the statement, for a
|
|
1337
|
+
* check that has to read inside the same snapshot. Registering a bare function (or a
|
|
1338
|
+
* positions object) at the top level applies it to every table; anything else is read as a
|
|
1339
|
+
* table map keyed by Drizzle schema key, and an unknown name fails the build.
|
|
1340
|
+
*
|
|
1341
|
+
* - **`tx` is the executor the mutation ran on** — a caller-supplied executor under
|
|
1342
|
+
* `drizzleExecutorKey`, the request's auto-transaction, or, for a field that would
|
|
1343
|
+
* otherwise have run unwrapped, a transaction opened for it because the hook is there.
|
|
1344
|
+
* - **Throwing rolls the mutation back.** That is the point of the position.
|
|
1345
|
+
* - **`rows` are the post-write rows as the database returned them**, before the output
|
|
1346
|
+
* mapper. Empty at the `before` position, and on MySQL, whose mutations return no rows.
|
|
1347
|
+
* - The hook fires for the **mutation field's own table**. Rows a nested write creates in
|
|
1348
|
+
* another table do not fire that table's hook.
|
|
1349
|
+
*
|
|
1350
|
+
* Off by default, and a build without it opens exactly the transactions it did before.
|
|
1351
|
+
*/
|
|
1352
|
+
onWrite?: OnWriteConfig;
|
|
1268
1353
|
/**
|
|
1269
1354
|
* Tables and columns to leave out of the generated schema entirely.
|
|
1270
1355
|
*
|
|
@@ -1727,4 +1812,4 @@ declare const resolveSelection: (info: GraphQLResolveInfo | ResolveTree, options
|
|
|
1727
1812
|
|
|
1728
1813
|
declare const buildSchema: <TDbClient extends AnyDrizzleDB<any>>(db: TDbClient, config?: BuildSchemaConfig) => GeneratedData<TDbClient>;
|
|
1729
1814
|
|
|
1730
|
-
export { type AggregateResolver, type AnyDrizzleDB, type BuildSchemaConfig, type ColumnDeprecator, type ColumnDescriber, type ColumnDocInfo, type ColumnTypeMapper, type ColumnTypeMapperInfo, type ComplexityConfig, type ContextValuesConfig, type DeleteResolver, type DeleteSingleResolver, type DrizzleExtension, type DrizzleFieldExtension, type DrizzleFieldKind, type DrizzleFieldOperation, type DrizzleTargetArg, type DrizzleTypeExtension, type EnumNameInfo, type EnumNameMapper, type ExtractRelations, type ExtractTableByName, type ExtractTableRelations, type ExtractTables, type FeatureSwitch, type GeneratedData, type GeneratedEntities, type GeneratedInputs, type GeneratedOutputs, GraphQLBigIntString, GraphQLDecimalString, type IdentifiedRows, type InsertArrResolver, type InsertResolver, type LimitsConfig, type MutationReturnlessResult, type MutationsCore, type QueriesCore, type RelationDescriber, type RelationResolverFactory, type ResolveSelectionOptions, type RowScope, type RowScopeFilter, type ScalarOverride, type ScalarOverridesConfig, type SchemaDocs, type SchemaExclusions, type SchemaFeatures, type ScopeConfig, type SelectResolver, type SelectSingleResolver, type SelectionOptions, type SoftDeleteColumn, type SoftDeleteConfig, type TableDescriber, type TableLimitPolicy, type TableNamedRelations, type UpdateManyArgs, type UpdateManyEntry, type UpdateManyResolver, type UpdateResolver, type UpdateSingleResolver, type UpsertArgs, type UpsertArrResolver, type UpsertConflictArgs, type UpsertResolver, buildSchema, createRelationResolverFactory, defaultErrorMapper, drizzleExecutorKey, drizzleExtension, extractFilters, extractOrderBy, extractRelationJoinColumns, identifyRows, isDrizzleFieldExtension, resolveSelection, selectionToWith, singularizeMapper };
|
|
1815
|
+
export { type AggregateResolver, type AnyDrizzleDB, type BuildSchemaConfig, type ColumnDeprecator, type ColumnDescriber, type ColumnDocInfo, type ColumnTypeMapper, type ColumnTypeMapperInfo, type ComplexityConfig, type ContextValuesConfig, type DeleteResolver, type DeleteSingleResolver, type DrizzleExtension, type DrizzleFieldExtension, type DrizzleFieldKind, type DrizzleFieldOperation, type DrizzleTargetArg, type DrizzleTypeExtension, type EnumNameInfo, type EnumNameMapper, type ExtractRelations, type ExtractTableByName, type ExtractTableRelations, type ExtractTables, type FeatureSwitch, type GeneratedData, type GeneratedEntities, type GeneratedInputs, type GeneratedOutputs, GraphQLBigIntString, GraphQLDecimalString, type IdentifiedRows, type InsertArrResolver, type InsertResolver, type LimitsConfig, type MutationReturnlessResult, type MutationsCore, type OnWriteConfig, type QueriesCore, type RelationDescriber, type RelationResolverFactory, type ResolveSelectionOptions, type RowScope, type RowScopeFilter, type ScalarOverride, type ScalarOverridesConfig, type SchemaDocs, type SchemaExclusions, type SchemaFeatures, type ScopeConfig, type SelectResolver, type SelectSingleResolver, type SelectionOptions, type SoftDeleteColumn, type SoftDeleteConfig, type TableDescriber, type TableLimitPolicy, type TableNamedRelations, type UpdateManyArgs, type UpdateManyEntry, type UpdateManyResolver, type UpdateResolver, type UpdateSingleResolver, type UpsertArgs, type UpsertArrResolver, type UpsertConflictArgs, type UpsertResolver, type WriteHook, type WriteHookPayload, type WriteHookPositions, type WriteHooks, type WriteOperation, buildSchema, createRelationResolverFactory, defaultErrorMapper, drizzleExecutorKey, drizzleExtension, extractFilters, extractOrderBy, extractRelationJoinColumns, identifyRows, isDrizzleFieldExtension, resolveSelection, selectionToWith, singularizeMapper };
|
package/dist/index.d.ts
CHANGED
|
@@ -237,6 +237,43 @@ type RelationResolverFactory = (params: {
|
|
|
237
237
|
* both end up loaded in one process.
|
|
238
238
|
*/
|
|
239
239
|
declare const drizzleExecutorKey: unique symbol;
|
|
240
|
+
/** The write a hook is attached to. `restore` only exists for a soft-deleting table. */
|
|
241
|
+
type WriteOperation = 'insert' | 'update' | 'updateMany' | 'upsert' | 'delete' | 'restore';
|
|
242
|
+
/** What a write hook is handed. See {@link BuildSchemaConfig.onWrite}. */
|
|
243
|
+
type WriteHookPayload = {
|
|
244
|
+
/** Drizzle schema key of the table being written. */
|
|
245
|
+
table: string;
|
|
246
|
+
operation: WriteOperation;
|
|
247
|
+
/** `'before'` runs ahead of the statement, `'after'` once it has returned. */
|
|
248
|
+
position: 'before' | 'after';
|
|
249
|
+
/** Whether the field writes a single row (`createUsersSingle`) or a list. */
|
|
250
|
+
single: boolean;
|
|
251
|
+
/** The field's GraphQL arguments, exactly as the resolver received them. */
|
|
252
|
+
args: any;
|
|
253
|
+
/**
|
|
254
|
+
* The rows the write produced, as the database returned them — before the output mapper,
|
|
255
|
+
* so values are database-shaped. Empty at the `before` position, and on MySQL, whose
|
|
256
|
+
* mutations return no rows.
|
|
257
|
+
*/
|
|
258
|
+
rows: any[];
|
|
259
|
+
context: any;
|
|
260
|
+
info: any;
|
|
261
|
+
/** The executor the mutation itself ran on. Throwing from the hook rolls it back. */
|
|
262
|
+
tx: any;
|
|
263
|
+
};
|
|
264
|
+
type WriteHook = (payload: WriteHookPayload) => void | Promise<void>;
|
|
265
|
+
type WriteHookPositions = {
|
|
266
|
+
before?: WriteHook;
|
|
267
|
+
after?: WriteHook;
|
|
268
|
+
};
|
|
269
|
+
type WriteHooks = WriteHook | WriteHookPositions;
|
|
270
|
+
/** Resolved, per-field hooks: `undefined` when the table registered none. */
|
|
271
|
+
type ResolvedWriteHooks = {
|
|
272
|
+
before?: WriteHook;
|
|
273
|
+
after?: WriteHook;
|
|
274
|
+
};
|
|
275
|
+
/** Build-time lookup of a table's hooks, installed on {@link TablePolicies}. */
|
|
276
|
+
type WriteHookFor = (tableName: string, operation: WriteOperation) => ResolvedWriteHooks | undefined;
|
|
240
277
|
/**
|
|
241
278
|
* Creates a RelationResolverFactory that generates field-level resolvers for each relation.
|
|
242
279
|
* Each resolver:
|
|
@@ -360,6 +397,8 @@ type TablePolicies = {
|
|
|
360
397
|
contextValues?: ContextValuesFor;
|
|
361
398
|
/** See `BuildSchemaConfig.softDelete`. */
|
|
362
399
|
softDelete?: SoftDeleteFor;
|
|
400
|
+
/** See `BuildSchemaConfig.onWrite`. */
|
|
401
|
+
onWrite?: WriteHookFor;
|
|
363
402
|
};
|
|
364
403
|
/**
|
|
365
404
|
* Where a dialect's default sort places NULLs relative to non-NULL values:
|
|
@@ -759,8 +798,14 @@ type SchemaFeatures = {
|
|
|
759
798
|
* Each relation field offers `create` and `connect`; the update input adds `disconnect`
|
|
760
799
|
* and, for a to-many relation, `set` (replace the whole set). `disconnect` and `set` are
|
|
761
800
|
* generated only when the foreign key is nullable — there is no way to detach a row whose
|
|
762
|
-
* key is NOT NULL
|
|
763
|
-
*
|
|
801
|
+
* key is NOT NULL. Nesting is one level deep: the row a nested `create` inserts takes
|
|
802
|
+
* columns only.
|
|
803
|
+
*
|
|
804
|
+
* A many-to-many (`.through()`) relation is written as junction rows: `connect` on the
|
|
805
|
+
* create input, and `connect` / `disconnect` / `set` on the update input, all
|
|
806
|
+
* unconditional, since unlinking deletes a junction row rather than nulling a column.
|
|
807
|
+
* It offers no `create` — inserting a row and linking it are two writes to two tables —
|
|
808
|
+
* and `set: []` clears the relation.
|
|
764
809
|
*
|
|
765
810
|
* The whole tree runs in one transaction (a savepoint when the request already carries
|
|
766
811
|
* one), and a column a relation fills in (`authorId`, when `author: { create: … }` is
|
|
@@ -923,6 +968,13 @@ type SoftDeleteColumn = string | {
|
|
|
923
968
|
*/
|
|
924
969
|
restoredValue?: any;
|
|
925
970
|
};
|
|
971
|
+
|
|
972
|
+
/**
|
|
973
|
+
* Write hooks, either applied to every table (a bare function, or an object naming the
|
|
974
|
+
* positions) or registered per table by Drizzle schema key. See
|
|
975
|
+
* {@link BuildSchemaConfig.onWrite}.
|
|
976
|
+
*/
|
|
977
|
+
type OnWriteConfig = WriteHooks | Record<string, WriteHooks>;
|
|
926
978
|
/**
|
|
927
979
|
* Per-table soft-delete declarations, either keyed by Drizzle schema key or as a rule applied
|
|
928
980
|
* to every table. See {@link BuildSchemaConfig.softDelete}.
|
|
@@ -1265,6 +1317,39 @@ type BuildSchemaConfig = {
|
|
|
1265
1317
|
* Marking a parent deleted does not mark its children — a cascade is a schema decision.
|
|
1266
1318
|
*/
|
|
1267
1319
|
softDelete?: SoftDeleteConfig;
|
|
1320
|
+
/**
|
|
1321
|
+
* A hook that runs **inside the mutation's transaction**, so its writes commit or roll back
|
|
1322
|
+
* with the mutation itself — the position an audit row, an outbox row, or a denormalized
|
|
1323
|
+
* counter needs, and the one a `graphql-middleware` wrapper cannot occupy.
|
|
1324
|
+
*
|
|
1325
|
+
* ```ts
|
|
1326
|
+
* buildSchema(db, {
|
|
1327
|
+
* onWrite: {
|
|
1328
|
+
* posts: async ({ table, operation, rows, tx }) => {
|
|
1329
|
+
* await tx.insert(auditLog).values(rows.map((row) => ({ table, operation, rowId: row.id })));
|
|
1330
|
+
* },
|
|
1331
|
+
* },
|
|
1332
|
+
* });
|
|
1333
|
+
* ```
|
|
1334
|
+
*
|
|
1335
|
+
* A bare function is the **`after`** hook — the position that has rows. `{ before, after }`
|
|
1336
|
+
* names them explicitly; `before` receives the field's args ahead of the statement, for a
|
|
1337
|
+
* check that has to read inside the same snapshot. Registering a bare function (or a
|
|
1338
|
+
* positions object) at the top level applies it to every table; anything else is read as a
|
|
1339
|
+
* table map keyed by Drizzle schema key, and an unknown name fails the build.
|
|
1340
|
+
*
|
|
1341
|
+
* - **`tx` is the executor the mutation ran on** — a caller-supplied executor under
|
|
1342
|
+
* `drizzleExecutorKey`, the request's auto-transaction, or, for a field that would
|
|
1343
|
+
* otherwise have run unwrapped, a transaction opened for it because the hook is there.
|
|
1344
|
+
* - **Throwing rolls the mutation back.** That is the point of the position.
|
|
1345
|
+
* - **`rows` are the post-write rows as the database returned them**, before the output
|
|
1346
|
+
* mapper. Empty at the `before` position, and on MySQL, whose mutations return no rows.
|
|
1347
|
+
* - The hook fires for the **mutation field's own table**. Rows a nested write creates in
|
|
1348
|
+
* another table do not fire that table's hook.
|
|
1349
|
+
*
|
|
1350
|
+
* Off by default, and a build without it opens exactly the transactions it did before.
|
|
1351
|
+
*/
|
|
1352
|
+
onWrite?: OnWriteConfig;
|
|
1268
1353
|
/**
|
|
1269
1354
|
* Tables and columns to leave out of the generated schema entirely.
|
|
1270
1355
|
*
|
|
@@ -1727,4 +1812,4 @@ declare const resolveSelection: (info: GraphQLResolveInfo | ResolveTree, options
|
|
|
1727
1812
|
|
|
1728
1813
|
declare const buildSchema: <TDbClient extends AnyDrizzleDB<any>>(db: TDbClient, config?: BuildSchemaConfig) => GeneratedData<TDbClient>;
|
|
1729
1814
|
|
|
1730
|
-
export { type AggregateResolver, type AnyDrizzleDB, type BuildSchemaConfig, type ColumnDeprecator, type ColumnDescriber, type ColumnDocInfo, type ColumnTypeMapper, type ColumnTypeMapperInfo, type ComplexityConfig, type ContextValuesConfig, type DeleteResolver, type DeleteSingleResolver, type DrizzleExtension, type DrizzleFieldExtension, type DrizzleFieldKind, type DrizzleFieldOperation, type DrizzleTargetArg, type DrizzleTypeExtension, type EnumNameInfo, type EnumNameMapper, type ExtractRelations, type ExtractTableByName, type ExtractTableRelations, type ExtractTables, type FeatureSwitch, type GeneratedData, type GeneratedEntities, type GeneratedInputs, type GeneratedOutputs, GraphQLBigIntString, GraphQLDecimalString, type IdentifiedRows, type InsertArrResolver, type InsertResolver, type LimitsConfig, type MutationReturnlessResult, type MutationsCore, type QueriesCore, type RelationDescriber, type RelationResolverFactory, type ResolveSelectionOptions, type RowScope, type RowScopeFilter, type ScalarOverride, type ScalarOverridesConfig, type SchemaDocs, type SchemaExclusions, type SchemaFeatures, type ScopeConfig, type SelectResolver, type SelectSingleResolver, type SelectionOptions, type SoftDeleteColumn, type SoftDeleteConfig, type TableDescriber, type TableLimitPolicy, type TableNamedRelations, type UpdateManyArgs, type UpdateManyEntry, type UpdateManyResolver, type UpdateResolver, type UpdateSingleResolver, type UpsertArgs, type UpsertArrResolver, type UpsertConflictArgs, type UpsertResolver, buildSchema, createRelationResolverFactory, defaultErrorMapper, drizzleExecutorKey, drizzleExtension, extractFilters, extractOrderBy, extractRelationJoinColumns, identifyRows, isDrizzleFieldExtension, resolveSelection, selectionToWith, singularizeMapper };
|
|
1815
|
+
export { type AggregateResolver, type AnyDrizzleDB, type BuildSchemaConfig, type ColumnDeprecator, type ColumnDescriber, type ColumnDocInfo, type ColumnTypeMapper, type ColumnTypeMapperInfo, type ComplexityConfig, type ContextValuesConfig, type DeleteResolver, type DeleteSingleResolver, type DrizzleExtension, type DrizzleFieldExtension, type DrizzleFieldKind, type DrizzleFieldOperation, type DrizzleTargetArg, type DrizzleTypeExtension, type EnumNameInfo, type EnumNameMapper, type ExtractRelations, type ExtractTableByName, type ExtractTableRelations, type ExtractTables, type FeatureSwitch, type GeneratedData, type GeneratedEntities, type GeneratedInputs, type GeneratedOutputs, GraphQLBigIntString, GraphQLDecimalString, type IdentifiedRows, type InsertArrResolver, type InsertResolver, type LimitsConfig, type MutationReturnlessResult, type MutationsCore, type OnWriteConfig, type QueriesCore, type RelationDescriber, type RelationResolverFactory, type ResolveSelectionOptions, type RowScope, type RowScopeFilter, type ScalarOverride, type ScalarOverridesConfig, type SchemaDocs, type SchemaExclusions, type SchemaFeatures, type ScopeConfig, type SelectResolver, type SelectSingleResolver, type SelectionOptions, type SoftDeleteColumn, type SoftDeleteConfig, type TableDescriber, type TableLimitPolicy, type TableNamedRelations, type UpdateManyArgs, type UpdateManyEntry, type UpdateManyResolver, type UpdateResolver, type UpdateSingleResolver, type UpsertArgs, type UpsertArrResolver, type UpsertConflictArgs, type UpsertResolver, type WriteHook, type WriteHookPayload, type WriteHookPositions, type WriteHooks, type WriteOperation, buildSchema, createRelationResolverFactory, defaultErrorMapper, drizzleExecutorKey, drizzleExtension, extractFilters, extractOrderBy, extractRelationJoinColumns, identifyRows, isDrizzleFieldExtension, resolveSelection, selectionToWith, singularizeMapper };
|