UNPKG

pure-orm

Version:

A SQL Toolkit based on pure business objects passed to and from stateful data access objects

58 lines (57 loc) 2.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createForPGP = void 0; const createForPGP = ({ core, db, logError }) => { const defaultErrorHandler = (err) => { if (!(err.name === 'QueryResultError')) { if (logError) { logError(err); } } throw err; }; /* ------------------------------------------------------------------------*/ /* Query functions --------------------------------------------------------*/ /* ------------------------------------------------------------------------*/ const one = (query, values, errorHandler = defaultErrorHandler) => { return db .many(query, values) .then((rows) => core.createOneFromDatabase(rows)) .catch(errorHandler); }; const oneOrNone = (query, values, errorHandler = defaultErrorHandler) => { return db .any(query, values) .then((rows) => core.createOneOrNoneFromDatabase(rows)) .catch(errorHandler); }; const many = (query, values, errorHandler = defaultErrorHandler) => { return db .any(query, values) .then((rows) => core.createManyFromDatabase(rows)) .catch(errorHandler); }; const any = (query, values, errorHandler = defaultErrorHandler) => { return db .result(query, values) .then((result) => core.createAnyFromDatabase(result.rows, result.fields[0].name.split('#')[0])) .catch(errorHandler); }; const none = (query, values, errorHandler = defaultErrorHandler) => { return db .none(query, values) .then(() => null) .catch(errorHandler); }; return Object.assign({}, core, { // Query Functions one, oneOrNone, many, any, none, // provide direct access to db db }); }; exports.createForPGP = createForPGP;