UNPKG

react-application-core

Version:

A react-based application core for the business applications.

26 lines 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildEntityByMergeStrategy = exports.getActualMergeStrategy = void 0; var R = require("ramda"); var definition_1 = require("../definition"); var clone_1 = require("./clone"); /** * @stable [19.10.2019] * @param {EntityMergeStrategiesEnum} mergeStrategy * @returns {EntityMergeStrategiesEnum} */ exports.getActualMergeStrategy = function (mergeStrategy) { return (R.isNil(mergeStrategy) || mergeStrategy === definition_1.EntityMergeStrategiesEnum.MERGE) ? definition_1.EntityMergeStrategiesEnum.MERGE : definition_1.EntityMergeStrategiesEnum.OVERRIDE; }; /** * @stable [19.10.2019] * @param {IModifyEntity<TEntity extends IEntity>} payload * @param {TEntity} entity * @returns {TEntity} */ exports.buildEntityByMergeStrategy = function (payload, entity) { return (exports.getActualMergeStrategy(payload.mergeStrategy) === definition_1.EntityMergeStrategiesEnum.OVERRIDE ? clone_1.CloneUtils.shallowClone(payload.changes) : Object.assign({}, entity || {}, payload.changes)); }; //# sourceMappingURL=merge-strategy.js.map