UNPKG

@c11/engine.db

Version:

The engine db

33 lines 3.19 kB
"use strict"; 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