-
Notifications
You must be signed in to change notification settings - Fork 5
/
season.ts
33 lines (27 loc) · 783 Bytes
/
season.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
import { Client } from '../core/client'
import { BaseClass } from './base'
export type SeasonType =
| 'Winter'
| 'Spring'
| 'Summer'
| 'Fall'
| 'Unknown'
export class Season extends BaseClass {
/** @hidden */
public static parseSeasonType (input: any): SeasonType {
switch (`${input}`.trim()) {
case 'winter': return 'Winter'
case 'spring': return 'Spring'
case 'summer': return 'Summer'
case 'fall': return 'Fall'
default: return 'Unknown'
}
}
public readonly year: number
public readonly seasons: Array<SeasonType>
public constructor (client: Client, rawData: any) {
super(client)
this.year = rawData.year
this.seasons = rawData.seasons?.map((season: any) => Season.parseSeasonType(season)) || []
}
}