Sha256: 593455b549bc5b274db26e1825dbaaa78d4b15e56be634a7a0496b1d404757dc
Contents?: true
Size: 1.5 KB
Versions: 50
Compression:
Stored size: 1.5 KB
Contents
/** * @filedescription Merge Strategy */ "use strict"; //----------------------------------------------------------------------------- // Class //----------------------------------------------------------------------------- /** * Container class for several different merge strategies. */ class MergeStrategy { /** * Merges two keys by overwriting the first with the second. * @param {*} value1 The value from the first object key. * @param {*} value2 The value from the second object key. * @returns {*} The second value. */ static overwrite(value1, value2) { return value2; } /** * Merges two keys by replacing the first with the second only if the * second is defined. * @param {*} value1 The value from the first object key. * @param {*} value2 The value from the second object key. * @returns {*} The second value if it is defined. */ static replace(value1, value2) { if (typeof value2 !== "undefined") { return value2; } return value1; } /** * Merges two properties by assigning properties from the second to the first. * @param {*} value1 The value from the first object key. * @param {*} value2 The value from the second object key. * @returns {*} A new object containing properties from both value1 and * value2. */ static assign(value1, value2) { return Object.assign({}, value1, value2); } } exports.MergeStrategy = MergeStrategy;
Version data entries
50 entries across 41 versions & 2 rubygems