113 lines
5.1 KiB
Go
113 lines
5.1 KiB
Go
package register
|
|
|
|
import (
|
|
"gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline"
|
|
combatextract "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/extract/combatturns"
|
|
npcextract "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/extract/npcs"
|
|
spellextract "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/extract/spells"
|
|
combatnormalize "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/normalize/combatturns"
|
|
npcnormalize "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/normalize/npcs"
|
|
spellnormalize "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/normalize/spells"
|
|
combatinvariants "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/validate/combatturns/invariants"
|
|
combatshape "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/validate/combatturns/shape"
|
|
combatsourcerefs "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/validate/combatturns/source_refs"
|
|
combatrelatedness "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/validate/combatturns/source_relatedness"
|
|
npcidentity "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/validate/npcs/identity"
|
|
npcshape "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/validate/npcs/shape"
|
|
npcsourcerefs "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/validate/npcs/source_refs"
|
|
npcrelatedness "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/validate/npcs/source_relatedness"
|
|
spellcatalog "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/validate/spells/catalog"
|
|
spellshape "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/validate/spells/shape"
|
|
spellsourcerefs "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/validate/spells/source_refs"
|
|
spellrelatedness "gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/validate/spells/source_relatedness"
|
|
validjson "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/validate/valid_json"
|
|
validjsonschema "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/validate/valid_json_schema"
|
|
)
|
|
|
|
func registerDefaultChains(registry *pipeline.ValidatorChainRegistry) error {
|
|
return runRegistrations([]registration{
|
|
{name: "spells validator chain", register: func() error {
|
|
return registry.Register(pipeline.ValidatorChainMapping{
|
|
Stage: pipeline.StageExtract,
|
|
Module: spellextract.Key,
|
|
Validators: []pipeline.ModuleBinding{
|
|
pipeline.Binding(validjson.Key),
|
|
pipeline.Binding(spellshape.Key),
|
|
pipeline.Binding(spellcatalog.Key),
|
|
pipeline.Binding(spellsourcerefs.Key),
|
|
pipeline.Binding(validjsonschema.Key),
|
|
pipeline.Binding(spellrelatedness.Key),
|
|
},
|
|
})
|
|
}},
|
|
{name: "spells normalize validator chain", register: func() error {
|
|
return registry.Register(pipeline.ValidatorChainMapping{
|
|
Stage: pipeline.StageNormalize,
|
|
Module: spellnormalize.Key,
|
|
Validators: []pipeline.ModuleBinding{
|
|
pipeline.Binding(validjson.Key),
|
|
pipeline.Binding(spellshape.Key),
|
|
pipeline.Binding(spellcatalog.Key),
|
|
pipeline.Binding(spellsourcerefs.Key),
|
|
pipeline.Binding(validjsonschema.Key),
|
|
pipeline.Binding(spellrelatedness.Key),
|
|
},
|
|
})
|
|
}},
|
|
{name: "npcs validator chain", register: func() error {
|
|
return registry.Register(pipeline.ValidatorChainMapping{
|
|
Stage: pipeline.StageExtract,
|
|
Module: npcextract.Key,
|
|
Validators: []pipeline.ModuleBinding{
|
|
pipeline.Binding(validjson.Key),
|
|
pipeline.Binding(npcshape.Key),
|
|
pipeline.Binding(npcsourcerefs.Key),
|
|
pipeline.Binding(validjsonschema.Key),
|
|
pipeline.Binding(npcrelatedness.Key),
|
|
},
|
|
})
|
|
}},
|
|
{name: "npcs normalize validator chain", register: func() error {
|
|
return registry.Register(pipeline.ValidatorChainMapping{
|
|
Stage: pipeline.StageNormalize,
|
|
Module: npcnormalize.Key,
|
|
Validators: []pipeline.ModuleBinding{
|
|
pipeline.Binding(validjson.Key),
|
|
pipeline.Binding(npcshape.Key),
|
|
pipeline.Binding(npcidentity.Key),
|
|
pipeline.Binding(npcsourcerefs.Key),
|
|
pipeline.Binding(validjsonschema.Key),
|
|
pipeline.Binding(npcrelatedness.Key),
|
|
},
|
|
})
|
|
}},
|
|
{name: "combat turns validator chain", register: func() error {
|
|
return registry.Register(pipeline.ValidatorChainMapping{
|
|
Stage: pipeline.StageExtract,
|
|
Module: combatextract.Key,
|
|
Validators: []pipeline.ModuleBinding{
|
|
pipeline.Binding(validjson.Key),
|
|
pipeline.Binding(combatshape.Key),
|
|
pipeline.Binding(combatsourcerefs.Key),
|
|
pipeline.Binding(validjsonschema.Key),
|
|
pipeline.Binding(combatrelatedness.Key),
|
|
},
|
|
})
|
|
}},
|
|
{name: "combat turns normalize validator chain", register: func() error {
|
|
return registry.Register(pipeline.ValidatorChainMapping{
|
|
Stage: pipeline.StageNormalize,
|
|
Module: combatnormalize.Key,
|
|
Validators: []pipeline.ModuleBinding{
|
|
pipeline.Binding(validjson.Key),
|
|
pipeline.Binding(combatshape.Key),
|
|
pipeline.Binding(combatinvariants.Key),
|
|
pipeline.Binding(combatsourcerefs.Key),
|
|
pipeline.Binding(validjsonschema.Key),
|
|
pipeline.Binding(combatrelatedness.Key),
|
|
},
|
|
})
|
|
}},
|
|
})
|
|
}
|