From e9fae4ca5459ff4b6392fd5f45cfc52c294214ad Mon Sep 17 00:00:00 2001 From: Jason Date: Wed, 20 Jan 2016 16:37:46 +0800 Subject: [PATCH] Update Whitespace._findToken --- packages/babel-generator/src/whitespace.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/babel-generator/src/whitespace.js b/packages/babel-generator/src/whitespace.js index 50652316e0..68d865d9e9 100644 --- a/packages/babel-generator/src/whitespace.js +++ b/packages/babel-generator/src/whitespace.js @@ -18,7 +18,7 @@ export default class Whitespace { let tokens = this.tokens; let index = this._findToken(token => token.start - node.start, 0, tokens.length); - if (typeof index === "number") { + if (index >= 0) { while (index && node.start === tokens[index - 1].start) --index; startToken = tokens[index - 1]; endToken = tokens[index]; @@ -37,7 +37,7 @@ export default class Whitespace { let tokens = this.tokens; let index = this._findToken(token => token.end - node.end, 0, tokens.length); - if (typeof index === "number") { + if (index >= 0) { while (index && node.end === tokens[index - 1].end) --index; startToken = tokens[index]; endToken = tokens[index + 1]; @@ -82,7 +82,7 @@ export default class Whitespace { * Find a token between start and end. */ - _findToken(test: Function, start: number, end: number): ?number { + _findToken(test: Function, start: number, end: number): number { const middle = (start + end) >>> 1; const match: number = test(this.tokens[middle]); if (match < 0 && end > middle) { @@ -92,5 +92,6 @@ export default class Whitespace { } else if (match === 0) { return middle; } + return -1; } }