return ret;
}
- if (njs_is_undefined(value)
- || njs_is_symbol(value)
- || njs_is_function(value)
- || !njs_is_valid(value))
- {
- break;
- }
-
ret = njs_json_stringify_to_json(stringify, state, key, value);
if (njs_slow_path(ret != NJS_OK)) {
return ret;
return ret;
}
- if (njs_is_undefined(value)) {
+ if (njs_is_undefined(value)
+ || njs_is_symbol(value)
+ || njs_is_function(value)
+ || !njs_is_valid(value))
+ {
break;
}
"JSON.stringify(objs)"),
njs_str("[{\"\":{\"a\":1}},{\"a\":1}]") },
+ { njs_str("JSON.stringify({a: () => 1, b: Symbol(), c: undefined},"
+ "(k, v) => k.length ? String(v) : v)"),
+ njs_str("{\"a\":\"[object Function]\",\"b\":\"Symbol()\",\"c\":\"undefined\"}") },
+
{ njs_str("var a = []; a[0] = a; JSON.stringify(a)"),
njs_str("TypeError: Nested too deep or a cyclic structure") },