Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
| export function encodeObject(obj: unknown): string { | |
| /** | |
| * Encodes an object to a string using JSON serialization and Base64 encoding. | |
| * | |
| * Args: | |
| * obj: The object to encode. | |
| * | |
| * Returns: | |
| * A string representation of the object. | |
| */ | |
| const jsonString: string = JSON.stringify(obj); | |
| const encodedString: string = btoa(unescape(encodeURIComponent(jsonString))); // btoa expects only ASCII chars | |
| return encodedString; | |
| } | |
| export function decodeString(encodedString: string): unknown { | |
| /** | |
| * Decodes a string to an object using Base64 decoding and JSON deserialization. | |
| * | |
| * Args: | |
| * encodedString: The string to decode. | |
| * | |
| * Returns: | |
| * The decoded object. | |
| */ | |
| try { | |
| const jsonString: string = decodeURIComponent(escape(atob(encodedString))); | |
| const obj: unknown = JSON.parse(jsonString); | |
| return obj; | |
| } catch { | |
| return null; | |
| } | |
| } | |