23 lines
647 B
TypeScript
23 lines
647 B
TypeScript
import { BaseResolver, PortResolver } from "@nx/typescript-domain"
|
|
|
|
interface IColor {
|
|
red: number;
|
|
green: number;
|
|
blue: number;
|
|
}
|
|
|
|
class Domain extends BaseResolver {
|
|
get Color(): IColor { return this.resolve("IColor") };
|
|
}
|
|
|
|
const resolver = new PortResolver();
|
|
resolver.registerInstance("IColor", () => ({red: 1.0, green: 0, blue: 0}))
|
|
// resolver.register("IColor", () => ({red: 1.0, green: 0, blue: 0}))
|
|
const domain = new Domain();
|
|
domain.setResolver(resolver);
|
|
|
|
console.log("color", domain.Color);
|
|
domain.Color.green = 0.5; // registerInstance: allow changes, register returns new object
|
|
console.log("color", domain.Color);
|
|
|