@blac/core 2.0.0-rc.0 → 2.0.0-rc.10
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/adapter/framework-adapter.d.ts +33 -0
- package/dist/adapter/index.d.ts +7 -2
- package/dist/constants.d.ts +82 -0
- package/dist/core/Cubit.d.ts +40 -0
- package/dist/core/StateContainer.d.ts +78 -0
- package/dist/core/StateContainerRegistry.d.ts +119 -0
- package/dist/core/Vertex.d.ts +74 -0
- package/dist/decorators/blac.d.ts +31 -0
- package/dist/decorators/index.d.ts +2 -0
- package/dist/index.cjs +1870 -38
- package/dist/index.d.cts +21 -0
- package/dist/index.d.ts +19 -15
- package/dist/index.js +1789 -37
- package/dist/logging/Logger.d.ts +57 -0
- package/dist/plugin/BlacPlugin.d.ts +46 -0
- package/dist/plugin/PluginManager.d.ts +38 -0
- package/dist/registry/index.d.ts +20 -0
- package/dist/test-utils/index.d.ts +43 -0
- package/dist/tracking/dependency-tracker.d.ts +21 -0
- package/dist/tracking/getter-tracker.d.ts +31 -0
- package/dist/tracking/index.d.ts +38 -0
- package/dist/tracking/path-utils.d.ts +39 -0
- package/dist/tracking/proxy-tracker.d.ts +88 -0
- package/dist/types/branded.d.ts +9 -0
- package/dist/types/events.d.ts +13 -0
- package/dist/types/utilities.d.ts +19 -0
- package/dist/utils/equality.d.ts +9 -0
- package/dist/utils/idGenerator.d.ts +76 -0
- package/dist/utils/immutable.d.ts +16 -0
- package/dist/utils/stack-trace.d.ts +19 -0
- package/dist/utils/static-props.d.ts +29 -0
- package/package.json +33 -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 -625
- 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 -71
- package/dist/adapter/BlacAdapter.d.ts.map +0 -1
- package/dist/adapter/BlacAdapter.js +0 -373
- 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.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/index.js.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 -85
- package/dist/testing.d.ts.map +0 -1
- package/dist/testing.js +0 -186
- 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,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enum representing the lifecycle states of a Bloc instance
|
|
3
|
-
*/
|
|
4
|
-
export declare enum BlocLifecycleState {
|
|
5
|
-
ACTIVE = "active",
|
|
6
|
-
DISPOSAL_REQUESTED = "disposal_requested",
|
|
7
|
-
DISPOSING = "disposing",
|
|
8
|
-
DISPOSED = "disposed"
|
|
9
|
-
}
|
|
10
|
-
export interface StateTransitionResult {
|
|
11
|
-
success: boolean;
|
|
12
|
-
currentState: BlocLifecycleState;
|
|
13
|
-
previousState: BlocLifecycleState;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Manages the lifecycle state transitions for Bloc instances.
|
|
17
|
-
* Ensures atomic state transitions to prevent race conditions during disposal.
|
|
18
|
-
*/
|
|
19
|
-
export declare class BlocLifecycleManager {
|
|
20
|
-
private disposalState;
|
|
21
|
-
private disposalLock;
|
|
22
|
-
private disposalTimer?;
|
|
23
|
-
private disposalHandler?;
|
|
24
|
-
get currentState(): BlocLifecycleState;
|
|
25
|
-
get isDisposed(): boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Atomic state transition for disposal
|
|
28
|
-
*/
|
|
29
|
-
atomicStateTransition(expectedState: BlocLifecycleState, newState: BlocLifecycleState): StateTransitionResult;
|
|
30
|
-
/**
|
|
31
|
-
* Schedule disposal after a delay
|
|
32
|
-
*/
|
|
33
|
-
scheduleDisposal(delay: number, canDispose: () => boolean, onDispose: () => void): void;
|
|
34
|
-
/**
|
|
35
|
-
* Cancel disposal if in disposal requested state
|
|
36
|
-
*/
|
|
37
|
-
cancelDisposal(): boolean;
|
|
38
|
-
/**
|
|
39
|
-
* Set disposal handler
|
|
40
|
-
*/
|
|
41
|
-
setDisposalHandler(handler: (bloc: unknown) => void): void;
|
|
42
|
-
/**
|
|
43
|
-
* Get disposal handler
|
|
44
|
-
*/
|
|
45
|
-
getDisposalHandler(): ((bloc: unknown) => void) | undefined;
|
|
46
|
-
/**
|
|
47
|
-
* Clear disposal timer
|
|
48
|
-
*/
|
|
49
|
-
clearDisposalTimer(): void;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=BlocLifecycle.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BlocLifecycle.d.ts","sourceRoot":"","sources":["../../src/lifecycle/BlocLifecycle.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,MAAM,WAAW;IACjB,kBAAkB,uBAAuB;IACzC,SAAS,cAAc;IACvB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,kBAAkB,CAAC;IACjC,aAAa,EAAE,kBAAkB,CAAC;CACnC;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAC,CAA0B;IAChD,OAAO,CAAC,eAAe,CAAC,CAA0B;IAElD,IAAI,YAAY,IAAI,kBAAkB,CAErC;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;OAEG;IACH,qBAAqB,CACnB,aAAa,EAAE,kBAAkB,EACjC,QAAQ,EAAE,kBAAkB,GAC3B,qBAAqB;IAgCxB;;OAEG;IACH,gBAAgB,CACd,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,OAAO,EACzB,SAAS,EAAE,MAAM,IAAI,GACpB,IAAI;IA+BP;;OAEG;IACH,cAAc,IAAI,OAAO;IAmBzB;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAI1D;;OAEG;IACH,kBAAkB,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS;IAI3D;;OAEG;IACH,kBAAkB,IAAI,IAAI;CAM3B"}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BlocLifecycleManager = exports.BlocLifecycleState = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Enum representing the lifecycle states of a Bloc instance
|
|
6
|
-
*/
|
|
7
|
-
var BlocLifecycleState;
|
|
8
|
-
(function (BlocLifecycleState) {
|
|
9
|
-
BlocLifecycleState["ACTIVE"] = "active";
|
|
10
|
-
BlocLifecycleState["DISPOSAL_REQUESTED"] = "disposal_requested";
|
|
11
|
-
BlocLifecycleState["DISPOSING"] = "disposing";
|
|
12
|
-
BlocLifecycleState["DISPOSED"] = "disposed";
|
|
13
|
-
})(BlocLifecycleState || (exports.BlocLifecycleState = BlocLifecycleState = {}));
|
|
14
|
-
/**
|
|
15
|
-
* Manages the lifecycle state transitions for Bloc instances.
|
|
16
|
-
* Ensures atomic state transitions to prevent race conditions during disposal.
|
|
17
|
-
*/
|
|
18
|
-
class BlocLifecycleManager {
|
|
19
|
-
disposalState = BlocLifecycleState.ACTIVE;
|
|
20
|
-
disposalLock = false;
|
|
21
|
-
disposalTimer;
|
|
22
|
-
disposalHandler;
|
|
23
|
-
get currentState() {
|
|
24
|
-
return this.disposalState;
|
|
25
|
-
}
|
|
26
|
-
get isDisposed() {
|
|
27
|
-
return this.disposalState === BlocLifecycleState.DISPOSED;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Atomic state transition for disposal
|
|
31
|
-
*/
|
|
32
|
-
atomicStateTransition(expectedState, newState) {
|
|
33
|
-
if (this.disposalLock) {
|
|
34
|
-
return {
|
|
35
|
-
success: false,
|
|
36
|
-
currentState: this.disposalState,
|
|
37
|
-
previousState: this.disposalState,
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
this.disposalLock = true;
|
|
41
|
-
try {
|
|
42
|
-
if (this.disposalState !== expectedState) {
|
|
43
|
-
return {
|
|
44
|
-
success: false,
|
|
45
|
-
currentState: this.disposalState,
|
|
46
|
-
previousState: this.disposalState,
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
const previousState = this.disposalState;
|
|
50
|
-
this.disposalState = newState;
|
|
51
|
-
return {
|
|
52
|
-
success: true,
|
|
53
|
-
currentState: newState,
|
|
54
|
-
previousState,
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
finally {
|
|
58
|
-
this.disposalLock = false;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Schedule disposal after a delay
|
|
63
|
-
*/
|
|
64
|
-
scheduleDisposal(delay, canDispose, onDispose) {
|
|
65
|
-
// Cancel any existing disposal timer
|
|
66
|
-
if (this.disposalTimer) {
|
|
67
|
-
clearTimeout(this.disposalTimer);
|
|
68
|
-
this.disposalTimer = undefined;
|
|
69
|
-
}
|
|
70
|
-
const transitionResult = this.atomicStateTransition(BlocLifecycleState.ACTIVE, BlocLifecycleState.DISPOSAL_REQUESTED);
|
|
71
|
-
if (!transitionResult.success) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
this.disposalTimer = setTimeout(() => {
|
|
75
|
-
if (canDispose() &&
|
|
76
|
-
this.disposalState === BlocLifecycleState.DISPOSAL_REQUESTED) {
|
|
77
|
-
onDispose();
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
this.atomicStateTransition(BlocLifecycleState.DISPOSAL_REQUESTED, BlocLifecycleState.ACTIVE);
|
|
81
|
-
}
|
|
82
|
-
}, delay);
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Cancel disposal if in disposal requested state
|
|
86
|
-
*/
|
|
87
|
-
cancelDisposal() {
|
|
88
|
-
if (this.disposalState === BlocLifecycleState.DISPOSAL_REQUESTED) {
|
|
89
|
-
// Cancel disposal timer
|
|
90
|
-
if (this.disposalTimer) {
|
|
91
|
-
clearTimeout(this.disposalTimer);
|
|
92
|
-
this.disposalTimer = undefined;
|
|
93
|
-
}
|
|
94
|
-
// Transition back to active state
|
|
95
|
-
const result = this.atomicStateTransition(BlocLifecycleState.DISPOSAL_REQUESTED, BlocLifecycleState.ACTIVE);
|
|
96
|
-
return result.success;
|
|
97
|
-
}
|
|
98
|
-
return false;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Set disposal handler
|
|
102
|
-
*/
|
|
103
|
-
setDisposalHandler(handler) {
|
|
104
|
-
this.disposalHandler = handler;
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Get disposal handler
|
|
108
|
-
*/
|
|
109
|
-
getDisposalHandler() {
|
|
110
|
-
return this.disposalHandler;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Clear disposal timer
|
|
114
|
-
*/
|
|
115
|
-
clearDisposalTimer() {
|
|
116
|
-
if (this.disposalTimer) {
|
|
117
|
-
clearTimeout(this.disposalTimer);
|
|
118
|
-
this.disposalTimer = undefined;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
exports.BlocLifecycleManager = BlocLifecycleManager;
|
|
123
|
-
//# sourceMappingURL=BlocLifecycle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BlocLifecycle.js","sourceRoot":"","sources":["../../src/lifecycle/BlocLifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lifecycle/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
package/dist/lifecycle/index.js
DELETED
|
@@ -1,18 +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
|
-
__exportStar(require("./BlocLifecycle"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lifecycle/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
|
|
@@ -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"}
|