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.
Files changed (2) hide show
  1. package/README.md +19 -6
  2. 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 { bindTo, Container, hook, HooksRunner, inject, register, Registration as R, select, singleton } from 'ts-ioc-container';
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', (c) => {
1460
- c.invokeMethod({ args: [] });
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', async function () {
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');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "44.0.1",
3
+ "version": "44.0.2",
4
4
  "description": "Typescript IoC container",
5
5
  "publishConfig": {
6
6
  "access": "public",