summaryrefslogtreecommitdiffhomepage
path: root/desktop/packages/mullvad-vpn/src/shared/utils.ts
blob: 18eb2140ef3ec7b1dad0351976e994ed7df6e3f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
export type NonEmptyArray<T> = [T, ...T[]];

export function hasValue<T>(value: T): value is NonNullable<T> {
  return value !== undefined && value !== null;
}

export function isInRanges(value: number, ranges: [number, number][]): boolean {
  return ranges.some(([min, max]) => value >= min && value <= max);
}

export function isNumber(number: unknown): number is number {
  return !Number.isNaN(number);
}

export function isAccountNumber(value: string): boolean {
  return /^\d{10,16}$/.test(value);
}