From 8b0772802da9113dd0a1e7709cc232d8770ebe1f Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Fri, 12 Jul 2019 23:30:22 +0300 Subject: [PATCH] Improved typeof for internal types. --- njs/njs_value.c | 3 +++ njs/njs_value.h | 3 +++ njs/njs_vm.c | 6 +++--- njs/test/njs_unit_test.c | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/njs/njs_value.c b/njs/njs_value.c index 16207a5a..045d2761 100644 --- a/njs/njs_value.c +++ b/njs/njs_value.c @@ -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"); diff --git a/njs/njs_value.h b/njs/njs_value.h index c614630d..4804e44e 100644 --- a/njs/njs_value.h +++ b/njs/njs_value.h @@ -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; diff --git a/njs/njs_vm.c b/njs/njs_vm.c index 85f1883c..1217ce4a 100644 --- a/njs/njs_vm.c +++ b/njs/njs_vm.c @@ -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, diff --git a/njs/test/njs_unit_test.c b/njs/test/njs_unit_test.c index db497a8c..3b9afe9e 100644 --- a/njs/test/njs_unit_test.c +++ b/njs/test/njs_unit_test.c @@ -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 АБВ") }, -- 2.47.3