MCPcopy Create free account
hub / github.com/dfinity/orbit / intNumberRangeRule

Function intNumberRangeRule

apps/wallet/src/utils/form.utils.ts:40–62  ·  view source on GitHub ↗
(
  field: string,
  min: number,
  max: number = Number.MAX_SAFE_INTEGER,
)

Source from the content-addressed store, hash-verified

38};
39
40export const intNumberRangeRule = (
41 field: string,
42 min: number,
43 max: number = Number.MAX_SAFE_INTEGER,
44) => {
45 return (value: unknown): string | boolean => {
46 const hasValue = !!value;
47 if (!hasValue) {
48 // this rule only applies if there is a value
49 return true;
50 }
51
52 const parsedValue = parseInt(`${value}`, 10);
53
54 if (isNaN(parsedValue) || Number(value) % 1 !== 0) {
55 return i18n.global.t('forms.rules.requiredIntNumber');
56 }
57
58 return parsedValue >= min && parsedValue <= max
59 ? true
60 : i18n.global.t('forms.rules.intNumberRange', { field, min, max });
61 };
62};
63
64export const numberRangeRule = (opts: { decimals?: number; min?: number; max?: number } = {}) => {
65 return (value: unknown): string | boolean => {

Callers 1

form.utils.spec.tsFile · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected