@blac/core 2.0.0-rc.1 → 2.0.0-rc.3
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 +1361 -38
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +868 -0
- package/dist/index.d.ts +867 -16
- package/dist/index.js +1315 -37
- package/dist/index.js.map +1 -1
- package/package.json +17 -11
- 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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapter/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,iDAA+B"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
export declare enum ErrorCategory {
|
|
2
|
-
LIFECYCLE = "LIFECYCLE",
|
|
3
|
-
STATE = "STATE",
|
|
4
|
-
PLUGIN = "PLUGIN",
|
|
5
|
-
VALIDATION = "VALIDATION",
|
|
6
|
-
DISPOSAL = "DISPOSAL",
|
|
7
|
-
CONSUMER = "CONSUMER"
|
|
8
|
-
}
|
|
9
|
-
export declare enum ErrorSeverity {
|
|
10
|
-
FATAL = "FATAL",// System cannot continue
|
|
11
|
-
ERROR = "ERROR",// Operation failed but system continues
|
|
12
|
-
WARNING = "WARNING",// Potential issue but operation succeeded
|
|
13
|
-
INFO = "INFO"
|
|
14
|
-
}
|
|
15
|
-
export type BlacErrorContext = {
|
|
16
|
-
blocName?: string;
|
|
17
|
-
blocId?: string;
|
|
18
|
-
consumerId?: string;
|
|
19
|
-
pluginName?: string;
|
|
20
|
-
operation?: string;
|
|
21
|
-
metadata?: Record<string, unknown>;
|
|
22
|
-
};
|
|
23
|
-
export declare class BlacError extends Error {
|
|
24
|
-
readonly category: ErrorCategory;
|
|
25
|
-
readonly severity: ErrorSeverity;
|
|
26
|
-
readonly context?: BlacErrorContext | undefined;
|
|
27
|
-
readonly cause?: unknown | undefined;
|
|
28
|
-
constructor(message: string, category: ErrorCategory, severity: ErrorSeverity, context?: BlacErrorContext | undefined, cause?: unknown | undefined);
|
|
29
|
-
toString(): string;
|
|
30
|
-
}
|
|
31
|
-
export type ErrorHandler = (error: BlacError) => void;
|
|
32
|
-
export type ErrorHandlingStrategy = {
|
|
33
|
-
shouldPropagate: (error: BlacError) => boolean;
|
|
34
|
-
shouldLog: (error: BlacError) => boolean;
|
|
35
|
-
handle: (error: BlacError) => void;
|
|
36
|
-
};
|
|
37
|
-
export declare const DefaultErrorStrategy: ErrorHandlingStrategy;
|
|
38
|
-
//# sourceMappingURL=BlacError.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BlacError.d.ts","sourceRoot":"","sources":["../../src/errors/BlacError.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAED,oBAAY,aAAa;IACvB,KAAK,UAAU,CAAE,yBAAyB;IAC1C,KAAK,UAAU,CAAE,wCAAwC;IACzD,OAAO,YAAY,CAAE,0CAA0C;IAC/D,IAAI,SAAS;CACd;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,qBAAa,SAAU,SAAQ,KAAK;aAGhB,QAAQ,EAAE,aAAa;aACvB,QAAQ,EAAE,aAAa;aACvB,OAAO,CAAC,EAAE,gBAAgB;aAC1B,KAAK,CAAC,EAAE,OAAO;gBAJ/B,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,gBAAgB,YAAA,EAC1B,KAAK,CAAC,EAAE,OAAO,YAAA;IASjC,QAAQ,IAAI,MAAM;CAUnB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;AAEtD,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;IAC/C,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;IACzC,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,qBAQlC,CAAC"}
|
package/dist/errors/BlacError.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DefaultErrorStrategy = exports.BlacError = exports.ErrorSeverity = exports.ErrorCategory = void 0;
|
|
4
|
-
var ErrorCategory;
|
|
5
|
-
(function (ErrorCategory) {
|
|
6
|
-
ErrorCategory["LIFECYCLE"] = "LIFECYCLE";
|
|
7
|
-
ErrorCategory["STATE"] = "STATE";
|
|
8
|
-
ErrorCategory["PLUGIN"] = "PLUGIN";
|
|
9
|
-
ErrorCategory["VALIDATION"] = "VALIDATION";
|
|
10
|
-
ErrorCategory["DISPOSAL"] = "DISPOSAL";
|
|
11
|
-
ErrorCategory["CONSUMER"] = "CONSUMER";
|
|
12
|
-
})(ErrorCategory || (exports.ErrorCategory = ErrorCategory = {}));
|
|
13
|
-
var ErrorSeverity;
|
|
14
|
-
(function (ErrorSeverity) {
|
|
15
|
-
ErrorSeverity["FATAL"] = "FATAL";
|
|
16
|
-
ErrorSeverity["ERROR"] = "ERROR";
|
|
17
|
-
ErrorSeverity["WARNING"] = "WARNING";
|
|
18
|
-
ErrorSeverity["INFO"] = "INFO";
|
|
19
|
-
})(ErrorSeverity || (exports.ErrorSeverity = ErrorSeverity = {}));
|
|
20
|
-
class BlacError extends Error {
|
|
21
|
-
category;
|
|
22
|
-
severity;
|
|
23
|
-
context;
|
|
24
|
-
cause;
|
|
25
|
-
constructor(message, category, severity, context, cause) {
|
|
26
|
-
super(message);
|
|
27
|
-
this.category = category;
|
|
28
|
-
this.severity = severity;
|
|
29
|
-
this.context = context;
|
|
30
|
-
this.cause = cause;
|
|
31
|
-
this.name = 'BlacError';
|
|
32
|
-
// Ensure proper prototype chain
|
|
33
|
-
Object.setPrototypeOf(this, BlacError.prototype);
|
|
34
|
-
}
|
|
35
|
-
toString() {
|
|
36
|
-
const contextStr = this.context
|
|
37
|
-
? ` [${Object.entries(this.context)
|
|
38
|
-
.filter(([_, v]) => v !== undefined)
|
|
39
|
-
.map(([k, v]) => `${k}: ${v}`)
|
|
40
|
-
.join(', ')}]`
|
|
41
|
-
: '';
|
|
42
|
-
return `${this.name} [${this.severity}/${this.category}]: ${this.message}${contextStr}`;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
exports.BlacError = BlacError;
|
|
46
|
-
exports.DefaultErrorStrategy = {
|
|
47
|
-
shouldPropagate: (error) => error.severity === ErrorSeverity.FATAL,
|
|
48
|
-
shouldLog: (error) => error.severity !== ErrorSeverity.INFO,
|
|
49
|
-
handle: (error) => {
|
|
50
|
-
if (exports.DefaultErrorStrategy.shouldLog(error)) {
|
|
51
|
-
console.error(error.toString(), error.cause);
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
//# sourceMappingURL=BlacError.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BlacError.js","sourceRoot":"","sources":["../../src/errors/BlacError.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,wCAAuB,CAAA;IACvB,gCAAe,CAAA;IACf,kCAAiB,CAAA;IACjB,0CAAyB,CAAA;IACzB,sCAAqB,CAAA;IACrB,sCAAqB,CAAA;AACvB,CAAC,EAPW,aAAa,6BAAb,aAAa,QAOxB;AAED,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,gCAAe,CAAA;IACf,oCAAmB,CAAA;IACnB,8BAAa,CAAA;AACf,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB;AAWD,MAAa,SAAU,SAAQ,KAAK;IAGhB;IACA;IACA;IACA;IALlB,YACE,OAAe,EACC,QAAuB,EACvB,QAAuB,EACvB,OAA0B,EAC1B,KAAe;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAC;QALC,aAAQ,GAAR,QAAQ,CAAe;QACvB,aAAQ,GAAR,QAAQ,CAAe;QACvB,YAAO,GAAP,OAAO,CAAmB;QAC1B,UAAK,GAAL,KAAK,CAAU;QAG/B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QAExB,gCAAgC;QAChC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,QAAQ;QACN,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO;YAC7B,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;iBAC9B,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;iBACnC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;iBAC7B,IAAI,CAAC,IAAI,CAAC,GAAG;YAClB,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC;IAC1F,CAAC;CACF;AAzBD,8BAyBC;AAUY,QAAA,oBAAoB,GAA0B;IACzD,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,aAAa,CAAC,KAAK;IAClE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,aAAa,CAAC,IAAI;IAC3D,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QAChB,IAAI,4BAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { BlacError, ErrorHandler, ErrorHandlingStrategy } from './BlacError';
|
|
2
|
-
/**
|
|
3
|
-
* Centralized error management system for BlaC framework.
|
|
4
|
-
* Handles error processing, logging, and propagation strategies.
|
|
5
|
-
*/
|
|
6
|
-
export declare class ErrorManager {
|
|
7
|
-
private static instance;
|
|
8
|
-
private handlers;
|
|
9
|
-
private strategy;
|
|
10
|
-
/**
|
|
11
|
-
* Get the singleton instance of ErrorManager
|
|
12
|
-
*/
|
|
13
|
-
static getInstance(): ErrorManager;
|
|
14
|
-
/**
|
|
15
|
-
* Set a custom error handling strategy
|
|
16
|
-
*/
|
|
17
|
-
setStrategy(strategy: ErrorHandlingStrategy): void;
|
|
18
|
-
/**
|
|
19
|
-
* Add a custom error handler that will be called for all errors
|
|
20
|
-
*/
|
|
21
|
-
addHandler(handler: ErrorHandler): void;
|
|
22
|
-
/**
|
|
23
|
-
* Remove a previously added error handler
|
|
24
|
-
*/
|
|
25
|
-
removeHandler(handler: ErrorHandler): void;
|
|
26
|
-
/**
|
|
27
|
-
* Process an error through all handlers and apply the configured strategy
|
|
28
|
-
*/
|
|
29
|
-
handle(error: BlacError): void;
|
|
30
|
-
/**
|
|
31
|
-
* Convenience method for wrapping operations with error handling
|
|
32
|
-
*/
|
|
33
|
-
wrap<T>(operation: () => T, errorFactory: (error: unknown) => BlacError): T;
|
|
34
|
-
/**
|
|
35
|
-
* Async version of wrap
|
|
36
|
-
*/
|
|
37
|
-
wrapAsync<T>(operation: () => Promise<T>, errorFactory: (error: unknown) => BlacError): Promise<T>;
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=ErrorManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorManager.d.ts","sourceRoot":"","sources":["../../src/errors/ErrorManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,qBAAqB,EAEtB,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,QAAQ,CAA+C;IAE/D;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,YAAY;IAOlC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAIlD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAIvC;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAI1C;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAoB9B;;OAEG;IACH,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,SAAS,GAAG,CAAC;IAW3E;;OAEG;IACG,SAAS,CAAC,CAAC,EACf,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,SAAS,GAC1C,OAAO,CAAC,CAAC,CAAC;CAUd"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ErrorManager = void 0;
|
|
4
|
-
const BlacError_1 = require("./BlacError");
|
|
5
|
-
/**
|
|
6
|
-
* Centralized error management system for BlaC framework.
|
|
7
|
-
* Handles error processing, logging, and propagation strategies.
|
|
8
|
-
*/
|
|
9
|
-
class ErrorManager {
|
|
10
|
-
static instance;
|
|
11
|
-
handlers = new Set();
|
|
12
|
-
strategy = BlacError_1.DefaultErrorStrategy;
|
|
13
|
-
/**
|
|
14
|
-
* Get the singleton instance of ErrorManager
|
|
15
|
-
*/
|
|
16
|
-
static getInstance() {
|
|
17
|
-
if (!ErrorManager.instance) {
|
|
18
|
-
ErrorManager.instance = new ErrorManager();
|
|
19
|
-
}
|
|
20
|
-
return ErrorManager.instance;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Set a custom error handling strategy
|
|
24
|
-
*/
|
|
25
|
-
setStrategy(strategy) {
|
|
26
|
-
this.strategy = strategy;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Add a custom error handler that will be called for all errors
|
|
30
|
-
*/
|
|
31
|
-
addHandler(handler) {
|
|
32
|
-
this.handlers.add(handler);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Remove a previously added error handler
|
|
36
|
-
*/
|
|
37
|
-
removeHandler(handler) {
|
|
38
|
-
this.handlers.delete(handler);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Process an error through all handlers and apply the configured strategy
|
|
42
|
-
*/
|
|
43
|
-
handle(error) {
|
|
44
|
-
// Always notify handlers first
|
|
45
|
-
this.handlers.forEach((handler) => {
|
|
46
|
-
try {
|
|
47
|
-
handler(error);
|
|
48
|
-
}
|
|
49
|
-
catch (handlerError) {
|
|
50
|
-
// Prevent handler errors from breaking error handling
|
|
51
|
-
console.error('Error in error handler:', handlerError);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
// Apply strategy
|
|
55
|
-
this.strategy.handle(error);
|
|
56
|
-
// Propagate if needed
|
|
57
|
-
if (this.strategy.shouldPropagate(error)) {
|
|
58
|
-
throw error;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Convenience method for wrapping operations with error handling
|
|
63
|
-
*/
|
|
64
|
-
wrap(operation, errorFactory) {
|
|
65
|
-
try {
|
|
66
|
-
return operation();
|
|
67
|
-
}
|
|
68
|
-
catch (error) {
|
|
69
|
-
const blacError = errorFactory(error);
|
|
70
|
-
this.handle(blacError);
|
|
71
|
-
// Will only reach here if strategy says not to propagate
|
|
72
|
-
return undefined;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Async version of wrap
|
|
77
|
-
*/
|
|
78
|
-
async wrapAsync(operation, errorFactory) {
|
|
79
|
-
try {
|
|
80
|
-
return await operation();
|
|
81
|
-
}
|
|
82
|
-
catch (error) {
|
|
83
|
-
const blacError = errorFactory(error);
|
|
84
|
-
this.handle(blacError);
|
|
85
|
-
// Will only reach here if strategy says not to propagate
|
|
86
|
-
return undefined;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
exports.ErrorManager = ErrorManager;
|
|
91
|
-
//# sourceMappingURL=ErrorManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorManager.js","sourceRoot":"","sources":["../../src/errors/ErrorManager.ts"],"names":[],"mappings":";;;AAAA,2CAKqB;AAErB;;;GAGG;AACH,MAAa,YAAY;IACf,MAAM,CAAC,QAAQ,CAAe;IAC9B,QAAQ,GAAsB,IAAI,GAAG,EAAE,CAAC;IACxC,QAAQ,GAA0B,gCAAoB,CAAC;IAE/D;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC3B,YAAY,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAA+B;QACzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAqB;QAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAAqB;QACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAgB;QACrB,+BAA+B;QAC/B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAChC,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,sDAAsD;gBACtD,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE5B,sBAAsB;QACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,CAAI,SAAkB,EAAE,YAA2C;QACrE,IAAI,CAAC;YACH,OAAO,SAAS,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACvB,yDAAyD;YACzD,OAAO,SAAc,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,SAA2B,EAC3B,YAA2C;QAE3C,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACvB,yDAAyD;YACzD,OAAO,SAAc,CAAC;QACxB,CAAC;IACH,CAAC;CACF;AAzFD,oCAyFC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { ErrorCategory, ErrorSeverity, BlacErrorContext } from './BlacError';
|
|
2
|
-
/**
|
|
3
|
-
* Standard error handling helper for BlaC
|
|
4
|
-
*
|
|
5
|
-
* Usage:
|
|
6
|
-
* - For fatal errors that should propagate: handleError.fatal(...)
|
|
7
|
-
* - For recoverable errors: handleError.error(...)
|
|
8
|
-
* - For warnings: handleError.warn(...)
|
|
9
|
-
*/
|
|
10
|
-
export declare const handleError: {
|
|
11
|
-
fatal: (message: string, category: ErrorCategory, context?: BlacErrorContext, cause?: unknown) => never;
|
|
12
|
-
error: (message: string, category: ErrorCategory, context?: BlacErrorContext, cause?: unknown) => void;
|
|
13
|
-
warn: (message: string, category: ErrorCategory, context?: BlacErrorContext, cause?: unknown) => void;
|
|
14
|
-
info: (message: string, category: ErrorCategory, context?: BlacErrorContext) => void;
|
|
15
|
-
/**
|
|
16
|
-
* Wraps a function to catch and handle errors
|
|
17
|
-
*/
|
|
18
|
-
wrap: <T>(fn: () => T, category: ErrorCategory, context?: BlacErrorContext, severity?: ErrorSeverity) => T | undefined;
|
|
19
|
-
/**
|
|
20
|
-
* Wraps an async function to catch and handle errors
|
|
21
|
-
*/
|
|
22
|
-
wrapAsync: <T>(fn: () => Promise<T>, category: ErrorCategory, context?: BlacErrorContext, severity?: ErrorSeverity) => Promise<T | undefined>;
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=handleError.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handleError.d.ts","sourceRoot":"","sources":["../../src/errors/handleError.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACb,aAAa,EACb,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAGrB;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW;qBAEX,MAAM,YACL,aAAa,YACb,gBAAgB,UAClB,OAAO,KACd,KAAK;qBAcG,MAAM,YACL,aAAa,YACb,gBAAgB,UAClB,OAAO,KACd,IAAI;oBAYI,MAAM,YACL,aAAa,YACb,gBAAgB,UAClB,OAAO,KACd,IAAI;oBAYI,MAAM,YACL,aAAa,YACb,gBAAgB,KACzB,IAAI;IAKP;;OAEG;WACI,CAAC,MACF,MAAM,CAAC,YACD,aAAa,YACb,gBAAgB,aAChB,aAAa,KACtB,CAAC,GAAG,SAAS;IAWhB;;OAEG;gBACe,CAAC,MACb,MAAM,OAAO,CAAC,CAAC,CAAC,YACV,aAAa,YACb,gBAAgB,aAChB,aAAa,KACtB,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CAU1B,CAAC"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handleError = void 0;
|
|
4
|
-
const BlacError_1 = require("./BlacError");
|
|
5
|
-
const ErrorManager_1 = require("./ErrorManager");
|
|
6
|
-
/**
|
|
7
|
-
* Standard error handling helper for BlaC
|
|
8
|
-
*
|
|
9
|
-
* Usage:
|
|
10
|
-
* - For fatal errors that should propagate: handleError.fatal(...)
|
|
11
|
-
* - For recoverable errors: handleError.error(...)
|
|
12
|
-
* - For warnings: handleError.warn(...)
|
|
13
|
-
*/
|
|
14
|
-
exports.handleError = {
|
|
15
|
-
fatal: (message, category, context, cause) => {
|
|
16
|
-
const error = new BlacError_1.BlacError(message, category, BlacError_1.ErrorSeverity.FATAL, context, cause);
|
|
17
|
-
ErrorManager_1.ErrorManager.getInstance().handle(error);
|
|
18
|
-
// This will always throw due to FATAL severity
|
|
19
|
-
throw error;
|
|
20
|
-
},
|
|
21
|
-
error: (message, category, context, cause) => {
|
|
22
|
-
const error = new BlacError_1.BlacError(message, category, BlacError_1.ErrorSeverity.ERROR, context, cause);
|
|
23
|
-
ErrorManager_1.ErrorManager.getInstance().handle(error);
|
|
24
|
-
},
|
|
25
|
-
warn: (message, category, context, cause) => {
|
|
26
|
-
const error = new BlacError_1.BlacError(message, category, BlacError_1.ErrorSeverity.WARNING, context, cause);
|
|
27
|
-
ErrorManager_1.ErrorManager.getInstance().handle(error);
|
|
28
|
-
},
|
|
29
|
-
info: (message, category, context) => {
|
|
30
|
-
const error = new BlacError_1.BlacError(message, category, BlacError_1.ErrorSeverity.INFO, context);
|
|
31
|
-
ErrorManager_1.ErrorManager.getInstance().handle(error);
|
|
32
|
-
},
|
|
33
|
-
/**
|
|
34
|
-
* Wraps a function to catch and handle errors
|
|
35
|
-
*/
|
|
36
|
-
wrap: (fn, category, context, severity = BlacError_1.ErrorSeverity.ERROR) => {
|
|
37
|
-
try {
|
|
38
|
-
return fn();
|
|
39
|
-
}
|
|
40
|
-
catch (cause) {
|
|
41
|
-
const message = cause instanceof Error ? cause.message : String(cause);
|
|
42
|
-
const error = new BlacError_1.BlacError(message, category, severity, context, cause);
|
|
43
|
-
ErrorManager_1.ErrorManager.getInstance().handle(error);
|
|
44
|
-
return undefined;
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
/**
|
|
48
|
-
* Wraps an async function to catch and handle errors
|
|
49
|
-
*/
|
|
50
|
-
wrapAsync: async (fn, category, context, severity = BlacError_1.ErrorSeverity.ERROR) => {
|
|
51
|
-
try {
|
|
52
|
-
return await fn();
|
|
53
|
-
}
|
|
54
|
-
catch (cause) {
|
|
55
|
-
const message = cause instanceof Error ? cause.message : String(cause);
|
|
56
|
-
const error = new BlacError_1.BlacError(message, category, severity, context, cause);
|
|
57
|
-
ErrorManager_1.ErrorManager.getInstance().handle(error);
|
|
58
|
-
return undefined;
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
|
-
//# sourceMappingURL=handleError.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handleError.js","sourceRoot":"","sources":["../../src/errors/handleError.ts"],"names":[],"mappings":"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"}
|
package/dist/errors/index.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { BlacError, ErrorCategory, ErrorSeverity, DefaultErrorStrategy, } from './BlacError';
|
|
2
|
-
export type { BlacErrorContext, ErrorHandler, ErrorHandlingStrategy, } from './BlacError';
|
|
3
|
-
export { ErrorManager } from './ErrorManager';
|
|
4
|
-
export { handleError } from './handleError';
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,aAAa,EACb,aAAa,EACb,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/errors/index.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handleError = exports.ErrorManager = exports.DefaultErrorStrategy = exports.ErrorSeverity = exports.ErrorCategory = exports.BlacError = void 0;
|
|
4
|
-
var BlacError_1 = require("./BlacError");
|
|
5
|
-
Object.defineProperty(exports, "BlacError", { enumerable: true, get: function () { return BlacError_1.BlacError; } });
|
|
6
|
-
Object.defineProperty(exports, "ErrorCategory", { enumerable: true, get: function () { return BlacError_1.ErrorCategory; } });
|
|
7
|
-
Object.defineProperty(exports, "ErrorSeverity", { enumerable: true, get: function () { return BlacError_1.ErrorSeverity; } });
|
|
8
|
-
Object.defineProperty(exports, "DefaultErrorStrategy", { enumerable: true, get: function () { return BlacError_1.DefaultErrorStrategy; } });
|
|
9
|
-
var ErrorManager_1 = require("./ErrorManager");
|
|
10
|
-
Object.defineProperty(exports, "ErrorManager", { enumerable: true, get: function () { return ErrorManager_1.ErrorManager; } });
|
|
11
|
-
var handleError_1 = require("./handleError");
|
|
12
|
-
Object.defineProperty(exports, "handleError", { enumerable: true, get: function () { return handleError_1.handleError; } });
|
|
13
|
-
//# sourceMappingURL=index.js.map
|
package/dist/errors/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";;;AAAA,yCAKqB;AAJnB,sGAAA,SAAS,OAAA;AACT,0GAAA,aAAa,OAAA;AACb,0GAAA,aAAa,OAAA;AACb,iHAAA,oBAAoB,OAAA;AAOtB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA"}
|
package/dist/events.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Event fired when props are updated on a Bloc or Cubit instance.
|
|
3
|
-
* This is primarily used internally by the framework to notify
|
|
4
|
-
* about prop changes in React components.
|
|
5
|
-
* @template P - The type of props being updated
|
|
6
|
-
*/
|
|
7
|
-
export declare class PropsUpdated<P = any> {
|
|
8
|
-
readonly props: P;
|
|
9
|
-
constructor(props: P);
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=events.d.ts.map
|
package/dist/events.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,YAAY,CAAC,CAAC,GAAG,GAAG;aACH,KAAK,EAAE,CAAC;gBAAR,KAAK,EAAE,CAAC;CACrC"}
|
package/dist/events.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PropsUpdated = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Event fired when props are updated on a Bloc or Cubit instance.
|
|
6
|
-
* This is primarily used internally by the framework to notify
|
|
7
|
-
* about prop changes in React components.
|
|
8
|
-
* @template P - The type of props being updated
|
|
9
|
-
*/
|
|
10
|
-
class PropsUpdated {
|
|
11
|
-
props;
|
|
12
|
-
constructor(props) {
|
|
13
|
-
this.props = props;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.PropsUpdated = PropsUpdated;
|
|
17
|
-
//# sourceMappingURL=events.js.map
|
package/dist/events.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,MAAa,YAAY;IACK;IAA5B,YAA4B,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;CACzC;AAFD,oCAEC"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAG5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AAGvC,cAAc,WAAW,CAAC;AAG1B,cAAc,WAAW,CAAC;AAG1B,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC"}
|
|
@@ -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"}
|