hybrid_plus
Version:
Hybrid Flutter Javascript SDK
92 lines (91 loc) • 2.81 kB
TypeScript
import Logger from "./logger.ts";
import { CoreOptions } from "../types/core.ts";
/**
* Flutter-JS-SDK 核心实体
*/
declare class Core {
_deviceReady: boolean;
_inject: boolean;
_logger: Logger;
_timeout: number;
_errorCallback?: any;
/**
* Core 构造方法
* @param {Logger} logger 日志打印工具
* @param {number} timeout 通信超时时间
*/
constructor(logger?: Logger, timeout?: number);
/**
* 设备是否准备就绪
* @returns boolean
* @memberof Core
*/
get isDeviceReady(): boolean;
/**
* 日志打印工具
* @returns Logger
* @memberof Core
*/
get logger(): Logger;
/**
* 通信超时事件
* @returns number
* @memberof Core
*/
get timeout(): number;
/**
* 初始化配置项
* @param {CoreOptions} [options]
* @returns {boolean}
* @memberof Core
*/
init(options: CoreOptions): void;
/**
* 在 Flutter 准备就绪时触发,api的调用需要保证在该回调函数触发后调用
* @param {Function} [fn] 回调函数
* @memberof Core
*/
onDeviceReady(fn: () => void): Promise<void>;
/**
* 注册error函数, 在SDK发生错误/异常时执行
* @param {Function} [fn] 回调函数
* @memberof Core
*/
error(fn: () => void): void;
/**
* 执行error回调函数
* @param {unknown} error 错误对象
* @memberof Core
*/
onError(error: unknown): void;
}
export declare const core: Core;
export declare const init: (options: CoreOptions) => void;
export declare const isDeviceReady: boolean;
export declare const error: (fn: () => void) => void;
export declare const logger: Logger;
/**
* 以异步的方式执行 Flutter 的事件,用于获取数据类型的 API
* @template A 参数类型
* @template S 成功回调的返回类型
* @template F 失败回调的返回类型
* @param {string} service 调用的服务类名
* @param {string} action 调用的方法名
* @param {Array<A>} args 调用的参数
* @param {(data: S) => void} [onSuccess] 成功回调
* @param {(err: F) => void} [onError] 失败回调
* @param {boolean} enableTimer 是否启用超时
* @returns {Promise<S>}
*/
export declare function exec(service: string, action: string, args?: any, onSuccess?: (data: any) => void, onError?: (err: any) => void, enableTimer?: boolean): Promise<unknown>;
/**
* 以同步的方式执行 Flutter 的事件, 用于没有回调的API
* @export
* @template A
* @param {string} service 调用的服务类名
* @param {string} action 调用的方法名
* @param {Array<A>} args 调用的参数
* @returns {void}
*/
export declare function execSync(service: string, action: string, args?: any): void;
export {};