@@ -186,7 +186,8 @@ njs_array_length_redefine(njs_vm_t *vm, njs_value_t *value, uint32_t length,
186186 return NJS_ERROR ;
187187 }
188188
189- prop = njs_object_property_add (vm , value , njs_value_arg (& string_length ), 1 );
189+ prop = njs_object_property_add (vm , value ,
190+ njs_value_arg (& njs_atom .vs_length ), 1 );
190191 if (njs_slow_path (prop == NULL )) {
191192 njs_internal_error (vm , "njs_array_length_redefine() "
192193 "cannot redefine \"length\"" );
@@ -605,23 +606,24 @@ njs_array_of(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
605606}
606607
607608
608- static const njs_object_prop_t njs_array_constructor_properties [] =
609+ static njs_object_prop_t njs_array_constructor_properties [] =
609610{
610611 NJS_DECLARE_PROP_LENGTH (1 ),
611612
612- NJS_DECLARE_PROP_NAME ("Array" ),
613+ NJS_DECLARE_PROP_NAME (njs_atom . vs_Array ),
613614
614- NJS_DECLARE_PROP_HANDLER ("prototype" , njs_object_prototype_create , 0 , 0 , 0 ),
615+ NJS_DECLARE_PROP_HANDLER (njs_atom .vs_prototype , njs_object_prototype_create ,
616+ 0 , 0 , 0 ),
615617
616- NJS_DECLARE_PROP_NATIVE ("from" , njs_array_from , 1 , 0 ),
618+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_from , njs_array_from , 1 , 0 ),
617619
618- NJS_DECLARE_PROP_NATIVE ("isArray" , njs_array_is_array , 1 , 0 ),
620+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_isArray , njs_array_is_array , 1 , 0 ),
619621
620- NJS_DECLARE_PROP_NATIVE ("of" , njs_array_of , 0 , 0 ),
622+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_of , njs_array_of , 0 , 0 ),
621623};
622624
623625
624- const njs_object_init_t njs_array_constructor_init = {
626+ static const njs_object_init_t njs_array_constructor_init = {
625627 njs_array_constructor_properties ,
626628 njs_nitems (njs_array_constructor_properties ),
627629};
@@ -1618,7 +1620,7 @@ njs_array_prototype_to_string(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
16181620 njs_lvlhsh_query_t lhq ;
16191621
16201622 if (njs_is_object (njs_argument (args , 0 ))) {
1621- njs_object_property_init (& lhq , & njs_predefined . vs . _join , NJS_JOIN_HASH );
1623+ njs_object_property_init (& lhq , & njs_atom . vs_join , NJS_JOIN_HASH );
16221624
16231625 ret = njs_object_property (vm , njs_object (njs_argument (args , 0 )), & lhq ,
16241626 & value );
@@ -1659,7 +1661,7 @@ njs_array_prototype_join(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
16591661
16601662 if (njs_slow_path (!njs_is_string (value ))) {
16611663 if (njs_is_undefined (value )) {
1662- value = njs_value_arg (& njs_predefined . vs . _spec_COMMA );
1664+ value = njs_value_arg (& njs_atom . vs_spec_COMMA );
16631665
16641666 } else {
16651667 ret = njs_value_to_string (vm , value , value );
@@ -1672,7 +1674,7 @@ njs_array_prototype_join(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
16721674 (void ) njs_string_prop (& separator , value );
16731675
16741676 if (njs_slow_path (!njs_is_object (this ))) {
1675- njs_value_assign (retval , & njs_predefined . vs . _ );
1677+ njs_value_assign (retval , & njs_atom . vs_ );
16761678 return NJS_OK ;
16771679 }
16781680
@@ -1684,7 +1686,7 @@ njs_array_prototype_join(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
16841686 }
16851687
16861688 if (njs_slow_path (len == 0 )) {
1687- njs_value_assign (retval , & njs_predefined . vs . _ );
1689+ njs_value_assign (retval , & njs_atom . vs_ );
16881690 return NJS_OK ;
16891691 }
16901692
@@ -1890,14 +1892,13 @@ njs_is_concat_spreadable(njs_vm_t *vm, njs_value_t *value)
18901892 njs_int_t ret ;
18911893 njs_value_t retval ;
18921894
1893- static const njs_value_t key =
1894- njs_wellknown_symbol (NJS_SYMBOL_IS_CONCAT_SPREADABLE );
1895-
18961895 if (njs_slow_path (!njs_is_object (value ))) {
18971896 return NJS_DECLINED ;
18981897 }
18991898
1900- ret = njs_value_property (vm , value , njs_value_arg (& key ), & retval );
1899+ ret = njs_value_property (vm , value ,
1900+ njs_value_arg (& njs_atom .vw_isConcatSpreadable ),
1901+ & retval );
19011902 if (njs_slow_path (ret == NJS_ERROR )) {
19021903 return NJS_ERROR ;
19031904 }
@@ -3186,115 +3187,116 @@ njs_array_prototype_iterator_obj(njs_vm_t *vm, njs_value_t *args,
31863187}
31873188
31883189
3189- static const njs_object_prop_t njs_array_prototype_properties [] =
3190+ static njs_object_prop_t njs_array_prototype_properties [] =
31903191{
3191- NJS_DECLARE_PROP_HANDLER ("length" , njs_array_length , 0 , 0 ,
3192+ NJS_DECLARE_PROP_HANDLER (njs_atom . vs_length , njs_array_length , 0 , 0 ,
31923193 NJS_OBJECT_PROP_VALUE_W ),
31933194
3194- NJS_DECLARE_PROP_HANDLER ("constructor" ,
3195+ NJS_DECLARE_PROP_HANDLER (njs_atom . vs_constructor ,
31953196 njs_object_prototype_create_constructor ,
31963197 0 , 0 , NJS_OBJECT_PROP_VALUE_CW ),
31973198
3198- NJS_DECLARE_PROP_NATIVE ("concat" , njs_array_prototype_concat , 1 , 0 ),
3199-
3200- NJS_DECLARE_PROP_NATIVE ("copyWithin" , njs_array_prototype_copy_within , 2 ,
3199+ NJS_DECLARE_PROP_NATIVE (njs_atom .vs_concat , njs_array_prototype_concat , 1 ,
32013200 0 ),
32023201
3203- NJS_DECLARE_PROP_NATIVE ("entries" , njs_array_prototype_iterator_obj , 0 ,
3204- NJS_ENUM_BOTH ),
3202+ NJS_DECLARE_PROP_NATIVE (njs_atom .vs_copyWithin ,
3203+ njs_array_prototype_copy_within , 2 , 0 ),
3204+
3205+ NJS_DECLARE_PROP_NATIVE (njs_atom .vs_entries ,
3206+ njs_array_prototype_iterator_obj , 0 , NJS_ENUM_BOTH ),
32053207
3206- NJS_DECLARE_PROP_NATIVE ("every" , njs_array_prototype_iterator , 1 ,
3208+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_every , njs_array_prototype_iterator , 1 ,
32073209 njs_array_func (NJS_ARRAY_EVERY )),
32083210
3209- NJS_DECLARE_PROP_NATIVE ("fill" , njs_array_prototype_fill , 1 , 0 ),
3211+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_fill , njs_array_prototype_fill , 1 , 0 ),
32103212
3211- NJS_DECLARE_PROP_NATIVE ("filter" , njs_array_prototype_iterator , 1 ,
3213+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_filter , njs_array_prototype_iterator , 1 ,
32123214 njs_array_func (NJS_ARRAY_FILTER )),
32133215
3214- NJS_DECLARE_PROP_NATIVE ("find" , njs_array_prototype_iterator , 1 ,
3216+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_find , njs_array_prototype_iterator , 1 ,
32153217 njs_array_func (NJS_ARRAY_FIND )),
32163218
3217- NJS_DECLARE_PROP_NATIVE ("findIndex" , njs_array_prototype_iterator , 1 ,
3218- njs_array_func (NJS_ARRAY_FIND_INDEX )),
3219+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_findIndex , njs_array_prototype_iterator ,
3220+ 1 , njs_array_func (NJS_ARRAY_FIND_INDEX )),
32193221
3220- NJS_DECLARE_PROP_NATIVE ("forEach" , njs_array_prototype_iterator , 1 ,
3221- njs_array_func (NJS_ARRAY_FOR_EACH )),
3222+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_forEach , njs_array_prototype_iterator ,
3223+ 1 , njs_array_func (NJS_ARRAY_FOR_EACH )),
32223224
3223- NJS_DECLARE_PROP_NATIVE ("includes" , njs_array_prototype_iterator , 1 ,
3224- njs_array_arg (NJS_ARRAY_INCLUDES )),
3225+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_includes , njs_array_prototype_iterator ,
3226+ 1 , njs_array_arg (NJS_ARRAY_INCLUDES )),
32253227
3226- NJS_DECLARE_PROP_NATIVE ("indexOf" , njs_array_prototype_iterator , 1 ,
3228+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_indexOf , njs_array_prototype_iterator , 1 ,
32273229 njs_array_arg (NJS_ARRAY_INDEX_OF )),
32283230
3229- NJS_DECLARE_PROP_NATIVE ("join" , njs_array_prototype_join , 1 , 0 ),
3231+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_join , njs_array_prototype_join , 1 , 0 ),
32303232
3231- NJS_DECLARE_PROP_NATIVE ("keys" , njs_array_prototype_iterator_obj , 0 ,
3232- NJS_ENUM_KEYS ),
3233+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_keys , njs_array_prototype_iterator_obj ,
3234+ 0 , NJS_ENUM_KEYS ),
32333235
3234- NJS_DECLARE_PROP_NATIVE ("lastIndexOf" ,
3236+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_lastIndexOf ,
32353237 njs_array_prototype_reverse_iterator , 1 ,
32363238 NJS_ARRAY_LAST_INDEX_OF ),
32373239
3238- NJS_DECLARE_PROP_NATIVE ("map" , njs_array_prototype_iterator , 1 ,
3240+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_map , njs_array_prototype_iterator , 1 ,
32393241 njs_array_func (NJS_ARRAY_MAP )),
32403242
3241- NJS_DECLARE_PROP_NATIVE ("pop" , njs_array_prototype_pop , 0 , 0 ),
3243+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_pop , njs_array_prototype_pop , 0 , 0 ),
32423244
3243- NJS_DECLARE_PROP_NATIVE ("push" , njs_array_prototype_push , 1 , 0 ),
3245+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_push , njs_array_prototype_push , 1 , 0 ),
32443246
3245- NJS_DECLARE_PROP_NATIVE ("reduce" , njs_array_prototype_iterator , 1 ,
3247+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_reduce , njs_array_prototype_iterator , 1 ,
32463248 njs_array_func (NJS_ARRAY_REDUCE )),
32473249
3248- NJS_DECLARE_PROP_NATIVE ("reduceRight" ,
3250+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_reduceRight ,
32493251 njs_array_prototype_reverse_iterator , 1 ,
32503252 njs_array_func (NJS_ARRAY_REDUCE_RIGHT )),
32513253
3252- NJS_DECLARE_PROP_NATIVE ("reverse" , njs_array_prototype_reverse , 0 , 0 ),
3254+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_reverse , njs_array_prototype_reverse , 0 , 0 ),
32533255
3254- NJS_DECLARE_PROP_NATIVE ("shift" , njs_array_prototype_shift , 0 , 0 ),
3256+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_shift , njs_array_prototype_shift , 0 , 0 ),
32553257
3256- NJS_DECLARE_PROP_NATIVE ("slice" , njs_array_prototype_slice , 2 , 0 ),
3258+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_slice , njs_array_prototype_slice , 2 , 0 ),
32573259
3258- NJS_DECLARE_PROP_NATIVE ("some" , njs_array_prototype_iterator , 1 ,
3260+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_some , njs_array_prototype_iterator , 1 ,
32593261 njs_array_func (NJS_ARRAY_SOME )),
32603262
3261- NJS_DECLARE_PROP_NATIVE ("sort" , njs_array_prototype_sort , 1 , 0 ),
3263+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_sort , njs_array_prototype_sort , 1 , 0 ),
32623264
3263- NJS_DECLARE_PROP_NATIVE ("splice" , njs_array_prototype_splice , 2 , 0 ),
3265+ NJS_DECLARE_PROP_NATIVE (njs_atom .vs_splice , njs_array_prototype_splice , 2 ,
3266+ 0 ),
32643267
3265- NJS_DECLARE_PROP_NATIVE ("toReversed" , njs_array_prototype_to_reversed , 0 , 0 ),
3268+ NJS_DECLARE_PROP_NATIVE (njs_atom .vs_toReversed ,
3269+ njs_array_prototype_to_reversed , 0 , 0 ),
32663270
3267- NJS_DECLARE_PROP_NATIVE ("toSorted" , njs_array_prototype_to_sorted , 1 , 0 ),
3271+ NJS_DECLARE_PROP_NATIVE (njs_atom .vs_toSorted , njs_array_prototype_to_sorted ,
3272+ 1 , 0 ),
32683273
3269- NJS_DECLARE_PROP_NATIVE ("toSpliced" , njs_array_prototype_to_spliced , 2 , 0 ),
3274+ NJS_DECLARE_PROP_NATIVE (njs_atom .vs_toSpliced ,
3275+ njs_array_prototype_to_spliced , 2 , 0 ),
32703276
3271- NJS_DECLARE_PROP_NATIVE ("toString" , njs_array_prototype_to_string , 0 , 0 ),
3277+ NJS_DECLARE_PROP_NATIVE (njs_atom .vs_toString , njs_array_prototype_to_string ,
3278+ 0 , 0 ),
32723279
3273- NJS_DECLARE_PROP_NATIVE ("unshift" , njs_array_prototype_unshift , 1 , 0 ),
3280+ NJS_DECLARE_PROP_NATIVE (njs_atom .vs_unshift , njs_array_prototype_unshift , 1 ,
3281+ 0 ),
32743282
3275- NJS_DECLARE_PROP_NATIVE ("values" , njs_array_prototype_iterator_obj , 0 ,
3276- NJS_ENUM_VALUES ),
3283+ NJS_DECLARE_PROP_NATIVE (njs_atom . vs_values , njs_array_prototype_iterator_obj ,
3284+ 0 , NJS_ENUM_VALUES ),
32773285
3278- {
3279- .type = NJS_PROPERTY ,
3280- .name = njs_wellknown_symbol (NJS_SYMBOL_ITERATOR ),
3281- .u .value = njs_native_function2 (njs_array_prototype_iterator_obj , 0 ,
3282- NJS_ENUM_VALUES ),
3283- .writable = 1 ,
3284- .configurable = 1 ,
3285- },
3286+ NJS_DECLARE_PROP_NATIVE (njs_atom .vw_iterator ,
3287+ njs_array_prototype_iterator_obj , 0 ,
3288+ NJS_ENUM_VALUES ),
32863289};
32873290
3288-
3289- const njs_object_init_t njs_array_prototype_init = {
3291+ static const njs_object_init_t njs_array_prototype_init = {
32903292 njs_array_prototype_properties ,
32913293 njs_nitems (njs_array_prototype_properties ),
32923294};
32933295
32943296
3295- const njs_object_prop_t njs_array_instance_properties [] =
3297+ njs_object_prop_t njs_array_instance_properties [] =
32963298{
3297- NJS_DECLARE_PROP_HANDLER ("length" , njs_array_length , 0 , 0 ,
3299+ NJS_DECLARE_PROP_HANDLER (njs_atom . vs_length , njs_array_length , 0 , 0 ,
32983300 NJS_OBJECT_PROP_VALUE_W ),
32993301};
33003302
0 commit comments