mirror of
https://github.com/mbierlee/mirage-injector.git
synced 2024-11-14 21:04:00 +01:00
40b0c9522d
The super is a trait, and a type template too |
||
---|---|---|
.vscode | ||
examples | ||
source/poodinis/valueinjector | ||
testfiles | ||
.gitignore | ||
CHANGES.md | ||
dub.json | ||
dub.selections.json | ||
LICENSE.txt | ||
makefile | ||
README.md | ||
testmain.d |
Mirage Config injector for Poodinis
Version 1.0.2
Copyright 2022-2023 Mike Bierlee
Licensed under the terms of the MIT license - See LICENSE.txt
A config value injector for the Poodinis dependency injection framework using Mirage Config
Getting started
DUB Dependency
See the DUB project page for instructions on how to include Mirage Config into your project.
Quickstart
import poodinis : DependencyContainer, Value;
import poodinis.valueinjector.mirage : loadConfig;
import std.stdio : writeln;
import std.conv : to;
class Server
{
@Value("server.host")
private string host;
@Value("server.port")
private int port;
public void run()
{
writeln("Running server on " ~ host ~ ":" ~ port.to!string);
}
}
void main()
{
auto container = new shared DependencyContainer();
container.register!Server;
container.loadConfig("config.ini");
auto server = container.resolve!Server;
server.run();
}
Functions such as loadConfig
are the same as available in Mirage. All individual loaders and parses are available. For more information on how to use Mirage, see https://github.com/mbierlee/mirage-config/blob/main/README.md
History
For a full overview of changes, see CHANGES.md