/**
 * Zustand 适配器（占位实现）
 * 
 * 这是一个适配器接口示例，展示如何将 Zustand 集成到 Secra 状态管理器
 * 
 * ⚠️ 注意：这是一个占位实现，实际使用时需要安装 zustand 依赖
 */ 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;
}
/**
 * Zustand 适配器
 * 
 * 将 Zustand store 映射到 Secra 状态抽象
 * 
 * ⚠️ 这是一个占位实现，实际使用时需要：
 * 1. 安装 zustand
 * 2. 实现完整的 Zustand store 集成
 * 3. 将 Zustand store 的方法映射到 IStateInstance 接口
 */ export class ZustandAdapter {
    /**
   * 创建状态实例
   * 
   * ⚠️ 占位实现：实际使用时需要创建 Zustand store 并映射到 IStateInstance
   */ createInstance(_initialValue, _options) {
        if (this.destroyed) {
            throw new Error('Adapter has been destroyed');
        }
        throw new Error('ZustandAdapter is a placeholder implementation. ' + 'To use Zustand, you need to:\n' + '1. Install zustand\n' + '2. Implement a complete Zustand store integration\n' + '3. Map Zustand store methods to IStateInstance interface\n' + 'See docs/state-manager.md for implementation guide.');
    }
    /**
   * 销毁适配器
   */ destroy() {
        if (this.destroyed) {
            return;
        }
        for (const instance of this.instances){
            instance.destroy();
        }
        this.instances.clear();
        this.destroyed = true;
    }
    /**
   * 获取适配器名称
   */ getName() {
        return this.name;
    }
    constructor(){
        /**
   * 适配器名称
   */ _define_property(this, "name", 'ZustandAdapter');
        /**
   * 是否已销毁
   */ _define_property(this, "destroyed", false);
        /**
   * 创建的状态实例集合
   */ _define_property(this, "instances", new Set());
    }
}

//# sourceMappingURL=ZustandAdapter.js.map