@wirestate/core 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +51 -0
- package/LICENSE +21 -0
- package/README.md +319 -0
- package/cjs/development/index.js +301 -0
- package/cjs/development/index.js.map +1 -0
- package/cjs/development/lib.js +1007 -0
- package/cjs/development/lib.js.map +1 -0
- package/cjs/development/test-utils.js +128 -0
- package/cjs/development/test-utils.js.map +1 -0
- package/cjs/production/index.js +1 -0
- package/cjs/production/index.js.map +1 -0
- package/cjs/production/lib.js +1 -0
- package/cjs/production/lib.js.map +1 -0
- package/cjs/production/test-utils.js +1 -0
- package/cjs/production/test-utils.js.map +1 -0
- package/esm/development/alias.js +9 -0
- package/esm/development/alias.js.map +1 -0
- package/esm/development/bind/bind-constant.js +19 -0
- package/esm/development/bind/bind-constant.js.map +1 -0
- package/esm/development/bind/bind-dynamic-value.js +28 -0
- package/esm/development/bind/bind-dynamic-value.js.map +1 -0
- package/esm/development/bind/bind-entry.js +39 -0
- package/esm/development/bind/bind-entry.js.map +1 -0
- package/esm/development/bind/bind-service.js +253 -0
- package/esm/development/bind/bind-service.js.map +1 -0
- package/esm/development/bind/get-entry-token.js +14 -0
- package/esm/development/bind/get-entry-token.js.map +1 -0
- package/esm/development/commands/command-bus.js +112 -0
- package/esm/development/commands/command-bus.js.map +1 -0
- package/esm/development/commands/command-optional.js +16 -0
- package/esm/development/commands/command-optional.js.map +1 -0
- package/esm/development/commands/command.js +16 -0
- package/esm/development/commands/command.js.map +1 -0
- package/esm/development/commands/get-command-handler-metadata.js +27 -0
- package/esm/development/commands/get-command-handler-metadata.js.map +1 -0
- package/esm/development/commands/on-command.js +26 -0
- package/esm/development/commands/on-command.js.map +1 -0
- package/esm/development/container/create-ioc-container.js +35 -0
- package/esm/development/container/create-ioc-container.js.map +1 -0
- package/esm/development/container/wire-scope.js +151 -0
- package/esm/development/container/wire-scope.js.map +1 -0
- package/esm/development/error/error-code.js +10 -0
- package/esm/development/error/error-code.js.map +1 -0
- package/esm/development/error/wirestate-error.js +29 -0
- package/esm/development/error/wirestate-error.js.map +1 -0
- package/esm/development/events/build-event-dispatcher.js +39 -0
- package/esm/development/events/build-event-dispatcher.js.map +1 -0
- package/esm/development/events/emit-event.js +20 -0
- package/esm/development/events/emit-event.js.map +1 -0
- package/esm/development/events/event-bus.js +52 -0
- package/esm/development/events/event-bus.js.map +1 -0
- package/esm/development/events/get-event-handler-metadata.js +27 -0
- package/esm/development/events/get-event-handler-metadata.js.map +1 -0
- package/esm/development/events/on-event.js +29 -0
- package/esm/development/events/on-event.js.map +1 -0
- package/esm/development/index.js +28 -0
- package/esm/development/index.js.map +1 -0
- package/esm/development/queries/get-query-handler-metadata.js +27 -0
- package/esm/development/queries/get-query-handler-metadata.js.map +1 -0
- package/esm/development/queries/on-query.js +26 -0
- package/esm/development/queries/on-query.js.map +1 -0
- package/esm/development/queries/query-bus.js +99 -0
- package/esm/development/queries/query-bus.js.map +1 -0
- package/esm/development/queries/query-optional.js +16 -0
- package/esm/development/queries/query-optional.js.map +1 -0
- package/esm/development/queries/query.js +16 -0
- package/esm/development/queries/query.js.map +1 -0
- package/esm/development/registry.js +56 -0
- package/esm/development/registry.js.map +1 -0
- package/esm/development/seeds/apply-seeds.js +21 -0
- package/esm/development/seeds/apply-seeds.js.map +1 -0
- package/esm/development/seeds/apply-shared-seed.js +14 -0
- package/esm/development/seeds/apply-shared-seed.js.map +1 -0
- package/esm/development/seeds/unapply-seeds.js +19 -0
- package/esm/development/seeds/unapply-seeds.js.map +1 -0
- package/esm/development/service/get-activated-handler-metadata.js +27 -0
- package/esm/development/service/get-activated-handler-metadata.js.map +1 -0
- package/esm/development/service/get-deactivation-handler-metadata.js +27 -0
- package/esm/development/service/get-deactivation-handler-metadata.js.map +1 -0
- package/esm/development/service/on-activated.js +21 -0
- package/esm/development/service/on-activated.js.map +1 -0
- package/esm/development/service/on-deactivation.js +21 -0
- package/esm/development/service/on-deactivation.js.map +1 -0
- package/esm/development/test-utils/mock-bind-entry.js +24 -0
- package/esm/development/test-utils/mock-bind-entry.js.map +1 -0
- package/esm/development/test-utils/mock-bind-service.js +24 -0
- package/esm/development/test-utils/mock-bind-service.js.map +1 -0
- package/esm/development/test-utils/mock-container.js +52 -0
- package/esm/development/test-utils/mock-container.js.map +1 -0
- package/esm/development/test-utils/mock-service.js +26 -0
- package/esm/development/test-utils/mock-service.js.map +1 -0
- package/esm/development/test-utils/mock-unbind-service.js +13 -0
- package/esm/development/test-utils/mock-unbind-service.js.map +1 -0
- package/esm/development/test-utils.js +6 -0
- package/esm/development/test-utils.js.map +1 -0
- package/esm/development/types/commands.js +12 -0
- package/esm/development/types/commands.js.map +1 -0
- package/esm/production/alias.js +1 -0
- package/esm/production/alias.js.map +1 -0
- package/esm/production/bind/bind-constant.js +1 -0
- package/esm/production/bind/bind-constant.js.map +1 -0
- package/esm/production/bind/bind-dynamic-value.js +1 -0
- package/esm/production/bind/bind-dynamic-value.js.map +1 -0
- package/esm/production/bind/bind-entry.js +1 -0
- package/esm/production/bind/bind-entry.js.map +1 -0
- package/esm/production/bind/bind-service.js +1 -0
- package/esm/production/bind/bind-service.js.map +1 -0
- package/esm/production/bind/get-entry-token.js +1 -0
- package/esm/production/bind/get-entry-token.js.map +1 -0
- package/esm/production/commands/command-bus.js +1 -0
- package/esm/production/commands/command-bus.js.map +1 -0
- package/esm/production/commands/command-optional.js +1 -0
- package/esm/production/commands/command-optional.js.map +1 -0
- package/esm/production/commands/command.js +1 -0
- package/esm/production/commands/command.js.map +1 -0
- package/esm/production/commands/get-command-handler-metadata.js +1 -0
- package/esm/production/commands/get-command-handler-metadata.js.map +1 -0
- package/esm/production/commands/on-command.js +1 -0
- package/esm/production/commands/on-command.js.map +1 -0
- package/esm/production/container/create-ioc-container.js +1 -0
- package/esm/production/container/create-ioc-container.js.map +1 -0
- package/esm/production/container/wire-scope.js +1 -0
- package/esm/production/container/wire-scope.js.map +1 -0
- package/esm/production/error/error-code.js +1 -0
- package/esm/production/error/error-code.js.map +1 -0
- package/esm/production/error/wirestate-error.js +1 -0
- package/esm/production/error/wirestate-error.js.map +1 -0
- package/esm/production/events/build-event-dispatcher.js +1 -0
- package/esm/production/events/build-event-dispatcher.js.map +1 -0
- package/esm/production/events/emit-event.js +1 -0
- package/esm/production/events/emit-event.js.map +1 -0
- package/esm/production/events/event-bus.js +1 -0
- package/esm/production/events/event-bus.js.map +1 -0
- package/esm/production/events/get-event-handler-metadata.js +1 -0
- package/esm/production/events/get-event-handler-metadata.js.map +1 -0
- package/esm/production/events/on-event.js +1 -0
- package/esm/production/events/on-event.js.map +1 -0
- package/esm/production/index.js +1 -0
- package/esm/production/index.js.map +1 -0
- package/esm/production/queries/get-query-handler-metadata.js +1 -0
- package/esm/production/queries/get-query-handler-metadata.js.map +1 -0
- package/esm/production/queries/on-query.js +1 -0
- package/esm/production/queries/on-query.js.map +1 -0
- package/esm/production/queries/query-bus.js +1 -0
- package/esm/production/queries/query-bus.js.map +1 -0
- package/esm/production/queries/query-optional.js +1 -0
- package/esm/production/queries/query-optional.js.map +1 -0
- package/esm/production/queries/query.js +1 -0
- package/esm/production/queries/query.js.map +1 -0
- package/esm/production/registry.js +1 -0
- package/esm/production/registry.js.map +1 -0
- package/esm/production/seeds/apply-seeds.js +1 -0
- package/esm/production/seeds/apply-seeds.js.map +1 -0
- package/esm/production/seeds/apply-shared-seed.js +1 -0
- package/esm/production/seeds/apply-shared-seed.js.map +1 -0
- package/esm/production/seeds/unapply-seeds.js +1 -0
- package/esm/production/seeds/unapply-seeds.js.map +1 -0
- package/esm/production/service/get-activated-handler-metadata.js +1 -0
- package/esm/production/service/get-activated-handler-metadata.js.map +1 -0
- package/esm/production/service/get-deactivation-handler-metadata.js +1 -0
- package/esm/production/service/get-deactivation-handler-metadata.js.map +1 -0
- package/esm/production/service/on-activated.js +1 -0
- package/esm/production/service/on-activated.js.map +1 -0
- package/esm/production/service/on-deactivation.js +1 -0
- package/esm/production/service/on-deactivation.js.map +1 -0
- package/esm/production/test-utils/mock-bind-entry.js +1 -0
- package/esm/production/test-utils/mock-bind-entry.js.map +1 -0
- package/esm/production/test-utils/mock-bind-service.js +1 -0
- package/esm/production/test-utils/mock-bind-service.js.map +1 -0
- package/esm/production/test-utils/mock-container.js +1 -0
- package/esm/production/test-utils/mock-container.js.map +1 -0
- package/esm/production/test-utils/mock-service.js +1 -0
- package/esm/production/test-utils/mock-service.js.map +1 -0
- package/esm/production/test-utils/mock-unbind-service.js +1 -0
- package/esm/production/test-utils/mock-unbind-service.js.map +1 -0
- package/esm/production/test-utils.js +1 -0
- package/esm/production/test-utils.js.map +1 -0
- package/esm/production/types/commands.js +1 -0
- package/esm/production/types/commands.js.map +1 -0
- package/index.d.ts +566 -0
- package/lib.d.ts +17 -0
- package/package.json +61 -0
- package/test-utils.d.ts +108 -0
package/test-utils.d.ts
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { Container as Container$1, Newable, ServiceIdentifier } from 'inversify';
|
|
2
|
+
import { I as IInjectableDescriptor } from './lib.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Options for {@link mockBindService}.
|
|
6
|
+
*/
|
|
7
|
+
interface IMockBindServiceOptions {
|
|
8
|
+
/**
|
|
9
|
+
* Whether to skip the activation lifecycle for the service.
|
|
10
|
+
* If true, `OnActivated` and `OnDeactivation` hooks will not be triggered.
|
|
11
|
+
*/
|
|
12
|
+
skipLifecycle?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Binds a service class to the IoC container for testing purposes.
|
|
16
|
+
* This utility uses {@link bindService} internally to ensure the service is correctly registered
|
|
17
|
+
* with the appropriate scope and metadata.
|
|
18
|
+
*
|
|
19
|
+
* @param container - the IoC container to bind the service to
|
|
20
|
+
* @param ServiceClass - the service class to bind
|
|
21
|
+
* @param options - optional binding configuration
|
|
22
|
+
* @returns void
|
|
23
|
+
*/
|
|
24
|
+
declare function mockBindService<T extends object>(container: Container$1, ServiceClass: Newable<T>, options?: IMockBindServiceOptions): void;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Options for {@link mockBindEntry}.
|
|
28
|
+
*/
|
|
29
|
+
interface IMockBindEntryOptions {
|
|
30
|
+
/**
|
|
31
|
+
* Whether to skip the activation lifecycle for the entry.
|
|
32
|
+
* If true, `OnActivated` and `OnDeactivation` hooks will not be triggered.
|
|
33
|
+
* Note: This only applies when the entry is a service class or an instance binding.
|
|
34
|
+
*/
|
|
35
|
+
skipLifecycle?: boolean;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Binds a service entry to the IoC container for testing purposes.
|
|
39
|
+
* This utility uses {@link bindEntry} internally.
|
|
40
|
+
* It supports both service classes and injectable descriptors (constants, dynamic values, etc.).
|
|
41
|
+
*
|
|
42
|
+
* @param container - the IoC container to bind the entry to
|
|
43
|
+
* @param entry - the service class or injectable descriptor to bind
|
|
44
|
+
* @param options - optional binding configuration
|
|
45
|
+
* @returns void
|
|
46
|
+
*/
|
|
47
|
+
declare function mockBindEntry<T extends object>(container: Container$1, entry: Newable<T> | IInjectableDescriptor, options?: IMockBindEntryOptions): void;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Unbinds a service from the IoC container.
|
|
51
|
+
* This is useful in tests to reset or override specific service registrations.
|
|
52
|
+
*
|
|
53
|
+
* @param container - the IoC container to unbind the service from
|
|
54
|
+
* @param ServiceClass - the service class to unbind
|
|
55
|
+
*/
|
|
56
|
+
declare function mockUnbindService<T extends object>(container: Container$1, ServiceClass: Newable<T>): void;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Options for {@link mockContainer}.
|
|
60
|
+
*/
|
|
61
|
+
interface IMockContainerOptions {
|
|
62
|
+
/**
|
|
63
|
+
* List of services or injectable descriptors to bind to the container.
|
|
64
|
+
*/
|
|
65
|
+
entries?: Array<Newable<object> | IInjectableDescriptor>;
|
|
66
|
+
/**
|
|
67
|
+
* List of injection identifiers to immediately activate after binding.
|
|
68
|
+
* All identifiers must correspond to entries provided in the `services` list.
|
|
69
|
+
*/
|
|
70
|
+
activate?: Array<ServiceIdentifier>;
|
|
71
|
+
/**
|
|
72
|
+
* Whether to skip the activation lifecycle for all bound services.
|
|
73
|
+
* If true, `OnActivated` and `OnDeactivation` hooks will not be triggered.
|
|
74
|
+
*/
|
|
75
|
+
skipLifecycle?: boolean;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Creates and configures a mock IoC container for testing.
|
|
79
|
+
* This utility initializes a new container and binds the provided services or descriptors using {@link mockBindEntry}.
|
|
80
|
+
* It also supports optional immediate activation of services.
|
|
81
|
+
*
|
|
82
|
+
* @param options - configuration options for the mock container
|
|
83
|
+
* @returns a configured InversifyJS {@link Container}
|
|
84
|
+
*
|
|
85
|
+
* @throws {WirestateError} if an identifier in `activate` is not found in `services`
|
|
86
|
+
*/
|
|
87
|
+
declare function mockContainer(options?: IMockContainerOptions): Container$1;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Options for {@link mockService}.
|
|
91
|
+
*/
|
|
92
|
+
interface IMockServiceOptions {
|
|
93
|
+
/**
|
|
94
|
+
* If true, skips the lifecycle hooks (e.g., OnActivated) during service binding and instantiation.
|
|
95
|
+
*/
|
|
96
|
+
skipLifecycle?: boolean;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Mocks a service by binding it to an IoC container and returning its instance.
|
|
100
|
+
*
|
|
101
|
+
* @param service - the service class to mock
|
|
102
|
+
* @param container - the IoC container to use, defaults to a new {@link mockContainer}
|
|
103
|
+
* @param options - additional options for mocking
|
|
104
|
+
* @returns the instantiated service instance
|
|
105
|
+
*/
|
|
106
|
+
declare function mockService<T extends object>(service: Newable<T>, container?: Container, options?: IMockServiceOptions): T;
|
|
107
|
+
|
|
108
|
+
export { mockBindEntry, mockBindService, mockContainer, mockService, mockUnbindService };
|