From d603771e1381e0d62c70bc1f47736c8eaa6cfa6f Mon Sep 17 00:00:00 2001 From: James Halliday <substack@gmail.com> Date: Fri, 15 Apr 2011 00:36:59 -0700 Subject: [PATCH] this.remove() and this.delete() with passing tests --- index.js | 11 +++++++++++ package.json | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 1084c0a..62b45fe 100644 --- a/index.js +++ b/index.js @@ -113,6 +113,17 @@ function walk (root, cb) { } state.node = x; }, + delete : function () { + delete state.parent.node[state.key]; + }, + remove : function () { + if (Array.isArray(state.parent.node)) { + state.parent.node.splice(state.key, 1); + } + else { + delete state.parent.node[state.key]; + } + }, before : function (f) { modifiers.before = f }, after : function (f) { modifiers.after = f }, pre : function (f) { modifiers.pre = f }, diff --git a/package.json b/package.json index 24d7104..df145bf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name" : "traverse", - "version" : "0.3.2", + "version" : "0.3.3", "description" : "Traverse and transform objects by visiting every node on a recursive walk", "author" : "James Halliday", "license" : "MIT/X11",