瀏覽代碼

Update v8js_methods.cc

* require() method: check when Module Loader returns an array (ex: require on a .json file) and map to array to JavaScript
Christiano Becker 6 年之前
父節點
當前提交
d36aa6c9d5
共有 1 個文件被更改,包括 9 次插入0 次删除
  1. 9 0
      v8js_methods.cc

+ 9 - 0
v8js_methods.cc

@@ -484,6 +484,15 @@ V8JS_METHOD(require)
 
 		return;
 	}
+	
+	if(Z_TYPE(module_code) == IS_ARRAY) {
+		v8::Local<v8::Value> newarray = zval_to_v8js(&module_code, isolate);
+		c->modules_loaded[normalised_module_id].Reset(isolate, newarray);
+		info.GetReturnValue().Set(newarray);
+
+		efree(normalised_path);
+		return;
+        }
 
 	if(Z_TYPE(module_code) == IS_OBJECT) {
 		v8::Local<v8::Object> newobj = zval_to_v8js(&module_code, isolate)->ToObject(isolate->GetEnteredContext()).ToLocalChecked();