ts-ioc-container 44.0.1 → 44.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1430,9 +1430,24 @@ describe('onConstruct', function () {
|
|
|
1430
1430
|
|
|
1431
1431
|
### OnDispose
|
|
1432
1432
|
```typescript
|
|
1433
|
-
import {
|
|
1433
|
+
import {
|
|
1434
|
+
bindTo,
|
|
1435
|
+
Container,
|
|
1436
|
+
hook,
|
|
1437
|
+
type HookFn,
|
|
1438
|
+
HooksRunner,
|
|
1439
|
+
inject,
|
|
1440
|
+
register,
|
|
1441
|
+
Registration as R,
|
|
1442
|
+
select,
|
|
1443
|
+
singleton,
|
|
1444
|
+
} from 'ts-ioc-container';
|
|
1434
1445
|
|
|
1435
1446
|
const onDisposeHookRunner = new HooksRunner('onDispose');
|
|
1447
|
+
const execute: HookFn = (ctx) => {
|
|
1448
|
+
ctx.invokeMethod({ args: ctx.resolveArgs() });
|
|
1449
|
+
};
|
|
1450
|
+
|
|
1436
1451
|
@register(bindTo('logsRepo'), singleton())
|
|
1437
1452
|
class LogsRepo {
|
|
1438
1453
|
savedLogs: string[] = [];
|
|
@@ -1456,16 +1471,14 @@ class Logger {
|
|
|
1456
1471
|
this.messages.push(message);
|
|
1457
1472
|
}
|
|
1458
1473
|
|
|
1459
|
-
@hook('onDispose',
|
|
1460
|
-
|
|
1461
|
-
}) // <--- or extract it to @onDispose
|
|
1462
|
-
async save(): Promise<void> {
|
|
1474
|
+
@hook('onDispose', execute) // <--- or extract it to @onDispose
|
|
1475
|
+
save() {
|
|
1463
1476
|
this.logsRepo.saveLogs(this.messages);
|
|
1464
1477
|
}
|
|
1465
1478
|
}
|
|
1466
1479
|
|
|
1467
1480
|
describe('onDispose', function () {
|
|
1468
|
-
it('should invoke hooks on all instances',
|
|
1481
|
+
it('should invoke hooks on all instances', function () {
|
|
1469
1482
|
const container = new Container().addRegistration(R.fromClass(Logger)).addRegistration(R.fromClass(LogsRepo));
|
|
1470
1483
|
|
|
1471
1484
|
const logger = container.resolve<Logger>('logger');
|