return NXT_ERROR;
}
- value = &args[1];
+ value = njs_argument(args, 1);
if (!value->data.u.object->extensible) {
njs_type_error(vm, "object is not extensible");
njs_object_prop_t *prop;
const njs_value_t *descriptor;
- value = &args[1];
-
- if (!njs_is_object(value)) {
+ if (!njs_is_object(njs_arg(args, nargs, 1))) {
njs_type_error(vm, "cannot convert %s argument to object",
- njs_type_string(value->type));
-
+ njs_type_string(njs_arg(args, nargs, 1)->type));
return NXT_ERROR;
}
+ value = njs_argument(args, 1);
+
if (!value->data.u.object->extensible) {
njs_type_error(vm, "object is not extensible");
return NXT_ERROR;
{ nxt_string("var o = Object.defineProperties({a:1}, {}); o.a"),
nxt_string("1") },
+ { nxt_string("Object.defineProperties()"),
+ nxt_string("TypeError: cannot convert undefined argument to object") },
+
{ nxt_string("Object.defineProperties(1, {})"),
nxt_string("TypeError: cannot convert number argument to object") },