mirror of
https://github.com/mbierlee/mirage-injector.git
synced 2024-11-14 12:54:01 +01:00
.github/workflows | ||
.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 2.0.0
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
Requires at least a D 2.097.2 compatible compiler
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