On This Page

HelperError

Class in Errors · JavaScript & TypeScript

A helper could not use its input

class HelperError extends FluxerlyErrorclass HelperError
  extends FluxerlyError

Helpers such as format.userMention throw this for invalid input, because passing it is a programming mistake. The try-prefixed helpers, such as format.tryParseMention, report the same error without throwing. The default API returns it in a Result, while the native API fails with it in the Effect error channel. Read operation and reason to identify the problem. The error does not store the rejected value

Constructor#

new HelperError(
    operation:
        | "format.userMention" | "format.roleMention"
        | "format.channelMention" | "format.parseMention"
        | "format.timestamp" | "format.parseTimestamp"
        | "format.customEmoji" | "format.parseCustomEmoji"
        | "snowflakes.parse" | "snowflakes.createdAt"
        | "snowflakes.boundary" | "snowflakes.shardFor"
        | "permissionBits.has" | "permissionBits.from"
        | "permissionBits.hasAll" | "permissionBits.hasAny"
        | "permissionBits.missing" | "permissionBits.inspect"
        | "permissionBits.toDecimal" | "permissionBits.label"
        | "permissionBits.patchOverwrite"
        | "permissionBits.refusedGrants"
        | "permissionBits.sameOverwrites" | "colors.parse"
        | "colors.toHex" | "colors.toRgb" | "text.split"
        | "text.truncate" | "errors.isNotFound" | "links.channel"
        | "links.message" | "links.installation" | "embed.color"
        | "embed.timestamp",
    reason:
        | "link" | "time" | "id" | "color" | "text" | "limit"
        | "markup" | "permissionBits" | "shardCount" | "resource",
    options?: { readonly cause?: unknown }
): HelperErrornew HelperError(
  operation:
    | "format.userMention"
    | "format.roleMention"
    | "format.channelMention"
    | "format.parseMention"
    | "format.timestamp"
    | "format.parseTimestamp"
    | "format.customEmoji"
    | "format.parseCustomEmoji"
    | "snowflakes.parse"
    | "snowflakes.createdAt"
    | "snowflakes.boundary"
    | "snowflakes.shardFor"
    | "permissionBits.has"
    | "permissionBits.from"
    | "permissionBits.hasAll"
    | "permissionBits.hasAny"
    | "permissionBits.missing"
    | "permissionBits.inspect"
    | "permissionBits.toDecimal"
    | "permissionBits.label"
    | "permissionBits.patchOverwrite"
    | "permissionBits.refusedGrants"
    | "permissionBits.sameOverwrites"
    | "colors.parse"
    | "colors.toHex"
    | "colors.toRgb" | "text.split"
    | "text.truncate"
    | "errors.isNotFound"
    | "links.channel"
    | "links.message"
    | "links.installation"
    | "embed.color"
    | "embed.timestamp",
  reason:
    | "link" | "time" | "id"
    | "color" | "text" | "limit"
    | "markup" | "permissionBits"
    | "shardCount" | "resource",
  options?: {
    readonly cause?: unknown
  }
): HelperError

Parameters

operation

Helper that rejected the input

