immutable-json-patch
Version:
Immutable JSON patch with support for reverting operations
52 lines (51 loc) • 1.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isJSONArray = isJSONArray;
exports.isJSONObject = isJSONObject;
exports.isJSONPatchAdd = isJSONPatchAdd;
exports.isJSONPatchCopy = isJSONPatchCopy;
exports.isJSONPatchMove = isJSONPatchMove;
exports.isJSONPatchOperation = isJSONPatchOperation;
exports.isJSONPatchRemove = isJSONPatchRemove;
exports.isJSONPatchReplace = isJSONPatchReplace;
exports.isJSONPatchTest = isJSONPatchTest;
function isJSONArray(value) {
return Array.isArray(value);
}
function isJSONObject(value) {
return value !== null && typeof value === 'object' && (value.constructor === undefined ||
// for example Object.create(null)
value.constructor.name === 'Object') // do not match on classes or Array
;
}
function isJSONPatchOperation(value) {
// @ts-ignore
return value && typeof value === 'object' ? typeof value.op === 'string' : false;
}
function isJSONPatchAdd(value) {
// @ts-ignore
return value && typeof value === 'object' ? value.op === 'add' : false;
}
function isJSONPatchRemove(value) {
// @ts-ignore
return value && typeof value === 'object' ? value.op === 'remove' : false;
}
function isJSONPatchReplace(value) {
// @ts-ignore
return value && typeof value === 'object' ? value.op === 'replace' : false;
}
function isJSONPatchCopy(value) {
// @ts-ignore
return value && typeof value === 'object' ? value.op === 'copy' : false;
}
function isJSONPatchMove(value) {
// @ts-ignore
return value && typeof value === 'object' ? value.op === 'move' : false;
}
function isJSONPatchTest(value) {
// @ts-ignore
return value && typeof value === 'object' ? value.op === 'test' : false;
}
//# sourceMappingURL=typeguards.js.map