From 7a591bb4a80ded7cac6d3c444809c2e0100b4866 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Sun, 3 Jan 2016 15:59:50 +0100 Subject: [PATCH] cleanup special 'definedProperties' field in Node 'definedProperties' seems like module-meta-data, which shouldn't be on a Node instance. --- spec/parser/javascript/node_spec.js | 3 ++- src/js/parser/javascript/node.js | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/spec/parser/javascript/node_spec.js b/spec/parser/javascript/node_spec.js index 99bdb06..b95eb74 100644 --- a/spec/parser/javascript/node_spec.js +++ b/spec/parser/javascript/node_spec.js @@ -26,7 +26,7 @@ describe('parser/javascript/node.js', function() { expect(setup).toHaveBeenCalled(); }); - it('sets up any defined properties', function() { + it('sets up any defined properties and removes \'definedProperties\' field', function() { this.node.module = { definedProperties: { example: { @@ -37,6 +37,7 @@ describe('parser/javascript/node.js', function() { } }; expect(this.node.example).toEqual('value'); + expect(this.node.definedProperties).toBeUndefined(); }); }); diff --git a/src/js/parser/javascript/node.js b/src/js/parser/javascript/node.js index b7ae734..89b4868 100644 --- a/src/js/parser/javascript/node.js +++ b/src/js/parser/javascript/node.js @@ -30,6 +30,8 @@ export default class Node { _.forOwn(this.definedProperties || {}, (methods, name) => { Object.defineProperty(this, name, methods); }); + + delete this.definedProperties; } // The SVG element to render this node into. A node-type class is