aboutsummaryrefslogtreecommitdiff
path: root/lib/arguments/abbreviatedNumber.ts
blob: a7d8ce572180e3143252fc18b3dec951acb4744c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
import type { BushArgumentTypeCaster } from '#lib';
import assert from 'assert/strict';
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;
};