case NJS_OBJECT_NUMBER:
value = &value->data.u.object_value->value;
+ if (nxt_slow_path(value->data.u.number == 0.0
+ && signbit(value->data.u.number)))
+ {
+
+ njs_dump("[Number: -0]");
+ break;
+ }
+
ret = njs_number_to_string(stringify->vm, &str_val, value);
if (nxt_slow_path(ret != NXT_OK)) {
return NXT_ERROR;
return njs_json_buf_append(stringify, "]}", 2);
case NJS_NUMBER:
+ if (nxt_slow_path(value->data.u.number == 0.0
+ && signbit(value->data.u.number)))
+ {
+
+ njs_dump("-0");
+ break;
+ }
+
+ /* Fall through. */
+
case NJS_REGEXP:
case NJS_DATE:
case NJS_OBJECT_ERROR:
{ nxt_string("njs.dump(njs) == `{version:'${njs.version}'}`"),
nxt_string("true") },
+ { nxt_string("njs.dump(-0)"),
+ nxt_string("-0") },
+
+ { nxt_string("njs.dump(Object(-0))"),
+ nxt_string("[Number: -0]") },
+
+ { nxt_string("njs.dump([0, -0])"),
+ nxt_string("[0,-0]") },
+
/* Built-in methods name. */
{ nxt_string(