-
Notifications
You must be signed in to change notification settings - Fork 2
/
FlagMetadata.ts
38 lines (35 loc) · 985 Bytes
/
FlagMetadata.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
export interface IFlagMetadata{
campaignId:string
variationGroupId:string
variationId: string
isReference: boolean
campaignType: string
slug?:string|null
}
export class FlagMetadata implements IFlagMetadata {
campaignId:string
variationGroupId:string
variationId: string
isReference: boolean
campaignType: string
slug?: string | null | undefined
constructor (flagMetadata: Omit<IFlagMetadata, 'toJSON'>) {
const { campaignId, variationGroupId, variationId, isReference, campaignType, slug } = flagMetadata
this.campaignId = campaignId
this.variationGroupId = variationGroupId
this.variationId = variationId
this.isReference = isReference
this.campaignType = campaignType
this.slug = slug
}
public static Empty ():IFlagMetadata {
return new FlagMetadata({
campaignId: '',
campaignType: '',
variationId: '',
variationGroupId: '',
isReference: false,
slug: null
})
}
}