@xerjs/avalon
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

@xerjs/avalon

利用class function本身做key的依赖注入容器

声明 Provider

@Provider()
class DataBase {
}

@Provider()
class Ser {
    constructor(public db: DataBase) {
    }
}

const svc = AvalonContainer.root.resolve(Ser)
assert.ok(svc)
assert.ok(svc.db)

实例默认保存在AvalonContainer.root里,用 ioc 参数调整存储位置

简化闭包

function Some() {
    const a = 1;
    return { a };
}
avalon.register(Some, Some());

assert.deepEqual(avalon.resolve(Some), { a: 1 });

Readme

Keywords

Package Sidebar

Install

npm i @xerjs/avalon

Weekly Downloads

0

Version

1.0.3

License

MIT

Unpacked Size

27.5 kB

Total Files

24

Last publish

Collaborators

  • lusionx