/
dnd5eapiclient.go
67 lines (64 loc) · 2.81 KB
/
dnd5eapiclient.go
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
package go_dnd5eapi
import (
"github.com/kjkondratuk/go-dnd5eapi/ability_scores"
"github.com/kjkondratuk/go-dnd5eapi/api"
"github.com/kjkondratuk/go-dnd5eapi/classes"
classes_proficiency_rel "github.com/kjkondratuk/go-dnd5eapi/classes_proficiencies_rel"
"github.com/kjkondratuk/go-dnd5eapi/conditions"
"github.com/kjkondratuk/go-dnd5eapi/damage_types"
"github.com/kjkondratuk/go-dnd5eapi/endpoints"
"github.com/kjkondratuk/go-dnd5eapi/equipment"
"github.com/kjkondratuk/go-dnd5eapi/features"
"github.com/kjkondratuk/go-dnd5eapi/languages"
"github.com/kjkondratuk/go-dnd5eapi/magic_schools"
"github.com/kjkondratuk/go-dnd5eapi/monsters"
"github.com/kjkondratuk/go-dnd5eapi/proficiencies"
"github.com/kjkondratuk/go-dnd5eapi/races"
"github.com/kjkondratuk/go-dnd5eapi/skills"
"github.com/kjkondratuk/go-dnd5eapi/subclasses"
"github.com/kjkondratuk/go-dnd5eapi/traits"
)
type (
Client struct {
basicsProvider api.BasicsProvider
AbilityScores ability_scores.AbilityScoreClient
Classes classes.ClassClient
ClassProficiencies classes_proficiency_rel.ClassProficiencyRelClient
Conditions conditions.ConditionClient
Damage damage_types.DamageTypeClient
Endpoints endpoints.EndpointsClient
Equipment equipment.EquipmentClient
Features features.FeatureClient
Languages languages.LanguageClient
MagicSchools magic_schools.MagicSchoolClient
Monsters monsters.MonsterClient
Proficiencies proficiencies.ProficiencyClient
Races races.RaceClient
Skills skills.SkillClient
Subclasses subclasses.SubclassClient
Traits traits.TraitClient
}
)
func NewClient(basicsProvider api.BasicsProvider) *Client {
client := &Client{
basicsProvider: basicsProvider,
AbilityScores: ability_scores.NewClient(basicsProvider),
Classes: classes.NewClient(basicsProvider),
ClassProficiencies: nil,
Conditions: conditions.NewClient(basicsProvider),
Damage: damage_types.NewClient(basicsProvider),
Endpoints: endpoints.NewClient(basicsProvider),
Equipment: equipment.NewClient(basicsProvider),
Features: features.NewClient(basicsProvider),
Languages: languages.NewClient(basicsProvider),
MagicSchools: magic_schools.NewClient(basicsProvider),
Monsters: monsters.NewClient(basicsProvider),
Proficiencies: proficiencies.NewClient(basicsProvider),
Races: races.NewClient(basicsProvider),
Skills: skills.NewClient(basicsProvider),
Subclasses: subclasses.NewClient(basicsProvider),
Traits: traits.NewClient(basicsProvider),
}
client.ClassProficiencies = classes_proficiency_rel.NewClient(client.Classes, client.Proficiencies)
return client
}