From 201afc92e148280884f17cb2ccb2df52e02238d4 Mon Sep 17 00:00:00 2001 From: Innei Date: Tue, 22 Mar 2022 22:51:15 +0800 Subject: [PATCH] fix: lodash can not clone a function --- src/modules/serverless/serverless.service.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/modules/serverless/serverless.service.ts b/src/modules/serverless/serverless.service.ts index bc113a84..0fb1b871 100644 --- a/src/modules/serverless/serverless.service.ts +++ b/src/modules/serverless/serverless.service.ts @@ -275,7 +275,15 @@ export class ServerlessService { } else { this.requireModuleIdSet.add(require.resolve(id)) } - return typeof module === 'function' ? module.bind() : cloneDeep(module) + const clonedModule = cloneDeep(module) + return typeof module === 'function' + ? (() => { + const newFunc = module.bind() + + Object.setPrototypeOf(newFunc, clonedModule) + return newFunc + })() + : clonedModule } const __requireNoCache = (id: string) => {