immutable-json-patch
Version:
Immutable JSON patch with support for reverting operations
38 lines • 1.32 kB
JavaScript
export function isJSONArray(value) {
return Array.isArray(value);
}
export 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
;
}
export function isJSONPatchOperation(value) {
// @ts-ignore
return value && typeof value === 'object' ? typeof value.op === 'string' : false;
}
export function isJSONPatchAdd(value) {
// @ts-ignore
return value && typeof value === 'object' ? value.op === 'add' : false;
}
export function isJSONPatchRemove(value) {
// @ts-ignore
return value && typeof value === 'object' ? value.op === 'remove' : false;
}
export function isJSONPatchReplace(value) {
// @ts-ignore
return value && typeof value === 'object' ? value.op === 'replace' : false;
}
export function isJSONPatchCopy(value) {
// @ts-ignore
return value && typeof value === 'object' ? value.op === 'copy' : false;
}
export function isJSONPatchMove(value) {
// @ts-ignore
return value && typeof value === 'object' ? value.op === 'move' : false;
}
export function isJSONPatchTest(value) {
// @ts-ignore
return value && typeof value === 'object' ? value.op === 'test' : false;
}
//# sourceMappingURL=typeguards.js.map