From 9e9be04de73111b566c827a464da44f5bb83b020 Mon Sep 17 00:00:00 2001 From: Alexander Shabunevich Date: Wed, 4 Dec 2019 13:35:00 +0300 Subject: [PATCH] Cleanup of mask.js code --- src/mask.js | 5 ++--- test/mask.test.js | 4 ++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/mask.js b/src/mask.js index 26df271..7fed7a1 100644 --- a/src/mask.js +++ b/src/mask.js @@ -16,9 +16,8 @@ export default function mask (value, mask, tokens, masked = true) { } iv++ } else if (token && token.repeat) { - const maskCharPrev = mask[im - 1] - const tokenPrev = tokens[maskCharPrev] - if (token && token.repeat && tokenPrev && !tokenPrev.pattern.test(valueChar)) { + const tokenPrev = tokens[mask[im - 1]] + if (tokenPrev && !tokenPrev.pattern.test(valueChar)) { im++ } else { im-- diff --git a/test/mask.test.js b/test/mask.test.js index 9c0505b..6f560a1 100644 --- a/test/mask.test.js +++ b/test/mask.test.js @@ -45,6 +45,10 @@ test('12 #!#(#)', () => { expect(mask('12', '#!#(#)', tokens)).toBe('1#(2)') }) +test('12 #!!#', () => { + expect(mask('12', '#!!#', tokens)).toBe('1!2') +}) + test('12 +1 #', () => { expect(mask('12', '+1 #', tokens)).toBe('+1 2') })