From 6657730950844ba7e0dfad366ac3bb7e6b268e62 Mon Sep 17 00:00:00 2001 From: Sergey Panpurin Date: Thu, 11 May 2023 20:06:18 +0300 Subject: [PATCH] Fix ` g is not defined` issue Variable `g` is not defined in the evaluation scope. --- lib/model-builder.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/model-builder.js b/lib/model-builder.js index 5f0535770..a1e8a56c2 100644 --- a/lib/model-builder.js +++ b/lib/model-builder.js @@ -681,7 +681,7 @@ function createModelClassCtor(name, ModelBaseClass) { // from a dynamically defined function. The solution is to // create a dynamically defined factory function that accepts // closure variables as arguments. - const factory = new Function('ModelBaseClass', ` + const factory = new Function('ModelBaseClass', 'g', ` // every class can receive hash of data as optional param return function ${name}(data, options) { if (!(this instanceof ${name})) { @@ -693,7 +693,7 @@ function createModelClassCtor(name, ModelBaseClass) { ModelBaseClass.apply(this, arguments); };`); - return factory(ModelBaseClass); + return factory(ModelBaseClass, g); } catch (err) { // modelName is not a valid function/class name, e.g. 'grand-child' // and our simple sanitization was not good enough.