API
Docks
docks are just big objects
Docks
Docks are responsible for holding together all injectables.
Use
get
Get an instance of a registered injectable using the get
method and the injectable reference:
import { dock } from "aquinas";
import { AppDock } from "./app.dock";
import { UserServiceReference } from "./user-service.reference";
const userService = AppDock.get(UserServiceReference);
register
Create a dock using the Dock
object, and then use the register
method to register your injectables:
import { dock } from "aquinas";
import { UserService } from "./user-service.injectable";
const AppDock = dock();
AppDock.register(UserService)
export { AppDock };
merge
Merge docks together using the merge
method:
import { dock } from "aquinas";
import { UserDock } from "./user.dock";
const AppDock = dock();
AppDock.merge(UserDock);
override
Override injectables in a dock using the override
method:
import { dock } from "aquinas";
import { DatabaseServiceReference } from "./database-service.reference";
import { MockDatabaseService } from "./mock-database-service.injectable";
const AppDock = dock();
AppDock.override(DatabaseServiceReference, MockDatabaseService);
// You can also override with an implementation function
AppDock.override(DatabaseServiceReference, (dock) => {
return new MockDatabaseService();
});