UNPKG

@grnsft/if

Version:

Impact Framework

75 lines 7.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatNotMatchingLog = exports.oneIsPrimitive = exports.checkIfEqual = void 0; /** * `If-diff` equality checker. */ const checkIfEqual = (source, target) => { if (source === target) { return true; } if (source === '*' || target === '*') { return true; } return false; }; exports.checkIfEqual = checkIfEqual; /** * Checks if objects are primitive types. */ const oneIsPrimitive = (source, target) => { // eslint-disable-next-line eqeqeq if (source == null || target == null) { return true; } return source !== Object(source) && target !== Object(target); }; exports.oneIsPrimitive = oneIsPrimitive; /** * Converts given `value` to either `1` or `0`. */ const convertToXorable = (value) => { if (typeof value === 'number') { return value !== 0 ? 1 : 0; } if (typeof value === 'boolean') { return value ? 1 : 0; } if (typeof value === 'string') { return value.length > 0 ? 1 : 0; } if (typeof value === 'object') { return 1; } return 0; }; /** * If one of the `valuesToCheck` values is undefined, then set `missing`, otherwise `exists`. */ const setValuesIfMissing = (response) => { const source = convertToXorable(response.source); const target = convertToXorable(response.target); if (source ^ target) { ['source', 'target'].forEach(value => { response[value] = response[value] ? 'exists' : 'missing'; }); return response; } return response; }; /** * Format not matching message for CLI logging. */ const formatNotMatchingLog = (message) => { const flattenMessage = setValuesIfMissing(message); Object.keys(flattenMessage).forEach(key => { if (key === 'message' || key === 'path') { console.log(message[key]); } else { console.log(`${key}: ${message[key]}`); } }); }; exports.formatNotMatchingLog = formatNotMatchingLog; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1kaWZmL3V0aWwvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQTs7R0FFRztBQUNJLE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBVyxFQUFFLE1BQVcsRUFBRSxFQUFFO0lBQ3ZELElBQUksTUFBTSxLQUFLLE1BQU0sRUFBRTtRQUNyQixPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsSUFBSSxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sS0FBSyxHQUFHLEVBQUU7UUFDcEMsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBVlcsUUFBQSxZQUFZLGdCQVV2QjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFXLEVBQUUsTUFBVyxFQUFFLEVBQUU7SUFDekQsa0NBQWtDO0lBQ2xDLElBQUksTUFBTSxJQUFJLElBQUksSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO1FBQ3BDLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxPQUFPLE1BQU0sS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNoRSxDQUFDLENBQUM7QUFQVyxRQUFBLGNBQWMsa0JBT3pCO0FBRUY7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7SUFDdEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUM1QjtJQUVELElBQUksT0FBTyxLQUFLLEtBQUssU0FBUyxFQUFFO1FBQzlCLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN0QjtJQUVELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLE9BQU8sS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2pDO0lBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxDQUFDLENBQUM7S0FDVjtJQUVELE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLGtCQUFrQixHQUFHLENBQUMsUUFBb0IsRUFBRSxFQUFFO0lBQ2xELE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRCxNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFakQsSUFBSSxNQUFNLEdBQUcsTUFBTSxFQUFFO1FBQ25CLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNuQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sUUFBUSxDQUFDO0tBQ2pCO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLG9CQUFvQixHQUFHLENBQUMsT0FBbUIsRUFBRSxFQUFFO0lBQzFELE1BQU0sY0FBYyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRW5ELE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3hDLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssTUFBTSxFQUFFO1lBQ3ZDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDM0I7YUFBTTtZQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEtBQUssT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBVlcsUUFBQSxvQkFBb0Isd0JBVS9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaWZmZXJlbmNlfSBmcm9tICcuLi90eXBlcy9jb21wYXJlJztcblxuLyoqXG4gKiBgSWYtZGlmZmAgZXF1YWxpdHkgY2hlY2tlci5cbiAqL1xuZXhwb3J0IGNvbnN0IGNoZWNrSWZFcXVhbCA9IChzb3VyY2U6IGFueSwgdGFyZ2V0OiBhbnkpID0+IHtcbiAgaWYgKHNvdXJjZSA9PT0gdGFyZ2V0KSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoc291cmNlID09PSAnKicgfHwgdGFyZ2V0ID09PSAnKicpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIG9iamVjdHMgYXJlIHByaW1pdGl2ZSB0eXBlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IG9uZUlzUHJpbWl0aXZlID0gKHNvdXJjZTogYW55LCB0YXJnZXQ6IGFueSkgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZXFlcWVxXG4gIGlmIChzb3VyY2UgPT0gbnVsbCB8fCB0YXJnZXQgPT0gbnVsbCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHNvdXJjZSAhPT0gT2JqZWN0KHNvdXJjZSkgJiYgdGFyZ2V0ICE9PSBPYmplY3QodGFyZ2V0KTtcbn07XG5cbi8qKlxuICogQ29udmVydHMgZ2l2ZW4gYHZhbHVlYCB0byBlaXRoZXIgYDFgIG9yIGAwYC5cbiAqL1xuY29uc3QgY29udmVydFRvWG9yYWJsZSA9ICh2YWx1ZTogYW55KSA9PiB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlICE9PSAwID8gMSA6IDA7XG4gIH1cblxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicpIHtcbiAgICByZXR1cm4gdmFsdWUgPyAxIDogMDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA+IDAgPyAxIDogMDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICByZXR1cm4gMDtcbn07XG5cbi8qKlxuICogSWYgb25lIG9mIHRoZSBgdmFsdWVzVG9DaGVja2AgdmFsdWVzIGlzIHVuZGVmaW5lZCwgdGhlbiBzZXQgYG1pc3NpbmdgLCBvdGhlcndpc2UgYGV4aXN0c2AuXG4gKi9cbmNvbnN0IHNldFZhbHVlc0lmTWlzc2luZyA9IChyZXNwb25zZTogRGlmZmVyZW5jZSkgPT4ge1xuICBjb25zdCBzb3VyY2UgPSBjb252ZXJ0VG9Yb3JhYmxlKHJlc3BvbnNlLnNvdXJjZSk7XG4gIGNvbnN0IHRhcmdldCA9IGNvbnZlcnRUb1hvcmFibGUocmVzcG9uc2UudGFyZ2V0KTtcblxuICBpZiAoc291cmNlIF4gdGFyZ2V0KSB7XG4gICAgWydzb3VyY2UnLCAndGFyZ2V0J10uZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICByZXNwb25zZVt2YWx1ZV0gPSByZXNwb25zZVt2YWx1ZV0gPyAnZXhpc3RzJyA6ICdtaXNzaW5nJztcbiAgICB9KTtcblxuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIHJldHVybiByZXNwb25zZTtcbn07XG5cbi8qKlxuICogRm9ybWF0IG5vdCBtYXRjaGluZyBtZXNzYWdlIGZvciBDTEkgbG9nZ2luZy5cbiAqL1xuZXhwb3J0IGNvbnN0IGZvcm1hdE5vdE1hdGNoaW5nTG9nID0gKG1lc3NhZ2U6IERpZmZlcmVuY2UpID0+IHtcbiAgY29uc3QgZmxhdHRlbk1lc3NhZ2UgPSBzZXRWYWx1ZXNJZk1pc3NpbmcobWVzc2FnZSk7XG5cbiAgT2JqZWN0LmtleXMoZmxhdHRlbk1lc3NhZ2UpLmZvckVhY2goa2V5ID0+IHtcbiAgICBpZiAoa2V5ID09PSAnbWVzc2FnZScgfHwga2V5ID09PSAncGF0aCcpIHtcbiAgICAgIGNvbnNvbGUubG9nKG1lc3NhZ2Vba2V5XSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKGAke2tleX06ICR7bWVzc2FnZVtrZXldfWApO1xuICAgIH1cbiAgfSk7XG59O1xuIl19