kysely-mapper
Version:
Flexible Kysely-based utility for mapping between tables and objects
15 lines • 1.32 kB
TypeScript
import { ParametersObject, QueryParameterMaker } from 'kysely-params';
import { AbstractTableMapper } from '../mappers/abstract-table-mapper.js';
import { SelectableColumnTuple, SelectionColumn } from './type-utils.js';
import { ParameterizableMappingQuery } from '../queries/parameterizable-query.js';
/**
* Definition of the function that a caller provides to parameterize a
* compilable query.
*/
export interface ParameterizableMappingQueryFactory<DB, TB extends keyof DB & string, KeyColumns extends Readonly<SelectableColumnTuple<DB[TB]>> | Readonly<[]>, SelectedColumns extends Readonly<SelectionColumn<DB, TB>[]> | ['*'], SelectedObject, InsertedObject, UpdatingObject, ReturnCount, InsertReturnColumns extends Readonly<SelectionColumn<DB, TB>[]> | ['*'], UpdateReturnColumns extends Readonly<SelectionColumn<DB, TB>[]> | ['*'], InsertReturn, UpdateReturn, M extends AbstractTableMapper<DB, TB, KeyColumns, SelectedColumns, SelectedObject, InsertedObject, UpdatingObject, ReturnCount, InsertReturnColumns, UpdateReturnColumns, InsertReturn, UpdateReturn>, Parameters extends ParametersObject<Parameters>, Q extends ParameterizableMappingQuery> {
(factory: {
mapper: M;
param: QueryParameterMaker<Parameters>['param'];
}): Q;
}
//# sourceMappingURL=parameterizable-query-factory.d.ts.map