Fix immutableJSONPatch not handling root path
This commit is contained in:
parent
058cf6e104
commit
41d5ab5786
|
@ -22,8 +22,8 @@ export function immutableJSONPatch (json, operations) {
|
|||
|
||||
for (let i = 0; i < operations.length; i++) {
|
||||
const operation = operations[i]
|
||||
const path = operation.path ? parseJSONPointer(operation.path) : null
|
||||
const from = operation.from ? parseJSONPointer(operation.from) : null
|
||||
const path = operation.path != undefined ? parseJSONPointer(operation.path) : null
|
||||
const from = operation.from != undefined ? parseJSONPointer(operation.from) : null
|
||||
|
||||
switch (operation.op) {
|
||||
case 'add': {
|
||||
|
|
|
@ -145,6 +145,18 @@ describe('immutableJSONPatch', () => {
|
|||
assert.strictEqual(result.json.unchanged, json.unchanged)
|
||||
})
|
||||
|
||||
it('jsonpatch replace root document', () => {
|
||||
const json = {
|
||||
a: 2
|
||||
}
|
||||
const patch = [
|
||||
{op: 'replace', path: '', value: {b: 3}}
|
||||
]
|
||||
const result = immutableJSONPatch(json, patch)
|
||||
|
||||
assert.deepStrictEqual(result.json, {b: 3})
|
||||
})
|
||||
|
||||
it('jsonpatch copy', () => {
|
||||
const json = {
|
||||
arr: [1,2,3],
|
||||
|
|
Loading…
Reference in New Issue