forked from lucaspatenaude/ScoreSpot
Update to NPM version
This commit is contained in:
80
ProjectSourceCode/node_modules/pg-promise/lib/helpers/methods/sets.js
generated
vendored
Normal file
80
ProjectSourceCode/node_modules/pg-promise/lib/helpers/methods/sets.js
generated
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* Copyright (c) 2015-present, Vitaly Tomilov
|
||||
*
|
||||
* See the LICENSE file at the top-level directory of this distribution
|
||||
* for licensing information.
|
||||
*
|
||||
* Removal or modification of this copyright notice is prohibited.
|
||||
*/
|
||||
|
||||
const {ColumnSet} = require(`../column-set`);
|
||||
|
||||
const npm = {
|
||||
format: require(`../../formatting`).as.format,
|
||||
utils: require(`../../utils`)
|
||||
};
|
||||
|
||||
/**
|
||||
* @method helpers.sets
|
||||
* @description
|
||||
* Generates a string of comma-separated value-set statements from a single object: `col1=val1, col2=val2, ...`,
|
||||
* to be used as part of a query.
|
||||
*
|
||||
* Since it is to be used as part of `UPDATE` queries, {@link helpers.Column Column} properties `cnd` and `skip` apply.
|
||||
*
|
||||
* @param {object} data
|
||||
* A simple, non-null and non-array source object.
|
||||
*
|
||||
* If it is anything else, the method will throw {@link external:TypeError TypeError} = `Invalid parameter 'data' specified.`
|
||||
*
|
||||
* @param {array|helpers.Column|helpers.ColumnSet} [columns]
|
||||
* Columns for which to set values.
|
||||
*
|
||||
* When not specified, properties of the `data` object are used.
|
||||
*
|
||||
* When no effective columns are found, an empty string is returned.
|
||||
*
|
||||
* @returns {string}
|
||||
* - comma-separated value-set statements for the `data` object
|
||||
* - an empty string, if no effective columns found
|
||||
*
|
||||
* @see
|
||||
* {@link helpers.Column Column},
|
||||
* {@link helpers.ColumnSet ColumnSet}
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* const pgp = require('pg-promise')();
|
||||
*
|
||||
* const data = {id: 1, val: 123, msg: 'hello'};
|
||||
*
|
||||
* // Properties can be pulled automatically from the object:
|
||||
*
|
||||
* pgp.helpers.sets(data);
|
||||
* //=> "id"=1,"val"=123,"msg"='hello'
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* // Column details from a reusable ColumnSet (recommended for performance);
|
||||
* // NOTE: Conditional columns (start with '?') are skipped:
|
||||
*
|
||||
* const cs = new pgp.helpers.ColumnSet(['?id','val', 'msg']);
|
||||
*
|
||||
* pgp.helpers.sets(data, cs);
|
||||
* //=> "val"=123,"msg"='hello'
|
||||
*
|
||||
*/
|
||||
function sets(data, columns, capSQL) {
|
||||
|
||||
if (!data || typeof data !== `object` || Array.isArray(data)) {
|
||||
throw new TypeError(`Invalid parameter 'data' specified.`);
|
||||
}
|
||||
|
||||
if (!(columns instanceof ColumnSet)) {
|
||||
columns = new ColumnSet(columns || data);
|
||||
}
|
||||
|
||||
return npm.format(columns.assign({source: data}), columns.prepare(data), {capSQL});
|
||||
}
|
||||
|
||||
module.exports = {sets};
|
||||
Reference in New Issue
Block a user