UNPKG

knex

Version:

A batteries-included SQL query & schema builder for PostgresSQL, MySQL, CockroachDB, MSSQL and SQLite3

33 lines (29 loc) 878 B
/** * Sets a hidden (non-enumerable) property on the `target` object, copying it * from `source`. * * This is useful when we want to protect certain data from being accidentally * leaked through logs, also when the property is non-enumerable on the `source` * object and we want to ensure that it is properly copied. * * @param {object} target * @param {object} source - default: target * @param {string} propertyName - default: 'password' */ function setHiddenProperty(target, source, propertyName = 'password') { if (!source) { source = target; } Object.defineProperty(target, propertyName, { enumerable: false, value: source[propertyName], }); } const hasOwn = (() => { const hasOwnProperty = Object.prototype.hasOwnProperty; return (obj, key) => hasOwnProperty.call(obj, key); })(); module.exports = { setHiddenProperty, hasOwn, };