Hyperlinkv0.8.0-beta.28

SchemaGetter

SchemaGetter.decodeBase64Urlfunctioneffect/SchemaGetter.ts:1330
<E extends string>(): Getter<Uint8Array, E>

Decodes a URL-safe Base64 string to a Uint8Array.

Details

  • Fails with SchemaIssue.InvalidValue if the input is not valid Base64Url.

Example (Decoding Base64Url to bytes)

import { SchemaGetter } from "effect"

const decode = SchemaGetter.decodeBase64Url<string>()
// Getter<Uint8Array, string>
export function decodeBase64Url<E extends string>(): Getter<Uint8Array, E> {
  return transformOrFail((input) =>
    Result.match(Encoding.decodeBase64Url(input), {
      onFailure: (e) => Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })),
      onSuccess: Effect.succeed
    })
  )
}
Referenced by 1 symbols