UNPKG

differify-js

Version:

Differify allows you to get the diff between two entities (objects diff, arrays diff, date diff, functions diff, number diff, etc) very easily, quickly and in a friendly way.

38 lines 1.58 kB
import DIFF_MODES from './enums/modes'; import { isObject, isValidString } from './utils/validations'; export default function Configuration(config) { this.compareArraysInOrder = true; this.mode = { array: DIFF_MODES.DIFF, object: DIFF_MODES.DIFF, function: DIFF_MODES.REFERENCE, }; if (isObject(config)) { if (typeof config.compareArraysInOrder === 'boolean') { this.compareArraysInOrder = config.compareArraysInOrder; } if (isObject(config.mode)) { const allowedComparissions = Object.values(DIFF_MODES); if (isValidString(config.mode.array)) { const comparison = config.mode.array.toUpperCase(); if (allowedComparissions.find((prop) => prop === comparison) !== undefined) { this.mode.array = comparison; } } if (isValidString(config.mode.object)) { const comparison = config.mode.object.toUpperCase(); if (allowedComparissions.find((prop) => prop === comparison) !== undefined) { this.mode.object = comparison; } } if (isValidString(config.mode.function)) { const comparison = config.mode.function.toUpperCase(); if (comparison === DIFF_MODES.REFERENCE || comparison === DIFF_MODES.STRING) { this.mode.function = comparison; } } } } } //# sourceMappingURL=config-builder.js.map