Hyperlinkv0.8.0-beta.28

Redactable

Redactable.symbolRedactableconsteffect/Redactable.ts:49
typeof symbolRedactable

Defines the symbol used to identify objects that implement the Redactable protocol.

When to use

Use as the property key when implementing the Redactable protocol.

Details

Add a method under this key to make an object redactable. The method receives the current Context and must return the replacement value. The symbol is registered globally via Symbol.for("~effect/Redactable"), so it is identical across multiple copies of the library at runtime.

Example (Masking an API key)

import { Context, Redactable } from "effect"

class ApiKey {
  constructor(readonly raw: string) {}

  [Redactable.symbolRedactable](_ctx: Context.Context<never>) {
    return this.raw.slice(0, 4) + "..."
  }
}
export const symbolRedactable: unique symbol = Symbol.for("~effect/Redactable")
Referenced by 4 symbols