-
Notifications
You must be signed in to change notification settings - Fork 0
/
utils.ts
36 lines (28 loc) · 838 Bytes
/
utils.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import { readFileSync } from 'fs'
export function getLinesFromFile(
file: string,
separator: string = '\n'
): string[] {
return readFileSync(file).toString().split(separator)
}
export function getNumbersFromFile(file: string): number[] {
return getLinesFromFile(file).map(line => parseFloat(line))
}
export function deepClone<Type>(target: Type): Type {
return JSON.parse(JSON.stringify(target))
}
export function add(a: number, b: number): number {
return a + b
}
export function multiply(a: any, b: any): number {
return parseInt(a) * parseInt(b)
}
export function asc(a: any, b: any): number {
return a - b
}
export function desc(a: any, b: any): number {
return b - a
}
export function isInRange(min: number, value: number, max: number): boolean {
return value >= min && value <= max
}