diff options
Diffstat (limited to 'remote/test/puppeteer/src/injected/util.ts')
-rw-r--r-- | remote/test/puppeteer/src/injected/util.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/remote/test/puppeteer/src/injected/util.ts b/remote/test/puppeteer/src/injected/util.ts new file mode 100644 index 0000000000..79e68e5e0f --- /dev/null +++ b/remote/test/puppeteer/src/injected/util.ts @@ -0,0 +1,18 @@ +const createdFunctions = new Map<string, (...args: unknown[]) => unknown>(); + +/** + * Creates a function from a string. + */ +export const createFunction = ( + functionValue: string +): ((...args: unknown[]) => unknown) => { + let fn = createdFunctions.get(functionValue); + if (fn) { + return fn; + } + fn = new Function(`return ${functionValue}`)() as ( + ...args: unknown[] + ) => unknown; + createdFunctions.set(functionValue, fn); + return fn; +}; |