From 7cf01943efb8d7697ec7f191b6fecd5db25ada00 Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Fri, 17 Apr 2020 19:10:29 +0300 Subject: [PATCH] feat: add a utility function to detect numeric values --- .../core/src/lib/tests/number-utils.spec.ts | 17 +++++++++++++++++ .../packages/core/src/lib/utils/number-utils.ts | 4 ++++ 2 files changed, 21 insertions(+) create mode 100644 npm/ng-packs/packages/core/src/lib/tests/number-utils.spec.ts create mode 100644 npm/ng-packs/packages/core/src/lib/utils/number-utils.ts diff --git a/npm/ng-packs/packages/core/src/lib/tests/number-utils.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/number-utils.spec.ts new file mode 100644 index 0000000000..659225fb62 --- /dev/null +++ b/npm/ng-packs/packages/core/src/lib/tests/number-utils.spec.ts @@ -0,0 +1,17 @@ +import { isNumber } from '../utils/number-utils'; + +describe('Number Utils', () => { + describe('#isNumber', () => { + it('should return true if input is a numeric expression', () => { + expect(isNumber(0)).toBe(true); + expect(isNumber(0.15)).toBe(true); + expect(isNumber(2e8)).toBe(true); + expect(isNumber(Infinity)).toBe(true); + + expect(isNumber('0')).toBe(true); + expect(isNumber('0.15')).toBe(true); + expect(isNumber('2e8')).toBe(true); + expect(isNumber('Infinity')).toBe(true); + }); + }); +}); diff --git a/npm/ng-packs/packages/core/src/lib/utils/number-utils.ts b/npm/ng-packs/packages/core/src/lib/utils/number-utils.ts new file mode 100644 index 0000000000..ebd44b67c6 --- /dev/null +++ b/npm/ng-packs/packages/core/src/lib/utils/number-utils.ts @@ -0,0 +1,4 @@ +export function isNumber(value: string | number): boolean { + /* tslint:disable-next-line:triple-equals */ + return value == Number(value); +}