From 1a76dd0361bbf363e5a59965618a6f055ede2028 Mon Sep 17 00:00:00 2001 From: Kenny F Date: Fri, 20 Mar 2020 03:27:41 +0800 Subject: [PATCH] chore(all): v. 1.4.0 --- src/scanner/scan.ts | 26 +++++++++----------------- test/scanner/punctuators.ts | 9 --------- 2 files changed, 9 insertions(+), 26 deletions(-) diff --git a/src/scanner/scan.ts b/src/scanner/scan.ts index ad42b15..504d3d2 100644 --- a/src/scanner/scan.ts +++ b/src/scanner/scan.ts @@ -342,12 +342,9 @@ export function scan( if (char === Chars.QuestionMark) { parser.index++; - if (source.charCodeAt(parser.index) === Chars.EqualSign) { - parser.index++; - return Token.CoalesceAssign; - } - - return Token.Coalesce; + if (source.charCodeAt(parser.index) !== Chars.EqualSign) return Token.Coalesce; + parser.index++; + return Token.CoalesceAssign; } return Token.QuestionMark; @@ -456,11 +453,9 @@ export function scan( if (char === Chars.VerticalBar) { parser.index++; - if (source.charCodeAt(parser.index) === Chars.EqualSign) { - parser.index++; - return Token.LogicalOrAssign; - } - return Token.LogicalOr; + if (source.charCodeAt(parser.index) !== Chars.EqualSign) return Token.LogicalOr; + parser.index++; + return Token.LogicalOrAssign; } if (char === Chars.EqualSign) { @@ -476,12 +471,9 @@ export function scan( if (char === Chars.Ampersand) { parser.index++; - if (source.charCodeAt(parser.index) === Chars.EqualSign) { - parser.index++; - return Token.LogicalAndAssign; - } - - return Token.LogicalAnd; + if (source.charCodeAt(parser.index) !== Chars.EqualSign) return Token.LogicalAnd; + parser.index++; + return Token.LogicalAndAssign; } if (char === Chars.EqualSign) { diff --git a/test/scanner/punctuators.ts b/test/scanner/punctuators.ts index 783ca40..7b5113e 100644 --- a/test/scanner/punctuators.ts +++ b/test/scanner/punctuators.ts @@ -4,15 +4,6 @@ import { create } from '../../src/parser/core'; import { Token } from '../../src/token'; import { scan } from '../../src/scanner/scan'; -function convertDecimalToBinary(digit: any, groups: boolean): string { - let res = ''; - for (let i = 0, shifted = digit; i < 32; i++, res += String(shifted >>> 31), shifted <<= 1); - // Makes a groups of 8 bits - if (groups) res = res.replace(/\B(?=(.{8})+(?!.))/g, '_'); - return res; -} - -console.log(convertDecimalToBinary(67109002, false)); describe('Scanner - Punctuator', () => { describe('scan()', () => { interface Opts {