Function TaggedError

      • Type Parameters

        • Self

        Returns (<Tag, Fields>(tag, fields) => [unknown] extends [Self]
            ? "Missing `Self` generic - use `class Self extends TaggedError<Self>()(\"Tag\", { ... })`"
            : S.Class<Simplify<{
                _tag: Tag;
            } & {
                readonly [K in string | number | symbol]: From<Fields[K]>
            } & {
                readonly [K_1 in string | number | symbol]?: From<Fields[K_1]>
            }>, Simplify<{
                _tag: Tag;
            } & {
                readonly [K_2 in string | number | symbol]: To<Fields[K_2]>
            } & {
                readonly [K_3 in string | number | symbol]?: To<Fields[K_3]>
            }>, Simplify<ToStruct<Fields>>, Self, Effect<never, Self, never> & Error>)

          • <Tag, Fields>(tag, fields): [unknown] extends [Self]
                ? "Missing `Self` generic - use `class Self extends TaggedError<Self>()(\"Tag\", { ... })`"
                : S.Class<Simplify<{
                    _tag: Tag;
                } & {
                    readonly [K in string | number | symbol]: From<Fields[K]>
                } & {
                    readonly [K_1 in string | number | symbol]?: From<Fields[K_1]>
                }>, Simplify<{
                    _tag: Tag;
                } & {
                    readonly [K_2 in string | number | symbol]: To<Fields[K_2]>
                } & {
                    readonly [K_3 in string | number | symbol]?: To<Fields[K_3]>
                }>, Simplify<ToStruct<Fields>>, Self, Effect<never, Self, never> & Error>
          • Type Parameters

            Parameters

            • tag: Tag
            • fields: Fields

            Returns [unknown] extends [Self]
                ? "Missing `Self` generic - use `class Self extends TaggedError<Self>()(\"Tag\", { ... })`"
                : S.Class<Simplify<{
                    _tag: Tag;
                } & {
                    readonly [K in string | number | symbol]: From<Fields[K]>
                } & {
                    readonly [K_1 in string | number | symbol]?: From<Fields[K_1]>
                }>, Simplify<{
                    _tag: Tag;
                } & {
                    readonly [K_2 in string | number | symbol]: To<Fields[K_2]>
                } & {
                    readonly [K_3 in string | number | symbol]?: To<Fields[K_3]>
                }>, Simplify<ToStruct<Fields>>, Self, Effect<never, Self, never> & Error>

        Since

        1.0.0