From 748af7c332a0f0dbdd196231f5db8d50f9c10c03 Mon Sep 17 00:00:00 2001 From: Alexander Shabunevich Date: Thu, 5 Dec 2019 19:33:06 +0300 Subject: [PATCH] Fix code that process rest of the mask --- src/mask.js | 6 ++---- test/mask.test.js | 3 ++- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/mask.js b/src/mask.js index 7fed7a1..1426914 100644 --- a/src/mask.js +++ b/src/mask.js @@ -36,13 +36,11 @@ export default function mask (value, mask, tokens, masked = true) { // fix mask that ends with parentesis while (masked && im < mask.length) { // eslint-disable-line no-unmodified-loop-condition const maskCharRest = mask[im] - if (tokens[maskCharRest] && !tokens[maskCharRest].repeat) { + if (tokens[maskCharRest]) { rest = '' break } - if (!tokens[maskCharRest]) { - rest += maskCharRest - } + rest += maskCharRest im++ } diff --git a/test/mask.test.js b/test/mask.test.js index 6f560a1..8f92cdc 100644 --- a/test/mask.test.js +++ b/test/mask.test.js @@ -102,7 +102,8 @@ test('123abc (#*)A*', () => { }) test('123abc -> # (A*)', () => { - expect(mask('123abc', '# (A*)', tokens)).toBe('1 (ABC)') + expect(mask('123abc', '# (A*)', tokens)).toBe('1 (ABC') + expect(mask('123abc ', '# (A*)', tokens)).toBe('1 (ABC)') }) test('Raw 123abc ##(A*)', () => {