Files
NapCatQQ/.pnpm-store/v3/files/88/4c698cdc7621a7a1dde4c74dcff94b08082a7ea628e2db59f91bd2dad76e62a624b263c44fb7b7f9b7a74e5e0911d60548d0f0b81816f4663ac45752586d85
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

50 lines
1.7 KiB
Plaintext

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const vitest_1 = require("vitest");
const __1 = require("../..");
(0, vitest_1.describe)('Issue 1416', () => {
(0, vitest_1.it)('should allow providing default values on optional bindings', async () => {
let Test1 = class Test1 {
onDestroyMock = vitest_1.vitest.fn();
destroy() {
this.onDestroyMock();
}
};
tslib_1.__decorate([
(0, __1.preDestroy)(),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", []),
tslib_1.__metadata("design:returntype", void 0)
], Test1.prototype, "destroy", null);
Test1 = tslib_1.__decorate([
(0, __1.injectable)()
], Test1);
let Test2 = class Test2 {
destroy() { }
};
Test2 = tslib_1.__decorate([
(0, __1.injectable)()
], Test2);
let Test3 = class Test3 {
destroy() { }
};
Test3 = tslib_1.__decorate([
(0, __1.injectable)()
], Test3);
const container = new __1.Container({ defaultScope: 'Singleton' });
container.bind(Test1).toSelf();
container.bind(Test2).toService(Test1);
container.bind(Test3).toService(Test1);
const test1 = container.get(Test1);
container.get(Test2);
container.get(Test3);
await Promise.all([
container.unbind(Test1),
container.unbind(Test2),
container.unbind(Test3),
]);
(0, vitest_1.expect)(test1.onDestroyMock).toHaveBeenCalledTimes(1);
});
});
//# sourceMappingURL=issue_1416.test.js.map