mirror of
https://github.com/flynx/serialize.js.git
synced 2026-07-14 04:50:57 +00:00
cleanup...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
51d0e0ddde
commit
71a79e193a
@ -21,9 +21,13 @@ var RECURSIVE = '<RECURSIVE%>'
|
|||||||
|
|
||||||
//---------------------------------------------------------------------
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
// XXX add support for pretty printing...
|
//
|
||||||
// to do this correctly, need to track, thread indent and to
|
// serialize(obj[, space[, indent]])
|
||||||
// correctly offset nested json sections...
|
// -> str
|
||||||
|
//
|
||||||
|
// serialize(obj, path, seen, space, indent)
|
||||||
|
// -> str
|
||||||
|
//
|
||||||
// XXX need to destinguish between map key and value in path...
|
// XXX need to destinguish between map key and value in path...
|
||||||
var serialize =
|
var serialize =
|
||||||
module.serialize =
|
module.serialize =
|
||||||
@ -79,32 +83,43 @@ function(obj, path=[], seen=new Map(), space, indent=0){
|
|||||||
: EMPTY) }
|
: EMPTY) }
|
||||||
|
|
||||||
} else if(obj instanceof Map){
|
} else if(obj instanceof Map){
|
||||||
pre = 'Map('
|
pre = 'Map(['
|
||||||
post = ')'
|
post = '])'
|
||||||
elems = [serialize([...obj], path, seen, space, indent+1)]
|
elems = [
|
||||||
|
serialize([...obj], path, seen, space, indent)
|
||||||
|
.slice(1, -1)
|
||||||
|
.trim() ]
|
||||||
|
|
||||||
} else if(obj instanceof Set){
|
} else if(obj instanceof Set){
|
||||||
pre = 'Set('
|
pre = 'Set(['
|
||||||
post = ')'
|
post = '])'
|
||||||
elems = [serialize([...obj], path, seen, space, indent+1)]
|
elems = [
|
||||||
|
serialize([...obj], path, seen, space, indent)
|
||||||
|
.slice(1, -1)
|
||||||
|
.trim() ]
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
pre = '{'
|
pre = '{'
|
||||||
post = '}'
|
post = '}'
|
||||||
for(var [k, v] of Object.entries(obj)){
|
for(var [k, v] of Object.entries(obj)){
|
||||||
elems.push(`${
|
elems.push(`${
|
||||||
JSON.stringify(k, null, space)
|
JSON.stringify(k)
|
||||||
}:${ space != null ? ' ' : '' }${
|
}:${ space != null ? ' ' : '' }${
|
||||||
serialize(v, [...path, k], seen, space, indent+1).trimLeft()
|
serialize(v, [...path, k], seen, space, indent+1)
|
||||||
|
// relevant for pretty-printing only...
|
||||||
|
.trimLeft()
|
||||||
}`) } }
|
}`) } }
|
||||||
|
|
||||||
// handle indent...
|
// handle indent...
|
||||||
if(space != null){
|
if(space != null){
|
||||||
i = ' '.repeat(indent * space)
|
i = ' '.repeat(indent * space)
|
||||||
s = i + ' '.repeat(space)
|
s = i + ' '.repeat(space)
|
||||||
pre = i + pre + '\n' + s
|
if(elems.length > 0){
|
||||||
post = '\n' + i + post
|
pre = pre + '\n' + s
|
||||||
join = join + '\n' + s }
|
post = '\n' + i + post
|
||||||
|
// XXX set limit for number of elements to keep horizontal...
|
||||||
|
// ...also account for element length...
|
||||||
|
join = join + '\n' + s } }
|
||||||
|
|
||||||
return pre+ elems.join(join) +post }
|
return pre+ elems.join(join) +post }
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user