Skip to content

Commit 14789fd

Browse files
committed
Merge pull request #5 from benatkin/root-reference
Root reference
2 parents cf2f6da + 548cfd5 commit 14789fd

2 files changed

Lines changed: 14 additions & 4 deletions

File tree

jsonpointer.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,22 @@ var validate_input = function(obj, pointer) {
3636

3737
var get = function(obj, pointer) {
3838
validate_input(obj, pointer);
39-
pointer = pointer.split("/").slice(1);
40-
return traverse(obj, pointer);
39+
if (pointer === "/") {
40+
return obj;
41+
} else {
42+
pointer = pointer.split("/").slice(1);
43+
return traverse(obj, pointer);
44+
}
4145
}
4246

4347
var set = function(obj, pointer, value) {
4448
validate_input(obj, pointer);
45-
pointer = pointer.split("/").slice(1);
46-
return traverse(obj, pointer, value);
49+
if (pointer === "/") {
50+
return obj;
51+
} else {
52+
pointer = pointer.split("/").slice(1);
53+
return traverse(obj, pointer, value);
54+
}
4755
}
4856

4957
exports.get = get

test.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ assert.equal(jsonpointer.get(obj, "/d/e/0/a"), 4);
3131
assert.equal(jsonpointer.get(obj, "/d/e/1/b"), 5);
3232
assert.equal(jsonpointer.get(obj, "/d/e/2/c"), 6);
3333

34+
assert.equal(jsonpointer.get(obj, "/"), obj);
35+
3436
var complexKeys = {
3537
"a/b": {
3638
c: 1

0 commit comments

Comments
 (0)