UNPKG

trtc-electron-sdk

Version:

trtc electron sdk

62 lines (61 loc) 2.96 kB
export declare function isNull(val: unknown): boolean; export declare function isUndefined(val: unknown): boolean; export declare function isNullOrUndefined(val: unknown): boolean; /** * 安全执行 JSON.parse * @param data * @returns */ export declare function safelyParse(data: string): unknown | Array<any> | Record<string, any>; export declare function convertUint8ArrayToNumber(value: Uint8Array): number; /** * 防抖函数 (debounce) * * 适用场景:搜索框输入联想、窗口resize结束事件 * * @param func 需要防抖的函数 * @param wait 等待时间(毫秒) * @param immediate 是否立即执行第一次调用(true=立即执行,false=等待后执行) * @returns 包装后的防抖函数 */ export declare function debounce<T extends (...args: any[]) => any>(func: T, wait: number, immediate?: boolean): (...args: Parameters<T>) => void; /** * 节流函数 (throttle) * * 适用场景:滚动事件、按钮防重复点击、鼠标移动事件 * * @param func 需要节流的函数 * @param wait 等待时间(毫秒) * @param options 配置选项 * leading: 是否执行第一次调用(true=执行,false=跳过) * trailing: 是否执行最后一次调用(true=执行,false=跳过) * @returns 包装后的节流函数 */ export declare function throttle<T extends (...args: any[]) => any>(func: T, wait: number, options?: { leading?: boolean; trailing?: boolean; }): (...args: Parameters<T>) => void; export declare function getOS(): string; export declare function isMacOS(): boolean; export declare function isWindows(): boolean; export declare function isLinux(): boolean; /** * 把 sendSEIMsg 的 JS 入参(ArrayBuffer / TypedArray / DataView 等)规范化为 Uint8Array。 * * - 字符串入参不再支持,由调用方自行 `TextEncoder().encode(...)` 后传入; * - 对 TypedArray / DataView 视图保留原始 byteOffset / byteLength,不会把整段底层 * ArrayBuffer 当成数据; * - 类型不匹配时抛 `TypeError`,与 Native 层的报错文案保持一致。 */ export declare function normalizeSEIPayload(input: ArrayBuffer | ArrayBufferView): Uint8Array; /** * 把 native 回调里收到的二进制对象(Uint8Array / Buffer / ArrayBuffer)统一转成 * 一个 **独立的** ArrayBuffer,对外暴露给业务层。 * * 为什么要"独立": * - Node Buffer / TypedArray 的 `.buffer` 是 native 复用的存储区,可能被后续事件 * 覆写;直接 fire 出去会出现"业务层拿到的 message 跟下一帧消息字节错乱"。 * - 这里通过 `new ArrayBuffer + Uint8Array.set` 显式拷贝,避免 `slice() as ArrayBuffer` * 的不严谨断言(slice 返回类型为 `ArrayBufferLike`,可能是 SharedArrayBuffer)。 */ export declare function toIndependentArrayBuffer(message: Uint8Array | ArrayBuffer): ArrayBuffer;