@c11/engine.db
Version:
The engine db
33 lines • 3.19 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var isValidPath_1 = __importDefault(require("./isValidPath"));
var isValidValue_1 = __importDefault(require("./isValidValue"));
var isPlainObject_1 = __importDefault(require("lodash/isPlainObject"));
var difference_1 = __importDefault(require("lodash/difference"));
var props = ["from", "value", "path", "op"];
var ops = ["add", "remove", "replace", "copy", "move", "test", "merge"];
function isPatch(schema, patch) {
if (patch instanceof Array !== true) {
return false;
}
for (var i = 0, len = patch.length; i < len; i += 1) {
var x = patch[i];
var isPlainObjectValidate = (0, isPlainObject_1.default)(x);
if (!((0, isPlainObject_1.default)(x) &&
(0, isValidPath_1.default)(x.path) &&
(0, difference_1.default)(Object.keys(x), props).length === 0 &&
ops.indexOf(x.op) !== -1 &&
(x.op === "add" || x.op === "replace" || x.op === "test"
? (0, isValidValue_1.default)(x.value)
: true) &&
(x.op === "move" || x.op === "copy" ? (0, isValidPath_1.default)(x.from) : true))) {
return false;
}
}
return true;
}
exports.default = isPatch;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNQYXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mbi9pc1BhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsOERBQXdDO0FBQ3hDLGdFQUEwQztBQUMxQyx1RUFBaUQ7QUFDakQsaUVBQXFDO0FBRXJDLElBQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFOUMsSUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMxRSxTQUFTLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSztJQUM1QixJQUFJLEtBQUssWUFBWSxLQUFLLEtBQUssSUFBSSxFQUFFO1FBQ25DLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDbkQsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pCLElBQU0scUJBQXFCLEdBQUcsSUFBQSx1QkFBYSxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9DLElBQ0UsQ0FBQyxDQUNDLElBQUEsdUJBQWEsRUFBQyxDQUFDLENBQUM7WUFDaEIsSUFBQSxxQkFBVyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsSUFBQSxvQkFBSSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDeEMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxNQUFNO2dCQUN0RCxDQUFDLENBQUMsSUFBQSxzQkFBWSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3ZCLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDVCxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssTUFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFBLHFCQUFXLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDbEUsRUFDRDtZQUNBLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7S0FDRjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELGtCQUFlLE9BQU8sQ0FBQyJ9
;