diff --git a/.gitignore b/.gitignore index a634ff5..e9a53bf 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,5 @@ .yarn/cache #.pnp.* node_modules/**/* +packages/ioc/node_modules/* packages/poster/dts/discord.d.ts diff --git a/packages/ioc/node_modules/.vitest/deps/_metadata.json b/packages/ioc/node_modules/.vitest/deps/_metadata.json deleted file mode 100644 index f8c874e..0000000 --- a/packages/ioc/node_modules/.vitest/deps/_metadata.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "hash": "577958af", - "configHash": "94f40ccb", - "lockfileHash": "9b10afd2", - "browserHash": "79b250d2", - "optimized": {}, - "chunks": {} -} \ No newline at end of file diff --git a/packages/ioc/node_modules/.vitest/deps/package.json b/packages/ioc/node_modules/.vitest/deps/package.json deleted file mode 100644 index 3dbc1ca..0000000 --- a/packages/ioc/node_modules/.vitest/deps/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "type": "module" -} diff --git a/packages/ioc/node_modules/.vitest/results.json b/packages/ioc/node_modules/.vitest/results.json deleted file mode 100644 index dfad382..0000000 --- a/packages/ioc/node_modules/.vitest/results.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"1.2.2","results":[[":test/index.test.ts",{"duration":15,"failed":true}]]} \ No newline at end of file diff --git a/packages/ioc/src/container.ts b/packages/ioc/src/container.ts index 557d7e4..36e66bb 100644 --- a/packages/ioc/src/container.ts +++ b/packages/ioc/src/container.ts @@ -21,8 +21,9 @@ export class Container { } private registerHooks(hookname: string, insert: object) { if(hasCallableMethod(insert, hookname)) { + console.log(insert) //@ts-ignore - this.addHook('init', async () => await insert[hookname]()) + this.addHook(hookname, () => insert[hookname]()) } } addSingleton(key: string, insert: object) { @@ -65,6 +66,7 @@ export class Container { async executeHooks(name: string) { const hookFunctions = this.hooks.get(name) || []; + console.log(hookFunctions) for (const hookFunction of hookFunctions) { await hookFunction(); } diff --git a/packages/ioc/src/hooks.ts b/packages/ioc/src/hooks.ts index 2205f54..ae2b9d5 100644 --- a/packages/ioc/src/hooks.ts +++ b/packages/ioc/src/hooks.ts @@ -1,5 +1,5 @@ export function hasCallableMethod(obj: object, name: PropertyKey) { //@ts-ignore - return Object.hasOwn(obj, name) && typeof obj.init == 'function'; + return Object.hasOwn(obj, name) && typeof obj[name] == 'function'; } diff --git a/packages/ioc/test/index.test.ts b/packages/ioc/test/index.test.ts index 813a5d3..250f287 100644 --- a/packages/ioc/test/index.test.ts +++ b/packages/ioc/test/index.test.ts @@ -1,12 +1,12 @@ -import { CoreContainer } from '../src/container'; +import { Container } from '../src/container'; import { describe, it, expect, beforeEach, vi } from 'vitest'; describe('CoreContainer Tests', () => { - let coreContainer: CoreContainer; + let coreContainer: Container; beforeEach(() => { - coreContainer = new CoreContainer({ autowire: false }); + coreContainer = new Container({ autowire: false }); }); it('Adding and getting singletons', () => { @@ -76,7 +76,7 @@ describe('CoreContainer Tests', () => { it('wired singleton', async () => { let fn = vi.fn() - const wiredSingletonFn = (container: CoreContainer) => { + const wiredSingletonFn = (container: Container) => { return { value: 'wiredSingletonValue', init: fn }; }; const added = coreContainer.addWiredSingleton('wiredSingletonKey', wiredSingletonFn); @@ -90,10 +90,9 @@ describe('CoreContainer Tests', () => { }) it('dispose', async () => { - let dfn = vi.fn() - const wiredSingletonFn = { value: 'wiredSingletonValue', dispose: vi.fn() }; + let dfn = vi.fn(); + const wiredSingletonFn = { value: 'wiredSingletonValue', dispose: dfn }; coreContainer.addSingleton('sk', wiredSingletonFn); - //@ts-ignore await coreContainer.disposeAll();