import { createNativeAdapter } from "./adapter.js";
// ── 工厂函数 ────────────────────────────────────────────────
/**
 * nativeAdapter — 创建 Native 适配器工厂函数
 *
 * 返回一个「延迟工厂」函数，该函数在 adapter-resolver 调用时
 * 接收 VextApp 实例并创建完整的 VextAdapter。
 *
 * 这种两阶段初始化设计与 adapter-resolver 的工作方式对齐：
 *   1. 用户调用 nativeAdapter(options) → 返回工厂函数（捕获 options）
 *   2. adapter-resolver 调用 factory(app) → 返回 VextAdapter 实例
 *
 * @param options Native 适配器选项（可选）
 * @returns 适配器工厂函数 (app: VextApp) => VextAdapter
 *
 * @example
 * // 内置方式（config.adapter = 'native'，零 import）
 * export default { adapter: 'native' }
 *
 * @example
 * // 工厂方式（自定义选项）
 * import { nativeAdapter } from 'vextjs/adapters/native'
 * export default { adapter: nativeAdapter({ maxParamLength: 1000 }) }
 *
 * @example
 * // 零配置工厂（等价于 'native' 字符串，但可后续添加选项）
 * import { nativeAdapter } from 'vextjs/adapters/native'
 * export default { adapter: nativeAdapter() }
 */
export function nativeAdapter(options) {
    const opts = options ?? {};
    return (app) => {
        return createNativeAdapter(opts, app);
    };
}
/**
 * createNativeAdapterDirect — 直接创建 Native Adapter（内部使用）
 *
 * 供 adapter-resolver 的 BUILT_IN_ADAPTERS 映射表使用。
 * 不暴露给用户（用户应使用 nativeAdapter() 工厂函数）。
 *
 * @internal
 */
export { createNativeAdapter } from "./adapter.js";
