From 222f1342a9c2a0f7f8219acab4e83122ffac4472 Mon Sep 17 00:00:00 2001 From: Takuto Wada Date: Mon, 21 Mar 2016 04:35:24 +0900 Subject: [PATCH] refactor(babel-plugin-espower): inline slimDown function make clone module unnecessary --- lib/babel-assertion-visitor.js | 36 ++++++++++++---------------------- package.json | 1 - 2 files changed, 13 insertions(+), 24 deletions(-) diff --git a/lib/babel-assertion-visitor.js b/lib/babel-assertion-visitor.js index 18682e6..8abd8da 100644 --- a/lib/babel-assertion-visitor.js +++ b/lib/babel-assertion-visitor.js @@ -7,7 +7,6 @@ var babelgen = require('babel-generator'); var define = require('define-properties'); var toBeCaptured = require('./to-be-captured'); var toBeSkipped = require('./to-be-skipped'); -var clone = require('clone'); var fs = require('fs'); var helperCode = '(' + fs.readFileSync(require.resolve('./power-assert-recorder.js'), 'utf8') @@ -192,7 +191,7 @@ BabelAssertionVisitor.prototype.parseCanonicalCode = function (file, code) { }); return { - tokens: offsetTokens(tokens).map(slimDown), + tokens: offsetAndSlimDownTokens(tokens), expression: offsetTree }; }; @@ -205,37 +204,28 @@ function wrappedInAsync (jsCode) { return 'async function wrapper() { ' + jsCode + ' }'; } -function offsetTokens (tokens) { +function offsetAndSlimDownTokens (tokens) { var i, token, result = []; var columnOffset; for(i = 0; i < tokens.length; i += 1) { - token = clone(tokens[i]); + token = tokens[i]; if (i === 0) { columnOffset = token.loc.start.column; } - token.range = [ - token.loc.start.column - columnOffset, - token.loc.end.column - columnOffset - ]; - delete token.loc; - result.push(token); + result.push({ + type: { + label: token.type.label + }, + value: token.value, + range: [ + token.loc.start.column - columnOffset, + token.loc.end.column - columnOffset + ] + }); } return result; } -function slimDown (token) { - return { - type: { - label: token.type.label - }, - value: token.value, - range: [ - token.range[0], - token.range[1] - ] - }; -} - BabelAssertionVisitor.prototype.captureArgument = function (node) { var t = this.babel.types; var props = { diff --git a/package.json b/package.json index 9fe2f3b..b4ccc0a 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,6 @@ "babel-generator": "^6.1.0", "babylon": "^6.1.0", "call-matcher": "^0.1.0", - "clone": "^1.0.2", "define-properties": "^1.1.2", "espower-location-detector": "^0.1.1", "espurify": "^1.5.0",