-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsiosa.d.ts
137 lines (126 loc) · 2.59 KB
/
siosa.d.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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
type Class = 'Templar' | 'Marauder' | 'Ranger' | 'Witch' | 'Duelist' | 'Shadow' | 'Scion'
type Ascendancies =
| 'Ascendant'
| 'Slayer'
| 'Gladiator'
| 'Champion'
| 'Assassin'
| 'Saboteur'
| 'Trickster'
| 'Juggernaut'
| 'Berserker'
| 'Chieftain'
| 'Necromancer'
| 'Elementalist'
| 'Occultist'
| 'Deadeye'
| 'Raider'
| 'Pathfinder'
| 'Inquisitor'
| 'Hierophant'
| 'Guardian'
type Realm = 'PC'
type Item = {
id: string
$t: string
}
type Slot = {
name: string
itemId: string
}
type ItemSet = {
useSecondWeaponSet: string
id: string
Slot: Array<Slot>
}
type Gem = {
enableGlobal2: string
skillMinionSkillCalcs: string
skillMinionCalcs: string
quality: string
level: string
gemId: string
skillId: string
skillMinionSkill: string
enableGlobal1: string
enabled: string
nameSpec: string
skillMinion: string
}
type Socket = { nodeId: string; itemId: string }
type Spec = {
title: string
treeVersion: string
URL: string
Sockets: Array<Socket>
}
type BuildDetails = {
level: number
targetVersion: string
banditNormal: string
bandit: string
banditMerciless: string
className: Class
ascendClassName: Ascendancies
mainSocketGroup: number
viewMode: string
banditCruel: string
PlayerStat: Array<{ stat: string; value: string }>
MinionStat: Array<{ stat: string; value: string }>
}
interface Build {
PathOfBuilding: {
Build: BuildDetails
Import: {
lastAccountHash: string
lastRealm: Realm
lastCharacterHash: string
}
Calcs: {
Input: Array<{ name: string; number: string }>
Section: Array<{ collapsed: boolean; id: string }>
}
Skills: {
defaultGemQuality: string
defaultGemLevel: string
sortGemsByDPS: string
Skill: Array<{
mainActiveSkillCalcs: string
label: string
enabled: string
slot: string
mainActiveSkill: string
Gem: Array<Gem> | Gem
}>
}
Tree: {
activeSpec: string
Spec: Array<Spec>
}
Notes: string
TreeView: {
searchStr: string
zoomY: string
zoomLevel: string
showStatDifferences: string
zoomX: string
}
Items: {
activeItemSet: string
useSecondWeaponSet: string
Item: Array<Item>
Slot: Slot
ItemSet: ItemSet
}
Config: Array<{ [key: string]: string }>
}
}
type Params = 'ascendancy' | 'skill'
type SearchParams = { [key: Params]: string }
type Result = {
id: number
created_at: string
updated_at: string
pob: Build
}
type SearchResults = { numberOfBuilds: number; builds: Array<Result> }