| "format.userMention" | "format.roleMention"
| "format.channelMention" | "format.parseMention"
| "format.timestamp" | "format.parseTimestamp"
| "format.customEmoji" | "format.parseCustomEmoji"
| "snowflakes.parse" | "snowflakes.createdAt"
| "snowflakes.boundary" | "snowflakes.shardFor"
| "permissionBits.has" | "permissionBits.from"
| "permissionBits.hasAll" | "permissionBits.hasAny"
| "permissionBits.missing" | "permissionBits.inspect"
| "permissionBits.toDecimal" | "permissionBits.label"
| "permissionBits.patchOverwrite" | "permissionBits.refusedGrants"
| "permissionBits.sameOverwrites" | "colors.parse" | "colors.toHex"
| "colors.toRgb" | "text.split" | "text.truncate"
| "errors.isNotFound" | "links.channel" | "links.message"
| "links.installation" | "embed.color" | "embed.timestamp"| "format.userMention"
| "format.roleMention"
| "format.channelMention"
| "format.parseMention"
| "format.timestamp"
| "format.parseTimestamp"
| "format.customEmoji"
| "format.parseCustomEmoji"
| "snowflakes.parse"
| "snowflakes.createdAt"
| "snowflakes.boundary"
| "snowflakes.shardFor"
| "permissionBits.has"
| "permissionBits.from"
| "permissionBits.hasAll"
| "permissionBits.hasAny"
| "permissionBits.missing"
| "permissionBits.inspect"
| "permissionBits.toDecimal"
| "permissionBits.label"
| "permissionBits.patchOverwrite"
| "permissionBits.refusedGrants"
| "permissionBits.sameOverwrites"
| "colors.parse" | "colors.toHex"
| "colors.toRgb" | "text.split"
| "text.truncate"
| "errors.isNotFound"
| "links.channel" | "links.message"
| "links.installation" | "embed.color"
| "embed.timestamp"
reason

Invalid input category, without retaining the rejected value

| "link" | "time" | "id" | "color" | "text" | "limit" | "markup"
| "permissionBits" | "shardCount" | "resource"| "link" | "time" | "id" | "color"
| "text" | "limit" | "markup"
| "permissionBits" | "shardCount"
| "resource"
options optional

Optional underlying failure retained as the error's cause

{ readonly cause?: unknown }

Properties#

_tag#

Fixed name that identifies this error type

readonly _tag: "HelperError"

operation#

Helper that rejected the input

readonly operation:
    | "format.userMention" | "format.roleMention"
    | "format.channelMention" | "format.parseMention"
    | "format.timestamp" | "format.parseTimestamp"
    | "format.customEmoji" | "format.parseCustomEmoji"
    | "snowflakes.parse" | "snowflakes.createdAt"
    | "snowflakes.boundary" | "snowflakes.shardFor"
    | "permissionBits.has" | "permissionBits.from"
    | "permissionBits.hasAll" | "permissionBits.hasAny"
    | "permissionBits.missing" | "permissionBits.inspect"
    | "permissionBits.toDecimal" | "permissionBits.label"
    | "permissionBits.patchOverwrite"
    | "permissionBits.refusedGrants"
    | "permissionBits.sameOverwrites" | "colors.parse"
    | "colors.toHex" | "colors.toRgb" | "text.split"
    | "text.truncate" | "errors.isNotFound" | "links.channel"
    | "links.message" | "links.installation" | "embed.color"
    | "embed.timestamp"readonly operation:
  | "format.userMention"
  | "format.roleMention"
  | "format.channelMention"
  | "format.parseMention"
  | "format.timestamp"
  | "format.parseTimestamp"
  | "format.customEmoji"
  | "format.parseCustomEmoji"
  | "snowflakes.parse"
  | "snowflakes.createdAt"
  | "snowflakes.boundary"
  | "snowflakes.shardFor"
  | "permissionBits.has"
  | "permissionBits.from"
  | "permissionBits.hasAll"
  | "permissionBits.hasAny"
  | "permissionBits.missing"
  | "permissionBits.inspect"
  | "permissionBits.toDecimal"
  | "permissionBits.label"
  | "permissionBits.patchOverwrite"
  | "permissionBits.refusedGrants"
  | "permissionBits.sameOverwrites"
  | "colors.parse" | "colors.toHex"
  | "colors.toRgb" | "text.split"
  | "text.truncate"
  | "errors.isNotFound"
  | "links.channel"
  | "links.message"
  | "links.installation"
  | "embed.color"
  | "embed.timestamp"

reason#

Invalid input category, without retaining the rejected value

readonly reason:
    | "link" | "time" | "id" | "color" | "text" | "limit" | "markup"
    | "permissionBits" | "shardCount" | "resource"readonly reason:
  | "link" | "time" | "id"
  | "color" | "text" | "limit"
  | "markup" | "permissionBits"
  | "shardCount" | "resource"

Inherited#

Inherited from FluxerlyError: code, details, hint, toJSON