aboutsummaryrefslogtreecommitdiff
path: root/src/arguments/abbreviatedNumber.ts
blob: eba9214f7bad7d0b78f70da59cd3fdda89ebd512 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
import type { BushArgumentTypeCaster } from '#lib';
import assert from 'assert';
import numeral from 'numeral';
assert(typeof numeral === 'function');

export const abbreviatedNumber: BushArgumentTypeCaster<number | null> = (_, phrase) => {
	if (!phrase) return null;
	const num = numeral(phrase?.toLowerCase()).value();

	if (typeof num !== 'number' || isNaN(num)) return null;

	return num;
};