Welcome! Log In Create A New Profile

Advanced

[njs] Array.isArray() function.

August 11, 2016 09:42AM
details: http://hg.nginx.org/njs/rev/bd3464a20ad2
branches:
changeset: 149:bd3464a20ad2
user: Igor Sysoev <igor@sysoev.ru>
date: Wed Aug 10 11:57:56 2016 +0300
description:
Array.isArray() function.

diffstat:

njs/njs_array.c | 26 ++++++++++++++++++++++++++
njs/test/njs_unit_test.c | 9 +++++++++
2 files changed, 35 insertions(+), 0 deletions(-)

diffs (62 lines):

diff -r f23c723cf833 -r bd3464a20ad2 njs/njs_array.c
--- a/njs/njs_array.c Tue Aug 09 14:10:33 2016 +0300
+++ b/njs/njs_array.c Wed Aug 10 11:57:56 2016 +0300
@@ -257,6 +257,25 @@ njs_array_constructor(njs_vm_t *vm, njs_
}


+static njs_ret_t
+njs_array_is_array(njs_vm_t *vm, njs_value_t *args,
+ nxt_uint_t nargs, njs_index_t unused)
+{
+ const njs_value_t *value;
+
+ if (nargs > 1 && njs_is_array(&args[1])) {
+ value = &njs_string_true;
+
+ } else {
+ value = &njs_string_false;
+ }
+
+ vm->retval = *value;
+
+ return NXT_OK;
+}
+
+
static const njs_object_prop_t njs_array_constructor_properties[] =
{
/* Array.name == "Array". */
@@ -279,6 +298,13 @@ static const njs_object_prop_t njs_arra
.name = njs_string("prototype"),
.value = njs_native_getter(njs_object_prototype_create),
},
+
+ /* Array.isArray(). */
+ {
+ .type = NJS_METHOD,
+ .name = njs_string("isArray"),
+ .value = njs_native_function(njs_array_is_array, 0, 0),
+ },
};


diff -r f23c723cf833 -r bd3464a20ad2 njs/test/njs_unit_test.c
--- a/njs/test/njs_unit_test.c Tue Aug 09 14:10:33 2016 +0300
+++ b/njs/test/njs_unit_test.c Wed Aug 10 11:57:56 2016 +0300
@@ -2215,6 +2215,15 @@ static njs_unit_test_t njs_test[] =

/**/

+ { nxt_string("Array.isArray()"),
+ nxt_string("false") },
+
+ { nxt_string("Array.isArray(1)"),
+ nxt_string("false") },
+
+ { nxt_string("Array.isArray([])"),
+ nxt_string("true") },
+
{ nxt_string("a = [1,2,3]; a.concat(4, [5, 6, 7], 8)"),
nxt_string("1,2,3,4,5,6,7,8") },


_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[njs] Array.isArray() function.

Igor Sysoev 535 August 11, 2016 09:42AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 266
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready