function _define_property(obj, key, value) {
    if (key in obj) {
        Object.defineProperty(obj, key, {
            value: value,
            enumerable: true,
            configurable: true,
            writable: true
        });
    } else {
        obj[key] = value;
    }
    return obj;
}
import { errorUtils } from "../../utils/errors";
/**
 * 初始化错误状态管理器
 * 
 * 用于在初始化过程中捕获和存储错误，以便 ErrorBoundary 能够捕获并显示
 */ let InitializationErrorState = class InitializationErrorState {
    /**
   * 设置错误
   */ setError(error) {
        this.error = errorUtils.normalizeError(error);
        // 通知所有监听器
        this.listeners.forEach((listener)=>listener());
    }
    /**
   * 获取错误
   */ getError() {
        return this.error;
    }
    /**
   * 清除错误
   */ clearError() {
        this.error = null;
        this.listeners.forEach((listener)=>listener());
    }
    /**
   * 订阅错误变化
   */ subscribe(listener) {
        this.listeners.add(listener);
        return ()=>{
            this.listeners.delete(listener);
        };
    }
    /**
   * 检查是否有错误
   */ hasError() {
        return this.error !== null;
    }
    constructor(){
        _define_property(this, "error", null);
        _define_property(this, "listeners", new Set());
    }
};
/**
 * 全局初始化错误状态管理器实例
 */ export const initializationErrorState = new InitializationErrorState();

//# sourceMappingURL=initializationErrorState.js.map