UNPKG

@voiceflow/common

Version:

Junk drawer of utility functions

19 lines (18 loc) 779 B
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getTopLevelDiff = void 0; const transform_js_1 = __importDefault(require("lodash/transform.js")); const defaultCompare = (left, right) => left === right; const getTopLevelDiff = (object, base, compare = defaultCompare) => { const changes = (object, base) => (0, transform_js_1.default)(object, (result, value, key) => { if (!compare(value, base[key])) { // eslint-disable-next-line no-param-reassign result[key] = value; } }); return changes(object, base); }; exports.getTopLevelDiff = getTopLevelDiff;