@morjs/runtime-base
Version:
mor runtime base
77 lines (76 loc) • 2.08 kB
TypeScript
/**
* 接口转换配置
* 字母作为 键值 是为了稍微减少一点运行时代码量 T_T
*/
export interface IAPITransformConfig {
/**
* 原接口名称
*/
[k: string]: {
/**
* 新接口别名, 代表 原接口调用会代理到 n 上
*/
n?: string;
/**
* 选项修改配置
*/
opts?: {
/**
* 选项名称修改 change
*/
c?: {
/**
* 原有名称
*/
o: string;
/**
* 新名称
*/
n: string;
}[];
/**
* 选项名称设置 set
*/
s?: {
/**
* 选项 名称
*/
k: string;
/**
* 值 设置
*/
v: (options: Record<string, any>) => any;
}[];
} | ((
/**
* opts 函数 直接修改 args
*/
...args: any[]) => any);
/**
* 结果修改
*/
r?: (res: Record<string, any>) => any;
/**
* 函数重写
*/
fn?: (global: any, ...args: any[]) => Promise<any> | any;
};
}
export interface ITransformApisIOptions {
needPromisfiedApis?: string[];
apiTransformConfig?: IAPITransformConfig;
}
/**
* 接口抹平转换
* @param mor - mor 接口对象
* @param global - 小程序目标平台全局对象
* @param config - 接口抹平配置
* @param installAllGlobalApis - 是否在 mor 中添加所有的 API
* @param allowOverride - 是否允许覆盖 API
*/
export declare function transformApis(mor: Record<string, any>, global: Record<string, any>, config?: ITransformApisIOptions, installAllGlobalApis?: boolean, allowOverride?: boolean): void;
/**
* 返回暂不支持的 函数
* @param apiName - 接口名称
*/
export declare function markAsUnsupport(apiName: string): () => void;