Canonicalizes value into a deterministic string, or undefined if it
cannot be safely canonicalized (a function, a symbol, a cyclic reference,
an invalid Date, a class instance without .toJSON(), or any object
carrying __proto__/constructor/prototype as an own key). Never
throws. Equal inputs always produce equal output; distinct supported
values never collide (own-enumerable-key walk only, Object.keys --
never for...in).
Canonicalizes
valueinto a deterministic string, orundefinedif it cannot be safely canonicalized (a function, a symbol, a cyclic reference, an invalidDate, a class instance without.toJSON(), or any object carrying__proto__/constructor/prototypeas an own key). Never throws. Equal inputs always produce equal output; distinct supported values never collide (own-enumerable-key walk only,Object.keys-- neverfor...in).