/
array.ts
43 lines (32 loc) · 1011 Bytes
/
array.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
37
38
39
40
41
42
43
import 'reflect-metadata';
import AbstractConfig, { Definition, Property, registerEnumType } from '../src';
enum Flag {
A = 'A',
B = 'B',
C = 'C',
}
registerEnumType(Flag, { name: 'Flag' });
@Definition()
class Config extends AbstractConfig {
@Property(() => [Flag], { source: 'FLAG' })
flags: Flag[];
@Property(() => [Number], { source: 'NUMBER_ARRAY' })
numberArray: number[];
@Property(() => [Date], { source: 'DATE_ARRAY' })
dateArray: Date[];
@Property(() => [String], { source: 'STRING_ARRAY' })
stringArray: string[];
@Property(() => [Boolean], { source: 'BOOLEAN_ARRAY' })
booleanArray: boolean[];
@Property(() => [Symbol], { source: 'SYMBOL_ARRAY' })
symbolArray: symbol[];
}
const config = new Config({
FLAG: 'A,B',
NUMBER_ARRAY: '1.2,1,3,3,7,4000',
DATE_ARRAY: '2019-06-04T14:17:59.574Z,2019-05-04T14:17:59.574Z',
STRING_ARRAY: 'jon doe,lana doe',
BOOLEAN_ARRAY: 'y,yes,1,n,no,0,nope,haha,trololo',
SYMBOL_ARRAY: 'a,b,c',
});
console.log(config);