Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F3051730
json_parse_flight_reviver.cjs
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
964 B
Referenced Files
None
Subscribers
None
json_parse_flight_reviver.cjs
View Options
function flightReviver(key, value) {
if (typeof value === 'string' && value[0] === '$' && value.length > 1) {
return {
ref: value,
holderIsArray: Array.isArray(this),
holderKeys: Object.keys(this).join(',')
};
}
return value;
}
const topLevelArray = JSON.parse('["$5","$8"]', flightReviver);
console.log(`top0:${topLevelArray[0].ref}:${topLevelArray[0].holderIsArray}:${topLevelArray[0].holderKeys}`);
console.log(`top1:${topLevelArray[1].ref}:${topLevelArray[1].holderIsArray}:${topLevelArray[1].holderKeys}`);
const nested = JSON.parse('{"root":["$5","$8"]}', flightReviver);
console.log(`nested0:${nested.root[0].ref}:${nested.root[0].holderIsArray}:${nested.root[0].holderKeys}`);
console.log(`nested1:${nested.root[1].ref}:${nested.root[1].holderIsArray}:${nested.root[1].holderKeys}`);
const escaped = JSON.parse('{"literal":"$$escaped"}', flightReviver);
console.log(`escaped:${escaped.literal.ref || escaped.literal}`);
File Metadata
Details
Attached
Mime Type
application/javascript
Expires
Fri, Apr 3, 3:16 PM (2 d)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
521554
Default Alt Text
json_parse_flight_reviver.cjs (964 B)
Attached To
Mode
rANT Ant
Attached
Detach File
Event Timeline
Log In to Comment