-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtypes.ts
63 lines (59 loc) · 1.36 KB
/
types.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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
export type Element = {
id: number
imageUrl: string
revealed: boolean
isMinted: boolean
headItem: string
body: string
tattoos: string
backgrounds: string
baseLayer: string
topLayer: string
eyes: string
neck: string
mouth: string
ears: string
}
export const categories = [
'headItem',
'body',
'tattoos',
'backgrounds',
'baseLayer',
'topLayer',
'eyes',
'neck',
'mouth',
'ears'
] as const
export type TraitRarity = { count: number; totalPercent: number; score: number }
export type CategoryRarity = { [trait: string]: TraitRarity }
export type ElementRarity = {
score: number
scoreWithoutTraitsCount: number
traitsCount: number
rank: number
rankWithoutTraitsCount: number
}
export type ElementsRarity = {
elements: { [id: number]: ElementRarity }
categories: { [category: string]: CategoryRarity }
traitsCountRarity: { [traitsCount: string]: TraitRarity }
}
export type ElementTraitInfo = TraitRarity & { name: string }
export type ElementWithRarity = Element & {
rarity: ElementRarity & {
traits: {
headItem: ElementTraitInfo
body: ElementTraitInfo
tattoos: ElementTraitInfo
backgrounds: ElementTraitInfo
baseLayer: ElementTraitInfo
topLayer: ElementTraitInfo
eyes: ElementTraitInfo
neck: ElementTraitInfo
mouth: ElementTraitInfo
ears: ElementTraitInfo
}
}
}