Skip to content

Commit 4a253c0

Browse files
committed
Adopt strictEqual changes and only return null when the get succeeded
1 parent bad4983 commit 4a253c0

File tree

2 files changed

+7
-10
lines changed

2 files changed

+7
-10
lines changed

jsonpointer.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,7 @@ function get (obj, pointer) {
7272
for (var p = 1; p < len;) {
7373
obj = obj[untilde(pointer[p++])]
7474
if (len === p) return obj
75-
if (typeof obj !== 'object') return undefined
76-
if (obj === null) return null
75+
if (typeof obj !== 'object' || obj === null) return undefined
7776
}
7877
}
7978

test.js

+6-8
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ var obj = {
1212
nullValue: null
1313
}
1414

15-
assert.equal(jsonpointer.get(obj, '/nullValue'), null)
16-
assert.equal(jsonpointer.get(obj, '/nullValue/e'), null)
15+
assert.strictEqual(jsonpointer.get(obj, '/nullValue'), null)
16+
assert.strictEqual(jsonpointer.get(obj, '/nullValue/e'), undefined)
1717

1818
// set returns old value
1919
assert.strictEqual(jsonpointer.set(obj, '/a', 2), 1)
@@ -119,18 +119,16 @@ assert.strictEqual(jsonpointer.get(example, '/ '), 7)
119119
assert.strictEqual(jsonpointer.get(example, '/m~0n'), 8)
120120

121121
// jsonpointer.compile(path)
122-
var a = { foo: 'bar' }
122+
var a = { foo: 'bar', foo2: null }
123123
var pointer = jsonpointer.compile('/foo')
124124
assert.strictEqual(pointer.get(a), 'bar')
125125
assert.strictEqual(pointer.set(a, 'test'), 'bar')
126126
assert.strictEqual(pointer.get(a), 'test')
127-
assert.deepEqual(a, { foo: 'test' })
127+
assert.deepEqual(a, { foo: 'test', foo2: null })
128128

129-
130-
// compile read null value
131-
var compileWithNullValue = { foo: 'bar' }
129+
// Read subproperty of null value
132130
var pointerNullValue = jsonpointer.compile('/foo2/baz')
133-
assert.equal(pointer.get(pointerNullValue), null)
131+
assert.strictEqual(pointerNullValue.get(a), undefined)
134132

135133
var b = {}
136134
jsonpointer.set({}, '/constructor/prototype/boo', 'polluted')

0 commit comments

Comments
 (0)