kysely-mapper
Version:
Flexible Kysely-based utility for mapping between tables and objects
68 lines • 2.88 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.createInsertTransformMapper = exports.createUserMapperReturningAll = exports.createUserMapperReturningDifferently = exports.createUserMapperReturningIDAndHandleAsH = exports.createUserMapperReturningID = exports.createUserMapperReturningNothing = exports.createUserMapperReturningDefault = void 0;
const table_mapper_1 = require("../../mappers/table-mapper");
const countTransform = (count) => Number(count);
function createUserMapperReturningDefault(db) {
return new table_mapper_1.TableMapper(db, 'users');
}
exports.createUserMapperReturningDefault = createUserMapperReturningDefault;
const noColumns = [];
function createUserMapperReturningNothing(db) {
return new table_mapper_1.TableMapper(db, 'users', {
keyColumns: noColumns,
updateReturnColumns: noColumns,
}).withTransforms({
countTransform,
});
}
exports.createUserMapperReturningNothing = createUserMapperReturningNothing;
function createUserMapperReturningID(db) {
return new table_mapper_1.TableMapper(db, 'users', {
keyColumns: ['id'],
updateReturnColumns: ['id'],
}).withTransforms({
countTransform,
});
}
exports.createUserMapperReturningID = createUserMapperReturningID;
function createUserMapperReturningIDAndHandleAsH(db) {
return new table_mapper_1.TableMapper(db, 'users', {
keyColumns: ['id'],
insertReturnColumns: ['id', 'handle as h'],
updateReturnColumns: ['id', 'handle as h'],
}).withTransforms({ countTransform });
}
exports.createUserMapperReturningIDAndHandleAsH = createUserMapperReturningIDAndHandleAsH;
function createUserMapperReturningDifferently(db) {
return new table_mapper_1.TableMapper(db, 'users', {
keyColumns: ['id'],
insertReturnColumns: ['id', 'handle'],
updateReturnColumns: ['name'],
}).withTransforms({ countTransform });
}
exports.createUserMapperReturningDifferently = createUserMapperReturningDifferently;
function createUserMapperReturningAll(db) {
return new table_mapper_1.TableMapper(db, 'users', {
insertReturnColumns: ['*'],
updateReturnColumns: ['*'],
}).withTransforms({
countTransform,
});
}
exports.createUserMapperReturningAll = createUserMapperReturningAll;
function createInsertTransformMapper(db) {
return new table_mapper_1.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),
});
}
exports.createInsertTransformMapper = createInsertTransformMapper;
//# sourceMappingURL=test-mappers.js.map
;