UNPKG

slonik

Version:

A Node.js PostgreSQL client with strict types, detailed logging and assertions.

28 lines 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.maybeOneFirst = void 0; const maybeOne_1 = require("./maybeOne"); const errors_1 = require("@slonik/errors"); const utilities_1 = require("@slonik/utilities"); /** * Makes a query and expects exactly one result. * Returns value of the first column. * @throws DataIntegrityError If query returns multiple rows. */ const maybeOneFirst = async (log, connection, clientConfiguration, query, inheritedQueryId) => { const queryId = inheritedQueryId ?? (0, utilities_1.generateUid)(); const row = await (0, maybeOne_1.maybeOne)(log, connection, clientConfiguration, query, queryId); if (!row) { return null; } const keys = Object.keys(row); if (keys.length !== 1) { log.error({ queryId, }, 'DataIntegrityError'); throw new errors_1.DataIntegrityError(query); } return row[keys[0]]; }; exports.maybeOneFirst = maybeOneFirst; //# sourceMappingURL=maybeOneFirst.js.map