@playlyfe/babel-loader
Version:
babel module loader for webpack
41 lines (32 loc) • 942 B
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.toJSONString = toJSONString;
exports.parseJSONString = parseJSONString;
exports.diffJSONString = diffJSONString;
var _chalk = _interopRequireDefault(require("chalk"));
var _diff = require("diff");
function toJSONString(val) {
return JSON.stringify(val || null) || '';
}
function parseJSONString(val) {
return JSON.parse(val);
}
function diffJSONString(a, b) {
const aVal = parseJSONString(a);
const bVal = parseJSONString(b);
const diff = (0, _diff.diffJson)(aVal, bVal);
let diffStr = '';
diff.forEach(part => {
let color = _chalk.default.grey;
if (part.added) {
color = _chalk.default.dim.green;
} else if (part.removed) {
color = _chalk.default.dim.red;
}
diffStr += color(part.value);
});
return diffStr;
}