]> git.kaiwu.me - njs.git/commitdiff
Fixed backtraces for native modules imported with import statement.
authorDmitry Volyntsev <xeioex@nginx.com>
Mon, 14 Feb 2022 14:10:26 +0000 (14:10 +0000)
committerDmitry Volyntsev <xeioex@nginx.com>
Mon, 14 Feb 2022 14:10:26 +0000 (14:10 +0000)
Previously, the module name was missing when exception is reported
for a native module function imported with import statement.

external/njs_crypto_module.c
external/njs_fs_module.c
external/njs_query_string_module.c
src/test/njs_unit_test.c

index 28b0868b5eb3180fbc44049d1f445f49ece0a7ad..a602828995c026793d839f9ee6cbfec09b04b508 100644 (file)
@@ -230,6 +230,14 @@ static njs_external_t  njs_ext_crypto_hmac[] = {
 
 static njs_external_t  njs_ext_crypto_crypto[] = {
 
+    {
+        .flags = NJS_EXTERN_PROPERTY | NJS_EXTERN_SYMBOL,
+        .name.symbol = NJS_SYMBOL_TO_STRING_TAG,
+        .u.property = {
+            .value = "crypto",
+        }
+    },
+
     {
         .flags = NJS_EXTERN_METHOD,
         .name.string = njs_str("createHash"),
index 4333abeaa8c0d570ea8003f2629d952fe494a5a6..a586af0a232d941dc4b49583acda12520abc3f47 100644 (file)
@@ -227,6 +227,14 @@ static njs_fs_entry_t njs_flags_table[] = {
 
 static njs_external_t  njs_ext_fs[] = {
 
+    {
+        .flags = NJS_EXTERN_PROPERTY | NJS_EXTERN_SYMBOL,
+        .name.symbol = NJS_SYMBOL_TO_STRING_TAG,
+        .u.property = {
+            .value = "fs",
+        }
+    },
+
     {
         .flags = NJS_EXTERN_METHOD,
         .name.string = njs_str("access"),
index b088e865f9b68cbd10d6997d238b0b8584b6538a..ae0327e54ebf33f6009c696fc74db65c152ffd52 100644 (file)
@@ -32,6 +32,14 @@ static njs_int_t njs_query_string_init(njs_vm_t *vm);
 
 static njs_external_t  njs_ext_query_string[] = {
 
+    {
+        .flags = NJS_EXTERN_PROPERTY | NJS_EXTERN_SYMBOL,
+        .name.symbol = NJS_SYMBOL_TO_STRING_TAG,
+        .u.property = {
+            .value = "querystring",
+        }
+    },
+
     {
         .flags = NJS_EXTERN_METHOD,
         .name.string = njs_str("parse"),
index f666a3ea542516ba2fea6e67caff40456239116c..89bc1615493045d1693b91bffc3fbc000663262a 100644 (file)
@@ -21243,6 +21243,11 @@ static njs_unit_test_t  njs_shared_test[] =
               "    at fs.readFileSync (native)\n"
               "    at main (:1)\n") },
 
+    { njs_str("import fs from 'fs'; fs.readFileSync()"),
+      njs_str("TypeError: \"path\" must be a string or Buffer\n"
+              "    at fs.readFileSync (native)\n"
+              "    at main (:1)\n") },
+
     { njs_str("var f = new Function('return 1;'); f();"),
       njs_str("1") },