Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2025-12-23 19:40:45 +03:00
parent 9c36299e25
commit 72e597d667

View File

@ -33,8 +33,11 @@ var RECURSIVE = '<RECURSIVE%>'
// serialize(obj, path, seen, indent, depth) // serialize(obj, path, seen, indent, depth)
// -> str // -> str
// //
//
// XXX add function support... // XXX add function support...
// XXX need to destinguish between map key and value in path... // XXX need to destinguish between map key and value in path...
// XXX BUG: using non-whitespace as indent breaks the depth of the first
// element in sequences -- breaks .trim*() in Map/Set/Object...
var serialize = var serialize =
module.serialize = module.serialize =
function(obj, path=[], seen=new Map(), indent, depth=0){ function(obj, path=[], seen=new Map(), indent, depth=0){
@ -43,9 +46,10 @@ function(obj, path=[], seen=new Map(), indent, depth=0){
if(typeof(args[0]) == 'number' if(typeof(args[0]) == 'number'
|| typeof(args[0]) == 'string'){ || typeof(args[0]) == 'string'){
indent = args.shift() } indent = args.shift() }
indent = typeof(indent) == 'number' ? indent =
' '.repeat(indent) typeof(indent) == 'number' ?
: indent ' '.repeat(indent)
: indent
if(typeof(args[0]) == 'number'){ if(typeof(args[0]) == 'number'){
depth = args.shift() } depth = args.shift() }
;[path, seen] = args ;[path, seen] = args