worker-tls
Version:
worker-tls 提供了 动态Worker 功能 和 其它一些 Worker 场景下有用的工具集;让开发者可以像调用对象方法一样动态地调用Worker中的方法,也可以随时地往 Worker 中动态地添加函数 等等。
97 lines • 3.24 kB
TypeScript
import type { Optional, AnyFunction } from "type-tls";
/**
* 定义函数的代码
*
* @remarks
* 可从 `fun.toString()` 得到
*/
export type FunctionCode = string;
/**
* 函数 或 函数代码
*/
export type Fun = AnyFunction | FunctionCode;
/**
* js 的标识符
*
* @remarks
*
* 比如变量名
*/
export type JSIdentifier = string;
/**
* 生成定义函数变量的字符串
* @param fun - 函数对象
* @param name - 保存函数的变量名字,如果没有定义,则取 fun.name 作为变量名字
* @returns
*/
export declare function generateFunctionVariableString(fun: AnyFunction, name?: Optional<JSIdentifier>): string;
/**
* 生成立即执行函数的定义字符串
* @param fun
* @param args - 立即调用函数时传递的参数
* @returns
*/
export declare function generateIIFEFunctionString(fun: Fun, args?: Optional<any[]>): string;
/**
* 生成函数的字符串定义
*
* @remarks
* 如果 `fun.name` 是有效的函数名字(即函数有名字),则会生成命名函数的字符串定义,否则会生成 立即调用函数的字符串定义
*
* @param fun - 函数对象
* @param args - 在需要生成立即调用函数时,给立即调用函数传的参数;
* @returns
*/
export declare function generateFunctionString(fun: AnyFunction, args?: Optional<any[]>): string;
/**
* 本文件是监听 message 消息的依赖代码
* @remarks
* 如果要使用动态监听 message,需要先运行该依赖
*/
import listenMessages_Dep from "/temp/listenMessages_Dep.iife.js?raw";
export { listenMessages_Dep };
/**
* 生成监听 message 事件的代码字符串
* @param listener - 监听函数 或 函数字符串 或 函数的名字
* @returns
*/
export declare function listenMessagesCodeStringByListener(listener: Fun): string;
/**
* 生成监听 message 事件的代码字符串
* @param listenerNames - 监听者的变量名字的列表
* @returns
*/
export declare function listenMessagesCodeStringByNames(listenerNames: string[]): string;
/**
* 生成监听 message 事件的代码字符串
* @param funs - 监听函数数组
* @returns
*/
export declare function listenMessagesCodeStringByFunctions(funs: AnyFunction[]): string;
/**
* 动态 Worker 的代码内容
*
* @remarks
* 动态 Worker 是即使创建之后,也可以往里添加函数的 Worker
*
* 该 woker 会根据 {@link ./dynamicWorkerAPI.ts#Call} 消息格式来调用对应的函数
*
* 该 Woker 已经内置了如下命令(函数):
*
* setCMD : {@link ./dynamicWorkerAPI.ts#setCMD} ,往全局环境设置命令
*
* execCMD : {@link ./dynamicWorkerAPI.ts#execCMD} ,执行命令
*
* removeCMD : {@link ./dynamicWorkerAPI.ts#removeCMD} ,从全局环境中移除函数
*
* sendMessage : {@link ./dynamicWorkerAPI.ts#sendMessage} ,用于给其它线程发送信息
*
* messageListener : {@link ./dynamicWorkerAPI.ts#messageListener} ,用于函数调用的 message 监听器
*
* @param codeOptions - 往 Worker 中注入代码的配置选项
* @param workerOptions - Worker 中的选项
*
*/
import dynamicWorkerCodeString from "/temp/dynamicWorkerMain.iife.js?raw";
export { dynamicWorkerCodeString };
//# sourceMappingURL=index.d.ts.map