diff --git a/src/number.ts b/src/number.ts index edb37d8..cec8221 100644 --- a/src/number.ts +++ b/src/number.ts @@ -11,7 +11,7 @@ const createFormatter = (min: number, max: number, opts: MaskOptions): Intl.Numb }) export const processNumber = (value: string, masked = true, opts: MaskOptions): string => { - const sign = opts.number?.unsigned == null && value.startsWith('-') ? '-' : '' + const sign = opts.number?.unsigned !== true && value.startsWith('-') ? '-' : '' const fraction = opts.number?.fraction ?? 0 let formatter = createFormatter(0, fraction, opts) diff --git a/test/number.test.ts b/test/number.test.ts index 2057386..d15c5c8 100644 --- a/test/number.test.ts +++ b/test/number.test.ts @@ -88,6 +88,14 @@ test('unsigned number', () => { expect(mask.masked('--1')).toBe('1') }) +test('unsigned false number', () => { + const mask = new Mask({ number: { unsigned: false } }) + + expect(mask.masked('1')).toBe('1') + expect(mask.masked('-1')).toBe('-1') + expect(mask.masked('--1')).toBe('-1') +}) + test('russian number', () => { const mask = new Mask({ number: { locale: 'ru', fraction: 2 } })