knifecycle
Advanced tools
+9
-0
@@ -0,1 +1,10 @@ | ||
| # [14.1.0](https://github.com/nfroidure/knifecycle/compare/v14.0.0...v14.1.0) (2022-08-30) | ||
| ### Bug Fixes | ||
| * **types:** fix types according to the last TypeScript version ([0873bff](https://github.com/nfroidure/knifecycle/commit/0873bffb094563c4ffecd80b6484d50f068d7f9b)) | ||
| # [14.0.0](https://github.com/nfroidure/knifecycle/compare/v13.0.0...v14.0.0) (2022-06-16) | ||
@@ -2,0 +11,0 @@ |
+1
-1
@@ -171,3 +171,3 @@ import { SPECIAL_PROPS, parseDependencyDeclaration, initializer, } from './util.js'; | ||
| } | ||
| node.__childNodes.forEach((childNode) => { | ||
| (node?.__childNodes || []).forEach((childNode) => { | ||
| hash = buildHashFromNode(childNode, hash); | ||
@@ -174,0 +174,0 @@ }); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"} |
@@ -0,1 +1,2 @@ | ||
| import { describe, test } from '@jest/globals'; | ||
| import assert from 'assert'; | ||
@@ -44,3 +45,3 @@ import { YError } from 'yerror'; | ||
| }); | ||
| it('should build an initialization module', async () => { | ||
| test('should build an initialization module', async () => { | ||
| const $ = new Knifecycle(); | ||
@@ -47,0 +48,0 @@ $.register(constant('PWD', '~/my-project')); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"build.test.js","sourceRoot":"","sources":["../src/build.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,sBAAsB,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG/D,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,KAAK,UAAU,SAAS;QACtB,OAAO;YACL,OAAO,EAAE,kBAAkB;SAC5B,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG;QACrB,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;QAC7C,IAAI,EAAE,WAAW,CACf;YACE,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,MAAM;SACb,EACD,SAAS,CACV;QACD,IAAI,EAAE,WAAW,CACf;YACE,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;YAC5B,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,MAAM;SACb,EACD,SAAS,CACV;QACD,IAAI,EAAE,WAAW,CACf;YACE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;YACnC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,MAAM;SACb,EACD,SAAS,CACV;KACF,CAAC;IACF,MAAM,cAAc,GAAG,WAAW,CAChC;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,IAAI;KAChB,EACD,KAAK,IAAI,EAAE;QACT,OAAO,KAAK,UAAU,SAAS,CAAC,IAAI;YAClC,OAAO,cAAc,CAAC,IAAI,CAAC;gBACzB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;oBACd,IAAI,EAAE,cAAc,IAAI,EAAE;oBAC1B,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC;iBAClC,CAAC;gBACJ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;QAE3B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC3B,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAEnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAErC,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAEzB,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DL,CACI,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} | ||
| {"version":3,"file":"build.test.js","sourceRoot":"","sources":["../src/build.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,sBAAsB,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG/D,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,KAAK,UAAU,SAAS;QACtB,OAAO;YACL,OAAO,EAAE,kBAAkB;SAC5B,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG;QACrB,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;QAC7C,IAAI,EAAE,WAAW,CACf;YACE,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,MAAM;SACb,EACD,SAAS,CACV;QACD,IAAI,EAAE,WAAW,CACf;YACE,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;YAC5B,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,MAAM;SACb,EACD,SAAS,CACV;QACD,IAAI,EAAE,WAAW,CACf;YACE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;YACnC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,MAAM;SACb,EACD,SAAS,CACV;KACF,CAAC;IACF,MAAM,cAAc,GAAG,WAAW,CAChC;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,IAAI;KAChB,EACD,KAAK,IAAI,EAAE;QACT,OAAO,KAAK,UAAU,SAAS,CAAC,IAAI;YAClC,OAAO,cAAc,CAAC,IAAI,CAAC;gBACzB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;oBACd,IAAI,EAAE,cAAc,IAAI,EAAE;oBAC1B,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC;iBAClC,CAAC;gBACJ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;QAE3B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC3B,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAEnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAErC,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAEzB,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DL,CACI,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} |
+74
-73
| /* eslint max-nested-callbacks:0 */ | ||
| import { describe, beforeEach, test } from '@jest/globals'; | ||
| import assert from 'assert'; | ||
@@ -26,9 +27,9 @@ import sinon from 'sinon'; | ||
| describe('with constants', () => { | ||
| it('should work with an object', () => { | ||
| test('should work with an object', () => { | ||
| $.register(constant('ENV', ENV)); | ||
| }); | ||
| it('should work with a function', () => { | ||
| test('should work with a function', () => { | ||
| $.register(constant('time', time)); | ||
| }); | ||
| it('should work when overriding a previously set constant', async () => { | ||
| test('should work when overriding a previously set constant', async () => { | ||
| $.register(constant('TEST', 1)); | ||
@@ -40,3 +41,3 @@ $.register(constant('TEST', 2)); | ||
| }); | ||
| it('should fail when overriding an initialized constant', async () => { | ||
| test('should fail when overriding an initialized constant', async () => { | ||
| $.register(constant('TEST', 1)); | ||
@@ -56,6 +57,6 @@ assert.deepEqual(await $.run(['TEST']), { | ||
| describe('with services', () => { | ||
| it('should work with a service', () => { | ||
| test('should work with a service', () => { | ||
| $.register(service(timeService, 'time')); | ||
| }); | ||
| it('should work when overriding a previously set service', async () => { | ||
| test('should work when overriding a previously set service', async () => { | ||
| $.register(service(async () => () => 1, 'test')); | ||
@@ -66,3 +67,3 @@ $.register(service(async () => () => 2, 'test')); | ||
| }); | ||
| it('should fail when overriding an initialized service', async () => { | ||
| test('should fail when overriding an initialized service', async () => { | ||
| $.register(service(async () => () => 1, 'test')); | ||
@@ -81,6 +82,6 @@ const { test } = await $.run(['test']); | ||
| describe('with providers', () => { | ||
| it('should work with a provider', () => { | ||
| test('should work with a provider', () => { | ||
| $.register(service(hashProvider, 'hash')); | ||
| }); | ||
| it('should work when overriding a previously set provider', async () => { | ||
| test('should work when overriding a previously set provider', async () => { | ||
| $.register(initializer({ | ||
@@ -103,3 +104,3 @@ type: 'provider', | ||
| }); | ||
| it('should work when overriding a previously set singleton provider', async () => { | ||
| test('should work when overriding a previously set singleton provider', async () => { | ||
| $.register(initializer({ | ||
@@ -123,3 +124,3 @@ type: 'provider', | ||
| }); | ||
| it('should fail when overriding an initialized provider', async () => { | ||
| test('should fail when overriding an initialized provider', async () => { | ||
| $.register(initializer({ | ||
@@ -150,3 +151,3 @@ type: 'provider', | ||
| }); | ||
| it('should fail when intitializer is no a function', () => { | ||
| test('should fail when intitializer is no a function', () => { | ||
| assert.throws(() => { | ||
@@ -160,3 +161,3 @@ $.register('not_a_function'); | ||
| }); | ||
| it('should fail with no service name', () => { | ||
| test('should fail with no service name', () => { | ||
| assert.throws(() => { | ||
@@ -170,3 +171,3 @@ $.register(async () => undefined); | ||
| }); | ||
| it('should fail with a bad service type', () => { | ||
| test('should fail with a bad service type', () => { | ||
| assert.throws(() => { | ||
@@ -187,3 +188,3 @@ const fn = async () => undefined; | ||
| }); | ||
| it('should fail with an undefined constant', () => { | ||
| test('should fail with an undefined constant', () => { | ||
| assert.throws(() => { | ||
@@ -201,3 +202,3 @@ const fn = async () => undefined; | ||
| }); | ||
| it('should fail with a non constant that has a value', () => { | ||
| test('should fail with a non constant that has a value', () => { | ||
| assert.throws(() => { | ||
@@ -215,3 +216,3 @@ const fn = async () => undefined; | ||
| }); | ||
| it('should fail with special autoload intitializer that is not a singleton', () => { | ||
| test('should fail with special autoload intitializer that is not a singleton', () => { | ||
| assert.throws(() => { | ||
@@ -230,6 +231,6 @@ $.register(initializer({ | ||
| describe('provider', () => { | ||
| it('should register provider', () => { | ||
| test('should register provider', () => { | ||
| $.register(provider(hashProvider, 'hash')); | ||
| }); | ||
| it('should fail with direct circular dependencies', () => { | ||
| test('should fail with direct circular dependencies', () => { | ||
| assert.throws(() => { | ||
@@ -243,3 +244,3 @@ $.register(provider(hashProvider, 'hash', ['hash'])); | ||
| }); | ||
| it('should fail with direct circular dependencies on mapped services', () => { | ||
| test('should fail with direct circular dependencies on mapped services', () => { | ||
| assert.throws(() => { | ||
@@ -253,3 +254,3 @@ $.register(provider(hashProvider, 'hash', ['hash>lol'])); | ||
| }); | ||
| it('should fail with circular dependencies', () => { | ||
| test('should fail with circular dependencies', () => { | ||
| assert.throws(() => { | ||
@@ -266,3 +267,3 @@ $.register(provider(inject(['hash3'], hashProvider), 'hash')); | ||
| }); | ||
| it('should fail with deeper circular dependencies', () => { | ||
| test('should fail with deeper circular dependencies', () => { | ||
| assert.throws(() => { | ||
@@ -285,3 +286,3 @@ $.register(provider(inject(['hash1'], hashProvider), 'hash')); | ||
| }); | ||
| it('should fail with circular dependencies on mapped services', () => { | ||
| test('should fail with circular dependencies on mapped services', () => { | ||
| assert.throws(() => { | ||
@@ -304,7 +305,7 @@ $.register(provider(inject(['hash3>aHash3'], hashProvider), 'hash')); | ||
| describe('run', () => { | ||
| it('should work with no dependencies', async () => { | ||
| test('should work with no dependencies', async () => { | ||
| const dependencies = await $.run([]); | ||
| assert.deepEqual(dependencies, {}); | ||
| }); | ||
| it('should work with constant dependencies', async () => { | ||
| test('should work with constant dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -319,3 +320,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should work with service dependencies', async () => { | ||
| test('should work with service dependencies', async () => { | ||
| const wrappedSampleService = inject(['time'], async function sampleService({ time }) { | ||
@@ -332,3 +333,3 @@ return Promise.resolve(typeof time); | ||
| }); | ||
| it('should work with simple dependencies', async () => { | ||
| test('should work with simple dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -344,3 +345,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should work with given optional dependencies', async () => { | ||
| test('should work with given optional dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -357,3 +358,3 @@ $.register(constant('DEBUG', {})); | ||
| }); | ||
| it('should work with lacking optional dependencies', async () => { | ||
| test('should work with lacking optional dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -369,3 +370,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should work with deeper dependencies', async () => { | ||
| test('should work with deeper dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -382,3 +383,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should instanciate services once', async () => { | ||
| test('should instanciate services once', async () => { | ||
| const timeServiceStub = sinon.spy(timeService); | ||
@@ -404,3 +405,3 @@ $.register(constant('ENV', ENV)); | ||
| }); | ||
| it('should instanciate a single mapped service', async () => { | ||
| test('should instanciate a single mapped service', async () => { | ||
| const providerStub = sinon.stub().returns(Promise.resolve({ | ||
@@ -428,3 +429,3 @@ service: 'stub', | ||
| }); | ||
| it('should instanciate several services with mappings', async () => { | ||
| test('should instanciate several services with mappings', async () => { | ||
| const timeServiceStub = sinon.spy(timeService); | ||
@@ -444,3 +445,3 @@ $.register(constant('ENV', ENV)); | ||
| }); | ||
| it('should fail with bad service', async () => { | ||
| test('should fail with bad service', async () => { | ||
| $.register(service((() => undefined), 'lol')); | ||
@@ -456,3 +457,3 @@ try { | ||
| }); | ||
| it('should fail with bad provider', async () => { | ||
| test('should fail with bad provider', async () => { | ||
| $.register(provider((() => undefined), 'lol')); | ||
@@ -468,3 +469,3 @@ try { | ||
| }); | ||
| it('should fail with bad service in a provider', async () => { | ||
| test('should fail with bad service in a provider', async () => { | ||
| $.register(provider(() => Promise.resolve(), 'lol')); | ||
@@ -480,3 +481,3 @@ try { | ||
| }); | ||
| it('should fail with undeclared dependencies', async () => { | ||
| test('should fail with undeclared dependencies', async () => { | ||
| try { | ||
@@ -491,3 +492,3 @@ await $.run(['lol']); | ||
| }); | ||
| it('should fail with undeclared dependencies upstream', async () => { | ||
| test('should fail with undeclared dependencies upstream', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -506,3 +507,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should provide a fatal error handler', async () => { | ||
| test('should provide a fatal error handler', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -551,3 +552,3 @@ $.register(constant('time', time)); | ||
| describe('autoload', () => { | ||
| it('should work with lacking autoloaded dependencies', async () => { | ||
| test('should work with lacking autoloaded dependencies', async () => { | ||
| const autoloaderInitializer = initializer({ | ||
@@ -578,3 +579,3 @@ type: 'service', | ||
| }); | ||
| it('should work with deeper several lacking dependencies', async () => { | ||
| test('should work with deeper several lacking dependencies', async () => { | ||
| $.register(initializer({ | ||
@@ -605,3 +606,3 @@ name: '$autoload', | ||
| }); | ||
| it('should work with various dependencies', async () => { | ||
| test('should work with various dependencies', async () => { | ||
| $.register(provider(hashProvider, 'hash', ['hash2'])); | ||
@@ -631,3 +632,3 @@ $.register(provider(hashProvider, 'hash3', ['?ENV'])); | ||
| }); | ||
| it('should instanciate services once', async () => { | ||
| test('should instanciate services once', async () => { | ||
| $.register(initializer({ | ||
@@ -658,3 +659,3 @@ name: '$autoload', | ||
| }); | ||
| it('should fail when autoload does not exists', async () => { | ||
| test('should fail when autoload does not exists', async () => { | ||
| try { | ||
@@ -668,3 +669,3 @@ await $.run(['test']); | ||
| }); | ||
| it('should fail when autoloaded dependencies are not found', async () => { | ||
| test('should fail when autoloaded dependencies are not found', async () => { | ||
| $.register(initializer({ | ||
@@ -687,3 +688,3 @@ type: 'service', | ||
| }); | ||
| it('should fail when autoloaded dependencies are not initializers', async () => { | ||
| test('should fail when autoloaded dependencies are not initializers', async () => { | ||
| $.register(initializer({ | ||
@@ -704,3 +705,3 @@ type: 'service', | ||
| }); | ||
| it('should fail when autoloaded dependencies are not right initializers', async () => { | ||
| test('should fail when autoloaded dependencies are not right initializers', async () => { | ||
| $.register(initializer({ | ||
@@ -728,3 +729,3 @@ type: 'service', | ||
| }); | ||
| it('should fail when autoload depends on existing autoloaded dependencies', async () => { | ||
| test('should fail when autoload depends on existing autoloaded dependencies', async () => { | ||
| $.register(initializer({ | ||
@@ -752,3 +753,3 @@ type: 'service', | ||
| }); | ||
| it('should work when autoload depends on optional and unexisting autoloaded dependencies', async () => { | ||
| test('should work when autoload depends on optional and unexisting autoloaded dependencies', async () => { | ||
| $.register(initializer({ | ||
@@ -770,3 +771,3 @@ type: 'service', | ||
| }); | ||
| it.skip('should work when autoload depends on deeper optional and unexisting autoloaded dependencies', async () => { | ||
| test.skip('should work when autoload depends on deeper optional and unexisting autoloaded dependencies', async () => { | ||
| $.register(initializer({ | ||
@@ -799,3 +800,3 @@ type: 'service', | ||
| describe('$injector', () => { | ||
| it('should work with no dependencies', async () => { | ||
| test('should work with no dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -818,3 +819,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should work with same dependencies then the running silo', async () => { | ||
| test('should work with same dependencies then the running silo', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -840,3 +841,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should work with name mapping', async () => { | ||
| test('should work with name mapping', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -865,3 +866,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should work with non instanciated dependencies', async () => { | ||
| test('should work with non instanciated dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -882,3 +883,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should create dependencies when not declared as singletons', async () => { | ||
| test('should create dependencies when not declared as singletons', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -894,3 +895,3 @@ $.register(provider(hashProvider, 'hash', ['ENV'])); | ||
| }); | ||
| it('should reuse dependencies when declared as singletons', async () => { | ||
| test('should reuse dependencies when declared as singletons', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -912,3 +913,3 @@ $.register(provider(hashProvider, 'hash', ['ENV'], true)); | ||
| describe('destroy', () => { | ||
| it('should work even with one silo and no dependencies', async () => { | ||
| test('should work even with one silo and no dependencies', async () => { | ||
| assert.equal(typeof $.destroy, 'function'); | ||
@@ -918,3 +919,3 @@ const dependencies = await $.run(['$instance']); | ||
| }); | ||
| it('should work with several silos and dependencies', async () => { | ||
| test('should work with several silos and dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -933,3 +934,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should work when trigered from several silos simultaneously', async () => { | ||
| test('should work when trigered from several silos simultaneously', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -953,3 +954,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should work when a silo shutdown is in progress', async () => { | ||
| test('should work when a silo shutdown is in progress', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -976,3 +977,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should disallow new runs', async () => { | ||
| test('should disallow new runs', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -995,3 +996,3 @@ $.register(constant('time', time)); | ||
| describe('$dispose', () => { | ||
| it('should work with no dependencies', async () => { | ||
| test('should work with no dependencies', async () => { | ||
| const dependencies = await $.run(['$dispose']); | ||
@@ -1001,3 +1002,3 @@ assert.equal(typeof dependencies.$dispose, 'function'); | ||
| }); | ||
| it('should work with constant dependencies', async () => { | ||
| test('should work with constant dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1013,3 +1014,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should work with simple dependencies', async () => { | ||
| test('should work with simple dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1026,3 +1027,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should work with deeper dependencies', async () => { | ||
| test('should work with deeper dependencies', async () => { | ||
| let shutdownCallResolve; | ||
@@ -1073,3 +1074,3 @@ let shutdownResolve; | ||
| }); | ||
| it('should work with deeper multi used dependencies', async () => { | ||
| test('should work with deeper multi used dependencies', async () => { | ||
| let shutdownCallResolve; | ||
@@ -1116,3 +1117,3 @@ let shutdownResolve; | ||
| }); | ||
| it('should delay service shutdown to their deeper dependencies', async () => { | ||
| test('should delay service shutdown to their deeper dependencies', async () => { | ||
| const servicesShutdownCalls = sinon.spy(() => Promise.resolve()); | ||
@@ -1143,3 +1144,3 @@ $.register(provider(() => Promise.resolve({ | ||
| }); | ||
| it('should not shutdown singleton dependencies if used elsewhere', async () => { | ||
| test('should not shutdown singleton dependencies if used elsewhere', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1162,3 +1163,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should shutdown singleton dependencies if not used elsewhere', async () => { | ||
| test('should shutdown singleton dependencies if not used elsewhere', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1178,3 +1179,3 @@ $.register(constant('time', time)); | ||
| describe('toMermaidGraph', () => { | ||
| it('should print nothing when no dependency', () => { | ||
| test('should print nothing when no dependency', () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1184,3 +1185,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should print a dependency graph', () => { | ||
| test('should print a dependency graph', () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1202,3 +1203,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should allow custom shapes', () => { | ||
| test('should allow custom shapes', () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1235,3 +1236,3 @@ $.register(constant('time', time)); | ||
| }); | ||
| it('should allow custom styles', () => { | ||
| test('should allow custom styles', () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1238,0 +1239,0 @@ $.register(constant('time', time)); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,aAAa,EACb,UAAU,EACV,WAAW,EACX,MAAM,EACN,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,SAAS,GAEV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAEtD,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAa,CAAC;IAClB,MAAM,GAAG,GAAG;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjC,KAAK,UAAU,WAAW;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,IAA6B;QACvD,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,GAAG,EAAE;QACd,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC9B,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;gBACpC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;gBACrC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;gBACrE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,CAAC,CAAC,EAAE;oBAC3D,IAAI,EAAE,CAAC;iBACR,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;gBACnE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,CAAC,CAAC,EAAE;oBAC3D,IAAI,EAAE,CAAC;iBACR,CAAC,CAAC;gBAEH,IAAI;oBACF,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;oBAChC,MAAM,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC;iBAC1C;gBAAC,OAAO,GAAG,EAAE;oBACZ,MAAM,CAAC,KAAK,CACT,GAAc,CAAC,IAAI,EACpB,oCAAoC,CACrC,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;gBACrC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;gBACpE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gBACjD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gBAEjD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/D,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;gBAClE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gBACjD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/D,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;gBAE5B,IAAI;oBACF,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;oBACjD,MAAM,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC;iBAC1C;gBAAC,OAAO,GAAG,EAAE;oBACZ,MAAM,CAAC,KAAK,CACT,GAAc,CAAC,IAAI,EACpB,oCAAoC,CACrC,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC9B,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;gBACtC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;gBACrE,CAAC,CAAC,QAAQ,CACR,WAAW,CACT;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,EAAE;iBACX,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;oBACX,OAAO,EAAE,CAAC;iBACX,CAAC,CACH,CACF,CAAC;gBACF,CAAC,CAAC,QAAQ,CACR,WAAW,CACT;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,EAAE;iBACX,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;oBACX,OAAO,EAAE,CAAC;iBACX,CAAC,CACH,CACF,CAAC;gBAEF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC5D,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;gBAC/E,CAAC,CAAC,QAAQ,CACR,WAAW,CACT;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,EAAE;oBACV,SAAS,EAAE,IAAI;iBAChB,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;oBACX,OAAO,EAAE,CAAC;iBACX,CAAC,CACH,CACF,CAAC;gBACF,CAAC,CAAC,QAAQ,CACR,WAAW,CACT;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,EAAE;iBACX,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;oBACX,OAAO,EAAE,CAAC;iBACX,CAAC,CACH,CACF,CAAC;gBAEF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC5D,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;gBACnE,CAAC,CAAC,QAAQ,CACR,WAAW,CACT;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,EAAE;oBACV,SAAS,EAAE,IAAI;iBAChB,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;oBACX,OAAO,EAAE,CAAC;iBACX,CAAC,CACH,CACF,CAAC;gBAEF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC5D,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAE1B,IAAI;oBACF,CAAC,CAAC,QAAQ,CACR,WAAW,CACT;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,MAAM;wBACZ,MAAM,EAAE,EAAE;qBACX,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;wBACX,OAAO,EAAE,CAAC;qBACX,CAAC,CACH,CACF,CAAC;oBACF,MAAM,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC;iBAC1C;gBAAC,OAAO,GAAG,EAAE;oBACZ,MAAM,CAAC,KAAK,CACT,GAAc,CAAC,IAAI,EACpB,oCAAoC,CACrC,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,CAAC,MAAM,CACX,GAAG,EAAE;gBACH,CAAC,CAAC,QAAQ,CAAC,gBAAuB,CAAC,CAAC;YACtC,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;gBAC5D,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC7D,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,CAAC,MAAM,CACX,GAAG,EAAE;gBACH,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;gBAC/D,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC7C,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,CAAC,MAAM,CACX,GAAG,EAAE;gBACH,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;gBACjC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;gBAChC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC;gBAC5C,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;gBACjE,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE;oBACvC,MAAM;oBACN,kBAAkB;oBAClB,yBAAyB;iBAC1B,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,CAAC,MAAM,CACX,GAAG,EAAE;gBACH,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;gBACjC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;gBACtC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;gBACpC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;gBACpC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,SAAS,CACb,GAAc,CAAC,IAAI,EACpB,kCAAkC,CACnC,CAAC;gBACF,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,CAAC,MAAM,CACX,GAAG,EAAE;gBACH,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;gBACjC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;gBACrC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;gBACnC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBAC7B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,SAAS,CACb,GAAc,CAAC,IAAI,EACpB,uCAAuC,CACxC,CAAC;gBACF,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;gBACxD,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;YAChF,MAAM,CAAC,MAAM,CACX,GAAG,EAAE;gBACH,CAAC,CAAC,QAAQ,CACR,WAAW,CACT;oBACE,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,UAAU;iBACjB,EACD,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAC3C,CACF,CAAC;YACJ,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;gBAC3D,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClD,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,CAAC,MAAM,CACX,GAAG,EAAE;gBACH,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;gBAChE,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnD,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;YAC1E,MAAM,CAAC,MAAM,CACX,GAAG,EAAE;gBACH,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC3D,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;gBAChE,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnD,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,CAAC,MAAM,CACX,GAAG,EAAE;gBACH,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC9D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC9D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC/D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAChE,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;gBAChE,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,CAAC,MAAM,CACX,GAAG,EAAE;gBACH,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC9D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC/D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC/D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAChE,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;gBAChE,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE;oBACvC,OAAO;oBACP,MAAM;oBACN,OAAO;oBACP,OAAO;oBACP,OAAO;iBACR,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,CAAC,MAAM,CACX,GAAG,EAAE;gBACH,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gBACrE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBACpE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBACtE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YACtE,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;gBAChE,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE;oBACvC,OAAO;oBACP,YAAY;oBACZ,cAAc;iBACf,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,EAAE,CAAC,CAAC;YAE1D,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YAEnC,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAEvE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAC7D,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE;gBAC7B,GAAG;gBACH,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,oBAAoB,GAAG,MAAM,CACjC,CAAC,MAAM,CAAC,EACR,KAAK,UAAU,aAAa,CAAC,EAAE,IAAI,EAAiB;gBAClD,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;YACtC,CAAC,CACF,CAAC;YACF,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YAEnC,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAElE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE;gBAC7B,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAExE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAC9D,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE;gBAC7B,IAAI,EAAE,EAAE,GAAG,EAAE;gBACb,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YAClC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE9D,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAExE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAC9D,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE;gBAC7B,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;gBACxB,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE9D,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAExE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAC9D,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE;gBAC7B,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC/B,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAEzE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAE/C,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YAE7D,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB;gBACpD,MAAM;gBACN,OAAO;gBACP,OAAO;gBACP,MAAM;aACP,CAAC,CAAC;YAEH,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBAC1C,MAAM;gBACN,OAAO;gBACP,OAAO;gBACP,MAAM;aACP,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CACvC,OAAO,CAAC,OAAO,CAAC;gBACd,OAAO,EAAE,MAAM;aAChB,CAAC,CACH,CAAC;YACF,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CACxC,OAAO,CAAC,OAAO,CAAC;gBACd,OAAO,EAAE,OAAO;aACjB,CAAC,CACH,CAAC;YAEF,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;YAEnD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB;gBACpD,iBAAiB;aAClB,CAAC,CAAC;YAEH,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE;gBAC7B,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE;gBAClC;oBACE;wBACE,KAAK,EAAE,OAAO;qBACf;iBACF;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAE/C,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;YACnE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;YACpE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;YAEpE,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB;gBACpD,cAAc;gBACd,cAAc;gBACd,YAAY;aACb,CAAC,CAAC;YAEH,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACxE,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAErD,IAAI;gBACF,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;aACzC;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;gBAChE,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aACnD;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YACtD,IAAI;gBACF,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;aACzC;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;gBACjE,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aACnD;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YAC5D,IAAI;gBACF,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;aACzC;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;gBACjE,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aACnD;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,IAAI;gBACF,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;aACzC;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;gBACjE,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aACnD;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAE5D,IAAI;gBACF,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;aACzC;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;gBACjE,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;aACpE;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAElE,SAAS,eAAe,CAAC,EACvB,WAAW,GAGZ;gBACC,OAAO,OAAO,CAAC,OAAO,CAAC;oBACrB,OAAO,EAAE;wBACP,iBAAiB,EAAE,WAAW,CAAC,OAAO;qBACvC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,KAAK,UAAU,UAAU,CAAC,EAAE,GAAG,EAAmC;gBAChE,IAAI,OAAO,CAAC;gBACZ,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC9D,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;wBACxB,OAAO;wBACP,MAAM;wBACN,GAAG;qBACJ,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,OAAO;oBACL,OAAO;oBACP,iBAAiB;iBAClB,CAAC;YACJ,CAAC;YAED,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB;gBACvD,MAAM;gBACN,MAAM;gBACN,IAAI;gBACJ,SAAS;aACV,CAAC,CAAC;YAEH,IAAI;gBACF,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gBACnC,MAAM,OAAO,CAAC,iBAAiB,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;aACzC;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,CAAC,SAAS,CAAE,GAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;aACxD;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,qBAAqB,GAAG,WAAW,CACvC;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,EAAE;gBACV,SAAS,EAAE,IAAI;aAChB,EACD,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,WAAW,CACtB;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,EAAE;iBACX,EACD,KAAK,IAAI,EAAE,CAAC,YAAY,GAAG,WAAW,CACvC;aACF,CAAC,CACH,CAAC;YACF,MAAM,eAAe,GAAG,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;YAE1E,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;YAClC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC5B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YAEnC,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAExE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAC9D,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE;gBAC7B,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,iBAAiB,EAAE;gBACvC,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,CAAC,CAAC,QAAQ,CACR,WAAW,CACT;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,IAAI;aAChB,EACD,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,YAAY,WAAW,EAAE;gBAC/B,WAAW,EAAE,WAAW,CACtB;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,WAAW;oBACjB,MAAM,EACJ,OAAO,KAAK,WAAW;wBACrB,CAAC,CAAC,CAAC,OAAO,CAAC;wBACX,CAAC,CAAC,OAAO,KAAK,WAAW;4BACzB,CAAC,CAAC,CAAC,OAAO,CAAC;4BACX,CAAC,CAAC,EAAE;iBACT,EACD,YAAY,CACb;aACF,CAAC,CACH,CACF,CAAC;YACF,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAEzE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CACR,WAAW,CACT;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;gBACzB,SAAS,EAAE,IAAI;aAChB,EACD,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;gBAChC,IAAI,KAAK,KAAK,WAAW,EAAE;oBACzB,MAAM,IAAI,MAAM,CAAC,wBAAwB,CAAC,CAAC;iBAC5C;gBAED,OAAO;oBACL,IAAI,EAAE,gBAAgB;oBACtB,WAAW,EAAE,WAAW,CACtB;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE,CAAC,OAAO,CAAC;qBAClB,EACD,KAAK,IAAI,EAAE,CAAC,WAAW,GAAG,WAAW,CACtC;iBACF,CAAC;YACJ,CAAC,CACF,CACF,CAAC;YAEF,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAExE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,CAAC,CAAC,QAAQ,CACR,WAAW,CACT;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,IAAI;aAChB,EACD,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,YAAY,WAAW,EAAE;gBAC/B,WAAW,EAAE,WAAW,CACtB;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;iBACxB,EACD,YAAY,CACb;aACF,CAAC,CACH,CACF,CAAC;YACF,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAE/C,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YAEzE,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB;gBACpD,MAAM;gBACN,OAAO;gBACP,OAAO;aACR,CAAC,CAAC;YAEH,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,IAAI;gBACF,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3C,MAAM,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC;aAC1C;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,CAAC,KAAK,CAAE,GAAc,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;aAC9D;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,CAAC,CAAC,QAAQ,CACR,WAAW,CACT;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,EAAE;gBACV,SAAS,EAAE,IAAI;aAChB,EACD,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;gBAChC,MAAM,IAAI,MAAM,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;YACrD,CAAC,CACF,CACF,CAAC;YAEF,IAAI;gBACF,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3C,MAAM,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC;aAC1C;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,CAAC,KAAK,CAAE,GAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;gBACxD,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;aACpD;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,CAAC,CAAC,QAAQ,CACR,WAAW,CACT;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,EAAE;gBACV,SAAS,EAAE,IAAI;aAChB,EACD,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,oBAAoB,CAC7C,CACF,CAAC;YAEF,IAAI;gBACF,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3C,MAAM,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC;aAC1C;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,CAAC,KAAK,CAAE,GAAc,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC;gBACnE,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;aAC/D;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,CAAC,CAAC,QAAQ,CACR,WAAW,CACT;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,EAAE;gBACV,SAAS,EAAE,IAAI;aAChB,EACD,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,WAAW,CACtB;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,MAAM,GAAG,WAAW;oBAC1B,MAAM,EAAE,EAAE;iBACX,EACD,KAAK,IAAI,EAAE,CAAC,WAAW,GAAG,WAAW,CACtC;aACF,CAAC,CACH,CACF,CAAC;YAEF,IAAI;gBACF,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3C,MAAM,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC;aAC1C;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,CAAC,KAAK,CAAE,GAAc,CAAC,IAAI,EAAE,mCAAmC,CAAC,CAAC;gBACxE,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;aAChE;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,CAAC,CAAC,QAAQ,CACR,WAAW,CACT;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,CAAC,KAAK,CAAC;gBACf,SAAS,EAAE,IAAI;aAChB,EACD,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,WAAW,CACtB;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,EAAE;iBACX,EACD,KAAK,IAAI,EAAE,CAAC,YAAY,GAAG,WAAW,CACvC;aACF,CAAC,CACH,CACF,CAAC;YAEF,IAAI;gBACF,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3C,MAAM,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC;aAC1C;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,CAAC,KAAK,CAAE,GAAc,CAAC,IAAI,EAAE,iCAAiC,CAAC,CAAC;gBACtE,MAAM,CAAC,SAAS,CAAE,GAAc,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aACnD;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;YACpG,CAAC,CAAC,QAAQ,CACR,WAAW,CACT;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,CAAC,MAAM,CAAC;gBAChB,SAAS,EAAE,IAAI;aAChB,EACD,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,YAAY,WAAW,EAAE;gBAC/B,WAAW,EAAE,WAAW,CACtB;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,EAAE;iBACX,EACD,KAAK,IAAI,EAAE,CAAC,OAAO,WAAW,CAAC,WAAW,EAAE,GAAG,GAAG,WAAW,CAC9D;aACF,CAAC,CACH,CACF,CAAC;YAEF,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;YAEhE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,IAAI,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;YAChH,CAAC,CAAC,QAAQ,CACR,WAAW,CACT;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,QAAQ,CAAC;aAC9C,EACD,KAAK,IAAI,EAAE;gBACT,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;YACzB,CAAC,CACF,CACF,CAAC;YACF,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,QAAQ,CACR,WAAW,CACT;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;gBACxB,SAAS,EAAE,IAAI;aAChB,EACD,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,YAAY,WAAW,EAAE;gBAC/B,WAAW,EAAE,WAAW,CACtB;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,EAAE;iBACX,EACD,KAAK,IAAI,EAAE,CAAC,OAAO,WAAW,CAAC,WAAW,EAAE,GAAG,GAAG,WAAW,CAC9D;aACF,CAAC,CACH,CACF,CAAC;YAEF,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAEvE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB;gBACpD,MAAM;gBACN,MAAM;gBACN,WAAW;aACZ,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBAC1C,MAAM;gBACN,MAAM;gBACN,WAAW;aACZ,CAAC,CAAC;YACH,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAE5D,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB;gBACpD,MAAM;gBACN,MAAM;gBACN,WAAW;aACZ,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBAC1C,MAAM;gBACN,MAAM;gBACN,WAAW;aACZ,CAAC,CAAC;YAEH,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAC1E,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YACpE,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE;gBACnC,IAAI,EAAE,EAAE,GAAG,EAAE;gBACb,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB;gBACpD,MAAM;gBACN,MAAM;gBACN,WAAW;aACZ,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBAC1C,MAAM;gBACN,MAAM;gBACN,WAAW;aACZ,CAAC,CAAC;YAEH,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC;gBACtD,YAAY;gBACZ,YAAY;aACb,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YACtE,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE;gBACnC,KAAK,EAAE,EAAE,GAAG,EAAE;gBACd,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB;gBACpD,MAAM;gBACN,WAAW;aACZ,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;YAEnE,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAC1E,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YACpE,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE;gBACnC,IAAI,EAAE,EAAE,GAAG,EAAE;gBACb,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpD,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACvD,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,CAAC,CAAC;aACrC,CAAC,CAAC;YAEH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAEhC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;YAExE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAE3D,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,GAC3D,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC,CAAC,GAAG,CAAsB,CAAC,OAAO,CAAC,CAAC;gBACrC,CAAC,CAAC,GAAG,CAAsB,CAAC,OAAO,CAAC,CAAC;aACtC,CAAC,CAAC;YACL,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAE/B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;YAExE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;YAErE,MAAM,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAErD,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACvC,CAAC,CAAC,GAAG,CAAsB,CAAC,WAAW,CAAC,CAAC;gBACzC,CAAC,CAAC,GAAG,CAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC5D,CAAC,CAAC,GAAG,CAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;aACrD,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAEhE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAErD,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC5C,CAAC,CAAC,GAAG,CAAsB,CAAC,WAAW,CAAC,CAAC;gBACzC,CAAC,CAAC,GAAG,CAAsB;oBACzB,WAAW;oBACX,KAAK;oBACL,MAAM;oBACN,OAAO;oBACP,MAAM;iBACP,CAAC;gBACF,CAAC,CAAC,GAAG,CAAsB,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;aAClE,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,GAAG,CACf,mBAAmB,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CACvC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,CACjC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAErD,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACvD,CAAC,CAAC,GAAG,CAAsB,CAAC,WAAW,CAAC,CAAC;gBACzC,CAAC,CAAC,GAAG,CAAsB;oBACzB,UAAU;oBACV,KAAK;oBACL,MAAM;oBACN,OAAO;oBACP,MAAM;iBACP,CAAC;gBACF,CAAC,CAAC,GAAG,CAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;aACrD,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,aAAa,CAAC,QAAQ,EAAE;gBACxB,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE;aAClC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAErD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;YAErE,MAAM,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAEhE,MAAM,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAEvC,IAAI;gBACF,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC3D,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAAC;aACzC;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,CAAC,KAAK,CAAE,GAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;aAC5D;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,UAAU,CAAC,CAAC,CAAC;YACpE,MAAM,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAEvD,OAAO,YAAY,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YAEnC,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB;gBACpD,MAAM;gBACN,KAAK;gBACL,UAAU;aACX,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;YAEzE,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB;gBACpD,MAAM;gBACN,MAAM;gBACN,UAAU;aACX,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;YAE1E,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,IAAI,mBAAmB,CAAC;YACxB,IAAI,eAAe,CAAC;YACpB,MAAM,mBAAmB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAClD,mBAAmB,GAAG,OAAO,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;gBAClC,mBAAmB,EAAE,CAAC;gBACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC7B,eAAe,GAAG,OAAO,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,QAAQ,CACR,QAAQ,CACN,GAAG,EAAE,CACH,OAAO,CAAC,OAAO,CAAC;gBACd,OAAO,EAAE;oBACP,YAAY;oBACZ,eAAe;iBAChB;gBACD,OAAO,EAAE,YAAY;aACtB,CAAC,EACJ,iBAAiB,EACjB,CAAC,OAAO,CAAC,CACV,CACF,CAAC;YAEF,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB;gBACpD,OAAO;gBACP,MAAM;gBACN,UAAU;gBACV,iBAAiB;aAClB,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBAC1C,OAAO;gBACP,MAAM;gBACN,UAAU;gBACV,iBAAiB;aAClB,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjD,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1C,eAAe,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;YAEH,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,YAAY,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,IAAI,mBAAmB,CAAC;YACxB,IAAI,eAAe,CAAC;YACpB,MAAM,mBAAmB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAClD,mBAAmB,GAAG,OAAO,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;gBAClC,mBAAmB,EAAE,CAAC;gBACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC7B,eAAe,GAAG,OAAO,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,QAAQ,CACR,QAAQ,CACN,GAAG,EAAE,CACH,OAAO,CAAC,OAAO,CAAC;gBACd,OAAO,EAAE;oBACP,YAAY;oBACZ,eAAe;iBAChB;gBACD,OAAO,EAAE,YAAY;aACtB,CAAC,EACJ,iBAAiB,EACjB,CAAC,MAAM,CAAC,CACT,CACF,CAAC;YACF,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAEjE,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB;gBACpD,OAAO;gBACP,OAAO;gBACP,UAAU;gBACV,iBAAiB;aAClB,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBAC1C,OAAO;gBACP,OAAO;gBACP,UAAU;gBACV,iBAAiB;aAClB,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjD,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1C,eAAe,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;YAEH,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,YAAY,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,qBAAqB,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAEjE,CAAC,CAAC,QAAQ,CACR,QAAQ,CACN,GAAG,EAAE,CACH,OAAO,CAAC,OAAO,CAAC;gBACd,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;aAClD,CAAC,EACJ,MAAM,CACP,CACF,CAAC;YACF,CAAC,CAAC,QAAQ,CACR,QAAQ,CACN,GAAG,EAAE,CACH,OAAO,CAAC,OAAO,CAAC;gBACd,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;aACnD,CAAC,EACJ,OAAO,EACP,CAAC,MAAM,CAAC,CACT,CACF,CAAC;YACF,CAAC,CAAC,QAAQ,CACR,QAAQ,CACN,GAAG,EAAE,CACH,OAAO,CAAC,OAAO,CAAC;gBACd,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;aACnD,CAAC,EACJ,OAAO,EACP,CAAC,OAAO,EAAE,MAAM,CAAC,CAClB,CACF,CAAC;YAEF,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB;gBACpD,OAAO;gBACP,UAAU;aACX,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;YACnE,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;YAE9B,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE;gBAC3C,CAAC,OAAO,CAAC;gBACT,CAAC,OAAO,CAAC;gBACT,CAAC,MAAM,CAAC;aACT,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAE1D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YACpE,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB;gBACpD,MAAM;gBACN,MAAM;gBACN,UAAU;aACX,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEtC,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;YAE9B,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB;gBACvD,MAAM;gBACN,MAAM;aACP,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAE1D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB;gBAC1D,MAAM;gBACN,MAAM;gBACN,UAAU;aACX,CAAC,CAAC;YAEH,MAAM,QAAQ,EAAE,CAAC;YAEjB,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,CAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YACxE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,KAAK,CACV,CAAC,CAAC,cAAc,EAAE,EAClB,YAAY;gBACV,gBAAgB;gBAChB,kBAAkB;gBAClB,mBAAmB;gBACnB,mBAAmB;gBACnB,mBAAmB;gBACnB,iBAAiB,CACpB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,KAAK,CACV,CAAC,CAAC,cAAc,CAAC;gBACf,MAAM,EAAE;oBACN;wBACE,OAAO,EAAE,gBAAgB;wBACzB,QAAQ,EAAE,UAAU;qBACrB;oBACD;wBACE,OAAO,EAAE,WAAW;wBACpB,QAAQ,EAAE,QAAQ;qBACnB;oBACD;wBACE,OAAO,EAAE,MAAM;wBACf,QAAQ,EAAE,QAAQ;qBACnB;iBACF;aACF,CAAC,EACF,YAAY;gBACV,2BAA2B;gBAC3B,6BAA6B;gBAC7B,6BAA6B;gBAC7B,6BAA6B;gBAC7B,6BAA6B;gBAC7B,2BAA2B,CAC9B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,KAAK,CACV,CAAC,CAAC,cAAc,CAAC;gBACf,OAAO,EAAE;oBACP,MAAM,EAAE,yCAAyC;iBAClD;gBACD,MAAM,EAAE;oBACN;wBACE,OAAO,EAAE,gBAAgB;wBACzB,SAAS,EAAE,QAAQ;qBACpB;oBACD;wBACE,OAAO,EAAE,gBAAgB;wBACzB,SAAS,EAAE,YAAY;qBACxB;iBACF;gBACD,MAAM,EAAE;oBACN;wBACE,OAAO,EAAE,gBAAgB;wBACzB,QAAQ,EAAE,UAAU;qBACrB;oBACD;wBACE,OAAO,EAAE,WAAW;wBACpB,QAAQ,EAAE,QAAQ;qBACnB;oBACD;wBACE,OAAO,EAAE,MAAM;wBACf,QAAQ,EAAE,QAAQ;qBACnB;iBACF;aACF,CAAC,EACF,YAAY;gBACV,2BAA2B;gBAC3B,6BAA6B;gBAC7B,6BAA6B;gBAC7B,6BAA6B;gBAC7B,6BAA6B;gBAC7B,6BAA6B;gBAC7B,6DAA6D;gBAC7D,yBAAyB;gBACzB,yBAAyB;gBACzB,yBAAyB;gBACzB,yBAAyB;gBACzB,uBAAuB,CAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} | ||
| {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"} |
@@ -0,5 +1,6 @@ | ||
| import { describe, test } from '@jest/globals'; | ||
| import assert from 'assert'; | ||
| import { buildInitializationSequence } from './sequence.js'; | ||
| describe('buildInitializationSequence()', () => { | ||
| it('should work with one level trees', () => { | ||
| test('should work with one level trees', () => { | ||
| const tree = { | ||
@@ -10,3 +11,3 @@ __name: 'lol', | ||
| }); | ||
| it('should work with multi-level trees', () => { | ||
| test('should work with multi-level trees', () => { | ||
| const tree = { | ||
@@ -64,3 +65,3 @@ __name: 'lol', | ||
| }); | ||
| it('should work with multi-level trees and cross dependencies', () => { | ||
| test('should work with multi-level trees and cross dependencies', () => { | ||
| const tree = { | ||
@@ -67,0 +68,0 @@ __name: 'lol', |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"sequence.test.js","sourceRoot":"","sources":["../src/sequence.test.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"sequence.test.js","sourceRoot":"","sources":["../src/sequence.test.ts"],"names":[],"mappings":"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"} |
+54
-54
@@ -100,4 +100,4 @@ export declare const DECLARATION_SEPARATOR = ">"; | ||
| */ | ||
| export declare function reuseSpecialProps<FD, TD, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ProviderInitializerBuilder<TD, S>, amend?: Partial<ProviderProperties>): ProviderInitializerBuilder<FD & TD, S>; | ||
| export declare function reuseSpecialProps<FD, TD, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ServiceInitializerBuilder<TD, S>, amend?: Partial<ServiceProperties>): ServiceInitializerBuilder<FD & TD, S>; | ||
| export declare function reuseSpecialProps<FD extends Dependencies<any>, TD extends Dependencies<any>, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ProviderInitializerBuilder<TD, S>, amend?: Partial<ProviderProperties>): ProviderInitializerBuilder<FD & TD, S>; | ||
| export declare function reuseSpecialProps<FD extends Dependencies<any>, TD extends Dependencies<any>, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ServiceInitializerBuilder<TD, S>, amend?: Partial<ServiceProperties>): ServiceInitializerBuilder<FD & TD, S>; | ||
| /** | ||
@@ -157,3 +157,3 @@ * Decorator that creates an initializer for a constant value | ||
| */ | ||
| export declare function service<D, S>(serviceBuilder: ServiceInitializerBuilder<D, S>, name?: DependencyName, dependencies?: DependencyDeclaration[], singleton?: boolean, extra?: ExtraInformations): ServiceInitializer<D, S>; | ||
| export declare function service<D extends Dependencies<any>, S>(serviceBuilder: ServiceInitializerBuilder<D, S>, name?: DependencyName, dependencies?: DependencyDeclaration[], singleton?: boolean, extra?: ExtraInformations): ServiceInitializer<D, S>; | ||
| /** | ||
@@ -168,3 +168,3 @@ * Decorator that creates an initializer from a service | ||
| */ | ||
| export declare function autoService<D, S>(serviceBuilder: ServiceInitializerBuilder<D, S>): ServiceInitializer<D, S>; | ||
| export declare function autoService<D extends Dependencies<any>, S>(serviceBuilder: ServiceInitializerBuilder<D, S>): ServiceInitializer<D, S>; | ||
| /** | ||
@@ -218,3 +218,3 @@ * Decorator that creates an initializer for a provider | ||
| */ | ||
| export declare function provider<D, S>(providerBuilder: ProviderInitializerBuilder<D, S>, name?: DependencyName, dependencies?: DependencyDeclaration[], singleton?: boolean, extra?: ExtraInformations): ProviderInitializer<D, S>; | ||
| export declare function provider<D extends Dependencies<any>, S>(providerBuilder: ProviderInitializerBuilder<D, S>, name?: DependencyName, dependencies?: DependencyDeclaration[], singleton?: boolean, extra?: ExtraInformations): ProviderInitializer<D, S>; | ||
| /** | ||
@@ -229,3 +229,3 @@ * Decorator that creates an initializer from a provider | ||
| */ | ||
| export declare function autoProvider<D, S>(providerBuilder: ProviderInitializerBuilder<D, S>): ProviderInitializer<D, S>; | ||
| export declare function autoProvider<D extends Dependencies<any>, S>(providerBuilder: ProviderInitializerBuilder<D, S>): ProviderInitializer<D, S>; | ||
| /** | ||
@@ -241,4 +241,4 @@ * Allows to wrap an initializer to add extra initialization steps | ||
| */ | ||
| export declare function wrapInitializer<D, S>(wrapper: ProviderInitializerWrapper<S, D>, baseInitializer: ProviderInitializer<D, S>): ProviderInitializer<D, S>; | ||
| export declare function wrapInitializer<D, S>(wrapper: ServiceInitializerWrapper<S, D>, baseInitializer: ServiceInitializer<D, S>): ServiceInitializer<D, S>; | ||
| export declare function wrapInitializer<D extends Dependencies<any>, S>(wrapper: ProviderInitializerWrapper<S, D>, baseInitializer: ProviderInitializer<D, S>): ProviderInitializer<D, S>; | ||
| export declare function wrapInitializer<D extends Dependencies<any>, S>(wrapper: ServiceInitializerWrapper<S, D>, baseInitializer: ServiceInitializer<D, S>): ServiceInitializer<D, S>; | ||
| /** | ||
@@ -269,6 +269,6 @@ * Decorator creating a new initializer with different | ||
| */ | ||
| export declare function inject<D, S>(dependencies: DependencyDeclaration[], initializer: ProviderInitializer<any, S>): ProviderInitializer<D, S>; | ||
| export declare function inject<D, S>(dependencies: DependencyDeclaration[], initializer: ProviderInitializerBuilder<any, S>): ProviderInitializerBuilder<D, S>; | ||
| export declare function inject<D, S>(dependencies: DependencyDeclaration[], initializer: ServiceInitializer<any, S>): ServiceInitializer<D, S>; | ||
| export declare function inject<D, S>(dependencies: DependencyDeclaration[], initializer: ServiceInitializerBuilder<any, S>): ServiceInitializerBuilder<D, S>; | ||
| export declare function inject<D extends Dependencies<any>, S>(dependencies: DependencyDeclaration[], initializer: ProviderInitializer<any, S>): ProviderInitializer<D, S>; | ||
| export declare function inject<D extends Dependencies<any>, S>(dependencies: DependencyDeclaration[], initializer: ProviderInitializerBuilder<any, S>): ProviderInitializerBuilder<D, S>; | ||
| export declare function inject<D extends Dependencies<any>, S>(dependencies: DependencyDeclaration[], initializer: ServiceInitializer<any, S>): ServiceInitializer<D, S>; | ||
| export declare function inject<D extends Dependencies<any>, S>(dependencies: DependencyDeclaration[], initializer: ServiceInitializerBuilder<any, S>): ServiceInitializerBuilder<D, S>; | ||
| /** | ||
@@ -280,6 +280,6 @@ * Apply injected dependencies from the given initializer to another one | ||
| */ | ||
| export declare function useInject<FD, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ProviderInitializer<Dependencies, S>): ProviderInitializer<FD, S>; | ||
| export declare function useInject<FD, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ProviderInitializerBuilder<Dependencies, S>): ProviderInitializerBuilder<FD, S>; | ||
| export declare function useInject<FD, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ServiceInitializer<Dependencies, S>): ServiceInitializer<FD, S>; | ||
| export declare function useInject<FD, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ServiceInitializerBuilder<Dependencies, S>): ServiceInitializerBuilder<FD, S>; | ||
| export declare function useInject<FD extends Dependencies<any>, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ProviderInitializer<Dependencies, S>): ProviderInitializer<FD, S>; | ||
| export declare function useInject<FD extends Dependencies<any>, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ProviderInitializerBuilder<Dependencies, S>): ProviderInitializerBuilder<FD, S>; | ||
| export declare function useInject<FD extends Dependencies<any>, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ServiceInitializer<Dependencies, S>): ServiceInitializer<FD, S>; | ||
| export declare function useInject<FD extends Dependencies<any>, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ServiceInitializerBuilder<Dependencies, S>): ServiceInitializerBuilder<FD, S>; | ||
| /** | ||
@@ -291,6 +291,6 @@ * Merge injected dependencies of the given initializer with another one | ||
| */ | ||
| export declare function mergeInject<FD, D, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ProviderInitializer<D, S>): ProviderInitializer<FD & D, S>; | ||
| export declare function mergeInject<FD, D, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ProviderInitializerBuilder<D, S>): ProviderInitializerBuilder<FD & D, S>; | ||
| export declare function mergeInject<FD, D, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ServiceInitializer<D, S>): ServiceInitializer<FD, S>; | ||
| export declare function mergeInject<FD, D, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ServiceInitializerBuilder<D, S>): ServiceInitializerBuilder<FD, S>; | ||
| export declare function mergeInject<FD extends Dependencies<any>, D extends Dependencies<any>, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ProviderInitializer<D, S>): ProviderInitializer<FD & D, S>; | ||
| export declare function mergeInject<FD extends Dependencies<any>, D extends Dependencies<any>, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ProviderInitializerBuilder<D, S>): ProviderInitializerBuilder<FD & D, S>; | ||
| export declare function mergeInject<FD extends Dependencies<any>, D extends Dependencies<any>, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ServiceInitializer<D, S>): ServiceInitializer<FD, S>; | ||
| export declare function mergeInject<FD extends Dependencies<any>, D extends Dependencies<any>, S>(from: AsyncInitializerBuilder<FD, unknown> | PartialAsyncInitializer<FD, unknown>, to: ServiceInitializerBuilder<D, S>): ServiceInitializerBuilder<FD, S>; | ||
| /** | ||
@@ -321,6 +321,6 @@ * Decorator creating a new initializer with different | ||
| */ | ||
| export declare function autoInject<D, S>(initializer: ProviderInitializer<D, S>): ProviderInitializer<D, S>; | ||
| export declare function autoInject<D, S>(initializer: ProviderInitializerBuilder<D, S>): ProviderInitializerBuilder<D, S>; | ||
| export declare function autoInject<D, S>(initializer: ServiceInitializer<D, S>): ServiceInitializer<D, S>; | ||
| export declare function autoInject<D, S>(initializer: ServiceInitializerBuilder<D, S>): ServiceInitializerBuilder<D, S>; | ||
| export declare function autoInject<D extends Dependencies<any>, S>(initializer: ProviderInitializer<D, S>): ProviderInitializer<D, S>; | ||
| export declare function autoInject<D extends Dependencies<any>, S>(initializer: ProviderInitializerBuilder<D, S>): ProviderInitializerBuilder<D, S>; | ||
| export declare function autoInject<D extends Dependencies<any>, S>(initializer: ServiceInitializer<D, S>): ServiceInitializer<D, S>; | ||
| export declare function autoInject<D extends Dependencies<any>, S>(initializer: ServiceInitializerBuilder<D, S>): ServiceInitializerBuilder<D, S>; | ||
| /** | ||
@@ -346,6 +346,6 @@ * Decorator creating a new initializer with some | ||
| */ | ||
| export declare function alsoInject<ND, D, S>(dependencies: DependencyDeclaration[], to: ProviderInitializer<D, S>): ProviderInitializer<ND & D, S>; | ||
| export declare function alsoInject<ND, D, S>(dependencies: DependencyDeclaration[], to: ProviderInitializerBuilder<D, S>): ProviderInitializerBuilder<ND & D, S>; | ||
| export declare function alsoInject<ND, D, S>(dependencies: DependencyDeclaration[], to: ServiceInitializer<D, S>): ServiceInitializer<ND & D, S>; | ||
| export declare function alsoInject<ND, D, S>(dependencies: DependencyDeclaration[], to: ServiceInitializerBuilder<D, S>): ServiceInitializerBuilder<ND & D, S>; | ||
| export declare function alsoInject<ND extends Dependencies<any>, D extends Dependencies<any>, S>(dependencies: DependencyDeclaration[], to: ProviderInitializer<D, S>): ProviderInitializer<ND & D, S>; | ||
| export declare function alsoInject<ND extends Dependencies<any>, D extends Dependencies<any>, S>(dependencies: DependencyDeclaration[], to: ProviderInitializerBuilder<D, S>): ProviderInitializerBuilder<ND & D, S>; | ||
| export declare function alsoInject<ND extends Dependencies<any>, D extends Dependencies<any>, S>(dependencies: DependencyDeclaration[], to: ServiceInitializer<D, S>): ServiceInitializer<ND & D, S>; | ||
| export declare function alsoInject<ND extends Dependencies<any>, D extends Dependencies<any>, S>(dependencies: DependencyDeclaration[], to: ServiceInitializerBuilder<D, S>): ServiceInitializerBuilder<ND & D, S>; | ||
| /** | ||
@@ -377,6 +377,6 @@ * Decorator creating a new initializer with some | ||
| */ | ||
| export declare function extra<D, S>(extraInformations: ExtraInformations, initializer: ProviderInitializer<D, S>, merge?: boolean): ProviderInitializer<D, S>; | ||
| export declare function extra<D, S>(extraInformations: ExtraInformations, initializer: ProviderInitializerBuilder<D, S>, merge?: boolean): ProviderInitializerBuilder<D, S>; | ||
| export declare function extra<D, S>(extraInformations: ExtraInformations, initializer: ServiceInitializer<D, S>): ServiceInitializer<D, S>; | ||
| export declare function extra<D, S>(extraInformations: ExtraInformations, initializer: ServiceInitializerBuilder<D, S>): ServiceInitializerBuilder<D, S>; | ||
| export declare function extra<D extends Dependencies<any>, S>(extraInformations: ExtraInformations, initializer: ProviderInitializer<D, S>, merge?: boolean): ProviderInitializer<D, S>; | ||
| export declare function extra<D extends Dependencies<any>, S>(extraInformations: ExtraInformations, initializer: ProviderInitializerBuilder<D, S>, merge?: boolean): ProviderInitializerBuilder<D, S>; | ||
| export declare function extra<D extends Dependencies<any>, S>(extraInformations: ExtraInformations, initializer: ServiceInitializer<D, S>): ServiceInitializer<D, S>; | ||
| export declare function extra<D extends Dependencies<any>, S>(extraInformations: ExtraInformations, initializer: ServiceInitializerBuilder<D, S>): ServiceInitializerBuilder<D, S>; | ||
| /** | ||
@@ -404,6 +404,6 @@ * Decorator to set an initializer singleton option. | ||
| */ | ||
| export declare function singleton<D, S>(initializer: ProviderInitializer<D, S>, isSingleton?: boolean): ProviderInitializer<D, S>; | ||
| export declare function singleton<D, S>(initializer: ProviderInitializerBuilder<D, S>, isSingleton?: boolean): ProviderInitializerBuilder<D, S>; | ||
| export declare function singleton<D, S>(initializer: ServiceInitializer<D, S>, isSingleton?: boolean): ServiceInitializer<D, S>; | ||
| export declare function singleton<D, S>(initializer: ServiceInitializerBuilder<D, S>, isSingleton?: boolean): ServiceInitializerBuilder<D, S>; | ||
| export declare function singleton<D extends Dependencies<any>, S>(initializer: ProviderInitializer<D, S>, isSingleton?: boolean): ProviderInitializer<D, S>; | ||
| export declare function singleton<D extends Dependencies<any>, S>(initializer: ProviderInitializerBuilder<D, S>, isSingleton?: boolean): ProviderInitializerBuilder<D, S>; | ||
| export declare function singleton<D extends Dependencies<any>, S>(initializer: ServiceInitializer<D, S>, isSingleton?: boolean): ServiceInitializer<D, S>; | ||
| export declare function singleton<D extends Dependencies<any>, S>(initializer: ServiceInitializerBuilder<D, S>, isSingleton?: boolean): ServiceInitializerBuilder<D, S>; | ||
| /** | ||
@@ -425,6 +425,6 @@ * Decorator to set an initializer name. | ||
| */ | ||
| export declare function name<D, S>(name: DependencyName, initializer: ProviderInitializer<D, S>): ProviderInitializer<D, S>; | ||
| export declare function name<D, S>(name: DependencyName, initializer: ProviderInitializerBuilder<D, S>): ProviderInitializerBuilder<D, S>; | ||
| export declare function name<D, S>(name: DependencyName, initializer: ServiceInitializer<D, S>): ServiceInitializer<D, S>; | ||
| export declare function name<D, S>(name: DependencyName, initializer: ServiceInitializerBuilder<D, S>): ServiceInitializerBuilder<D, S>; | ||
| export declare function name<D extends Dependencies<any>, S>(name: DependencyName, initializer: ProviderInitializer<D, S>): ProviderInitializer<D, S>; | ||
| export declare function name<D extends Dependencies<any>, S>(name: DependencyName, initializer: ProviderInitializerBuilder<D, S>): ProviderInitializerBuilder<D, S>; | ||
| export declare function name<D extends Dependencies<any>, S>(name: DependencyName, initializer: ServiceInitializer<D, S>): ServiceInitializer<D, S>; | ||
| export declare function name<D extends Dependencies<any>, S>(name: DependencyName, initializer: ServiceInitializerBuilder<D, S>): ServiceInitializerBuilder<D, S>; | ||
| /** | ||
@@ -443,6 +443,6 @@ * Decorator to set an initializer name from its function name. | ||
| */ | ||
| export declare function autoName<D, S>(initializer: ProviderInitializer<D, S>): ProviderInitializer<D, S>; | ||
| export declare function autoName<D, S>(initializer: ProviderInitializerBuilder<D, S>): ProviderInitializerBuilder<D, S>; | ||
| export declare function autoName<D, S>(initializer: ServiceInitializer<D, S>): ServiceInitializer<D, S>; | ||
| export declare function autoName<D, S>(initializer: ServiceInitializerBuilder<D, S>): ServiceInitializerBuilder<D, S>; | ||
| export declare function autoName<D extends Dependencies<any>, S>(initializer: ProviderInitializer<D, S>): ProviderInitializer<D, S>; | ||
| export declare function autoName<D extends Dependencies<any>, S>(initializer: ProviderInitializerBuilder<D, S>): ProviderInitializerBuilder<D, S>; | ||
| export declare function autoName<D extends Dependencies<any>, S>(initializer: ServiceInitializer<D, S>): ServiceInitializer<D, S>; | ||
| export declare function autoName<D extends Dependencies<any>, S>(initializer: ServiceInitializerBuilder<D, S>): ServiceInitializerBuilder<D, S>; | ||
| /** | ||
@@ -470,6 +470,6 @@ * Decorator to set an initializer type. | ||
| */ | ||
| export declare function type<D, S>(type: 'provider', initializer: ProviderInitializer<D, S>): ProviderInitializer<D, S>; | ||
| export declare function type<D, S>(type: 'provider', initializer: ProviderInitializerBuilder<D, S>): ProviderInitializerBuilder<D, S>; | ||
| export declare function type<D, S>(type: 'service', initializer: ServiceInitializer<D, S>): ServiceInitializer<D, S>; | ||
| export declare function type<D, S>(type: 'service', initializer: ServiceInitializerBuilder<D, S>): ServiceInitializerBuilder<D, S>; | ||
| export declare function type<D extends Dependencies<any>, S>(type: 'provider', initializer: ProviderInitializer<D, S>): ProviderInitializer<D, S>; | ||
| export declare function type<D extends Dependencies<any>, S>(type: 'provider', initializer: ProviderInitializerBuilder<D, S>): ProviderInitializerBuilder<D, S>; | ||
| export declare function type<D extends Dependencies<any>, S>(type: 'service', initializer: ServiceInitializer<D, S>): ServiceInitializer<D, S>; | ||
| export declare function type<D extends Dependencies<any>, S>(type: 'service', initializer: ServiceInitializerBuilder<D, S>): ServiceInitializerBuilder<D, S>; | ||
| /** | ||
@@ -496,4 +496,4 @@ * Decorator to set an initializer properties. | ||
| */ | ||
| export declare function initializer<D, S>(properties: ProviderInputProperties, initializer: ProviderInitializerBuilder<D, S>): ProviderInitializer<D, S>; | ||
| export declare function initializer<D, S>(properties: ServiceInputProperties, initializer: ServiceInitializerBuilder<D, S>): ServiceInitializer<D, S>; | ||
| export declare function initializer<D extends Dependencies<any>, S>(properties: ProviderInputProperties, initializer: ProviderInitializerBuilder<D, S>): ProviderInitializer<D, S>; | ||
| export declare function initializer<D extends Dependencies<any>, S>(properties: ServiceInputProperties, initializer: ServiceInitializerBuilder<D, S>): ServiceInitializer<D, S>; | ||
| /** | ||
@@ -585,5 +585,5 @@ * Shortcut to create an initializer with a simple handler | ||
| */ | ||
| export declare function unwrapInitializerProperties<S, D>(initializer: ProviderInitializer<D, S>): ProviderProperties; | ||
| export declare function unwrapInitializerProperties<S, D>(initializer: ServiceInitializer<D, S>): ServiceProperties; | ||
| export declare function unwrapInitializerProperties<S, D>(initializer: ConstantInitializer<S>): ConstantProperties; | ||
| export declare function unwrapInitializerProperties<S, D>(initializer: Initializer<S, D>): InitializerProperties; | ||
| export declare function unwrapInitializerProperties<S, D extends Dependencies<any>>(initializer: ProviderInitializer<D, S>): ProviderProperties; | ||
| export declare function unwrapInitializerProperties<S, D extends Dependencies<any>>(initializer: ServiceInitializer<D, S>): ServiceProperties; | ||
| export declare function unwrapInitializerProperties<S, D extends Dependencies<any>>(initializer: ConstantInitializer<S>): ConstantProperties; | ||
| export declare function unwrapInitializerProperties<S, D extends Dependencies<any>>(initializer: Initializer<S, D>): InitializerProperties; |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"} |
+62
-61
@@ -0,1 +1,2 @@ | ||
| import { describe, test } from '@jest/globals'; | ||
| import assert from 'assert'; | ||
@@ -13,3 +14,3 @@ import sinon from 'sinon'; | ||
| describe('reuseSpecialProps', () => { | ||
| it('should work', () => { | ||
| test('should work', () => { | ||
| // We can safely ignore coverage here since the | ||
@@ -53,3 +54,3 @@ // function are here just as placeholders | ||
| describe('wrapInitializer', () => { | ||
| it('should work with a service initializer', async () => { | ||
| test('should work with a service initializer', async () => { | ||
| async function baseServiceInitializer() { | ||
@@ -70,3 +71,3 @@ return () => 'test'; | ||
| }); | ||
| it('should work with a provider initialzer', async () => { | ||
| test('should work with a provider initialzer', async () => { | ||
| async function baseInitializer() { | ||
@@ -90,3 +91,3 @@ return { service: () => 'test' }; | ||
| describe('inject', () => { | ||
| it('should allow to decorate an initializer with dependencies', () => { | ||
| test('should allow to decorate an initializer with dependencies', () => { | ||
| const dependencies = ['ENV']; | ||
@@ -98,3 +99,3 @@ const newInitializer = inject(dependencies, provider(aProviderInitializer, 'aProvider')); | ||
| }); | ||
| it('should allow to decorate an initializer builder with dependencies', () => { | ||
| test('should allow to decorate an initializer builder with dependencies', () => { | ||
| const dependencies = ['ENV']; | ||
@@ -106,3 +107,3 @@ const newInitializer = inject(dependencies, aProviderInitializer); | ||
| }); | ||
| it('should allow to decorate an initializer with dependencies', () => { | ||
| test('should allow to decorate an initializer with dependencies', () => { | ||
| const dependencies = ['ENV']; | ||
@@ -114,3 +115,3 @@ const newInitializer = inject(dependencies, service(aServiceInitializer, 'aService')); | ||
| }); | ||
| it('should allow to decorate an initializer builder with dependencies', () => { | ||
| test('should allow to decorate an initializer builder with dependencies', () => { | ||
| const dependencies = ['ENV']; | ||
@@ -122,3 +123,3 @@ const newInitializer = inject(dependencies, aServiceInitializer); | ||
| }); | ||
| it('should allow to decorate an initializer with mapped dependencies', () => { | ||
| test('should allow to decorate an initializer with mapped dependencies', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -130,3 +131,3 @@ const newInitializer = inject(dependencies, aProviderInitializer); | ||
| }); | ||
| it('should fail with a constant', () => { | ||
| test('should fail with a constant', () => { | ||
| assert.throws(() => { | ||
@@ -138,3 +139,3 @@ inject(['test'], constant('test', 'test')); | ||
| describe('useInject', () => { | ||
| it('should set the right dependencies', () => { | ||
| test('should set the right dependencies', () => { | ||
| const fromDependencies = ['ENV', 'CORS']; | ||
@@ -154,3 +155,3 @@ const fromInitializer = inject(fromDependencies, aProviderInitializer); | ||
| describe('mergeInject', () => { | ||
| it('should amend dependencies', () => { | ||
| test('should amend dependencies', () => { | ||
| const fromDependencies = ['ENV', 'CORS']; | ||
@@ -171,3 +172,3 @@ const fromInitializer = inject(fromDependencies, aProviderInitializer); | ||
| describe('autoInject', () => { | ||
| it('should allow to decorate an initializer with dependencies', () => { | ||
| test('should allow to decorate an initializer with dependencies', () => { | ||
| const baseProvider = async ({ ENV, mysql: db }) => async () => ({ | ||
@@ -183,3 +184,3 @@ ENV, | ||
| }); | ||
| it('should allow to decorate an initializer with a function name', () => { | ||
| test('should allow to decorate an initializer with a function name', () => { | ||
| async function baseProvider({ ENV, mysql: db }) { | ||
@@ -197,3 +198,3 @@ async () => ({ | ||
| }); | ||
| it('should allow to decorate an initializer with optional dependencies', () => { | ||
| test('should allow to decorate an initializer with optional dependencies', () => { | ||
| const noop = () => undefined; | ||
@@ -211,3 +212,3 @@ const baseProvider = async ({ ENV, log = noop, debug: aDebug = noop }) => async () => ({ | ||
| }); | ||
| it('should allow to decorate an initializer with several arguments', () => { | ||
| test('should allow to decorate an initializer with several arguments', () => { | ||
| const noop = () => undefined; | ||
@@ -225,3 +226,3 @@ const baseProvider = async ({ ENV, log = noop, debug: aDebug = noop }) => async () => ({ | ||
| }); | ||
| it('should allow to decorate an initializer with complex arguments', () => { | ||
| test('should allow to decorate an initializer with complex arguments', () => { | ||
| const noop = () => undefined; | ||
@@ -239,3 +240,3 @@ const baseProvider = async ({ ENV, log = noop, debug: aDebug = noop }) => async () => ({ | ||
| }); | ||
| it('should fail with non async initializers', () => { | ||
| test('should fail with non async initializers', () => { | ||
| assert.throws(() => { | ||
@@ -247,3 +248,3 @@ autoInject((({ foo: bar = { bar: 'foo' } }) => { | ||
| }); | ||
| it('should fail with too complex injections', () => { | ||
| test('should fail with too complex injections', () => { | ||
| assert.throws(() => { | ||
@@ -255,3 +256,3 @@ autoInject(async ({ foo: bar = { bar: 'foo' } }) => { | ||
| }); | ||
| it('should fail with no injections', () => { | ||
| test('should fail with no injections', () => { | ||
| assert.throws(() => { | ||
@@ -263,3 +264,3 @@ autoInject(async () => undefined); | ||
| describe('alsoInject', () => { | ||
| it('should allow to decorate an initializer with dependencies', () => { | ||
| test('should allow to decorate an initializer with dependencies', () => { | ||
| const newInitializer = alsoInject(['ENV'], inject(['TEST'], aProviderInitializer)); | ||
@@ -269,3 +270,3 @@ assert.notEqual(newInitializer, aProviderInitializer); | ||
| }); | ||
| it('should allow to decorate an initializer with dependencies', () => { | ||
| test('should allow to decorate an initializer with dependencies', () => { | ||
| const newInitializer = alsoInject(['ENV'], aProviderInitializer); | ||
@@ -275,3 +276,3 @@ assert.notEqual(newInitializer, aProviderInitializer); | ||
| }); | ||
| it('should dedupe dependencies', () => { | ||
| test('should dedupe dependencies', () => { | ||
| const baseProvider = inject(['?TEST'], aProviderInitializer); | ||
@@ -289,3 +290,3 @@ const newInitializer = alsoInject(['ENV', '?NODE_ENV', '?TEST', 'TEST2', 'db>mysql'], alsoInject(['ENV', 'NODE_ENV', '?TEST', '?TEST2', 'mysql'], baseProvider)); | ||
| }); | ||
| it('should preserve single optional dependencies', () => { | ||
| test('should preserve single optional dependencies', () => { | ||
| const baseProvider = inject(['ENV', '?TEST'], aProviderInitializer); | ||
@@ -301,3 +302,3 @@ const newInitializer = alsoInject(['ENV', '?TEST2'], alsoInject(['ENV', '?TEST3'], baseProvider)); | ||
| }); | ||
| it('should preserve mapped dependencies', () => { | ||
| test('should preserve mapped dependencies', () => { | ||
| const baseProvider = inject(['mysql', '?sftp'], aProviderInitializer); | ||
@@ -313,3 +314,3 @@ const newInitializer = alsoInject(['db>mysql', '?ftp>sftp'], baseProvider); | ||
| }); | ||
| it('should solve dependencies alias name clash', () => { | ||
| test('should solve dependencies alias name clash', () => { | ||
| const baseProvider = inject(['?TEST'], aProviderInitializer); | ||
@@ -326,3 +327,3 @@ const newInitializer = alsoInject(['ENV', '?NODE_ENV', '?TEST', 'db>mysql', '?log>logly'], alsoInject(['ENV', 'NODE_ENV', '?TEST', 'db>pg', '?log>logger'], baseProvider)); | ||
| }); | ||
| it('should solve dependencies alias name clash', () => { | ||
| test('should solve dependencies alias name clash', () => { | ||
| const baseProvider = inject(['?TEST'], aProviderInitializer); | ||
@@ -341,3 +342,3 @@ const newInitializer = alsoInject(['ENV', '?NODE_ENV', '?TEST', 'db>mysql', '?log>logly'], alsoInject(['ENV', 'NODE_ENV', '?TEST', 'db>pg', '?log>logger'], baseProvider)); | ||
| describe('parseInjections', () => { | ||
| it('should work with TypeScript dependencies', () => { | ||
| test('should work with TypeScript dependencies', () => { | ||
| assert.deepEqual(parseInjections(`async function initNexmo({ | ||
@@ -353,3 +354,3 @@ ENV, | ||
| }); | ||
| it('should allow to decorate an initializer with dependencies', () => { | ||
| test('should allow to decorate an initializer with dependencies', () => { | ||
| const newInitializer = alsoInject(['ENV'], aProviderInitializer); | ||
@@ -361,3 +362,3 @@ assert.notEqual(newInitializer, aProviderInitializer); | ||
| describe('singleton', () => { | ||
| it('should allow to decorate an initializer with singleton option', () => { | ||
| test('should allow to decorate an initializer with singleton option', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -370,3 +371,3 @@ const newInitializer = inject(dependencies, singleton(aProviderInitializer, true)); | ||
| }); | ||
| it('should allow to be used several times', () => { | ||
| test('should allow to be used several times', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -381,3 +382,3 @@ const newInitializer = inject(dependencies, singleton(singleton(aProviderInitializer), false)); | ||
| describe('name', () => { | ||
| it('should allow to decorate an initializer with a name', () => { | ||
| test('should allow to decorate an initializer with a name', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -393,3 +394,3 @@ const baseName = 'hash'; | ||
| describe('autoName', () => { | ||
| it('should allow to decorate an initializer with its function name', () => { | ||
| test('should allow to decorate an initializer with its function name', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -405,3 +406,3 @@ const baseName = 'hash'; | ||
| }); | ||
| it('should allow to decorate an initializer with its init like function name', () => { | ||
| test('should allow to decorate an initializer with its init like function name', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -417,3 +418,3 @@ const baseName = 'hash'; | ||
| }); | ||
| it('should allow to decorate an initializer with its initialize like function name', () => { | ||
| test('should allow to decorate an initializer with its initialize like function name', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -429,3 +430,3 @@ const baseName = 'hash'; | ||
| }); | ||
| it('should allow to decorate a bounded initializer', () => { | ||
| test('should allow to decorate a bounded initializer', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -442,3 +443,3 @@ const baseName = 'hash'; | ||
| }); | ||
| it('should fail with anonymous functions', () => { | ||
| test('should fail with anonymous functions', () => { | ||
| assert.throws(() => { | ||
@@ -450,3 +451,3 @@ autoName(async () => undefined); | ||
| describe('extra', () => { | ||
| it('should allow to decorate an initializer with extra infos', () => { | ||
| test('should allow to decorate an initializer with extra infos', () => { | ||
| const extraInformations = { httpHandler: true }; | ||
@@ -458,3 +459,3 @@ const newInitializer = extra(extraInformations, aProviderInitializer); | ||
| }); | ||
| it('should allow to decorate an initializer with extra infos', () => { | ||
| test('should allow to decorate an initializer with extra infos', () => { | ||
| const extraInformations = { httpHandler: true }; | ||
@@ -466,3 +467,3 @@ const newInitializer = extra(extraInformations, aProviderInitializer, true); | ||
| }); | ||
| it('should allow to decorate an initializer with additional extra infos', () => { | ||
| test('should allow to decorate an initializer with additional extra infos', () => { | ||
| const baseExtraInformations = { yolo: true, httpHandler: false }; | ||
@@ -481,3 +482,3 @@ const additionalExtraInformations = { httpHandler: true }; | ||
| describe('type', () => { | ||
| it('should allow to decorate an initializer with a type', () => { | ||
| test('should allow to decorate an initializer with a type', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -495,3 +496,3 @@ const baseName = 'hash'; | ||
| describe('initializer', () => { | ||
| it('should allow to decorate an initializer with every properties', () => { | ||
| test('should allow to decorate an initializer with every properties', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -513,3 +514,3 @@ const baseName = 'hash'; | ||
| }); | ||
| it('should fail with bad properties', () => { | ||
| test('should fail with bad properties', () => { | ||
| assert.throws(() => { | ||
@@ -524,3 +525,3 @@ initializer({ | ||
| describe('constant', () => { | ||
| it('should allow to create an initializer from a constant', async () => { | ||
| test('should allow to create an initializer from a constant', async () => { | ||
| const baseName = 'THE_VALUE'; | ||
@@ -533,3 +534,3 @@ const baseValue = 42; | ||
| }); | ||
| it('should fail with dependencies since it makes no sense', () => { | ||
| test('should fail with dependencies since it makes no sense', () => { | ||
| assert.throws(() => { | ||
@@ -541,3 +542,3 @@ constant('time', inject(['hash3'], async () => undefined)); | ||
| describe('service', () => { | ||
| it('should allow to create an initializer from a service builder', async () => { | ||
| test('should allow to create an initializer from a service builder', async () => { | ||
| const aServiceBuilder = async (_services) => 'A_SERVICE'; | ||
@@ -557,3 +558,3 @@ const dependencies = ['ANOTHER_ENV>ENV']; | ||
| }); | ||
| it('should allow to create an initializer from a generic service builder', async () => { | ||
| test('should allow to create an initializer from a generic service builder', async () => { | ||
| const aServiceBuilder = async (_services) => ''; | ||
@@ -573,3 +574,3 @@ const dependencies = ['ANOTHER_ENV>ENV']; | ||
| }); | ||
| it('should fail with no service builder', () => { | ||
| test('should fail with no service builder', () => { | ||
| assert.throws(() => { | ||
@@ -581,3 +582,3 @@ service(undefined); | ||
| describe('autoService', () => { | ||
| it('should detect the service details', () => { | ||
| test('should detect the service details', () => { | ||
| const baseServiceBuilder = async function initializeMySQL({ ENV }) { | ||
@@ -592,3 +593,3 @@ return ENV; | ||
| }); | ||
| it('should detect the service details even with no dependencies', () => { | ||
| test('should detect the service details even with no dependencies', () => { | ||
| const baseServiceBuilder = async function initializeMySQL() { | ||
@@ -605,3 +606,3 @@ return; | ||
| describe('provider', () => { | ||
| it('should allow to create an initializer from a provider builder', async () => { | ||
| test('should allow to create an initializer from a provider builder', async () => { | ||
| const aProviderInitializerBuilder = async () => ({ service: 'A_SERVICE' }); | ||
@@ -621,3 +622,3 @@ const dependencies = ['ANOTHER_ENV>ENV']; | ||
| }); | ||
| it('should allow to create an initializer from a provider builder', async () => { | ||
| test('should allow to create an initializer from a provider builder', async () => { | ||
| const aServiceBuilder = async (_services) => ({ | ||
@@ -639,3 +640,3 @@ service: 'A_SERVICE', | ||
| }); | ||
| it('should fail with no provider builder', () => { | ||
| test('should fail with no provider builder', () => { | ||
| assert.throws(() => { | ||
@@ -647,3 +648,3 @@ provider(undefined); | ||
| describe('autoProvider', () => { | ||
| it('should detect the provider details', () => { | ||
| test('should detect the provider details', () => { | ||
| const baseInitializer = async function initializeMySQL({ ENV, }) { | ||
@@ -658,3 +659,3 @@ return { service: ENV }; | ||
| }); | ||
| it('should detect the provider details even with no dependencies', () => { | ||
| test('should detect the provider details even with no dependencies', () => { | ||
| const baseInitializer = async function initializeMySQL() { | ||
@@ -671,3 +672,3 @@ return { service: 'A_SERVICE' }; | ||
| describe('handler', () => { | ||
| it('should work', async () => { | ||
| test('should work', async () => { | ||
| const baseName = 'sampleHandler'; | ||
@@ -692,3 +693,3 @@ const injectedServices = ['kikooo', 'lol']; | ||
| }); | ||
| it('should fail with no name', () => { | ||
| test('should fail with no name', () => { | ||
| assert.throws(() => { | ||
@@ -700,3 +701,3 @@ handler(async () => undefined); | ||
| describe('autoHandler', () => { | ||
| it('should work', async () => { | ||
| test('should work', async () => { | ||
| const services = { | ||
@@ -719,3 +720,3 @@ kikooo: 'kikooo', | ||
| }); | ||
| it('should work with spread services', async () => { | ||
| test('should work with spread services', async () => { | ||
| const services = { | ||
@@ -738,3 +739,3 @@ kikooo: 'kikooo', | ||
| }); | ||
| it('should fail for anonymous functions', () => { | ||
| test('should fail for anonymous functions', () => { | ||
| assert.throws(() => { | ||
@@ -746,3 +747,3 @@ autoHandler(async () => undefined); | ||
| describe('parseDependencyDeclaration', () => { | ||
| it('should work', () => { | ||
| test('should work', () => { | ||
| assert.deepEqual(parseDependencyDeclaration('db>pgsql'), { | ||
@@ -754,3 +755,3 @@ serviceName: 'db', | ||
| }); | ||
| it('should work with unmapped names', () => { | ||
| test('should work with unmapped names', () => { | ||
| assert.deepEqual(parseDependencyDeclaration('?pgsql'), { | ||
@@ -757,0 +758,0 @@ serviceName: 'pgsql', |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"util.test.js","sourceRoot":"","sources":["../src/util.test.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"util.test.js","sourceRoot":"","sources":["../src/util.test.ts"],"names":[],"mappings":"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"} |
+12
-14
| { | ||
| "name": "knifecycle", | ||
| "version": "14.0.0", | ||
| "version": "14.1.0", | ||
| "description": "Manage your NodeJS processes's lifecycle automatically with an unobtrusive dependency injection implementation.", | ||
@@ -80,24 +80,22 @@ "main": "dist/index.js", | ||
| "devDependencies": { | ||
| "@types/jest": "^28.1.1", | ||
| "@typescript-eslint/eslint-plugin": "^5.27.0", | ||
| "@typescript-eslint/parser": "^5.27.0", | ||
| "commitizen": "^4.2.4", | ||
| "@typescript-eslint/eslint-plugin": "^5.36.0", | ||
| "@typescript-eslint/parser": "^5.36.0", | ||
| "commitizen": "^4.2.5", | ||
| "conventional-changelog-cli": "^2.2.2", | ||
| "coveralls": "^3.1.1", | ||
| "cz-conventional-changelog": "^3.3.0", | ||
| "esbuild": "^0.14.43", | ||
| "esbuild": "^0.15.6", | ||
| "esbuild-jest": "^0.5.0", | ||
| "eslint": "^8.17.0", | ||
| "eslint": "^8.23.0", | ||
| "eslint-config-prettier": "^8.5.0", | ||
| "eslint-plugin-prettier": "^4.0.0", | ||
| "jest": "^28.1.0", | ||
| "jsarch": "^5.0.1", | ||
| "eslint-plugin-prettier": "^4.2.1", | ||
| "jest": "^29.0.1", | ||
| "jsarch": "^5.0.2", | ||
| "jsdoc-to-markdown": "^7.1.1", | ||
| "metapak": "^4.0.4", | ||
| "metapak-nfroidure": "12.0.6", | ||
| "mocha": "8.2.1", | ||
| "prettier": "^2.6.2", | ||
| "metapak-nfroidure": "^12.2.0", | ||
| "prettier": "^2.7.1", | ||
| "rimraf": "^3.0.2", | ||
| "sinon": "^14.0.0", | ||
| "typescript": "^4.7.3" | ||
| "typescript": "^4.8.2" | ||
| }, | ||
@@ -104,0 +102,0 @@ "dependencies": { |
@@ -0,1 +1,2 @@ | ||
| import { describe, test } from '@jest/globals'; | ||
| import assert from 'assert'; | ||
@@ -59,3 +60,3 @@ import { YError } from 'yerror'; | ||
| it('should build an initialization module', async () => { | ||
| test('should build an initialization module', async () => { | ||
| const $ = new Knifecycle(); | ||
@@ -62,0 +63,0 @@ |
+27
-17
@@ -7,5 +7,19 @@ import { | ||
| import { buildInitializationSequence } from './sequence.js'; | ||
| import type { DependencyDeclaration, Initializer } from './util.js'; | ||
| import type { | ||
| DependencyDeclaration, | ||
| Initializer, | ||
| Dependencies, | ||
| } from './util.js'; | ||
| import type { Autoloader } from './index.js'; | ||
| type DependencyTreeNode = { | ||
| __name: string; | ||
| __childNodes?: DependencyTreeNode[]; | ||
| __initializer: Initializer<unknown, Dependencies<unknown>>; | ||
| __inject: DependencyDeclaration[]; | ||
| __type: 'provider' | 'constant' | 'service'; | ||
| __initializerName: string; | ||
| __path: string; | ||
| }; | ||
| export type BuildInitializer = ( | ||
@@ -89,3 +103,3 @@ dependencies: DependencyDeclaration[], | ||
| const dependenciesHash = buildDependenciesHash( | ||
| dependencyTrees.filter(identity), | ||
| dependencyTrees.filter(identity) as DependencyTreeNode[], | ||
| ); | ||
@@ -184,12 +198,2 @@ const batches = buildInitializationSequence({ | ||
| type DependencyTreeNode = { | ||
| __name: string; | ||
| __childNodes?: DependencyTreeNode[]; | ||
| __initializer: Initializer<unknown, Record<string, unknown>>; | ||
| __inject: DependencyDeclaration[]; | ||
| __type: 'provider' | 'constant' | 'service'; | ||
| __initializerName: string; | ||
| __path: string; | ||
| }; | ||
| async function buildDependencyTree( | ||
@@ -245,3 +249,6 @@ { | ||
| function buildDependenciesHash(dependencyTrees, hash = {}) { | ||
| function buildDependenciesHash( | ||
| dependencyTrees: DependencyTreeNode[], | ||
| hash: Record<string, DependencyTreeNode> = {}, | ||
| ): Record<string, DependencyTreeNode> { | ||
| return dependencyTrees.reduce( | ||
@@ -253,3 +260,6 @@ (hash, tree) => buildHashFromNode(tree, hash), | ||
| function buildHashFromNode(node, hash = {}) { | ||
| function buildHashFromNode( | ||
| node: DependencyTreeNode, | ||
| hash: Record<string, DependencyTreeNode> = {}, | ||
| ): Record<string, DependencyTreeNode> { | ||
| const nodeIsALeaf = !(node.__childNodes && node.__childNodes.length); | ||
@@ -263,3 +273,3 @@ | ||
| node.__childNodes.forEach((childNode) => { | ||
| (node?.__childNodes || []).forEach((childNode) => { | ||
| hash = buildHashFromNode(childNode, hash); | ||
@@ -271,8 +281,8 @@ }); | ||
| function identity(a) { | ||
| function identity<T = unknown>(a: T): T { | ||
| return a; | ||
| } | ||
| function upperCaseFirst(str) { | ||
| function upperCaseFirst(str: string): string { | ||
| return str[0].toUpperCase() + str.slice(1); | ||
| } |
+74
-73
| /* eslint max-nested-callbacks:0 */ | ||
| import { describe, beforeEach, test } from '@jest/globals'; | ||
| import assert from 'assert'; | ||
@@ -42,11 +43,11 @@ import sinon from 'sinon'; | ||
| describe('with constants', () => { | ||
| it('should work with an object', () => { | ||
| test('should work with an object', () => { | ||
| $.register(constant('ENV', ENV)); | ||
| }); | ||
| it('should work with a function', () => { | ||
| test('should work with a function', () => { | ||
| $.register(constant('time', time)); | ||
| }); | ||
| it('should work when overriding a previously set constant', async () => { | ||
| test('should work when overriding a previously set constant', async () => { | ||
| $.register(constant('TEST', 1)); | ||
@@ -59,3 +60,3 @@ $.register(constant('TEST', 2)); | ||
| it('should fail when overriding an initialized constant', async () => { | ||
| test('should fail when overriding an initialized constant', async () => { | ||
| $.register(constant('TEST', 1)); | ||
@@ -79,7 +80,7 @@ assert.deepEqual(await $.run<Record<string, any>>(['TEST']), { | ||
| describe('with services', () => { | ||
| it('should work with a service', () => { | ||
| test('should work with a service', () => { | ||
| $.register(service(timeService, 'time')); | ||
| }); | ||
| it('should work when overriding a previously set service', async () => { | ||
| test('should work when overriding a previously set service', async () => { | ||
| $.register(service(async () => () => 1, 'test')); | ||
@@ -92,3 +93,3 @@ $.register(service(async () => () => 2, 'test')); | ||
| it('should fail when overriding an initialized service', async () => { | ||
| test('should fail when overriding an initialized service', async () => { | ||
| $.register(service(async () => () => 1, 'test')); | ||
@@ -111,7 +112,7 @@ const { test } = await $.run<{ test: () => number }>(['test']); | ||
| describe('with providers', () => { | ||
| it('should work with a provider', () => { | ||
| test('should work with a provider', () => { | ||
| $.register(service(hashProvider, 'hash')); | ||
| }); | ||
| it('should work when overriding a previously set provider', async () => { | ||
| test('should work when overriding a previously set provider', async () => { | ||
| $.register( | ||
@@ -146,3 +147,3 @@ initializer( | ||
| it('should work when overriding a previously set singleton provider', async () => { | ||
| test('should work when overriding a previously set singleton provider', async () => { | ||
| $.register( | ||
@@ -178,3 +179,3 @@ initializer( | ||
| it('should fail when overriding an initialized provider', async () => { | ||
| test('should fail when overriding an initialized provider', async () => { | ||
| $.register( | ||
@@ -220,3 +221,3 @@ initializer( | ||
| it('should fail when intitializer is no a function', () => { | ||
| test('should fail when intitializer is no a function', () => { | ||
| assert.throws( | ||
@@ -234,3 +235,3 @@ () => { | ||
| it('should fail with no service name', () => { | ||
| test('should fail with no service name', () => { | ||
| assert.throws( | ||
@@ -248,3 +249,3 @@ () => { | ||
| it('should fail with a bad service type', () => { | ||
| test('should fail with a bad service type', () => { | ||
| assert.throws( | ||
@@ -269,3 +270,3 @@ () => { | ||
| it('should fail with an undefined constant', () => { | ||
| test('should fail with an undefined constant', () => { | ||
| assert.throws( | ||
@@ -290,3 +291,3 @@ () => { | ||
| it('should fail with a non constant that has a value', () => { | ||
| test('should fail with a non constant that has a value', () => { | ||
| assert.throws( | ||
@@ -311,3 +312,3 @@ () => { | ||
| it('should fail with special autoload intitializer that is not a singleton', () => { | ||
| test('should fail with special autoload intitializer that is not a singleton', () => { | ||
| assert.throws( | ||
@@ -335,7 +336,7 @@ () => { | ||
| describe('provider', () => { | ||
| it('should register provider', () => { | ||
| test('should register provider', () => { | ||
| $.register(provider(hashProvider, 'hash')); | ||
| }); | ||
| it('should fail with direct circular dependencies', () => { | ||
| test('should fail with direct circular dependencies', () => { | ||
| assert.throws( | ||
@@ -353,3 +354,3 @@ () => { | ||
| it('should fail with direct circular dependencies on mapped services', () => { | ||
| test('should fail with direct circular dependencies on mapped services', () => { | ||
| assert.throws( | ||
@@ -367,3 +368,3 @@ () => { | ||
| it('should fail with circular dependencies', () => { | ||
| test('should fail with circular dependencies', () => { | ||
| assert.throws( | ||
@@ -384,3 +385,3 @@ () => { | ||
| it('should fail with deeper circular dependencies', () => { | ||
| test('should fail with deeper circular dependencies', () => { | ||
| assert.throws( | ||
@@ -407,3 +408,3 @@ () => { | ||
| it('should fail with circular dependencies on mapped services', () => { | ||
| test('should fail with circular dependencies on mapped services', () => { | ||
| assert.throws( | ||
@@ -430,3 +431,3 @@ () => { | ||
| describe('run', () => { | ||
| it('should work with no dependencies', async () => { | ||
| test('should work with no dependencies', async () => { | ||
| const dependencies = await $.run<Record<string, any>>([]); | ||
@@ -437,3 +438,3 @@ | ||
| it('should work with constant dependencies', async () => { | ||
| test('should work with constant dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -451,3 +452,3 @@ $.register(constant('time', time)); | ||
| it('should work with service dependencies', async () => { | ||
| test('should work with service dependencies', async () => { | ||
| const wrappedSampleService = inject<{ time: any }, string>( | ||
@@ -470,3 +471,3 @@ ['time'], | ||
| it('should work with simple dependencies', async () => { | ||
| test('should work with simple dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -485,3 +486,3 @@ $.register(constant('time', time)); | ||
| it('should work with given optional dependencies', async () => { | ||
| test('should work with given optional dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -501,3 +502,3 @@ $.register(constant('DEBUG', {})); | ||
| it('should work with lacking optional dependencies', async () => { | ||
| test('should work with lacking optional dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -516,3 +517,3 @@ $.register(constant('time', time)); | ||
| it('should work with deeper dependencies', async () => { | ||
| test('should work with deeper dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -532,3 +533,3 @@ $.register(constant('time', time)); | ||
| it('should instanciate services once', async () => { | ||
| test('should instanciate services once', async () => { | ||
| const timeServiceStub = sinon.spy(timeService); | ||
@@ -558,3 +559,3 @@ | ||
| it('should instanciate a single mapped service', async () => { | ||
| test('should instanciate a single mapped service', async () => { | ||
| const providerStub = sinon.stub().returns( | ||
@@ -590,3 +591,3 @@ Promise.resolve({ | ||
| it('should instanciate several services with mappings', async () => { | ||
| test('should instanciate several services with mappings', async () => { | ||
| const timeServiceStub = sinon.spy(timeService); | ||
@@ -610,3 +611,3 @@ | ||
| it('should fail with bad service', async () => { | ||
| test('should fail with bad service', async () => { | ||
| $.register(service((() => undefined) as any, 'lol')); | ||
@@ -623,3 +624,3 @@ | ||
| it('should fail with bad provider', async () => { | ||
| test('should fail with bad provider', async () => { | ||
| $.register(provider((() => undefined) as any, 'lol')); | ||
@@ -635,3 +636,3 @@ try { | ||
| it('should fail with bad service in a provider', async () => { | ||
| test('should fail with bad service in a provider', async () => { | ||
| $.register(provider(() => Promise.resolve() as any, 'lol')); | ||
@@ -647,3 +648,3 @@ try { | ||
| it('should fail with undeclared dependencies', async () => { | ||
| test('should fail with undeclared dependencies', async () => { | ||
| try { | ||
@@ -658,3 +659,3 @@ await $.run<Record<string, any>>(['lol']); | ||
| it('should fail with undeclared dependencies upstream', async () => { | ||
| test('should fail with undeclared dependencies upstream', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -674,3 +675,3 @@ $.register(constant('time', time)); | ||
| it('should provide a fatal error handler', async () => { | ||
| test('should provide a fatal error handler', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -728,3 +729,3 @@ $.register(constant('time', time)); | ||
| describe('autoload', () => { | ||
| it('should work with lacking autoloaded dependencies', async () => { | ||
| test('should work with lacking autoloaded dependencies', async () => { | ||
| const autoloaderInitializer = initializer( | ||
@@ -765,3 +766,3 @@ { | ||
| it('should work with deeper several lacking dependencies', async () => { | ||
| test('should work with deeper several lacking dependencies', async () => { | ||
| $.register( | ||
@@ -804,3 +805,3 @@ initializer( | ||
| it('should work with various dependencies', async () => { | ||
| test('should work with various dependencies', async () => { | ||
| $.register(provider(hashProvider, 'hash', ['hash2'])); | ||
@@ -842,3 +843,3 @@ $.register(provider(hashProvider, 'hash3', ['?ENV'])); | ||
| it('should instanciate services once', async () => { | ||
| test('should instanciate services once', async () => { | ||
| $.register( | ||
@@ -881,3 +882,3 @@ initializer( | ||
| it('should fail when autoload does not exists', async () => { | ||
| test('should fail when autoload does not exists', async () => { | ||
| try { | ||
@@ -891,3 +892,3 @@ await $.run<Record<string, any>>(['test']); | ||
| it('should fail when autoloaded dependencies are not found', async () => { | ||
| test('should fail when autoloaded dependencies are not found', async () => { | ||
| $.register( | ||
@@ -916,3 +917,3 @@ initializer( | ||
| it('should fail when autoloaded dependencies are not initializers', async () => { | ||
| test('should fail when autoloaded dependencies are not initializers', async () => { | ||
| $.register( | ||
@@ -939,3 +940,3 @@ initializer( | ||
| it('should fail when autoloaded dependencies are not right initializers', async () => { | ||
| test('should fail when autoloaded dependencies are not right initializers', async () => { | ||
| $.register( | ||
@@ -972,3 +973,3 @@ initializer( | ||
| it('should fail when autoload depends on existing autoloaded dependencies', async () => { | ||
| test('should fail when autoload depends on existing autoloaded dependencies', async () => { | ||
| $.register( | ||
@@ -1005,3 +1006,3 @@ initializer( | ||
| it('should work when autoload depends on optional and unexisting autoloaded dependencies', async () => { | ||
| test('should work when autoload depends on optional and unexisting autoloaded dependencies', async () => { | ||
| $.register( | ||
@@ -1034,3 +1035,3 @@ initializer( | ||
| it.skip('should work when autoload depends on deeper optional and unexisting autoloaded dependencies', async () => { | ||
| test.skip('should work when autoload depends on deeper optional and unexisting autoloaded dependencies', async () => { | ||
| $.register( | ||
@@ -1079,3 +1080,3 @@ initializer( | ||
| describe('$injector', () => { | ||
| it('should work with no dependencies', async () => { | ||
| test('should work with no dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1101,3 +1102,3 @@ $.register(constant('time', time)); | ||
| it('should work with same dependencies then the running silo', async () => { | ||
| test('should work with same dependencies then the running silo', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1126,3 +1127,3 @@ $.register(constant('time', time)); | ||
| it('should work with name mapping', async () => { | ||
| test('should work with name mapping', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1154,3 +1155,3 @@ $.register(constant('time', time)); | ||
| it('should work with non instanciated dependencies', async () => { | ||
| test('should work with non instanciated dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1174,3 +1175,3 @@ $.register(constant('time', time)); | ||
| it('should create dependencies when not declared as singletons', async () => { | ||
| test('should create dependencies when not declared as singletons', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1191,3 +1192,3 @@ $.register(provider(hashProvider, 'hash', ['ENV'])); | ||
| it('should reuse dependencies when declared as singletons', async () => { | ||
| test('should reuse dependencies when declared as singletons', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1214,3 +1215,3 @@ $.register(provider(hashProvider, 'hash', ['ENV'], true)); | ||
| describe('destroy', () => { | ||
| it('should work even with one silo and no dependencies', async () => { | ||
| test('should work even with one silo and no dependencies', async () => { | ||
| assert.equal(typeof $.destroy, 'function'); | ||
@@ -1222,3 +1223,3 @@ const dependencies = await $.run<Record<string, any>>(['$instance']); | ||
| it('should work with several silos and dependencies', async () => { | ||
| test('should work with several silos and dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1241,3 +1242,3 @@ $.register(constant('time', time)); | ||
| it('should work when trigered from several silos simultaneously', async () => { | ||
| test('should work when trigered from several silos simultaneously', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1268,3 +1269,3 @@ $.register(constant('time', time)); | ||
| it('should work when a silo shutdown is in progress', async () => { | ||
| test('should work when a silo shutdown is in progress', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1293,3 +1294,3 @@ $.register(constant('time', time)); | ||
| it('should disallow new runs', async () => { | ||
| test('should disallow new runs', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1316,3 +1317,3 @@ $.register(constant('time', time)); | ||
| describe('$dispose', () => { | ||
| it('should work with no dependencies', async () => { | ||
| test('should work with no dependencies', async () => { | ||
| const dependencies = await $.run<Record<string, any>>(['$dispose']); | ||
@@ -1324,3 +1325,3 @@ assert.equal(typeof dependencies.$dispose, 'function'); | ||
| it('should work with constant dependencies', async () => { | ||
| test('should work with constant dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1339,3 +1340,3 @@ $.register(constant('time', time)); | ||
| it('should work with simple dependencies', async () => { | ||
| test('should work with simple dependencies', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1355,3 +1356,3 @@ $.register(constant('time', time)); | ||
| it('should work with deeper dependencies', async () => { | ||
| test('should work with deeper dependencies', async () => { | ||
| let shutdownCallResolve; | ||
@@ -1414,3 +1415,3 @@ let shutdownResolve; | ||
| it('should work with deeper multi used dependencies', async () => { | ||
| test('should work with deeper multi used dependencies', async () => { | ||
| let shutdownCallResolve; | ||
@@ -1469,3 +1470,3 @@ let shutdownResolve; | ||
| it('should delay service shutdown to their deeper dependencies', async () => { | ||
| test('should delay service shutdown to their deeper dependencies', async () => { | ||
| const servicesShutdownCalls = sinon.spy(() => Promise.resolve()); | ||
@@ -1520,3 +1521,3 @@ | ||
| it('should not shutdown singleton dependencies if used elsewhere', async () => { | ||
| test('should not shutdown singleton dependencies if used elsewhere', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1544,3 +1545,3 @@ $.register(constant('time', time)); | ||
| it('should shutdown singleton dependencies if not used elsewhere', async () => { | ||
| test('should shutdown singleton dependencies if not used elsewhere', async () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1564,3 +1565,3 @@ $.register(constant('time', time)); | ||
| describe('toMermaidGraph', () => { | ||
| it('should print nothing when no dependency', () => { | ||
| test('should print nothing when no dependency', () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1571,3 +1572,3 @@ $.register(constant('time', time)); | ||
| it('should print a dependency graph', () => { | ||
| test('should print a dependency graph', () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1593,3 +1594,3 @@ $.register(constant('time', time)); | ||
| it('should allow custom shapes', () => { | ||
| test('should allow custom shapes', () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1630,3 +1631,3 @@ $.register(constant('time', time)); | ||
| it('should allow custom styles', () => { | ||
| test('should allow custom styles', () => { | ||
| $.register(constant('ENV', ENV)); | ||
@@ -1633,0 +1634,0 @@ $.register(constant('time', time)); |
@@ -0,1 +1,2 @@ | ||
| import { describe, test } from '@jest/globals'; | ||
| import assert from 'assert'; | ||
@@ -5,3 +6,3 @@ import { buildInitializationSequence } from './sequence.js'; | ||
| describe('buildInitializationSequence()', () => { | ||
| it('should work with one level trees', () => { | ||
| test('should work with one level trees', () => { | ||
| const tree = { | ||
@@ -14,3 +15,3 @@ __name: 'lol', | ||
| it('should work with multi-level trees', () => { | ||
| test('should work with multi-level trees', () => { | ||
| const tree = { | ||
@@ -70,3 +71,3 @@ __name: 'lol', | ||
| it('should work with multi-level trees and cross dependencies', () => { | ||
| test('should work with multi-level trees and cross dependencies', () => { | ||
| const tree = { | ||
@@ -73,0 +74,0 @@ __name: 'lol', |
+62
-61
@@ -0,1 +1,2 @@ | ||
| import { describe, test } from '@jest/globals'; | ||
| import assert from 'assert'; | ||
@@ -41,3 +42,3 @@ import sinon from 'sinon'; | ||
| describe('reuseSpecialProps', () => { | ||
| it('should work', () => { | ||
| test('should work', () => { | ||
| // We can safely ignore coverage here since the | ||
@@ -87,3 +88,3 @@ // function are here just as placeholders | ||
| describe('wrapInitializer', () => { | ||
| it('should work with a service initializer', async () => { | ||
| test('should work with a service initializer', async () => { | ||
| async function baseServiceInitializer() { | ||
@@ -116,3 +117,3 @@ return () => 'test'; | ||
| it('should work with a provider initialzer', async () => { | ||
| test('should work with a provider initialzer', async () => { | ||
| async function baseInitializer() { | ||
@@ -151,3 +152,3 @@ return { service: () => 'test' }; | ||
| describe('inject', () => { | ||
| it('should allow to decorate an initializer with dependencies', () => { | ||
| test('should allow to decorate an initializer with dependencies', () => { | ||
| const dependencies = ['ENV']; | ||
@@ -164,3 +165,3 @@ const newInitializer = inject<{ ENV: string }, string>( | ||
| it('should allow to decorate an initializer builder with dependencies', () => { | ||
| test('should allow to decorate an initializer builder with dependencies', () => { | ||
| const dependencies = ['ENV']; | ||
@@ -177,3 +178,3 @@ const newInitializer = inject<{ ENV: string }, string>( | ||
| it('should allow to decorate an initializer with dependencies', () => { | ||
| test('should allow to decorate an initializer with dependencies', () => { | ||
| const dependencies = ['ENV']; | ||
@@ -190,3 +191,3 @@ const newInitializer = inject<{ ENV: string }, string>( | ||
| it('should allow to decorate an initializer builder with dependencies', () => { | ||
| test('should allow to decorate an initializer builder with dependencies', () => { | ||
| const dependencies = ['ENV']; | ||
@@ -203,3 +204,3 @@ const newInitializer = inject<{ ENV: string }, string>( | ||
| it('should allow to decorate an initializer with mapped dependencies', () => { | ||
| test('should allow to decorate an initializer with mapped dependencies', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -213,3 +214,3 @@ const newInitializer = inject(dependencies, aProviderInitializer); | ||
| it('should fail with a constant', () => { | ||
| test('should fail with a constant', () => { | ||
| assert.throws(() => { | ||
@@ -227,3 +228,3 @@ inject( | ||
| describe('useInject', () => { | ||
| it('should set the right dependencies', () => { | ||
| test('should set the right dependencies', () => { | ||
| const fromDependencies = ['ENV', 'CORS']; | ||
@@ -245,3 +246,3 @@ const fromInitializer = inject(fromDependencies, aProviderInitializer); | ||
| describe('mergeInject', () => { | ||
| it('should amend dependencies', () => { | ||
| test('should amend dependencies', () => { | ||
| const fromDependencies = ['ENV', 'CORS']; | ||
@@ -270,3 +271,3 @@ const fromInitializer = inject< | ||
| describe('autoInject', () => { | ||
| it('should allow to decorate an initializer with dependencies', () => { | ||
| test('should allow to decorate an initializer with dependencies', () => { | ||
| const baseProvider = | ||
@@ -286,3 +287,3 @@ async ({ ENV, mysql: db }) => | ||
| it('should allow to decorate an initializer with a function name', () => { | ||
| test('should allow to decorate an initializer with a function name', () => { | ||
| async function baseProvider({ ENV, mysql: db }) { | ||
@@ -302,3 +303,3 @@ async () => ({ | ||
| it('should allow to decorate an initializer with optional dependencies', () => { | ||
| test('should allow to decorate an initializer with optional dependencies', () => { | ||
| const noop = () => undefined; | ||
@@ -320,3 +321,3 @@ const baseProvider = | ||
| it('should allow to decorate an initializer with several arguments', () => { | ||
| test('should allow to decorate an initializer with several arguments', () => { | ||
| const noop = () => undefined; | ||
@@ -338,3 +339,3 @@ const baseProvider = | ||
| it('should allow to decorate an initializer with complex arguments', () => { | ||
| test('should allow to decorate an initializer with complex arguments', () => { | ||
| const noop = () => undefined; | ||
@@ -356,3 +357,3 @@ const baseProvider = | ||
| it('should fail with non async initializers', () => { | ||
| test('should fail with non async initializers', () => { | ||
| assert.throws(() => { | ||
@@ -365,3 +366,3 @@ autoInject((({ foo: bar = { bar: 'foo' } }) => { | ||
| it('should fail with too complex injections', () => { | ||
| test('should fail with too complex injections', () => { | ||
| assert.throws(() => { | ||
@@ -374,3 +375,3 @@ autoInject(async ({ foo: bar = { bar: 'foo' } }) => { | ||
| it('should fail with no injections', () => { | ||
| test('should fail with no injections', () => { | ||
| assert.throws(() => { | ||
@@ -383,3 +384,3 @@ autoInject(async () => undefined); | ||
| describe('alsoInject', () => { | ||
| it('should allow to decorate an initializer with dependencies', () => { | ||
| test('should allow to decorate an initializer with dependencies', () => { | ||
| const newInitializer = alsoInject( | ||
@@ -394,3 +395,3 @@ ['ENV'], | ||
| it('should allow to decorate an initializer with dependencies', () => { | ||
| test('should allow to decorate an initializer with dependencies', () => { | ||
| const newInitializer = alsoInject(['ENV'], aProviderInitializer); | ||
@@ -402,3 +403,3 @@ | ||
| it('should dedupe dependencies', () => { | ||
| test('should dedupe dependencies', () => { | ||
| const baseProvider = inject(['?TEST'], aProviderInitializer); | ||
@@ -421,3 +422,3 @@ const newInitializer = alsoInject( | ||
| it('should preserve single optional dependencies', () => { | ||
| test('should preserve single optional dependencies', () => { | ||
| const baseProvider = inject(['ENV', '?TEST'], aProviderInitializer); | ||
@@ -438,3 +439,3 @@ const newInitializer = alsoInject( | ||
| it('should preserve mapped dependencies', () => { | ||
| test('should preserve mapped dependencies', () => { | ||
| const baseProvider = inject(['mysql', '?sftp'], aProviderInitializer); | ||
@@ -452,3 +453,3 @@ const newInitializer = alsoInject(['db>mysql', '?ftp>sftp'], baseProvider); | ||
| it('should solve dependencies alias name clash', () => { | ||
| test('should solve dependencies alias name clash', () => { | ||
| const baseProvider = inject(['?TEST'], aProviderInitializer); | ||
@@ -473,3 +474,3 @@ const newInitializer = alsoInject( | ||
| it('should solve dependencies alias name clash', () => { | ||
| test('should solve dependencies alias name clash', () => { | ||
| const baseProvider = inject(['?TEST'], aProviderInitializer); | ||
@@ -496,3 +497,3 @@ const newInitializer = alsoInject( | ||
| describe('parseInjections', () => { | ||
| it('should work with TypeScript dependencies', () => { | ||
| test('should work with TypeScript dependencies', () => { | ||
| assert.deepEqual( | ||
@@ -512,3 +513,3 @@ parseInjections(`async function initNexmo({ | ||
| it('should allow to decorate an initializer with dependencies', () => { | ||
| test('should allow to decorate an initializer with dependencies', () => { | ||
| const newInitializer = alsoInject(['ENV'], aProviderInitializer); | ||
@@ -522,3 +523,3 @@ | ||
| describe('singleton', () => { | ||
| it('should allow to decorate an initializer with singleton option', () => { | ||
| test('should allow to decorate an initializer with singleton option', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -536,3 +537,3 @@ const newInitializer = inject( | ||
| it('should allow to be used several times', () => { | ||
| test('should allow to be used several times', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -552,3 +553,3 @@ const newInitializer = inject( | ||
| describe('name', () => { | ||
| it('should allow to decorate an initializer with a name', () => { | ||
| test('should allow to decorate an initializer with a name', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -569,3 +570,3 @@ const baseName = 'hash'; | ||
| describe('autoName', () => { | ||
| it('should allow to decorate an initializer with its function name', () => { | ||
| test('should allow to decorate an initializer with its function name', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -586,3 +587,3 @@ const baseName = 'hash'; | ||
| it('should allow to decorate an initializer with its init like function name', () => { | ||
| test('should allow to decorate an initializer with its init like function name', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -603,3 +604,3 @@ const baseName = 'hash'; | ||
| it('should allow to decorate an initializer with its initialize like function name', () => { | ||
| test('should allow to decorate an initializer with its initialize like function name', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -620,3 +621,3 @@ const baseName = 'hash'; | ||
| it('should allow to decorate a bounded initializer', () => { | ||
| test('should allow to decorate a bounded initializer', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -640,3 +641,3 @@ const baseName = 'hash'; | ||
| it('should fail with anonymous functions', () => { | ||
| test('should fail with anonymous functions', () => { | ||
| assert.throws(() => { | ||
@@ -649,3 +650,3 @@ autoName(async () => undefined); | ||
| describe('extra', () => { | ||
| it('should allow to decorate an initializer with extra infos', () => { | ||
| test('should allow to decorate an initializer with extra infos', () => { | ||
| const extraInformations = { httpHandler: true }; | ||
@@ -659,3 +660,3 @@ const newInitializer = extra(extraInformations, aProviderInitializer); | ||
| it('should allow to decorate an initializer with extra infos', () => { | ||
| test('should allow to decorate an initializer with extra infos', () => { | ||
| const extraInformations = { httpHandler: true }; | ||
@@ -669,3 +670,3 @@ const newInitializer = extra(extraInformations, aProviderInitializer, true); | ||
| it('should allow to decorate an initializer with additional extra infos', () => { | ||
| test('should allow to decorate an initializer with additional extra infos', () => { | ||
| const baseExtraInformations = { yolo: true, httpHandler: false }; | ||
@@ -690,3 +691,3 @@ const additionalExtraInformations = { httpHandler: true }; | ||
| describe('type', () => { | ||
| it('should allow to decorate an initializer with a type', () => { | ||
| test('should allow to decorate an initializer with a type', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -709,3 +710,3 @@ const baseName = 'hash'; | ||
| describe('initializer', () => { | ||
| it('should allow to decorate an initializer with every properties', () => { | ||
| test('should allow to decorate an initializer with every properties', () => { | ||
| const dependencies = ['ANOTHER_ENV>ENV']; | ||
@@ -732,3 +733,3 @@ const baseName = 'hash'; | ||
| it('should fail with bad properties', () => { | ||
| test('should fail with bad properties', () => { | ||
| assert.throws(() => { | ||
@@ -747,3 +748,3 @@ initializer( | ||
| describe('constant', () => { | ||
| it('should allow to create an initializer from a constant', async () => { | ||
| test('should allow to create an initializer from a constant', async () => { | ||
| const baseName = 'THE_VALUE'; | ||
@@ -758,3 +759,3 @@ const baseValue = 42; | ||
| it('should fail with dependencies since it makes no sense', () => { | ||
| test('should fail with dependencies since it makes no sense', () => { | ||
| assert.throws(() => { | ||
@@ -770,3 +771,3 @@ constant( | ||
| describe('service', () => { | ||
| it('should allow to create an initializer from a service builder', async () => { | ||
| test('should allow to create an initializer from a service builder', async () => { | ||
| const aServiceBuilder = async (_services: unknown) => 'A_SERVICE'; | ||
@@ -794,3 +795,3 @@ const dependencies = ['ANOTHER_ENV>ENV']; | ||
| it('should allow to create an initializer from a generic service builder', async () => { | ||
| test('should allow to create an initializer from a generic service builder', async () => { | ||
| const aServiceBuilder = async <T>(_services: T) => ''; | ||
@@ -818,3 +819,3 @@ const dependencies = ['ANOTHER_ENV>ENV']; | ||
| it('should fail with no service builder', () => { | ||
| test('should fail with no service builder', () => { | ||
| assert.throws(() => { | ||
@@ -827,3 +828,3 @@ service(undefined as any); | ||
| describe('autoService', () => { | ||
| it('should detect the service details', () => { | ||
| test('should detect the service details', () => { | ||
| const baseServiceBuilder = async function initializeMySQL({ ENV }) { | ||
@@ -840,3 +841,3 @@ return ENV; | ||
| it('should detect the service details even with no dependencies', () => { | ||
| test('should detect the service details even with no dependencies', () => { | ||
| const baseServiceBuilder = async function initializeMySQL() { | ||
@@ -855,3 +856,3 @@ return; | ||
| describe('provider', () => { | ||
| it('should allow to create an initializer from a provider builder', async () => { | ||
| test('should allow to create an initializer from a provider builder', async () => { | ||
| const aProviderInitializerBuilder = async () => ({ service: 'A_SERVICE' }); | ||
@@ -879,3 +880,3 @@ const dependencies = ['ANOTHER_ENV>ENV']; | ||
| it('should allow to create an initializer from a provider builder', async () => { | ||
| test('should allow to create an initializer from a provider builder', async () => { | ||
| const aServiceBuilder = async (_services: unknown) => ({ | ||
@@ -904,3 +905,3 @@ service: 'A_SERVICE', | ||
| it('should fail with no provider builder', () => { | ||
| test('should fail with no provider builder', () => { | ||
| assert.throws(() => { | ||
@@ -913,3 +914,3 @@ provider(undefined as any); | ||
| describe('autoProvider', () => { | ||
| it('should detect the provider details', () => { | ||
| test('should detect the provider details', () => { | ||
| const baseInitializer = async function initializeMySQL({ | ||
@@ -930,3 +931,3 @@ ENV, | ||
| it('should detect the provider details even with no dependencies', () => { | ||
| test('should detect the provider details even with no dependencies', () => { | ||
| const baseInitializer = async function initializeMySQL() { | ||
@@ -945,3 +946,3 @@ return { service: 'A_SERVICE' }; | ||
| describe('handler', () => { | ||
| it('should work', async () => { | ||
| test('should work', async () => { | ||
| const baseName = 'sampleHandler'; | ||
@@ -970,3 +971,3 @@ const injectedServices = ['kikooo', 'lol']; | ||
| it('should fail with no name', () => { | ||
| test('should fail with no name', () => { | ||
| assert.throws(() => { | ||
@@ -979,3 +980,3 @@ handler(async () => undefined); | ||
| describe('autoHandler', () => { | ||
| it('should work', async () => { | ||
| test('should work', async () => { | ||
| const services = { | ||
@@ -1002,3 +1003,3 @@ kikooo: 'kikooo', | ||
| it('should work with spread services', async () => { | ||
| test('should work with spread services', async () => { | ||
| const services = { | ||
@@ -1025,3 +1026,3 @@ kikooo: 'kikooo', | ||
| it('should fail for anonymous functions', () => { | ||
| test('should fail for anonymous functions', () => { | ||
| assert.throws(() => { | ||
@@ -1034,3 +1035,3 @@ autoHandler(async () => undefined); | ||
| describe('parseDependencyDeclaration', () => { | ||
| it('should work', () => { | ||
| test('should work', () => { | ||
| assert.deepEqual(parseDependencyDeclaration('db>pgsql'), { | ||
@@ -1043,3 +1044,3 @@ serviceName: 'db', | ||
| it('should work with unmapped names', () => { | ||
| test('should work with unmapped names', () => { | ||
| assert.deepEqual(parseDependencyDeclaration('?pgsql'), { | ||
@@ -1046,0 +1047,0 @@ serviceName: 'pgsql', |
+120
-68
@@ -237,3 +237,7 @@ /* eslint @typescript-eslint/ban-types:0 */ | ||
| */ | ||
| export function reuseSpecialProps<FD, TD, S>( | ||
| export function reuseSpecialProps< | ||
| FD extends Dependencies<any>, | ||
| TD extends Dependencies<any>, | ||
| S, | ||
| >( | ||
| from: | ||
@@ -245,3 +249,7 @@ | AsyncInitializerBuilder<FD, unknown> | ||
| ): ProviderInitializerBuilder<FD & TD, S>; | ||
| export function reuseSpecialProps<FD, TD, S>( | ||
| export function reuseSpecialProps< | ||
| FD extends Dependencies<any>, | ||
| TD extends Dependencies<any>, | ||
| S, | ||
| >( | ||
| from: | ||
@@ -253,3 +261,7 @@ | AsyncInitializerBuilder<FD, unknown> | ||
| ): ServiceInitializerBuilder<FD & TD, S>; | ||
| export function reuseSpecialProps<FD, TD, S>( | ||
| export function reuseSpecialProps< | ||
| FD extends Dependencies<any>, | ||
| TD extends Dependencies<any>, | ||
| S, | ||
| >( | ||
| from: | ||
@@ -355,3 +367,3 @@ | AsyncInitializerBuilder<FD, unknown> | ||
| */ | ||
| export function service<D, S>( | ||
| export function service<D extends Dependencies<any>, S>( | ||
| serviceBuilder: ServiceInitializerBuilder<D, S>, | ||
@@ -397,3 +409,3 @@ name?: DependencyName, | ||
| */ | ||
| export function autoService<D, S>( | ||
| export function autoService<D extends Dependencies<any>, S>( | ||
| serviceBuilder: ServiceInitializerBuilder<D, S>, | ||
@@ -456,3 +468,3 @@ ): ServiceInitializer<D, S> { | ||
| */ | ||
| export function provider<D, S>( | ||
| export function provider<D extends Dependencies<any>, S>( | ||
| providerBuilder: ProviderInitializerBuilder<D, S>, | ||
@@ -504,3 +516,3 @@ name?: DependencyName, | ||
| */ | ||
| export function autoProvider<D, S>( | ||
| export function autoProvider<D extends Dependencies<any>, S>( | ||
| providerBuilder: ProviderInitializerBuilder<D, S>, | ||
@@ -526,11 +538,11 @@ ): ProviderInitializer<D, S> { | ||
| export function wrapInitializer<D, S>( | ||
| export function wrapInitializer<D extends Dependencies<any>, S>( | ||
| wrapper: ProviderInitializerWrapper<S, D>, | ||
| baseInitializer: ProviderInitializer<D, S>, | ||
| ): ProviderInitializer<D, S>; | ||
| export function wrapInitializer<D, S>( | ||
| export function wrapInitializer<D extends Dependencies<any>, S>( | ||
| wrapper: ServiceInitializerWrapper<S, D>, | ||
| baseInitializer: ServiceInitializer<D, S>, | ||
| ): ServiceInitializer<D, S>; | ||
| export function wrapInitializer<D, S>( | ||
| export function wrapInitializer<D extends Dependencies<any>, S>( | ||
| wrapper: ProviderInitializerWrapper<S, D> | ServiceInitializerWrapper<S, D>, | ||
@@ -574,19 +586,19 @@ baseInitializer: ProviderInitializer<D, S> | ServiceInitializer<D, S>, | ||
| */ | ||
| export function inject<D, S>( | ||
| export function inject<D extends Dependencies<any>, S>( | ||
| dependencies: DependencyDeclaration[], | ||
| initializer: ProviderInitializer<any, S>, | ||
| ): ProviderInitializer<D, S>; | ||
| export function inject<D, S>( | ||
| export function inject<D extends Dependencies<any>, S>( | ||
| dependencies: DependencyDeclaration[], | ||
| initializer: ProviderInitializerBuilder<any, S>, | ||
| ): ProviderInitializerBuilder<D, S>; | ||
| export function inject<D, S>( | ||
| export function inject<D extends Dependencies<any>, S>( | ||
| dependencies: DependencyDeclaration[], | ||
| initializer: ServiceInitializer<any, S>, | ||
| ): ServiceInitializer<D, S>; | ||
| export function inject<D, S>( | ||
| export function inject<D extends Dependencies<any>, S>( | ||
| dependencies: DependencyDeclaration[], | ||
| initializer: ServiceInitializerBuilder<any, S>, | ||
| ): ServiceInitializerBuilder<D, S>; | ||
| export function inject<D, S>( | ||
| export function inject<D extends Dependencies<any>, S>( | ||
| dependencies: DependencyDeclaration[], | ||
@@ -624,3 +636,3 @@ initializer: | ||
| */ | ||
| export function useInject<FD, S>( | ||
| export function useInject<FD extends Dependencies<any>, S>( | ||
| from: | ||
@@ -631,3 +643,3 @@ | AsyncInitializerBuilder<FD, unknown> | ||
| ): ProviderInitializer<FD, S>; | ||
| export function useInject<FD, S>( | ||
| export function useInject<FD extends Dependencies<any>, S>( | ||
| from: | ||
@@ -638,3 +650,3 @@ | AsyncInitializerBuilder<FD, unknown> | ||
| ): ProviderInitializerBuilder<FD, S>; | ||
| export function useInject<FD, S>( | ||
| export function useInject<FD extends Dependencies<any>, S>( | ||
| from: | ||
@@ -645,3 +657,3 @@ | AsyncInitializerBuilder<FD, unknown> | ||
| ): ServiceInitializer<FD, S>; | ||
| export function useInject<FD, S>( | ||
| export function useInject<FD extends Dependencies<any>, S>( | ||
| from: | ||
@@ -652,3 +664,3 @@ | AsyncInitializerBuilder<FD, unknown> | ||
| ): ServiceInitializerBuilder<FD, S>; | ||
| export function useInject<FD, S>( | ||
| export function useInject<FD extends Dependencies<any>, S>( | ||
| from: | ||
@@ -668,3 +680,7 @@ | AsyncInitializerBuilder<FD, unknown> | ||
| */ | ||
| export function mergeInject<FD, D, S>( | ||
| export function mergeInject< | ||
| FD extends Dependencies<any>, | ||
| D extends Dependencies<any>, | ||
| S, | ||
| >( | ||
| from: | ||
@@ -675,3 +691,7 @@ | AsyncInitializerBuilder<FD, unknown> | ||
| ): ProviderInitializer<FD & D, S>; | ||
| export function mergeInject<FD, D, S>( | ||
| export function mergeInject< | ||
| FD extends Dependencies<any>, | ||
| D extends Dependencies<any>, | ||
| S, | ||
| >( | ||
| from: | ||
@@ -682,3 +702,7 @@ | AsyncInitializerBuilder<FD, unknown> | ||
| ): ProviderInitializerBuilder<FD & D, S>; | ||
| export function mergeInject<FD, D, S>( | ||
| export function mergeInject< | ||
| FD extends Dependencies<any>, | ||
| D extends Dependencies<any>, | ||
| S, | ||
| >( | ||
| from: | ||
@@ -689,3 +713,7 @@ | AsyncInitializerBuilder<FD, unknown> | ||
| ): ServiceInitializer<FD, S>; | ||
| export function mergeInject<FD, D, S>( | ||
| export function mergeInject< | ||
| FD extends Dependencies<any>, | ||
| D extends Dependencies<any>, | ||
| S, | ||
| >( | ||
| from: | ||
@@ -696,3 +724,7 @@ | AsyncInitializerBuilder<FD, unknown> | ||
| ): ServiceInitializerBuilder<FD, S>; | ||
| export function mergeInject<FD, D, S>( | ||
| export function mergeInject< | ||
| FD extends Dependencies<any>, | ||
| D extends Dependencies<any>, | ||
| S, | ||
| >( | ||
| from: | ||
@@ -736,15 +768,15 @@ | AsyncInitializerBuilder<FD, unknown> | ||
| */ | ||
| export function autoInject<D, S>( | ||
| export function autoInject<D extends Dependencies<any>, S>( | ||
| initializer: ProviderInitializer<D, S>, | ||
| ): ProviderInitializer<D, S>; | ||
| export function autoInject<D, S>( | ||
| export function autoInject<D extends Dependencies<any>, S>( | ||
| initializer: ProviderInitializerBuilder<D, S>, | ||
| ): ProviderInitializerBuilder<D, S>; | ||
| export function autoInject<D, S>( | ||
| export function autoInject<D extends Dependencies<any>, S>( | ||
| initializer: ServiceInitializer<D, S>, | ||
| ): ServiceInitializer<D, S>; | ||
| export function autoInject<D, S>( | ||
| export function autoInject<D extends Dependencies<any>, S>( | ||
| initializer: ServiceInitializerBuilder<D, S>, | ||
| ): ServiceInitializerBuilder<D, S>; | ||
| export function autoInject<D, S>( | ||
| export function autoInject<D extends Dependencies<any>, S>( | ||
| initializer: | ||
@@ -783,19 +815,39 @@ | ProviderInitializerBuilder<D, S> | ||
| */ | ||
| export function alsoInject<ND, D, S>( | ||
| export function alsoInject< | ||
| ND extends Dependencies<any>, | ||
| D extends Dependencies<any>, | ||
| S, | ||
| >( | ||
| dependencies: DependencyDeclaration[], | ||
| to: ProviderInitializer<D, S>, | ||
| ): ProviderInitializer<ND & D, S>; | ||
| export function alsoInject<ND, D, S>( | ||
| export function alsoInject< | ||
| ND extends Dependencies<any>, | ||
| D extends Dependencies<any>, | ||
| S, | ||
| >( | ||
| dependencies: DependencyDeclaration[], | ||
| to: ProviderInitializerBuilder<D, S>, | ||
| ): ProviderInitializerBuilder<ND & D, S>; | ||
| export function alsoInject<ND, D, S>( | ||
| export function alsoInject< | ||
| ND extends Dependencies<any>, | ||
| D extends Dependencies<any>, | ||
| S, | ||
| >( | ||
| dependencies: DependencyDeclaration[], | ||
| to: ServiceInitializer<D, S>, | ||
| ): ServiceInitializer<ND & D, S>; | ||
| export function alsoInject<ND, D, S>( | ||
| export function alsoInject< | ||
| ND extends Dependencies<any>, | ||
| D extends Dependencies<any>, | ||
| S, | ||
| >( | ||
| dependencies: DependencyDeclaration[], | ||
| to: ServiceInitializerBuilder<D, S>, | ||
| ): ServiceInitializerBuilder<ND & D, S>; | ||
| export function alsoInject<ND, D, S>( | ||
| export function alsoInject< | ||
| ND extends Dependencies<any>, | ||
| D extends Dependencies<any>, | ||
| S, | ||
| >( | ||
| dependencies: DependencyDeclaration[], | ||
@@ -873,3 +925,3 @@ initializer: | ||
| export function extra<D, S>( | ||
| export function extra<D extends Dependencies<any>, S>( | ||
| extraInformations: ExtraInformations, | ||
@@ -879,3 +931,3 @@ initializer: ProviderInitializer<D, S>, | ||
| ): ProviderInitializer<D, S>; | ||
| export function extra<D, S>( | ||
| export function extra<D extends Dependencies<any>, S>( | ||
| extraInformations: ExtraInformations, | ||
@@ -885,11 +937,11 @@ initializer: ProviderInitializerBuilder<D, S>, | ||
| ): ProviderInitializerBuilder<D, S>; | ||
| export function extra<D, S>( | ||
| export function extra<D extends Dependencies<any>, S>( | ||
| extraInformations: ExtraInformations, | ||
| initializer: ServiceInitializer<D, S>, | ||
| ): ServiceInitializer<D, S>; | ||
| export function extra<D, S>( | ||
| export function extra<D extends Dependencies<any>, S>( | ||
| extraInformations: ExtraInformations, | ||
| initializer: ServiceInitializerBuilder<D, S>, | ||
| ): ServiceInitializerBuilder<D, S>; | ||
| export function extra<D, S>( | ||
| export function extra<D extends Dependencies<any>, S>( | ||
| extraInformations: ExtraInformations, | ||
@@ -941,19 +993,19 @@ initializer: | ||
| */ | ||
| export function singleton<D, S>( | ||
| export function singleton<D extends Dependencies<any>, S>( | ||
| initializer: ProviderInitializer<D, S>, | ||
| isSingleton?: boolean, | ||
| ): ProviderInitializer<D, S>; | ||
| export function singleton<D, S>( | ||
| export function singleton<D extends Dependencies<any>, S>( | ||
| initializer: ProviderInitializerBuilder<D, S>, | ||
| isSingleton?: boolean, | ||
| ): ProviderInitializerBuilder<D, S>; | ||
| export function singleton<D, S>( | ||
| export function singleton<D extends Dependencies<any>, S>( | ||
| initializer: ServiceInitializer<D, S>, | ||
| isSingleton?: boolean, | ||
| ): ServiceInitializer<D, S>; | ||
| export function singleton<D, S>( | ||
| export function singleton<D extends Dependencies<any>, S>( | ||
| initializer: ServiceInitializerBuilder<D, S>, | ||
| isSingleton?: boolean, | ||
| ): ServiceInitializerBuilder<D, S>; | ||
| export function singleton<D, S>( | ||
| export function singleton<D extends Dependencies<any>, S>( | ||
| initializer: | ||
@@ -993,19 +1045,19 @@ | ProviderInitializerBuilder<D, S> | ||
| */ | ||
| export function name<D, S>( | ||
| export function name<D extends Dependencies<any>, S>( | ||
| name: DependencyName, | ||
| initializer: ProviderInitializer<D, S>, | ||
| ): ProviderInitializer<D, S>; | ||
| export function name<D, S>( | ||
| export function name<D extends Dependencies<any>, S>( | ||
| name: DependencyName, | ||
| initializer: ProviderInitializerBuilder<D, S>, | ||
| ): ProviderInitializerBuilder<D, S>; | ||
| export function name<D, S>( | ||
| export function name<D extends Dependencies<any>, S>( | ||
| name: DependencyName, | ||
| initializer: ServiceInitializer<D, S>, | ||
| ): ServiceInitializer<D, S>; | ||
| export function name<D, S>( | ||
| export function name<D extends Dependencies<any>, S>( | ||
| name: DependencyName, | ||
| initializer: ServiceInitializerBuilder<D, S>, | ||
| ): ServiceInitializerBuilder<D, S>; | ||
| export function name<D, S>( | ||
| export function name<D extends Dependencies<any>, S>( | ||
| name: DependencyName, | ||
@@ -1042,15 +1094,15 @@ initializer: | ||
| */ | ||
| export function autoName<D, S>( | ||
| export function autoName<D extends Dependencies<any>, S>( | ||
| initializer: ProviderInitializer<D, S>, | ||
| ): ProviderInitializer<D, S>; | ||
| export function autoName<D, S>( | ||
| export function autoName<D extends Dependencies<any>, S>( | ||
| initializer: ProviderInitializerBuilder<D, S>, | ||
| ): ProviderInitializerBuilder<D, S>; | ||
| export function autoName<D, S>( | ||
| export function autoName<D extends Dependencies<any>, S>( | ||
| initializer: ServiceInitializer<D, S>, | ||
| ): ServiceInitializer<D, S>; | ||
| export function autoName<D, S>( | ||
| export function autoName<D extends Dependencies<any>, S>( | ||
| initializer: ServiceInitializerBuilder<D, S>, | ||
| ): ServiceInitializerBuilder<D, S>; | ||
| export function autoName<D, S>( | ||
| export function autoName<D extends Dependencies<any>, S>( | ||
| initializer: | ||
@@ -1088,19 +1140,19 @@ | ProviderInitializerBuilder<D, S> | ||
| */ | ||
| export function type<D, S>( | ||
| export function type<D extends Dependencies<any>, S>( | ||
| type: 'provider', | ||
| initializer: ProviderInitializer<D, S>, | ||
| ): ProviderInitializer<D, S>; | ||
| export function type<D, S>( | ||
| export function type<D extends Dependencies<any>, S>( | ||
| type: 'provider', | ||
| initializer: ProviderInitializerBuilder<D, S>, | ||
| ): ProviderInitializerBuilder<D, S>; | ||
| export function type<D, S>( | ||
| export function type<D extends Dependencies<any>, S>( | ||
| type: 'service', | ||
| initializer: ServiceInitializer<D, S>, | ||
| ): ServiceInitializer<D, S>; | ||
| export function type<D, S>( | ||
| export function type<D extends Dependencies<any>, S>( | ||
| type: 'service', | ||
| initializer: ServiceInitializerBuilder<D, S>, | ||
| ): ServiceInitializerBuilder<D, S>; | ||
| export function type<D, S>( | ||
| export function type<D extends Dependencies<any>, S>( | ||
| type: 'service' | 'provider', | ||
@@ -1145,11 +1197,11 @@ initializer: | ||
| */ | ||
| export function initializer<D, S>( | ||
| export function initializer<D extends Dependencies<any>, S>( | ||
| properties: ProviderInputProperties, | ||
| initializer: ProviderInitializerBuilder<D, S>, | ||
| ): ProviderInitializer<D, S>; | ||
| export function initializer<D, S>( | ||
| export function initializer<D extends Dependencies<any>, S>( | ||
| properties: ServiceInputProperties, | ||
| initializer: ServiceInitializerBuilder<D, S>, | ||
| ): ServiceInitializer<D, S>; | ||
| export function initializer<D, S>( | ||
| export function initializer<D extends Dependencies<any>, S>( | ||
| properties: ServiceInputProperties | ProviderInputProperties, | ||
@@ -1368,16 +1420,16 @@ initializer: | ||
| */ | ||
| export function unwrapInitializerProperties<S, D>( | ||
| export function unwrapInitializerProperties<S, D extends Dependencies<any>>( | ||
| initializer: ProviderInitializer<D, S>, | ||
| ): ProviderProperties; | ||
| export function unwrapInitializerProperties<S, D>( | ||
| export function unwrapInitializerProperties<S, D extends Dependencies<any>>( | ||
| initializer: ServiceInitializer<D, S>, | ||
| ): ServiceProperties; | ||
| // eslint-disable-next-line @typescript-eslint/no-unused-vars | ||
| export function unwrapInitializerProperties<S, D>( | ||
| export function unwrapInitializerProperties<S, D extends Dependencies<any>>( | ||
| initializer: ConstantInitializer<S>, | ||
| ): ConstantProperties; | ||
| export function unwrapInitializerProperties<S, D>( | ||
| export function unwrapInitializerProperties<S, D extends Dependencies<any>>( | ||
| initializer: Initializer<S, D>, | ||
| ): InitializerProperties; | ||
| export function unwrapInitializerProperties<S, D>( | ||
| export function unwrapInitializerProperties<S, D extends Dependencies<any>>( | ||
| initializer: | ||
@@ -1384,0 +1436,0 @@ | ProviderInitializerBuilder<D, S> |
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
558965
1.01%20
-9.09%9897
0.73%