UNPKG

safe-json-value

Version:

⛑️ JSON serialization should never fail

34 lines (23 loc) 557 B
export const omitInvalidTypes=(value,changes,path)=>{ const reason=getInvalidTypeReason(value); if(reason===undefined){ return value } changes.push({path,oldValue:value,newValue:undefined,reason}) }; const getInvalidTypeReason=(value)=>{ const type=typeof value; const reason=INVALID_TYPES[type]; if(reason!==undefined){ return reason } if(type==="number"&&!Number.isFinite(value)){ return"unstableInfinite" } }; const INVALID_TYPES={ function:"ignoredFunction", symbol:"ignoredSymbolValue", undefined:"ignoredUndefined", bigint:"unsafeBigInt" };