{"version":3,"file":"JsonEncoder.mjs","names":[],"sources":["../../src/utils/JsonEncoder.ts"],"sourcesContent":["import { TypedArrayEncoder } from './TypedArrayEncoder'\n\n// biome-ignore lint/complexity/noStaticOnlyClass: no explanation\nexport class JsonEncoder {\n  /**\n   * Encode JSON into a base64 string\n   */\n  public static toBase64(json: unknown) {\n    return TypedArrayEncoder.toBase64(TypedArrayEncoder.fromUtf8String(JsonEncoder.toUtf8String(json)))\n  }\n\n  /**\n   * Encode JSON into a base64url string\n   */\n  public static toBase64Url(json: unknown) {\n    return TypedArrayEncoder.toBase64Url(TypedArrayEncoder.fromUtf8String(JsonEncoder.toUtf8String(json)))\n  }\n\n  /**\n   * Decode a base64 string into JSON\n   */\n  public static fromBase64(base64: string) {\n    return JsonEncoder.fromUint8Array(TypedArrayEncoder.fromBase64(base64))\n  }\n\n  /**\n   * Decode a base64-url string into JSON\n   */\n  public static fromBase64Url(base64: string) {\n    return JsonEncoder.fromUint8Array(TypedArrayEncoder.fromBase64Url(base64))\n  }\n\n  /**\n   * Encode JSON into a string\n   */\n  public static toUtf8String(json: unknown) {\n    return JSON.stringify(json)\n  }\n\n  /**\n   * Decode a UTF-8 string JSON\n   */\n  public static fromUtf8String(string: string) {\n    return JSON.parse(string)\n  }\n\n  /**\n   * Encode JSON into a Uint8Array\n   */\n  public static toUint8Array(json: unknown) {\n    return TypedArrayEncoder.fromUtf8String(JsonEncoder.toUtf8String(json))\n  }\n\n  /**\n   * Decode a Uint8Array into JSON\n   */\n  public static fromUint8Array(data: Uint8Array) {\n    return JsonEncoder.fromUtf8String(TypedArrayEncoder.toUtf8String(data))\n  }\n}\n"],"mappings":";;;;;AAGA,IAAa,cAAb,MAAa,YAAY;;;;CAIvB,OAAc,SAAS,MAAe;AACpC,SAAO,kBAAkB,SAAS,kBAAkB,eAAe,YAAY,aAAa,KAAK,CAAC,CAAC;;;;;CAMrG,OAAc,YAAY,MAAe;AACvC,SAAO,kBAAkB,YAAY,kBAAkB,eAAe,YAAY,aAAa,KAAK,CAAC,CAAC;;;;;CAMxG,OAAc,WAAW,QAAgB;AACvC,SAAO,YAAY,eAAe,kBAAkB,WAAW,OAAO,CAAC;;;;;CAMzE,OAAc,cAAc,QAAgB;AAC1C,SAAO,YAAY,eAAe,kBAAkB,cAAc,OAAO,CAAC;;;;;CAM5E,OAAc,aAAa,MAAe;AACxC,SAAO,KAAK,UAAU,KAAK;;;;;CAM7B,OAAc,eAAe,QAAgB;AAC3C,SAAO,KAAK,MAAM,OAAO;;;;;CAM3B,OAAc,aAAa,MAAe;AACxC,SAAO,kBAAkB,eAAe,YAAY,aAAa,KAAK,CAAC;;;;;CAMzE,OAAc,eAAe,MAAkB;AAC7C,SAAO,YAAY,eAAe,kBAAkB,aAAa,KAAK,CAAC"}