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",