Hyperlinkv0.8.0-beta.28

Filter

Filter.reasonconsteffect/Filter.ts:494
<Input>(): <
  const Tag extends Tags<Input>,
  const ReasonTag extends ReasonTags<ExtractTag<Input, Tag>>
>(
  tag: Tag,
  reasonTag: ReasonTag
) => Filter<
  Input,
  ExtractReason<ExtractTag<Input, Tag>, ReasonTag>,
  Input
>
<
  Input,
  const Tag extends Tags<Input>,
  const ReasonTag extends ReasonTags<ExtractTag<Input, Tag>>
>(
  tag: Tag,
  reasonTag: ReasonTag
): Filter<Input, ExtractReason<ExtractTag<Input, Tag>, ReasonTag>, Input>
<const Tag extends string, const ReasonTag extends string>(
  tag: Tag,
  reasonTag: ReasonTag
): <Input>(
  input: Input
) => Result.Result<
  ExtractReason<ExtractTag<Input, Tag>, ReasonTag>,
  Input
>

Creates a filter that extracts a reason from a tagged error.

constructors
Source effect/Filter.ts:49416 lines
export const reason: {
  <Input>(): <const Tag extends Tags<Input>, const ReasonTag extends ReasonTags<ExtractTag<Input, Tag>>>(
    tag: Tag,
    reasonTag: ReasonTag
  ) => Filter<Input, ExtractReason<ExtractTag<Input, Tag>, ReasonTag>, Input>
  <Input, const Tag extends Tags<Input>, const ReasonTag extends ReasonTags<ExtractTag<Input, Tag>>>(
    tag: Tag,
    reasonTag: ReasonTag
  ): Filter<Input, ExtractReason<ExtractTag<Input, Tag>, ReasonTag>, Input>
  <const Tag extends string, const ReasonTag extends string>(
    tag: Tag,
    reasonTag: ReasonTag
  ): <Input>(input: Input) => Result.Result<ExtractReason<ExtractTag<Input, Tag>, ReasonTag>, Input>
} = function() {
  return arguments.length === 0 ? reasonImpl : reasonImpl(arguments[0] as any, arguments[1] as any)
} as any