/**
 * 请求适配器抽象接口
 * 
 * 适配器负责将框架请求抽象映射到具体的 HTTP 实现（如 axios、ky、fetch 等）
 */ "use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "adapterRegistry", {
    enumerable: true,
    get: function() {
        return adapterRegistry;
    }
});
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;
}
/**
 * 适配器注册表
 */ let AdapterRegistry = class AdapterRegistry {
    /**
   * 注册适配器
   * 
   * @param name - 适配器名称
   * @param factory - 适配器工厂函数
   */ register(name, factory) {
        this.adapters.set(name, factory);
    }
    /**
   * 获取适配器
   * 
   * @param name - 适配器名称
   * @returns 适配器实例
   */ async get(name) {
        const factory = this.adapters.get(name);
        if (!factory) {
            throw new Error(`适配器 ${name} 未注册`);
        }
        const adapter = await factory();
        return adapter;
    }
    /**
   * 检查适配器是否已注册
   * 
   * @param name - 适配器名称
   * @returns 是否已注册
   */ has(name) {
        return this.adapters.has(name);
    }
    /**
   * 获取所有已注册的适配器名称
   * 
   * @returns 适配器名称数组
   */ getAllNames() {
        return Array.from(this.adapters.keys());
    }
    /**
   * 清除所有适配器
   */ clear() {
        this.adapters.clear();
    }
    constructor(){
        _define_property(this, "adapters", new Map());
    }
};
const adapterRegistry = new AdapterRegistry();

//# sourceMappingURL=RequestAdapter.js.map