rfc6902
- Version 5.1.2
- Published
- 92.9 kB
- No dependencies
- MIT license
Install
npm i rfc6902yarn add rfc6902pnpm add rfc6902Overview
Complete implementation of RFC6902 (patch and diff)
Index
Functions
Classes
Interfaces
Type Aliases
Functions
function applyPatch
applyPatch: (    object: any,    patch: Operation[]) => (    | import('./patch').MissingError    | import('./patch').TestError    | import('./patch').InvalidOperationError    | null)[];- Apply a 'application/json-patch+json'-type patch to an object. - patch*must* be an array of operations.- > Operation objects MUST have exactly one "op" member, whose value > indicates the operation to perform. Its value MUST be one of "add", > "remove", "replace", "move", "copy", or "test"; other values are > errors. - This method mutates the target object in-place. - Returns- list of results, one for each operation: - nullindicated success, otherwise, the result will be an instance of one of the Error classes: MissingError, InvalidOperationError, or TestError.
function createPatch
createPatch: (input: any, output: any, diff?: VoidableDiff) => Operation[];- Produce a 'application/json-patch+json'-type patch to get from one object to another. - This does not alter - inputor- outputunless they have a property getter with side-effects (which is not a good idea anyway).- diffis called on each pair of comparable non-primitive nodes in the- input/- outputobject trees, producing nested patches. Return- undefinedto fall back to default behaviour.- Returns list of operations to perform on - inputto produce- output.
function createTests
createTests: (input: any, patch: Operation[]) => TestOperation[];- Produce an 'application/json-patch+json'-type list of tests, to verify that existing values in an object are identical to the those captured at some checkpoint (whenever this function is called). - This does not alter - inputor- outputunless they have a property getter with side-effects (which is not a good idea anyway).- Returns list of test operations. 
Classes
class Pointer
class Pointer {}- JSON Pointer representation 
constructor
constructor(tokens?: string[]);property tokens
tokens: string[];method add
add: (token: string) => Pointer;- tokenshould be a String. It'll be coerced to one anyway.- immutable (shallowly) 
method evaluate
evaluate: (object: any) => PointerEvaluation;- Returns an object with 'parent', 'key', and 'value' properties. In the special case that this Pointer's path == "", this object will be {parent: null, key: '', value: object}. Otherwise, parent and key will have the property such that parent[key] == value. 
method fromJSON
static fromJSON: (path: string) => Pointer;- path*must* be a properly escaped string.
method get
get: (object: any) => any;method push
push: (token: string) => void;method set
set: (object: any, value: any) => void;method toString
toString: () => string;Interfaces
interface TestOperation
interface TestOperation {}Type Aliases
Package Files (3)
Dependencies (0)
No dependencies.
Dev Dependencies (8)
Peer Dependencies (0)
No peer dependencies.
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/rfc6902.
- Markdown[](https://www.jsdocs.io/package/rfc6902)
- HTML<a href="https://www.jsdocs.io/package/rfc6902"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
 Package analyzed in 3140 ms.
- Missing or incorrect documentation? Open an issue for this package.
