From: Dmitry Volyntsev Date: Thu, 31 Oct 2019 15:17:32 +0000 (+0300) Subject: Removing console.help() from CLI as it not needed anymore. X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=a2b1463d3676cb5c407d133c19c1a29bcbf61ee8;p=njs.git Removing console.help() from CLI as it not needed anymore. Now all available objects are accessible through the global object. --- diff --git a/src/njs_array.c b/src/njs_array.c index 26ee0841..3fd1cb36 100644 --- a/src/njs_array.c +++ b/src/njs_array.c @@ -322,7 +322,6 @@ static const njs_object_prop_t njs_array_constructor_properties[] = const njs_object_init_t njs_array_constructor_init = { - njs_str("Array"), njs_array_constructor_properties, njs_nitems(njs_array_constructor_properties), }; @@ -2987,7 +2986,6 @@ static const njs_object_prop_t njs_array_prototype_properties[] = const njs_object_init_t njs_array_prototype_init = { - njs_str("Array"), njs_array_prototype_properties, njs_nitems(njs_array_prototype_properties), }; @@ -3005,7 +3003,6 @@ const njs_object_prop_t njs_array_instance_properties[] = const njs_object_init_t njs_array_instance_init = { - njs_str("Array instance"), njs_array_instance_properties, njs_nitems(njs_array_instance_properties), }; diff --git a/src/njs_boolean.c b/src/njs_boolean.c index 79c54bed..0dc4860e 100644 --- a/src/njs_boolean.c +++ b/src/njs_boolean.c @@ -66,7 +66,6 @@ static const njs_object_prop_t njs_boolean_constructor_properties[] = const njs_object_init_t njs_boolean_constructor_init = { - njs_str("Boolean"), njs_boolean_constructor_properties, njs_nitems(njs_boolean_constructor_properties), }; @@ -161,7 +160,6 @@ static const njs_object_prop_t njs_boolean_prototype_properties[] = const njs_object_init_t njs_boolean_prototype_init = { - njs_str("Boolean"), njs_boolean_prototype_properties, njs_nitems(njs_boolean_prototype_properties), }; diff --git a/src/njs_builtin.c b/src/njs_builtin.c index 7396787f..4dd710fd 100644 --- a/src/njs_builtin.c +++ b/src/njs_builtin.c @@ -199,10 +199,12 @@ njs_builtin_objects_create(njs_vm_t *vm) njs_lvlhsh_query_t lhq; njs_regexp_pattern_t *pattern; njs_object_prototype_t *prototype; + const njs_object_prop_t *prop; const njs_object_init_t *obj, **p; const njs_function_init_t *f; static const njs_str_t sandbox_key = njs_str("sandbox"); + static const njs_str_t name_key = njs_str("name"); shared = njs_mp_zalloc(vm->mem_pool, sizeof(njs_vm_shared_t)); if (njs_slow_path(shared == NULL)) { @@ -308,7 +310,18 @@ njs_builtin_objects_create(njs_vm_t *vm) } } - module->name = obj->name; + lhq.key = name_key; + lhq.key_hash = njs_djb_hash(name_key.start, name_key.length); + lhq.proto = &njs_object_hash_proto; + + ret = njs_lvlhsh_find(&module->object.shared_hash, &lhq); + if (njs_fast_path(ret != NJS_OK)) { + return NJS_ERROR; + } + + prop = lhq.value; + + njs_string_get(&prop->value, &module->name); module->object.shared = 1; lhq.key = module->name; @@ -1463,7 +1476,6 @@ static const njs_object_prop_t njs_global_this_object_properties[] = const njs_object_init_t njs_global_this_init = { - njs_str(""), njs_global_this_object_properties, njs_nitems(njs_global_this_object_properties) }; @@ -1489,7 +1501,6 @@ static const njs_object_prop_t njs_njs_object_properties[] = const njs_object_init_t njs_njs_object_init = { - njs_str("njs"), njs_njs_object_properties, njs_nitems(njs_njs_object_properties), }; @@ -1698,7 +1709,6 @@ static const njs_object_prop_t njs_process_object_properties[] = const njs_object_init_t njs_process_object_init = { - njs_str("process"), njs_process_object_properties, njs_nitems(njs_process_object_properties), }; diff --git a/src/njs_crypto.c b/src/njs_crypto.c index 81c90e1d..1b75ee3e 100644 --- a/src/njs_crypto.c +++ b/src/njs_crypto.c @@ -347,7 +347,6 @@ static const njs_object_prop_t njs_hash_prototype_properties[] = const njs_object_init_t njs_hash_prototype_init = { - njs_str("Hash"), njs_hash_prototype_properties, njs_nitems(njs_hash_prototype_properties), }; @@ -386,7 +385,6 @@ static const njs_object_prop_t njs_hash_constructor_properties[] = const njs_object_init_t njs_hash_constructor_init = { - njs_str("Hash"), njs_hash_constructor_properties, njs_nitems(njs_hash_constructor_properties), }; @@ -631,7 +629,6 @@ static const njs_object_prop_t njs_hmac_prototype_properties[] = const njs_object_init_t njs_hmac_prototype_init = { - njs_str("Hmac"), njs_hmac_prototype_properties, njs_nitems(njs_hmac_prototype_properties), }; @@ -670,7 +667,6 @@ static const njs_object_prop_t njs_hmac_constructor_properties[] = const njs_object_init_t njs_hmac_constructor_init = { - njs_str("Hmac"), njs_hmac_constructor_properties, njs_nitems(njs_hmac_constructor_properties), }; @@ -711,7 +707,6 @@ static const njs_object_prop_t njs_crypto_object_properties[] = const njs_object_init_t njs_crypto_object_init = { - njs_str("crypto"), njs_crypto_object_properties, njs_nitems(njs_crypto_object_properties), }; diff --git a/src/njs_date.c b/src/njs_date.c index 0470880b..4ee83943 100644 --- a/src/njs_date.c +++ b/src/njs_date.c @@ -1048,7 +1048,6 @@ static const njs_object_prop_t njs_date_constructor_properties[] = const njs_object_init_t njs_date_constructor_init = { - njs_str("Date"), njs_date_constructor_properties, njs_nitems(njs_date_constructor_properties), }; @@ -2888,7 +2887,6 @@ static const njs_object_prop_t njs_date_prototype_properties[] = const njs_object_init_t njs_date_prototype_init = { - njs_str("Date"), njs_date_prototype_properties, njs_nitems(njs_date_prototype_properties), }; diff --git a/src/njs_error.c b/src/njs_error.c index 0e17b88c..e0184556 100644 --- a/src/njs_error.c +++ b/src/njs_error.c @@ -201,7 +201,6 @@ static const njs_object_prop_t njs_error_constructor_properties[] = const njs_object_init_t njs_error_constructor_init = { - njs_str("Error"), njs_error_constructor_properties, njs_nitems(njs_error_constructor_properties), }; @@ -243,7 +242,6 @@ static const njs_object_prop_t njs_eval_error_constructor_properties[] = const njs_object_init_t njs_eval_error_constructor_init = { - njs_str("EvalError"), njs_eval_error_constructor_properties, njs_nitems(njs_eval_error_constructor_properties), }; @@ -285,7 +283,6 @@ static const njs_object_prop_t njs_internal_error_constructor_properties[] = const njs_object_init_t njs_internal_error_constructor_init = { - njs_str("InternalError"), njs_internal_error_constructor_properties, njs_nitems(njs_internal_error_constructor_properties), }; @@ -327,7 +324,6 @@ static const njs_object_prop_t njs_range_error_constructor_properties[] = const njs_object_init_t njs_range_error_constructor_init = { - njs_str("RangeError"), njs_range_error_constructor_properties, njs_nitems(njs_range_error_constructor_properties), }; @@ -369,7 +365,6 @@ static const njs_object_prop_t njs_reference_error_constructor_properties[] = const njs_object_init_t njs_reference_error_constructor_init = { - njs_str("ReferenceError"), njs_reference_error_constructor_properties, njs_nitems(njs_reference_error_constructor_properties), }; @@ -411,7 +406,6 @@ static const njs_object_prop_t njs_syntax_error_constructor_properties[] = const njs_object_init_t njs_syntax_error_constructor_init = { - njs_str("SyntaxError"), njs_syntax_error_constructor_properties, njs_nitems(njs_syntax_error_constructor_properties), }; @@ -453,7 +447,6 @@ static const njs_object_prop_t njs_type_error_constructor_properties[] = const njs_object_init_t njs_type_error_constructor_init = { - njs_str("TypeError"), njs_type_error_constructor_properties, njs_nitems(njs_type_error_constructor_properties), }; @@ -495,7 +488,6 @@ static const njs_object_prop_t njs_uri_error_constructor_properties[] = const njs_object_init_t njs_uri_error_constructor_init = { - njs_str("URIError"), njs_uri_error_constructor_properties, njs_nitems(njs_uri_error_constructor_properties), }; @@ -597,7 +589,6 @@ static const njs_object_prop_t njs_memory_error_constructor_properties[] = const njs_object_init_t njs_memory_error_constructor_init = { - njs_str("MemoryError"), njs_memory_error_constructor_properties, njs_nitems(njs_memory_error_constructor_properties), }; @@ -762,7 +753,6 @@ static const njs_object_prop_t njs_error_prototype_properties[] = const njs_object_init_t njs_error_prototype_init = { - njs_str("Error"), njs_error_prototype_properties, njs_nitems(njs_error_prototype_properties), }; @@ -797,7 +787,6 @@ static const njs_object_prop_t njs_eval_error_prototype_properties[] = const njs_object_init_t njs_eval_error_prototype_init = { - njs_str("EvalError"), njs_eval_error_prototype_properties, njs_nitems(njs_eval_error_prototype_properties), }; @@ -852,7 +841,6 @@ static const njs_object_prop_t njs_internal_error_prototype_properties[] = const njs_object_init_t njs_internal_error_prototype_init = { - njs_str("InternalError"), njs_internal_error_prototype_properties, njs_nitems(njs_internal_error_prototype_properties), }; @@ -887,7 +875,6 @@ static const njs_object_prop_t njs_range_error_prototype_properties[] = const njs_object_init_t njs_range_error_prototype_init = { - njs_str("RangeError"), njs_range_error_prototype_properties, njs_nitems(njs_range_error_prototype_properties), }; @@ -922,7 +909,6 @@ static const njs_object_prop_t njs_reference_error_prototype_properties[] = const njs_object_init_t njs_reference_error_prototype_init = { - njs_str("ReferenceError"), njs_reference_error_prototype_properties, njs_nitems(njs_reference_error_prototype_properties), }; @@ -957,7 +943,6 @@ static const njs_object_prop_t njs_syntax_error_prototype_properties[] = const njs_object_init_t njs_syntax_error_prototype_init = { - njs_str("SyntaxError"), njs_syntax_error_prototype_properties, njs_nitems(njs_syntax_error_prototype_properties), }; @@ -992,7 +977,6 @@ static const njs_object_prop_t njs_type_error_prototype_properties[] = const njs_object_init_t njs_type_error_prototype_init = { - njs_str("TypeError"), njs_type_error_prototype_properties, njs_nitems(njs_type_error_prototype_properties), }; @@ -1027,7 +1011,6 @@ static const njs_object_prop_t njs_uri_error_prototype_properties[] = const njs_object_init_t njs_uri_error_prototype_init = { - njs_str("URIError"), njs_uri_error_prototype_properties, njs_nitems(njs_uri_error_prototype_properties), }; diff --git a/src/njs_fs.c b/src/njs_fs.c index 07a809db..80514602 100644 --- a/src/njs_fs.c +++ b/src/njs_fs.c @@ -1215,7 +1215,6 @@ static const njs_object_prop_t njs_fs_object_properties[] = const njs_object_init_t njs_fs_object_init = { - njs_str("fs"), njs_fs_object_properties, njs_nitems(njs_fs_object_properties), }; diff --git a/src/njs_function.c b/src/njs_function.c index ad2b02c0..5b6dbc15 100644 --- a/src/njs_function.c +++ b/src/njs_function.c @@ -275,7 +275,6 @@ const njs_object_prop_t njs_arguments_object_instance_properties[] = const njs_object_init_t njs_arguments_object_instance_init = { - njs_str("Argument object instance"), njs_arguments_object_instance_properties, njs_nitems(njs_arguments_object_instance_properties), }; @@ -872,7 +871,6 @@ static const njs_object_prop_t njs_function_constructor_properties[] = const njs_object_init_t njs_function_constructor_init = { - njs_str("Function"), njs_function_constructor_properties, njs_nitems(njs_function_constructor_properties), }; @@ -1157,7 +1155,6 @@ static const njs_object_prop_t njs_function_prototype_properties[] = const njs_object_init_t njs_function_prototype_init = { - njs_str("Function"), njs_function_prototype_properties, njs_nitems(njs_function_prototype_properties), }; @@ -1182,7 +1179,6 @@ const njs_object_prop_t njs_function_instance_properties[] = const njs_object_init_t njs_function_instance_init = { - njs_str("Function instance"), njs_function_instance_properties, njs_nitems(njs_function_instance_properties), }; @@ -1200,7 +1196,6 @@ const njs_object_prop_t njs_arrow_instance_properties[] = const njs_object_init_t njs_arrow_instance_init = { - njs_str("Arrow instance"), njs_arrow_instance_properties, njs_nitems(njs_arrow_instance_properties), }; @@ -1237,7 +1232,6 @@ static const njs_object_prop_t njs_eval_function_properties[] = const njs_object_init_t njs_eval_function_init = { - njs_str("eval"), njs_eval_function_properties, njs_nitems(njs_eval_function_properties), }; diff --git a/src/njs_json.c b/src/njs_json.c index d56987cb..8a07d4a6 100644 --- a/src/njs_json.c +++ b/src/njs_json.c @@ -2122,7 +2122,6 @@ static const njs_object_prop_t njs_json_object_properties[] = const njs_object_init_t njs_json_object_init = { - njs_str("JSON"), njs_json_object_properties, njs_nitems(njs_json_object_properties), }; diff --git a/src/njs_math.c b/src/njs_math.c index ab4393db..d1821f99 100644 --- a/src/njs_math.c +++ b/src/njs_math.c @@ -1321,7 +1321,6 @@ static const njs_object_prop_t njs_math_object_properties[] = const njs_object_init_t njs_math_object_init = { - njs_str("Math"), njs_math_object_properties, njs_nitems(njs_math_object_properties), }; diff --git a/src/njs_number.c b/src/njs_number.c index b1f8fc11..ef3a55ea 100644 --- a/src/njs_number.c +++ b/src/njs_number.c @@ -499,7 +499,6 @@ static const njs_object_prop_t njs_number_constructor_properties[] = const njs_object_init_t njs_number_constructor_init = { - njs_str("Number"), njs_number_constructor_properties, njs_nitems(njs_number_constructor_properties), }; @@ -963,7 +962,6 @@ static const njs_object_prop_t njs_number_prototype_properties[] = const njs_object_init_t njs_number_prototype_init = { - njs_str("Number"), njs_number_prototype_properties, njs_nitems(njs_number_prototype_properties), }; @@ -1146,7 +1144,6 @@ static const njs_object_prop_t njs_is_finite_function_properties[] = const njs_object_init_t njs_is_finite_function_init = { - njs_str("isFinite"), njs_is_finite_function_properties, njs_nitems(njs_is_finite_function_properties), }; diff --git a/src/njs_object.c b/src/njs_object.c index 2c41c8a9..fd27472c 100644 --- a/src/njs_object.c +++ b/src/njs_object.c @@ -1912,7 +1912,6 @@ static const njs_object_prop_t njs_object_constructor_properties[] = const njs_object_init_t njs_object_constructor_init = { - njs_str("Object"), njs_object_constructor_properties, njs_nitems(njs_object_constructor_properties), }; @@ -2368,7 +2367,6 @@ static const njs_object_prop_t njs_object_prototype_properties[] = const njs_object_init_t njs_object_prototype_init = { - njs_str("Object"), njs_object_prototype_properties, njs_nitems(njs_object_prototype_properties), }; diff --git a/src/njs_object.h b/src/njs_object.h index 23823be3..f8936bdf 100644 --- a/src/njs_object.h +++ b/src/njs_object.h @@ -37,7 +37,6 @@ typedef enum { struct njs_object_init_s { - njs_str_t name; const njs_object_prop_t *properties; njs_uint_t items; }; diff --git a/src/njs_regexp.c b/src/njs_regexp.c index 9df0c57f..cf8465e6 100644 --- a/src/njs_regexp.c +++ b/src/njs_regexp.c @@ -1189,7 +1189,6 @@ static const njs_object_prop_t njs_regexp_constructor_properties[] = const njs_object_init_t njs_regexp_constructor_init = { - njs_str("RegExp"), njs_regexp_constructor_properties, njs_nitems(njs_regexp_constructor_properties), }; @@ -1266,7 +1265,6 @@ static const njs_object_prop_t njs_regexp_prototype_properties[] = const njs_object_init_t njs_regexp_prototype_init = { - njs_str("RegExp"), njs_regexp_prototype_properties, njs_nitems(njs_regexp_prototype_properties), }; diff --git a/src/njs_shell.c b/src/njs_shell.c index 07f7108f..b1e316c4 100644 --- a/src/njs_shell.c +++ b/src/njs_shell.c @@ -85,8 +85,6 @@ static njs_int_t njs_ext_console_log(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, njs_index_t unused); static njs_int_t njs_ext_console_dump(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, njs_index_t unused); -static njs_int_t njs_ext_console_help(njs_vm_t *vm, njs_value_t *args, - njs_uint_t nargs, njs_index_t unused); static njs_int_t njs_ext_console_time(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, njs_index_t unused); static njs_int_t njs_ext_console_time_end(njs_vm_t *vm, njs_value_t *args, @@ -126,17 +124,6 @@ static njs_external_t njs_ext_console[] = { njs_ext_console_dump, 0 }, - { njs_str("help"), - NJS_EXTERN_METHOD, - NULL, - 0, - NULL, - NULL, - NULL, - NULL, - njs_ext_console_help, - 0 }, - { njs_str("time"), NJS_EXTERN_METHOD, NULL, @@ -473,8 +460,7 @@ njs_interactive_shell(njs_opts_t *opts, njs_vm_opt_t *vm_options) if (!opts->quiet) { njs_printf("interactive njs %s\n\n", NJS_VERSION); - njs_printf("v. -> the properties and prototype methods of v.\n"); - njs_printf("type console.help() for more information\n\n"); + njs_printf("v. -> the properties and prototype methods of v.\n\n"); } for ( ;; ) { @@ -1024,37 +1010,6 @@ njs_ext_console_dump(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, } -static njs_int_t -njs_ext_console_help(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, - njs_index_t unused) -{ - const njs_object_init_t *obj, **objpp; - - njs_printf("VM built-in objects:\n"); - - for (objpp = njs_constructor_init; *objpp != NULL; objpp++) { - obj = *objpp; - - njs_printf(" %V\n", &obj->name); - } - - for (objpp = njs_object_init; *objpp != NULL; objpp++) { - obj = *objpp; - - njs_printf(" %V\n", &obj->name); - } - - njs_printf("\nEmbedded objects:\n"); - njs_printf(" console\n"); - - njs_printf("\n"); - - njs_set_undefined(&vm->retval); - - return NJS_OK; -} - - static njs_int_t njs_ext_console_time(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, njs_index_t unused) diff --git a/src/njs_string.c b/src/njs_string.c index 5ce3adf2..f5e0ba2b 100644 --- a/src/njs_string.c +++ b/src/njs_string.c @@ -630,7 +630,6 @@ static const njs_object_prop_t njs_string_constructor_properties[] = const njs_object_init_t njs_string_constructor_init = { - njs_str("String"), njs_string_constructor_properties, njs_nitems(njs_string_constructor_properties), }; @@ -4723,7 +4722,6 @@ static const njs_object_prop_t njs_string_prototype_properties[] = const njs_object_init_t njs_string_prototype_init = { - njs_str("String"), njs_string_prototype_properties, njs_nitems(njs_string_prototype_properties), }; @@ -4740,7 +4738,6 @@ const njs_object_prop_t njs_string_instance_properties[] = const njs_object_init_t njs_string_instance_init = { - njs_str("String instance"), njs_string_instance_properties, njs_nitems(njs_string_instance_properties), }; diff --git a/test/njs_expect_test.exp b/test/njs_expect_test.exp index 77431015..04cc3f6a 100644 --- a/test/njs_expect_test.exp +++ b/test/njs_expect_test.exp @@ -26,7 +26,6 @@ proc njs_test {body {opts ""}} { expect -re "interactive njs \\d+\.\\d+\.\\d+\r\n\r" expect "v. -> the properties and prototype methods of v.\r -type console.help() for more information\r \r >> " @@ -220,8 +219,6 @@ njs_test { "console.dump(1)\r\n1\r\nundefined\r\n>> "} {"console.dump(1, 'a')\r\n" "console.dump(1, 'a')\r\n1 a\r\nundefined\r\n>> "} - {"console.help()\r\n" - "console.help()\r\nVM built-in objects:"} } # console.time* functions