@blac/core 2.0.0-rc.1 → 2.0.0-rc.11
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/dist/index.cjs +2100 -38
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1298 -0
- package/dist/index.d.ts +1298 -17
- package/dist/index.js +2028 -37
- package/dist/index.js.map +1 -1
- package/package.json +35 -13
- package/dist/.tsbuildinfo +0 -1
- package/dist/Blac.d.ts +0 -246
- package/dist/Blac.d.ts.map +0 -1
- package/dist/Blac.js +0 -624
- package/dist/Blac.js.map +0 -1
- package/dist/Bloc.d.ts +0 -41
- package/dist/Bloc.d.ts.map +0 -1
- package/dist/Bloc.js +0 -140
- package/dist/Bloc.js.map +0 -1
- package/dist/BlocBase.d.ts +0 -110
- package/dist/BlocBase.d.ts.map +0 -1
- package/dist/BlocBase.js +0 -287
- package/dist/BlocBase.js.map +0 -1
- package/dist/Cubit.d.ts +0 -25
- package/dist/Cubit.d.ts.map +0 -1
- package/dist/Cubit.js +0 -64
- package/dist/Cubit.js.map +0 -1
- package/dist/adapter/BlacAdapter.d.ts +0 -67
- package/dist/adapter/BlacAdapter.d.ts.map +0 -1
- package/dist/adapter/BlacAdapter.js +0 -263
- package/dist/adapter/BlacAdapter.js.map +0 -1
- package/dist/adapter/ProxyFactory.d.ts +0 -50
- package/dist/adapter/ProxyFactory.d.ts.map +0 -1
- package/dist/adapter/ProxyFactory.js +0 -150
- package/dist/adapter/ProxyFactory.js.map +0 -1
- package/dist/adapter/index.d.ts +0 -3
- package/dist/adapter/index.d.ts.map +0 -1
- package/dist/adapter/index.js +0 -19
- package/dist/adapter/index.js.map +0 -1
- package/dist/errors/BlacError.d.ts +0 -38
- package/dist/errors/BlacError.d.ts.map +0 -1
- package/dist/errors/BlacError.js +0 -55
- package/dist/errors/BlacError.js.map +0 -1
- package/dist/errors/ErrorManager.d.ts +0 -39
- package/dist/errors/ErrorManager.d.ts.map +0 -1
- package/dist/errors/ErrorManager.js +0 -91
- package/dist/errors/ErrorManager.js.map +0 -1
- package/dist/errors/handleError.d.ts +0 -24
- package/dist/errors/handleError.d.ts.map +0 -1
- package/dist/errors/handleError.js +0 -62
- package/dist/errors/handleError.js.map +0 -1
- package/dist/errors/index.d.ts +0 -5
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js +0 -13
- package/dist/errors/index.js.map +0 -1
- package/dist/events.d.ts +0 -11
- package/dist/events.d.ts.map +0 -1
- package/dist/events.js +0 -17
- package/dist/events.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/lifecycle/BlocLifecycle.d.ts +0 -51
- package/dist/lifecycle/BlocLifecycle.d.ts.map +0 -1
- package/dist/lifecycle/BlocLifecycle.js +0 -123
- package/dist/lifecycle/BlocLifecycle.js.map +0 -1
- package/dist/lifecycle/index.d.ts +0 -2
- package/dist/lifecycle/index.d.ts.map +0 -1
- package/dist/lifecycle/index.js +0 -18
- package/dist/lifecycle/index.js.map +0 -1
- package/dist/plugins/BlocPluginRegistry.d.ts +0 -58
- package/dist/plugins/BlocPluginRegistry.d.ts.map +0 -1
- package/dist/plugins/BlocPluginRegistry.js +0 -201
- package/dist/plugins/BlocPluginRegistry.js.map +0 -1
- package/dist/plugins/SystemPluginRegistry.d.ts +0 -79
- package/dist/plugins/SystemPluginRegistry.d.ts.map +0 -1
- package/dist/plugins/SystemPluginRegistry.js +0 -184
- package/dist/plugins/SystemPluginRegistry.js.map +0 -1
- package/dist/plugins/index.d.ts +0 -4
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/index.js +0 -26
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/types.d.ts +0 -103
- package/dist/plugins/types.d.ts.map +0 -1
- package/dist/plugins/types.js +0 -3
- package/dist/plugins/types.js.map +0 -1
- package/dist/subscription/SubscriptionManager.d.ts +0 -67
- package/dist/subscription/SubscriptionManager.d.ts.map +0 -1
- package/dist/subscription/SubscriptionManager.js +0 -317
- package/dist/subscription/SubscriptionManager.js.map +0 -1
- package/dist/subscription/index.d.ts +0 -3
- package/dist/subscription/index.d.ts.map +0 -1
- package/dist/subscription/index.js +0 -19
- package/dist/subscription/index.js.map +0 -1
- package/dist/subscription/types.d.ts +0 -65
- package/dist/subscription/types.d.ts.map +0 -1
- package/dist/subscription/types.js +0 -3
- package/dist/subscription/types.js.map +0 -1
- package/dist/testing.d.ts +0 -33
- package/dist/testing.d.ts.map +0 -1
- package/dist/testing.js +0 -68
- package/dist/testing.js.map +0 -1
- package/dist/types.d.ts +0 -57
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/utils/BatchingManager.d.ts +0 -28
- package/dist/utils/BatchingManager.d.ts.map +0 -1
- package/dist/utils/BatchingManager.js +0 -48
- package/dist/utils/BatchingManager.js.map +0 -1
- package/dist/utils/RerenderLogger.d.ts +0 -60
- package/dist/utils/RerenderLogger.d.ts.map +0 -1
- package/dist/utils/RerenderLogger.js +0 -205
- package/dist/utils/RerenderLogger.js.map +0 -1
- package/dist/utils/generateInstanceId.d.ts +0 -11
- package/dist/utils/generateInstanceId.d.ts.map +0 -1
- package/dist/utils/generateInstanceId.js +0 -50
- package/dist/utils/generateInstanceId.js.map +0 -1
- package/dist/utils/shallowEqual.d.ts +0 -9
- package/dist/utils/shallowEqual.d.ts.map +0 -1
- package/dist/utils/shallowEqual.js +0 -35
- package/dist/utils/shallowEqual.js.map +0 -1
- package/dist/utils/uuid.d.ts +0 -10
- package/dist/utils/uuid.d.ts.map +0 -1
- package/dist/utils/uuid.js +0 -24
- package/dist/utils/uuid.js.map +0 -1
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { BlocPlugin, PluginRegistry, ErrorContext } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* Registry for bloc-specific plugins
|
|
4
|
-
*/
|
|
5
|
-
export declare class BlocPluginRegistry<TState, TEvent = never> implements PluginRegistry<BlocPlugin<TState, TEvent>> {
|
|
6
|
-
private plugins;
|
|
7
|
-
private executionOrder;
|
|
8
|
-
private attached;
|
|
9
|
-
/**
|
|
10
|
-
* Add a bloc plugin
|
|
11
|
-
*/
|
|
12
|
-
add(plugin: BlocPlugin<TState, TEvent>): void;
|
|
13
|
-
/**
|
|
14
|
-
* Remove a bloc plugin
|
|
15
|
-
*/
|
|
16
|
-
remove(pluginName: string): boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Get a plugin by name
|
|
19
|
-
*/
|
|
20
|
-
get(pluginName: string): BlocPlugin<TState, TEvent> | undefined;
|
|
21
|
-
/**
|
|
22
|
-
* Get all plugins in execution order
|
|
23
|
-
*/
|
|
24
|
-
getAll(): ReadonlyArray<BlocPlugin<TState, TEvent>>;
|
|
25
|
-
/**
|
|
26
|
-
* Clear all plugins
|
|
27
|
-
*/
|
|
28
|
-
clear(): void;
|
|
29
|
-
/**
|
|
30
|
-
* Attach all plugins to a bloc
|
|
31
|
-
*/
|
|
32
|
-
attach(bloc: any): void;
|
|
33
|
-
/**
|
|
34
|
-
* Transform state through all plugins
|
|
35
|
-
*/
|
|
36
|
-
transformState(previousState: TState, nextState: TState): TState;
|
|
37
|
-
/**
|
|
38
|
-
* Transform event through all plugins
|
|
39
|
-
*/
|
|
40
|
-
transformEvent(event: TEvent): TEvent | null;
|
|
41
|
-
/**
|
|
42
|
-
* Notify plugins of state change
|
|
43
|
-
*/
|
|
44
|
-
notifyStateChange(previousState: TState, currentState: TState): void;
|
|
45
|
-
/**
|
|
46
|
-
* Notify plugins of event
|
|
47
|
-
*/
|
|
48
|
-
notifyEvent(event: TEvent): void;
|
|
49
|
-
/**
|
|
50
|
-
* Notify plugins of error
|
|
51
|
-
*/
|
|
52
|
-
notifyError(error: Error, context: ErrorContext): void;
|
|
53
|
-
private validateCapabilities;
|
|
54
|
-
private canReadState;
|
|
55
|
-
private canTransformState;
|
|
56
|
-
private canInterceptEvents;
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=BlocPluginRegistry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BlocPluginRegistry.d.ts","sourceRoot":"","sources":["../../src/plugins/BlocPluginRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAInE;;GAEG;AACH,qBAAa,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CACpD,YAAW,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAErD,OAAO,CAAC,OAAO,CAAiD;IAChE,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAS;IAEzB;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAc7C;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAoBnC;;OAEG;IACH,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IAI/D;;OAEG;IACH,MAAM,IAAI,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAInD;;OAEG;IACH,KAAK,IAAI,IAAI;IAkBb;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAoBvB;;OAEG;IACH,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAuBhE;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAsB5C;;OAEG;IACH,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAepE;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAYhC;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAYtD,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,kBAAkB;CAG3B"}
|
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BlocPluginRegistry = void 0;
|
|
4
|
-
const handleError_1 = require("../errors/handleError");
|
|
5
|
-
const BlacError_1 = require("../errors/BlacError");
|
|
6
|
-
/**
|
|
7
|
-
* Registry for bloc-specific plugins
|
|
8
|
-
*/
|
|
9
|
-
class BlocPluginRegistry {
|
|
10
|
-
plugins = new Map();
|
|
11
|
-
executionOrder = [];
|
|
12
|
-
attached = false;
|
|
13
|
-
/**
|
|
14
|
-
* Add a bloc plugin
|
|
15
|
-
*/
|
|
16
|
-
add(plugin) {
|
|
17
|
-
if (this.plugins.has(plugin.name)) {
|
|
18
|
-
throw new Error(`Plugin '${plugin.name}' is already registered`);
|
|
19
|
-
}
|
|
20
|
-
// Validate capabilities
|
|
21
|
-
if (plugin.capabilities) {
|
|
22
|
-
this.validateCapabilities(plugin);
|
|
23
|
-
}
|
|
24
|
-
this.plugins.set(plugin.name, plugin);
|
|
25
|
-
this.executionOrder.push(plugin.name);
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Remove a bloc plugin
|
|
29
|
-
*/
|
|
30
|
-
remove(pluginName) {
|
|
31
|
-
const plugin = this.plugins.get(pluginName);
|
|
32
|
-
if (!plugin)
|
|
33
|
-
return false;
|
|
34
|
-
// Call onDetach if attached
|
|
35
|
-
if (this.attached && plugin.onDetach) {
|
|
36
|
-
handleError_1.handleError.wrap(() => plugin.onDetach(), BlacError_1.ErrorCategory.PLUGIN, {
|
|
37
|
-
pluginName,
|
|
38
|
-
operation: 'onDetach',
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
this.plugins.delete(pluginName);
|
|
42
|
-
this.executionOrder = this.executionOrder.filter((name) => name !== pluginName);
|
|
43
|
-
return true;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Get a plugin by name
|
|
47
|
-
*/
|
|
48
|
-
get(pluginName) {
|
|
49
|
-
return this.plugins.get(pluginName);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Get all plugins in execution order
|
|
53
|
-
*/
|
|
54
|
-
getAll() {
|
|
55
|
-
return this.executionOrder.map((name) => this.plugins.get(name));
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Clear all plugins
|
|
59
|
-
*/
|
|
60
|
-
clear() {
|
|
61
|
-
// Detach all plugins first
|
|
62
|
-
if (this.attached) {
|
|
63
|
-
for (const plugin of this.getAll()) {
|
|
64
|
-
if (plugin.onDetach) {
|
|
65
|
-
handleError_1.handleError.wrap(() => plugin.onDetach(), BlacError_1.ErrorCategory.PLUGIN, {
|
|
66
|
-
pluginName: plugin.name,
|
|
67
|
-
operation: 'onDetach',
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
this.plugins.clear();
|
|
73
|
-
this.executionOrder = [];
|
|
74
|
-
this.attached = false;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Attach all plugins to a bloc
|
|
78
|
-
*/
|
|
79
|
-
attach(bloc) {
|
|
80
|
-
if (this.attached) {
|
|
81
|
-
throw new Error('Plugins are already attached');
|
|
82
|
-
}
|
|
83
|
-
for (const plugin of this.getAll()) {
|
|
84
|
-
if (plugin.onAttach) {
|
|
85
|
-
try {
|
|
86
|
-
plugin.onAttach(bloc);
|
|
87
|
-
}
|
|
88
|
-
catch (error) {
|
|
89
|
-
console.error(`Plugin '${plugin.name}' error in onAttach:`, error);
|
|
90
|
-
// Remove failing plugin
|
|
91
|
-
this.remove(plugin.name);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
this.attached = true;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Transform state through all plugins
|
|
99
|
-
*/
|
|
100
|
-
transformState(previousState, nextState) {
|
|
101
|
-
let transformedState = nextState;
|
|
102
|
-
for (const plugin of this.getAll()) {
|
|
103
|
-
if (plugin.transformState && this.canTransformState(plugin)) {
|
|
104
|
-
try {
|
|
105
|
-
transformedState = plugin.transformState(previousState, transformedState);
|
|
106
|
-
}
|
|
107
|
-
catch (error) {
|
|
108
|
-
console.error(`Plugin '${plugin.name}' error in transformState:`, error);
|
|
109
|
-
// Continue with untransformed state
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
return transformedState;
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Transform event through all plugins
|
|
117
|
-
*/
|
|
118
|
-
transformEvent(event) {
|
|
119
|
-
let transformedEvent = event;
|
|
120
|
-
for (const plugin of this.getAll()) {
|
|
121
|
-
if (transformedEvent === null)
|
|
122
|
-
break;
|
|
123
|
-
if (plugin.transformEvent && this.canInterceptEvents(plugin)) {
|
|
124
|
-
try {
|
|
125
|
-
transformedEvent = plugin.transformEvent(transformedEvent);
|
|
126
|
-
}
|
|
127
|
-
catch (error) {
|
|
128
|
-
console.error(`Plugin '${plugin.name}' error in transformEvent:`, error);
|
|
129
|
-
// Continue with untransformed event
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
return transformedEvent;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Notify plugins of state change
|
|
137
|
-
*/
|
|
138
|
-
notifyStateChange(previousState, currentState) {
|
|
139
|
-
for (const plugin of this.getAll()) {
|
|
140
|
-
if (plugin.onStateChange && this.canReadState(plugin)) {
|
|
141
|
-
try {
|
|
142
|
-
plugin.onStateChange(previousState, currentState);
|
|
143
|
-
}
|
|
144
|
-
catch (error) {
|
|
145
|
-
console.error(`Plugin '${plugin.name}' error in onStateChange:`, error);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Notify plugins of event
|
|
152
|
-
*/
|
|
153
|
-
notifyEvent(event) {
|
|
154
|
-
for (const plugin of this.getAll()) {
|
|
155
|
-
if (plugin.onEvent && this.canReadState(plugin)) {
|
|
156
|
-
try {
|
|
157
|
-
plugin.onEvent(event);
|
|
158
|
-
}
|
|
159
|
-
catch (error) {
|
|
160
|
-
console.error(`Plugin '${plugin.name}' error in onEvent:`, error);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Notify plugins of error
|
|
167
|
-
*/
|
|
168
|
-
notifyError(error, context) {
|
|
169
|
-
for (const plugin of this.getAll()) {
|
|
170
|
-
if (plugin.onError) {
|
|
171
|
-
try {
|
|
172
|
-
plugin.onError(error, context);
|
|
173
|
-
}
|
|
174
|
-
catch (hookError) {
|
|
175
|
-
console.error(`Plugin '${plugin.name}' error in onError:`, hookError);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
validateCapabilities(plugin) {
|
|
181
|
-
const caps = plugin.capabilities;
|
|
182
|
-
// Validate logical constraints
|
|
183
|
-
if (caps.transformState && !caps.readState) {
|
|
184
|
-
throw new Error(`Plugin '${plugin.name}': transformState requires readState capability`);
|
|
185
|
-
}
|
|
186
|
-
if (caps.interceptEvents && !caps.readState) {
|
|
187
|
-
throw new Error(`Plugin '${plugin.name}': interceptEvents requires readState capability`);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
canReadState(plugin) {
|
|
191
|
-
return !plugin.capabilities || plugin.capabilities.readState !== false;
|
|
192
|
-
}
|
|
193
|
-
canTransformState(plugin) {
|
|
194
|
-
return !plugin.capabilities || plugin.capabilities.transformState === true;
|
|
195
|
-
}
|
|
196
|
-
canInterceptEvents(plugin) {
|
|
197
|
-
return !plugin.capabilities || plugin.capabilities.interceptEvents === true;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
exports.BlocPluginRegistry = BlocPluginRegistry;
|
|
201
|
-
//# sourceMappingURL=BlocPluginRegistry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BlocPluginRegistry.js","sourceRoot":"","sources":["../../src/plugins/BlocPluginRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { BlacPlugin, PluginRegistry, PluginMetrics, ErrorContext, AdapterMetadata } from './types';
|
|
2
|
-
import { BlocBase } from '../BlocBase';
|
|
3
|
-
import { Bloc } from '../Bloc';
|
|
4
|
-
/**
|
|
5
|
-
* Registry for system-wide plugins
|
|
6
|
-
*/
|
|
7
|
-
export declare class SystemPluginRegistry implements PluginRegistry<BlacPlugin> {
|
|
8
|
-
private plugins;
|
|
9
|
-
private metrics;
|
|
10
|
-
private executionOrder;
|
|
11
|
-
/**
|
|
12
|
-
* Add a system plugin
|
|
13
|
-
*/
|
|
14
|
-
add(plugin: BlacPlugin): void;
|
|
15
|
-
/**
|
|
16
|
-
* Remove a system plugin
|
|
17
|
-
*/
|
|
18
|
-
remove(pluginName: string): boolean;
|
|
19
|
-
/**
|
|
20
|
-
* Get a plugin by name
|
|
21
|
-
*/
|
|
22
|
-
get(pluginName: string): BlacPlugin | undefined;
|
|
23
|
-
/**
|
|
24
|
-
* Get all plugins in execution order
|
|
25
|
-
*/
|
|
26
|
-
getAll(): ReadonlyArray<BlacPlugin>;
|
|
27
|
-
/**
|
|
28
|
-
* Clear all plugins
|
|
29
|
-
*/
|
|
30
|
-
clear(): void;
|
|
31
|
-
/**
|
|
32
|
-
* Execute a hook on all plugins
|
|
33
|
-
*/
|
|
34
|
-
executeHook(hookName: keyof BlacPlugin, args: unknown[], errorHandler?: (error: Error, plugin: BlacPlugin) => void): void;
|
|
35
|
-
/**
|
|
36
|
-
* Bootstrap all plugins
|
|
37
|
-
*/
|
|
38
|
-
bootstrap(): void;
|
|
39
|
-
/**
|
|
40
|
-
* Shutdown all plugins
|
|
41
|
-
*/
|
|
42
|
-
shutdown(): void;
|
|
43
|
-
/**
|
|
44
|
-
* Notify plugins of bloc creation
|
|
45
|
-
*/
|
|
46
|
-
notifyBlocCreated(bloc: BlocBase<any>): void;
|
|
47
|
-
/**
|
|
48
|
-
* Notify plugins of bloc disposal
|
|
49
|
-
*/
|
|
50
|
-
notifyBlocDisposed(bloc: BlocBase<any>): void;
|
|
51
|
-
/**
|
|
52
|
-
* Notify plugins of state change
|
|
53
|
-
*/
|
|
54
|
-
notifyStateChanged(bloc: BlocBase<any>, previousState: any, currentState: any): void;
|
|
55
|
-
/**
|
|
56
|
-
* Notify plugins of event addition
|
|
57
|
-
*/
|
|
58
|
-
notifyEventAdded(bloc: Bloc<any, any>, event: any): void;
|
|
59
|
-
/**
|
|
60
|
-
* Notify plugins of errors
|
|
61
|
-
*/
|
|
62
|
-
notifyError(error: Error, bloc: BlocBase<unknown>, context: ErrorContext): void;
|
|
63
|
-
/**
|
|
64
|
-
* Notify plugins of adapter lifecycle events
|
|
65
|
-
*/
|
|
66
|
-
notifyAdapterCreated(adapter: any, metadata: AdapterMetadata): void;
|
|
67
|
-
notifyAdapterMount(adapter: any, metadata: AdapterMetadata): void;
|
|
68
|
-
notifyAdapterUnmount(adapter: any, metadata: AdapterMetadata): void;
|
|
69
|
-
notifyAdapterRender(adapter: any, metadata: AdapterMetadata): void;
|
|
70
|
-
notifyAdapterDisposed(adapter: any, metadata: AdapterMetadata): void;
|
|
71
|
-
/**
|
|
72
|
-
* Get metrics for a plugin
|
|
73
|
-
*/
|
|
74
|
-
getMetrics(pluginName: string): Map<string, PluginMetrics> | undefined;
|
|
75
|
-
private initializeMetrics;
|
|
76
|
-
private recordSuccess;
|
|
77
|
-
private recordError;
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=SystemPluginRegistry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SystemPluginRegistry.d.ts","sourceRoot":"","sources":["../../src/plugins/SystemPluginRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B;;GAEG;AACH,qBAAa,oBAAqB,YAAW,cAAc,CAAC,UAAU,CAAC;IACrE,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,OAAO,CAAiD;IAChE,OAAO,CAAC,cAAc,CAAgB;IAEtC;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAU7B;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAanC;;OAEG;IACH,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI/C;;OAEG;IACH,MAAM,IAAI,aAAa,CAAC,UAAU,CAAC;IAInC;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,WAAW,CACT,QAAQ,EAAE,MAAM,UAAU,EAC1B,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,GACxD,IAAI;IA4BP;;OAEG;IACH,SAAS,IAAI,IAAI;IAKjB;;OAEG;IACH,QAAQ,IAAI,IAAI;IAKhB;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI;IAI5C;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI;IAI7C;;OAEG;IACH,kBAAkB,CAChB,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,EACnB,aAAa,EAAE,GAAG,EAClB,YAAY,EAAE,GAAG,GAChB,IAAI;IAIP;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAIxD;;OAEG;IACH,WAAW,CACT,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EACvB,OAAO,EAAE,YAAY,GACpB,IAAI;IAOP;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAInE,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIjE,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAInE,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIlE,qBAAqB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIpE;;OAEG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,SAAS;IAItE,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,WAAW;CAkBpB"}
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SystemPluginRegistry = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Registry for system-wide plugins
|
|
6
|
-
*/
|
|
7
|
-
class SystemPluginRegistry {
|
|
8
|
-
plugins = new Map();
|
|
9
|
-
metrics = new Map();
|
|
10
|
-
executionOrder = [];
|
|
11
|
-
/**
|
|
12
|
-
* Add a system plugin
|
|
13
|
-
*/
|
|
14
|
-
add(plugin) {
|
|
15
|
-
if (this.plugins.has(plugin.name)) {
|
|
16
|
-
throw new Error(`Plugin '${plugin.name}' is already registered`);
|
|
17
|
-
}
|
|
18
|
-
this.plugins.set(plugin.name, plugin);
|
|
19
|
-
this.executionOrder.push(plugin.name);
|
|
20
|
-
this.initializeMetrics(plugin.name);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Remove a system plugin
|
|
24
|
-
*/
|
|
25
|
-
remove(pluginName) {
|
|
26
|
-
const plugin = this.plugins.get(pluginName);
|
|
27
|
-
if (!plugin)
|
|
28
|
-
return false;
|
|
29
|
-
this.plugins.delete(pluginName);
|
|
30
|
-
this.metrics.delete(pluginName);
|
|
31
|
-
this.executionOrder = this.executionOrder.filter((name) => name !== pluginName);
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Get a plugin by name
|
|
36
|
-
*/
|
|
37
|
-
get(pluginName) {
|
|
38
|
-
return this.plugins.get(pluginName);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Get all plugins in execution order
|
|
42
|
-
*/
|
|
43
|
-
getAll() {
|
|
44
|
-
return this.executionOrder.map((name) => this.plugins.get(name));
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Clear all plugins
|
|
48
|
-
*/
|
|
49
|
-
clear() {
|
|
50
|
-
this.plugins.clear();
|
|
51
|
-
this.metrics.clear();
|
|
52
|
-
this.executionOrder = [];
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Execute a hook on all plugins
|
|
56
|
-
*/
|
|
57
|
-
executeHook(hookName, args, errorHandler) {
|
|
58
|
-
for (const pluginName of this.executionOrder) {
|
|
59
|
-
const plugin = this.plugins.get(pluginName);
|
|
60
|
-
const hook = plugin[hookName];
|
|
61
|
-
if (typeof hook !== 'function')
|
|
62
|
-
continue;
|
|
63
|
-
const startTime = performance.now();
|
|
64
|
-
try {
|
|
65
|
-
hook.apply(plugin, args);
|
|
66
|
-
this.recordSuccess(pluginName, hookName, startTime);
|
|
67
|
-
}
|
|
68
|
-
catch (error) {
|
|
69
|
-
this.recordError(pluginName, hookName, error);
|
|
70
|
-
if (errorHandler) {
|
|
71
|
-
errorHandler(error, plugin);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
// Default: log and continue
|
|
75
|
-
console.error(`Plugin '${pluginName}' error in hook '${hookName}':`, error);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Bootstrap all plugins
|
|
82
|
-
*/
|
|
83
|
-
bootstrap() {
|
|
84
|
-
this.executeHook('beforeBootstrap', []);
|
|
85
|
-
this.executeHook('afterBootstrap', []);
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Shutdown all plugins
|
|
89
|
-
*/
|
|
90
|
-
shutdown() {
|
|
91
|
-
this.executeHook('beforeShutdown', []);
|
|
92
|
-
this.executeHook('afterShutdown', []);
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Notify plugins of bloc creation
|
|
96
|
-
*/
|
|
97
|
-
notifyBlocCreated(bloc) {
|
|
98
|
-
this.executeHook('onBlocCreated', [bloc]);
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Notify plugins of bloc disposal
|
|
102
|
-
*/
|
|
103
|
-
notifyBlocDisposed(bloc) {
|
|
104
|
-
this.executeHook('onBlocDisposed', [bloc]);
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Notify plugins of state change
|
|
108
|
-
*/
|
|
109
|
-
notifyStateChanged(bloc, previousState, currentState) {
|
|
110
|
-
this.executeHook('onStateChanged', [bloc, previousState, currentState]);
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Notify plugins of event addition
|
|
114
|
-
*/
|
|
115
|
-
notifyEventAdded(bloc, event) {
|
|
116
|
-
this.executeHook('onEventAdded', [bloc, event]);
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Notify plugins of errors
|
|
120
|
-
*/
|
|
121
|
-
notifyError(error, bloc, context) {
|
|
122
|
-
this.executeHook('onError', [error, bloc, context], (hookError, plugin) => {
|
|
123
|
-
// Double fault protection - if error handler fails, just log
|
|
124
|
-
console.error(`Plugin '${plugin.name}' error handler failed:`, hookError);
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Notify plugins of adapter lifecycle events
|
|
129
|
-
*/
|
|
130
|
-
notifyAdapterCreated(adapter, metadata) {
|
|
131
|
-
this.executeHook('onAdapterCreated', [adapter, metadata]);
|
|
132
|
-
}
|
|
133
|
-
notifyAdapterMount(adapter, metadata) {
|
|
134
|
-
this.executeHook('onAdapterMount', [adapter, metadata]);
|
|
135
|
-
}
|
|
136
|
-
notifyAdapterUnmount(adapter, metadata) {
|
|
137
|
-
this.executeHook('onAdapterUnmount', [adapter, metadata]);
|
|
138
|
-
}
|
|
139
|
-
notifyAdapterRender(adapter, metadata) {
|
|
140
|
-
this.executeHook('onAdapterRender', [adapter, metadata]);
|
|
141
|
-
}
|
|
142
|
-
notifyAdapterDisposed(adapter, metadata) {
|
|
143
|
-
this.executeHook('onAdapterDisposed', [adapter, metadata]);
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Get metrics for a plugin
|
|
147
|
-
*/
|
|
148
|
-
getMetrics(pluginName) {
|
|
149
|
-
return this.metrics.get(pluginName);
|
|
150
|
-
}
|
|
151
|
-
initializeMetrics(pluginName) {
|
|
152
|
-
this.metrics.set(pluginName, new Map());
|
|
153
|
-
}
|
|
154
|
-
recordSuccess(pluginName, hookName, startTime) {
|
|
155
|
-
const pluginMetrics = this.metrics.get(pluginName);
|
|
156
|
-
const hookMetrics = pluginMetrics.get(hookName) || {
|
|
157
|
-
executionTime: 0,
|
|
158
|
-
executionCount: 0,
|
|
159
|
-
errorCount: 0,
|
|
160
|
-
};
|
|
161
|
-
const executionTime = performance.now() - startTime;
|
|
162
|
-
pluginMetrics.set(hookName, {
|
|
163
|
-
...hookMetrics,
|
|
164
|
-
executionTime: hookMetrics.executionTime + executionTime,
|
|
165
|
-
executionCount: hookMetrics.executionCount + 1,
|
|
166
|
-
lastExecutionTime: executionTime,
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
recordError(pluginName, hookName, error) {
|
|
170
|
-
const pluginMetrics = this.metrics.get(pluginName);
|
|
171
|
-
const hookMetrics = pluginMetrics.get(hookName) || {
|
|
172
|
-
executionTime: 0,
|
|
173
|
-
executionCount: 0,
|
|
174
|
-
errorCount: 0,
|
|
175
|
-
};
|
|
176
|
-
pluginMetrics.set(hookName, {
|
|
177
|
-
...hookMetrics,
|
|
178
|
-
errorCount: hookMetrics.errorCount + 1,
|
|
179
|
-
lastError: error,
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
exports.SystemPluginRegistry = SystemPluginRegistry;
|
|
184
|
-
//# sourceMappingURL=SystemPluginRegistry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SystemPluginRegistry.js","sourceRoot":"","sources":["../../src/plugins/SystemPluginRegistry.ts"],"names":[],"mappings":";;;AAUA;;GAEG;AACH,MAAa,oBAAoB;IACvB,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IACxC,OAAO,GAAG,IAAI,GAAG,EAAsC,CAAC;IACxD,cAAc,GAAa,EAAE,CAAC;IAEtC;;OAEG;IACH,GAAG,CAAC,MAAkB;QACpB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,CAAC,IAAI,yBAAyB,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAkB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAC9C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,CAC9B,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,UAAkB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,WAAW,CACT,QAA0B,EAC1B,IAAe,EACf,YAAyD;QAEzD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAA0C,CAAC;YAEvE,IAAI,OAAO,IAAI,KAAK,UAAU;gBAAE,SAAS;YAEzC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAEpC,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,QAAkB,EAAE,SAAS,CAAC,CAAC;YAChE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,QAAkB,EAAE,KAAc,CAAC,CAAC;gBAEjE,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,KAAc,EAAE,MAAM,CAAC,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACN,4BAA4B;oBAC5B,OAAO,CAAC,KAAK,CACX,WAAW,UAAU,oBAAoB,QAAkB,IAAI,EAC/D,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,IAAmB;QACnC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,IAAmB;QACpC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,kBAAkB,CAChB,IAAmB,EACnB,aAAkB,EAClB,YAAiB;QAEjB,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,IAAoB,EAAE,KAAU;QAC/C,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,WAAW,CACT,KAAY,EACZ,IAAuB,EACvB,OAAqB;QAErB,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;YACxE,6DAA6D;YAC7D,OAAO,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,IAAI,yBAAyB,EAAE,SAAS,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,OAAY,EAAE,QAAyB;QAC1D,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,kBAAkB,CAAC,OAAY,EAAE,QAAyB;QACxD,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,oBAAoB,CAAC,OAAY,EAAE,QAAyB;QAC1D,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,mBAAmB,CAAC,OAAY,EAAE,QAAyB;QACzD,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,qBAAqB,CAAC,OAAY,EAAE,QAAyB;QAC3D,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,UAAkB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAEO,iBAAiB,CAAC,UAAkB;QAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;IAEO,aAAa,CACnB,UAAkB,EAClB,QAAgB,EAChB,SAAiB;QAEjB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;QACpD,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI;YACjD,aAAa,EAAE,CAAC;YAChB,cAAc,EAAE,CAAC;YACjB,UAAU,EAAE,CAAC;SACd,CAAC;QAEF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAEpD,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC1B,GAAG,WAAW;YACd,aAAa,EAAE,WAAW,CAAC,aAAa,GAAG,aAAa;YACxD,cAAc,EAAE,WAAW,CAAC,cAAc,GAAG,CAAC;YAC9C,iBAAiB,EAAE,aAAa;SACjC,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CACjB,UAAkB,EAClB,QAAgB,EAChB,KAAY;QAEZ,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;QACpD,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI;YACjD,aAAa,EAAE,CAAC;YAChB,cAAc,EAAE,CAAC;YACjB,UAAU,EAAE,CAAC;SACd,CAAC;QAEF,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC1B,GAAG,WAAW;YACd,UAAU,EAAE,WAAW,CAAC,UAAU,GAAG,CAAC;YACtC,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;CACF;AApOD,oDAoOC"}
|
package/dist/plugins/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/plugins/index.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.BlocPluginRegistry = exports.SystemPluginRegistry = void 0;
|
|
18
|
-
// Core types
|
|
19
|
-
__exportStar(require("./types"), exports);
|
|
20
|
-
// System plugins
|
|
21
|
-
var SystemPluginRegistry_1 = require("./SystemPluginRegistry");
|
|
22
|
-
Object.defineProperty(exports, "SystemPluginRegistry", { enumerable: true, get: function () { return SystemPluginRegistry_1.SystemPluginRegistry; } });
|
|
23
|
-
// Bloc plugins
|
|
24
|
-
var BlocPluginRegistry_1 = require("./BlocPluginRegistry");
|
|
25
|
-
Object.defineProperty(exports, "BlocPluginRegistry", { enumerable: true, get: function () { return BlocPluginRegistry_1.BlocPluginRegistry; } });
|
|
26
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,aAAa;AACb,0CAAwB;AAExB,iBAAiB;AACjB,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAE7B,eAAe;AACf,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA"}
|