{"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;EACpC,OAAO,kBAAkB,SAAS,kBAAkB,eAAe,YAAY,aAAa,IAAI,CAAC,CAAC;CACpG;;;;CAKA,OAAc,YAAY,MAAe;EACvC,OAAO,kBAAkB,YAAY,kBAAkB,eAAe,YAAY,aAAa,IAAI,CAAC,CAAC;CACvG;;;;CAKA,OAAc,WAAW,QAAgB;EACvC,OAAO,YAAY,eAAe,kBAAkB,WAAW,MAAM,CAAC;CACxE;;;;CAKA,OAAc,cAAc,QAAgB;EAC1C,OAAO,YAAY,eAAe,kBAAkB,cAAc,MAAM,CAAC;CAC3E;;;;CAKA,OAAc,aAAa,MAAe;EACxC,OAAO,KAAK,UAAU,IAAI;CAC5B;;;;CAKA,OAAc,eAAe,QAAgB;EAC3C,OAAO,KAAK,MAAM,MAAM;CAC1B;;;;CAKA,OAAc,aAAa,MAAe;EACxC,OAAO,kBAAkB,eAAe,YAAY,aAAa,IAAI,CAAC;CACxE;;;;CAKA,OAAc,eAAe,MAAkB;EAC7C,OAAO,YAAY,eAAe,kBAAkB,aAAa,IAAI,CAAC;CACxE;AACF"}