]> git.kaiwu.me - njs.git/commitdiff
Improved typeof for internal types.
authorDmitry Volyntsev <xeioex@nginx.com>
Fri, 12 Jul 2019 20:30:22 +0000 (23:30 +0300)
committerDmitry Volyntsev <xeioex@nginx.com>
Fri, 12 Jul 2019 20:30:22 +0000 (23:30 +0300)
njs/njs_value.c
njs/njs_value.h
njs/njs_vm.c
njs/test/njs_unit_test.c

index 16207a5a417732eaf95386a42d4121bd3487744f..045d2761cdaf69a10a9b80b5d6db921d860cef91 100644 (file)
@@ -31,6 +31,9 @@ const njs_value_t  njs_string_plus_infinity =
                                             njs_string("Infinity");
 const njs_value_t  njs_string_nan =         njs_string("NaN");
 const njs_value_t  njs_string_string =      njs_string("string");
+const njs_value_t  njs_string_data =        njs_string("data");
+const njs_value_t  njs_string_external =    njs_string("external");
+const njs_value_t  njs_string_invalid =     njs_string("invalid");
 const njs_value_t  njs_string_object =      njs_string("object");
 const njs_value_t  njs_string_function =    njs_string("function");
 const njs_value_t  njs_string_memory_error = njs_string("MemoryError");
index c614630d3f17a99c63fa1b0917eba69a89fd41a1..4804e44eefc359445471f2887f0aa6cf5f13f1f3 100644 (file)
@@ -743,6 +743,9 @@ extern const njs_value_t  njs_string_minus_infinity;
 extern const njs_value_t  njs_string_plus_infinity;
 extern const njs_value_t  njs_string_nan;
 extern const njs_value_t  njs_string_string;
+extern const njs_value_t  njs_string_data;
+extern const njs_value_t  njs_string_external;
+extern const njs_value_t  njs_string_invalid;
 extern const njs_value_t  njs_string_object;
 extern const njs_value_t  njs_string_function;
 extern const njs_value_t  njs_string_memory_error;
index 85f1883c6840c18e9db81d0d60a68fce1a3bf43d..1217ce4a078326fe059d6ec02961c9b188e018d4 100644 (file)
@@ -982,9 +982,9 @@ njs_vmcode_typeof(njs_vm_t *vm, njs_value_t *value, njs_value_t *invld)
         &njs_string_boolean,
         &njs_string_number,
         &njs_string_string,
-        &njs_string_undefined,
-        &njs_string_undefined,
-        &njs_string_undefined,
+        &njs_string_data,
+        &njs_string_external,
+        &njs_string_invalid,
         &njs_string_undefined,
         &njs_string_undefined,
         &njs_string_undefined,
index db497a8cef9d8ff450c15ce8e08f56dc4b749c7a..3b9afe9e4eaf4b07c1351f9a95e942e18cd5ee5e 100644 (file)
@@ -4998,7 +4998,7 @@ static njs_unit_test_t  njs_test[] =
     /* Externals. */
 
     { nxt_string("typeof $r"),
-      nxt_string("undefined") },
+      nxt_string("external") },
 
     { nxt_string("var a = $r.uri, s = a.fromUTF8(); s.length +' '+ s"),
       nxt_string("3 АБВ") },