UNPKG

kysely-mapper

Version:

Flexible Kysely-based utility for mapping between tables and objects

58 lines 1.9 kB
import { TableMapper } from '../../mappers/table-mapper'; const countTransform = (count) => Number(count); export function createUserMapperReturningDefault(db) { return new TableMapper(db, 'users'); } const noColumns = []; export function createUserMapperReturningNothing(db) { return new TableMapper(db, 'users', { keyColumns: noColumns, updateReturnColumns: noColumns, }).withTransforms({ countTransform, }); } export function createUserMapperReturningID(db) { return new TableMapper(db, 'users', { keyColumns: ['id'], updateReturnColumns: ['id'], }).withTransforms({ countTransform, }); } export function createUserMapperReturningIDAndHandleAsH(db) { return new TableMapper(db, 'users', { keyColumns: ['id'], insertReturnColumns: ['id', 'handle as h'], updateReturnColumns: ['id', 'handle as h'], }).withTransforms({ countTransform }); } export function createUserMapperReturningDifferently(db) { return new TableMapper(db, 'users', { keyColumns: ['id'], insertReturnColumns: ['id', 'handle'], updateReturnColumns: ['name'], }).withTransforms({ countTransform }); } export function createUserMapperReturningAll(db) { return new TableMapper(db, 'users', { insertReturnColumns: ['*'], updateReturnColumns: ['*'], }).withTransforms({ countTransform, }); } export function createInsertTransformMapper(db) { return new TableMapper(db, 'users', { insertReturnColumns: ['id'], updateReturnColumns: ['id'], }).withTransforms({ insertTransform: (source) => ({ name: `${source.firstName} ${source.lastName}`, handle: source.handle, email: source.email, }), countTransform: (count) => Number(count), }); } //# sourceMappingURL=test-mappers.js.map