UNPKG

drip-table

Version:

A tiny and powerful enterprise-class solution for building tables.

44 lines (43 loc) 1.6 kB
/** * This file is part of the drip-table project. * @link : https://drip-table.jd.com/ * @author : Emil Zhai (root@derzh.com) * @modifier : Emil Zhai (root@derzh.com) * @copyright: Copyright (c) 2021 JD Network Technology Co., Ltd. */ /** * 通过 JavaScript 代码字符串创建函数 * * @param script JavaScript 代码段 * @param contextKeys 执行上下文变量名 * @returns 创建的函数 * @throws Error 创建异常 */ export declare const createEvaluator: (script: string, contextKeys?: string[]) => Function | undefined; export declare type SandboxCreateEvaluator = typeof createEvaluator; export declare type SandboxEvaluate = /** * 指定上下文,执行 JavaScript 代码段 * * @param creator 通过 JavaScript 代码字符串创建函数 * @param script JavaScript 代码段 * @param context 上下文变量键值对 * @returns 代码段返回结果 * @throws Error 代码执行异常 */ <T = unknown>(script: string, context: Record<string, unknown>) => T; export declare type SandboxSafeEvaluate = /** * 指定上下文,执行 JavaScript 代码段,抑制错误 * * @param script JavaScript 代码段 * @param context 上下文变量键值对 * @param defaultValue 异常时的默认返回值 * @returns 代码段返回结果,异常时返回默认结果 */ <T = unknown>(script: string, context: Record<string, unknown>, defaultValue?: T) => T | undefined; export declare type SandboxFunctionPreprocess = /** * Schema 中函数通用预处理 */ (event: (...args: unknown[]) => void, props: Record<string, unknown>) => (() => void);