three.cad/src/utils.js

23 lines
471 B
JavaScript
Raw Normal View History

2021-04-01 06:03:35 +08:00
// https://stackoverflow.com/a/56150320
function replacer(key, value) {
if (value instanceof Map) {
return {
dataType: 'Map',
value: Array.from(value.entries()), // or with spread: value: [...value]
};
} else {
return value;
}
}
function reviver(key, value) {
if (typeof value === 'object' && value !== null) {
if (value.dataType === 'Map') {
return new Map(value.value);
}
}
return value;
}
export {replacer, reviver}