aboutsummaryrefslogtreecommitdiff
path: root/src/arguments/abbreviatedNumber.ts
blob: 43d293890f5ef8dfbc1622d2c39cec5d62049392 (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;
};