<A extends Brand<any>>(checks_0: SchemaAST.Check<Brand<in out Keys extends string>.Unbranded<A>>, ...checks: Array<SchemaAST.Check<Brand.Unbranded<A>>>): Constructor<A>Creates a branded type Constructor from one or more schema checks.
When to use
Use when you need a branded type constructor that performs runtime validation via schema checks.
Details
Calling the returned constructor validates the unbranded value and throws on
failure. Use the returned option, result, or is methods for
non-throwing validation.
export function function check<A extends Brand<any>>(
checks_0: SchemaAST.Check<Brand.Unbranded<A>>,
...checks: Array<
SchemaAST.Check<Brand.Unbranded<A>>
>
): Constructor<A>
Creates a branded type Constructor from one or more schema checks.
When to use
Use when you need a branded type constructor that performs runtime validation
via schema checks.
Details
Calling the returned constructor validates the unbranded value and throws on
failure. Use the returned option, result, or is methods for
non-throwing validation.
check<function (type parameter) A in check<A extends Brand<any>>(checks_0: SchemaAST.Check<Brand<in out Keys extends string>.Unbranded<A>>, ...checks: SchemaAST.Check<Brand.Unbranded<A>>[]): Constructor<A>A extends interface Brand<in out Keys extends string>A generic interface that defines a branded type.
When to use
Use to define a branded type such as number & Brand<"Positive"> when
TypeScript should keep structurally identical values separate without
changing their runtime value.
Namespace containing type-level helpers for working with branded types and
brand constructors.
Brand<any>>(
...checks: readonly [
SchemaAST.Check<Brand.Unbranded<A>>,
...Array<SchemaAST.Check<Brand.Unbranded<A>>>
]
(parameter) checks: {
0: SchemaAST.Check<Brand.Unbranded<A>>;
length: number;
toString: () => string;
toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string };
concat: { (...items: Array<ConcatArray<SchemaAST.Check<Brand.Unbranded<A>>>>): Array<SchemaAST.Check<Brand.Unbranded<A>>>; (...items: Array<SchemaAST.Check<Brand.Unbranded<A>> | ConcatArray<SchemaAST.Check<Brand.Unbranded<A>>>>): Array<SchemaAST.C…;
join: (separator?: string) => string;
slice: (start?: number, end?: number) => Array<SchemaAST.Check<Brand.Unbranded<A>>>;
indexOf: (searchElement: SchemaAST.Check<Brand.Unbranded<A>>, fromIndex?: number) => number;
lastIndexOf: (searchElement: SchemaAST.Check<Brand.Unbranded<A>>, fromIndex?: number) => number;
every: { (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => value is S, thisArg?: any): this is readonly S[]; (predicate: (value: SchemaAST.Check<Brand.Unbranded<A…;
some: (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => unknown, thisArg?: any) => boolean;
forEach: (callbackfn: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => void, thisArg?: any) => void;
map: (callbackfn: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => U, thisArg?: any) => Array<U>;
filter: { (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => value is S, thisArg?: any): Array<S>; (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: n…;
reduce: { (callbackfn: (previousValue: SchemaAST.Check<Brand.Unbranded<A>>, currentValue: SchemaAST.Check<Brand.Unbranded<A>>, currentIndex: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => SchemaAST.Check<Brand.Unbranded<A>>)…;
reduceRight: { (callbackfn: (previousValue: SchemaAST.Check<Brand.Unbranded<A>>, currentValue: SchemaAST.Check<Brand.Unbranded<A>>, currentIndex: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => SchemaAST.Check<Brand.Unbranded<A>>)…;
find: { (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, obj: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => value is S, thisArg?: any): S | undefined; (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index…;
findIndex: (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, obj: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => unknown, thisArg?: any) => number;
entries: () => ArrayIterator<[number, SchemaAST.Check<Brand.Unbranded<A>>]>;
keys: () => ArrayIterator<number>;
values: () => ArrayIterator<SchemaAST.Check<Brand.Unbranded<A>>>;
includes: (searchElement: SchemaAST.Check<Brand.Unbranded<A>>, fromIndex?: number) => boolean;
flatMap: (callback: (this: This, value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: Array<SchemaAST.Check<Brand.Unbranded<A>>>) => U | ReadonlyArray<U>, thisArg?: This | undefined) => Array<U>;
flat: (this: A, depth?: D | undefined) => Array<FlatArray<A, D>>;
at: (index: number) => SchemaAST.Check<Brand.Unbranded<A>> | undefined;
findLast: { (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => value is S, thisArg?: any): S | undefined; (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, ind…;
findLastIndex: (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => unknown, thisArg?: any) => number;
toReversed: () => Array<SchemaAST.Check<Brand.Unbranded<A>>>;
toSorted: (compareFn?: ((a: SchemaAST.Check<Brand.Unbranded<A>>, b: SchemaAST.Check<Brand.Unbranded<A>>) => number) | undefined) => Array<SchemaAST.Check<Brand.Unbranded<A>>>;
toSpliced: { (start: number, deleteCount: number, ...items: Array<SchemaAST.Check<Brand.Unbranded<A>>>): Array<SchemaAST.Check<Brand.Unbranded<A>>>; (start: number, deleteCount?: number): Array<SchemaAST.Check<Brand.Unbranded<A>>> };
with: (index: number, value: SchemaAST.Check<Brand.Unbranded<A>>) => Array<SchemaAST.Check<Brand.Unbranded<A>>>;
}
checks: readonly [
import SchemaASTSchemaAST.type Check<T> =
| SchemaAST.Filter<T>
| SchemaAST.FilterGroup<T>
Check<Brand.type Brand<in out Keys extends string>.Unbranded<B extends Brand<any>> = B extends infer U & Types.UnionToIntersection<{ [K in keyof B["~effect/Brand"]]: K extends string ? Brand<K> : never; }[keyof B["~effect/Brand"]]> ? U : BA utility type to extract the unbranded value type from a brand.
Unbranded<function (type parameter) A in check<A extends Brand<any>>(checks_0: SchemaAST.Check<Brand<in out Keys extends string>.Unbranded<A>>, ...checks: SchemaAST.Check<Brand.Unbranded<A>>[]): Constructor<A>A>>,
...interface Array<T>Array<import SchemaASTSchemaAST.type Check<T> =
| SchemaAST.Filter<T>
| SchemaAST.FilterGroup<T>
Check<Brand.type Brand<in out Keys extends string>.Unbranded<B extends Brand<any>> = B extends infer U & Types.UnionToIntersection<{ [K in keyof B["~effect/Brand"]]: K extends string ? Brand<K> : never; }[keyof B["~effect/Brand"]]> ? U : BA utility type to extract the unbranded value type from a brand.
Unbranded<function (type parameter) A in check<A extends Brand<any>>(checks_0: SchemaAST.Check<Brand<in out Keys extends string>.Unbranded<A>>, ...checks: SchemaAST.Check<Brand.Unbranded<A>>[]): Constructor<A>A>>>
]
): interface Constructor<in out B extends Brand<any>>A constructor for a branded type that provides validation and safe
construction methods.
When to use
Use as the shared callable interface for branded values when an API accepts
or returns a brand constructor and callers need throwing, Option, Result,
or type-guard validation forms.
Constructor<function (type parameter) A in check<A extends Brand<any>>(checks_0: SchemaAST.Check<Brand<in out Keys extends string>.Unbranded<A>>, ...checks: SchemaAST.Check<Brand.Unbranded<A>>[]): Constructor<A>A> {
const const result: (
input: Brand.Unbranded<A>
) => Result.Result<A, BrandError>
result = (input: Brand.Unbranded<A>input: Brand.type Brand<in out Keys extends string>.Unbranded<B extends Brand<any>> = B extends infer U & Types.UnionToIntersection<{ [K in keyof B["~effect/Brand"]]: K extends string ? Brand<K> : never; }[keyof B["~effect/Brand"]]> ? U : BA utility type to extract the unbranded value type from a brand.
Unbranded<function (type parameter) A in check<A extends Brand<any>>(checks_0: SchemaAST.Check<Brand<in out Keys extends string>.Unbranded<A>>, ...checks: SchemaAST.Check<Brand.Unbranded<A>>[]): Constructor<A>A>): import ResultResult.type Result<A, E = never> = Result.Success<A, E> | Result.Failure<A, E>A value that is either Success<A, E> or Failure<A, E>.
When to use
Use when both success and failure should remain available as data and
Option would lose failure information.
Details
- Use
succeed
/
fail
to construct
- Use
match
to fold both branches
- Use
isSuccess
/
isFailure
to narrow the type
E defaults to never, so Result<number> means a result that cannot fail.
Example (Creating and matching a Result)
import { Result } from "effect"
const success = Result.succeed(42)
const failure = Result.fail("something went wrong")
const message = Result.match(success, {
onSuccess: (value) => `Success: ${value}`,
onFailure: (error) => `Error: ${error}`
})
console.log(message)
// Output: "Success: 42"
Namespace containing type-level utilities for extracting the inner types
of a Result.
Example (Extracting inner types)
import type { Result } from "effect"
type R = Result.Result<number, string>
// number
type A = Result.Result.Success<R>
// string
type E = Result.Result.Failure<R>
Result<function (type parameter) A in check<A extends Brand<any>>(checks_0: SchemaAST.Check<Brand<in out Keys extends string>.Unbranded<A>>, ...checks: SchemaAST.Check<Brand.Unbranded<A>>[]): Constructor<A>A, class BrandErrorclass BrandError {
_tag: 'BrandError';
name: string;
issue: SchemaIssue.Issue;
message: string;
toString: () => string;
}
Error returned when a branded type is constructed from an invalid value.
Details
The error wraps a SchemaIssue.Issue, exposes message through
issue.toString(), and formats as BrandError(<message>).
Gotchas
BrandError is an error-like model with _tag, name, message, and
toString; it does not extend JavaScript Error.
BrandError> => {
return import ResultResult.const mapError: {
<E, E2>(f: (err: E) => E2): <A>(
self: Result<A, E>
) => Result<A, E2>
<A, E, E2>(
self: Result<A, E>,
f: (err: E) => E2
): Result<A, E2>
}
mapError(import SchemaASTSchemaAST.function runChecks<T>(
checks: readonly [Check<T>, ...Array<Check<T>>],
s: T
): Result.Result<T, SchemaIssue.Issue>
runChecks(checks: readonly [
SchemaAST.Check<Brand.Unbranded<A>>,
...Array<SchemaAST.Check<Brand.Unbranded<A>>>
]
(parameter) checks: {
0: SchemaAST.Check<Brand.Unbranded<A>>;
length: number;
toString: () => string;
toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string };
concat: { (...items: Array<ConcatArray<SchemaAST.Check<Brand.Unbranded<A>>>>): Array<SchemaAST.Check<Brand.Unbranded<A>>>; (...items: Array<SchemaAST.Check<Brand.Unbranded<A>> | ConcatArray<SchemaAST.Check<Brand.Unbranded<A>>>>): Array<SchemaAST.C…;
join: (separator?: string) => string;
slice: (start?: number, end?: number) => Array<SchemaAST.Check<Brand.Unbranded<A>>>;
indexOf: (searchElement: SchemaAST.Check<Brand.Unbranded<A>>, fromIndex?: number) => number;
lastIndexOf: (searchElement: SchemaAST.Check<Brand.Unbranded<A>>, fromIndex?: number) => number;
every: { (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => value is S, thisArg?: any): this is readonly S[]; (predicate: (value: SchemaAST.Check<Brand.Unbranded<A…;
some: (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => unknown, thisArg?: any) => boolean;
forEach: (callbackfn: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => void, thisArg?: any) => void;
map: (callbackfn: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => U, thisArg?: any) => Array<U>;
filter: { (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => value is S, thisArg?: any): Array<S>; (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: n…;
reduce: { (callbackfn: (previousValue: SchemaAST.Check<Brand.Unbranded<A>>, currentValue: SchemaAST.Check<Brand.Unbranded<A>>, currentIndex: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => SchemaAST.Check<Brand.Unbranded<A>>)…;
reduceRight: { (callbackfn: (previousValue: SchemaAST.Check<Brand.Unbranded<A>>, currentValue: SchemaAST.Check<Brand.Unbranded<A>>, currentIndex: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => SchemaAST.Check<Brand.Unbranded<A>>)…;
find: { (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, obj: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => value is S, thisArg?: any): S | undefined; (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index…;
findIndex: (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, obj: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => unknown, thisArg?: any) => number;
entries: () => ArrayIterator<[number, SchemaAST.Check<Brand.Unbranded<A>>]>;
keys: () => ArrayIterator<number>;
values: () => ArrayIterator<SchemaAST.Check<Brand.Unbranded<A>>>;
includes: (searchElement: SchemaAST.Check<Brand.Unbranded<A>>, fromIndex?: number) => boolean;
flatMap: (callback: (this: This, value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: Array<SchemaAST.Check<Brand.Unbranded<A>>>) => U | ReadonlyArray<U>, thisArg?: This | undefined) => Array<U>;
flat: (this: A, depth?: D | undefined) => Array<FlatArray<A, D>>;
at: (index: number) => SchemaAST.Check<Brand.Unbranded<A>> | undefined;
findLast: { (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => value is S, thisArg?: any): S | undefined; (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, ind…;
findLastIndex: (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => unknown, thisArg?: any) => number;
toReversed: () => Array<SchemaAST.Check<Brand.Unbranded<A>>>;
toSorted: (compareFn?: ((a: SchemaAST.Check<Brand.Unbranded<A>>, b: SchemaAST.Check<Brand.Unbranded<A>>) => number) | undefined) => Array<SchemaAST.Check<Brand.Unbranded<A>>>;
toSpliced: { (start: number, deleteCount: number, ...items: Array<SchemaAST.Check<Brand.Unbranded<A>>>): Array<SchemaAST.Check<Brand.Unbranded<A>>>; (start: number, deleteCount?: number): Array<SchemaAST.Check<Brand.Unbranded<A>>> };
with: (index: number, value: SchemaAST.Check<Brand.Unbranded<A>>) => Array<SchemaAST.Check<Brand.Unbranded<A>>>;
}
checks, input: Brand.Unbranded<A>input), (issue: SchemaIssue.Issueissue) => new constructor BrandError(issue: SchemaIssue.Issue): BrandErrorError returned when a branded type is constructed from an invalid value.
Details
The error wraps a SchemaIssue.Issue, exposes message through
issue.toString(), and formats as BrandError(<message>).
Gotchas
BrandError is an error-like model with _tag, name, message, and
toString; it does not extend JavaScript Error.
BrandError(issue: SchemaIssue.Issueissue)) as any
}
return var Object: ObjectConstructorProvides functionality common to all JavaScript objects.
Object.ObjectConstructor.assign<(input: Brand.Unbranded<A>) => A, {
option: (input: Brand.Unbranded<A>) => Option.Option<A>;
result: (input: Brand.Unbranded<A>) => Result.Result<A, BrandError>;
is: (input: Brand.Unbranded<A>) => input is Brand.Unbranded<A> & A;
checks: readonly [SchemaAST.Check<Brand<in out Keys extends string>.Unbranded<A>>, ...SchemaAST.Check<Brand.Unbranded<A>>[]];
}>(target: (input: Brand.Unbranded<A>) => A, source: {
option: (input: Brand.Unbranded<A>) => Option.Option<A>;
result: (input: Brand.Unbranded<A>) => Result.Result<A, BrandError>;
is: (input: Brand.Unbranded<A>) => input is Brand.Unbranded<A> & A;
checks: readonly [SchemaAST.Check<Brand<in out Keys extends string>.Unbranded<A>>, ...SchemaAST.Check<Brand.Unbranded<A>>[]];
}): ((input: Brand.Unbranded<A>) => A) & {
option: (input: Brand.Unbranded<A>) => Option.Option<A>;
result: (input: Brand.Unbranded<A>) => Result.Result<A, BrandError>;
is: (input: Brand.Unbranded<A>) => input is Brand.Unbranded<A> & A;
checks: readonly [SchemaAST.Check<Brand<in out Keys extends string>.Unbranded<A>>, ...SchemaAST.Check<Brand.Unbranded<A>>[]];
} (+3 overloads)
Copy the values of all of the enumerable own properties from one or more source objects to a
target object. Returns the target object.
assign((input: Brand.Unbranded<A>input: Brand.type Brand<in out Keys extends string>.Unbranded<B extends Brand<any>> = B extends infer U & Types.UnionToIntersection<{ [K in keyof B["~effect/Brand"]]: K extends string ? Brand<K> : never; }[keyof B["~effect/Brand"]]> ? U : BA utility type to extract the unbranded value type from a brand.
Unbranded<function (type parameter) A in check<A extends Brand<any>>(checks_0: SchemaAST.Check<Brand<in out Keys extends string>.Unbranded<A>>, ...checks: SchemaAST.Check<Brand.Unbranded<A>>[]): Constructor<A>A>) => import ResultResult.const getOrThrow: <A, E>(
self: Result<A, E>
) => A
Extracts the success value or throws the raw failure value E.
When to use
Use when unchecked boundaries should turn failures into thrown exceptions.
Details
Success<A> returns A
Failure<E> throws E directly
- Use
getOrThrowWith
for a custom error object
Example (Unwrapping or throwing)
import { Result } from "effect"
console.log(Result.getOrThrow(Result.succeed(1)))
// Output: 1
// This would throw the string "error":
// Result.getOrThrow(Result.fail("error"))
getOrThrow(const result: (
input: Brand.Unbranded<A>
) => Result.Result<A, BrandError>
result(input: Brand.Unbranded<A>input)), {
option: (
input: Brand.Unbranded<A>
) => Option.Option<A>
option: (input: Brand.Unbranded<A>input: Brand.type Brand<in out Keys extends string>.Unbranded<B extends Brand<any>> = B extends infer U & Types.UnionToIntersection<{ [K in keyof B["~effect/Brand"]]: K extends string ? Brand<K> : never; }[keyof B["~effect/Brand"]]> ? U : BA utility type to extract the unbranded value type from a brand.
Unbranded<function (type parameter) A in check<A extends Brand<any>>(checks_0: SchemaAST.Check<Brand<in out Keys extends string>.Unbranded<A>>, ...checks: SchemaAST.Check<Brand.Unbranded<A>>[]): Constructor<A>A>) => import OptionOption.const getSuccess: <A, E>(
self: Result<A, E>
) => Option<A>
Converts a Result into an Option, keeping only the success value.
When to use
Use when you need to discard a Result failure and keep only the success
value as an Option.
Details
Success becomes Some with the success value
Failure becomes None and the failure value is discarded
Example (Extracting the success side)
import { Option, Result } from "effect"
console.log(Option.getSuccess(Result.succeed("ok")))
// Output: { _id: 'Option', _tag: 'Some', value: 'ok' }
console.log(Option.getSuccess(Result.fail("err")))
// Output: { _id: 'Option', _tag: 'None' }
getSuccess(const result: (
input: Brand.Unbranded<A>
) => Result.Result<A, BrandError>
result(input: Brand.Unbranded<A>input)),
result: (
input: Brand.Unbranded<A>
) => Result.Result<A, BrandError>
result,
is: (
input: Brand.Unbranded<A>
) => input is Brand.Unbranded<A> & A
is: (input: Brand.Unbranded<A>input: Brand.type Brand<in out Keys extends string>.Unbranded<B extends Brand<any>> = B extends infer U & Types.UnionToIntersection<{ [K in keyof B["~effect/Brand"]]: K extends string ? Brand<K> : never; }[keyof B["~effect/Brand"]]> ? U : BA utility type to extract the unbranded value type from a brand.
Unbranded<function (type parameter) A in check<A extends Brand<any>>(checks_0: SchemaAST.Check<Brand<in out Keys extends string>.Unbranded<A>>, ...checks: SchemaAST.Check<Brand.Unbranded<A>>[]): Constructor<A>A>): input: Brand.Unbranded<A>input is Brand.type Brand<in out Keys extends string>.Unbranded<B extends Brand<any>> = B extends infer U & Types.UnionToIntersection<{ [K in keyof B["~effect/Brand"]]: K extends string ? Brand<K> : never; }[keyof B["~effect/Brand"]]> ? U : BA utility type to extract the unbranded value type from a brand.
Unbranded<function (type parameter) A in check<A extends Brand<any>>(checks_0: SchemaAST.Check<Brand<in out Keys extends string>.Unbranded<A>>, ...checks: SchemaAST.Check<Brand.Unbranded<A>>[]): Constructor<A>A> & function (type parameter) A in check<A extends Brand<any>>(checks_0: SchemaAST.Check<Brand<in out Keys extends string>.Unbranded<A>>, ...checks: SchemaAST.Check<Brand.Unbranded<A>>[]): Constructor<A>A => import ResultResult.const isSuccess: <A, E>(
self: Result<A, E>
) => self is Success<A, E>
Checks whether a Result is a Success.
When to use
Use to narrow a known Result to the Success variant.
Details
- Acts as a TypeScript type guard, narrowing to
Success<A, E>
- After narrowing, you can access
.success to read the value
Example (Narrowing to success)
import { Result } from "effect"
const result = Result.succeed(42)
if (Result.isSuccess(result)) {
console.log(result.success)
// Output: 42
}
isSuccess(const result: (
input: Brand.Unbranded<A>
) => Result.Result<A, BrandError>
result(input: Brand.Unbranded<A>input)),
checks: readonly [
SchemaAST.Check<Brand.Unbranded<A>>,
...SchemaAST.Check<Brand.Unbranded<A>>[]
]
(property) checks: {
0: SchemaAST.Check<Brand.Unbranded<A>>;
length: number;
toString: () => string;
toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string };
concat: { (...items: Array<ConcatArray<SchemaAST.Check<Brand.Unbranded<A>>>>): Array<SchemaAST.Check<Brand.Unbranded<A>>>; (...items: Array<SchemaAST.Check<Brand.Unbranded<A>> | ConcatArray<SchemaAST.Check<Brand.Unbranded<A>>>>): Array<SchemaAST.C…;
join: (separator?: string) => string;
slice: (start?: number, end?: number) => Array<SchemaAST.Check<Brand.Unbranded<A>>>;
indexOf: (searchElement: SchemaAST.Check<Brand.Unbranded<A>>, fromIndex?: number) => number;
lastIndexOf: (searchElement: SchemaAST.Check<Brand.Unbranded<A>>, fromIndex?: number) => number;
every: { (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => value is S, thisArg?: any): this is readonly S[]; (predicate: (value: SchemaAST.Check<Brand.Unbranded<A…;
some: (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => unknown, thisArg?: any) => boolean;
forEach: (callbackfn: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => void, thisArg?: any) => void;
map: (callbackfn: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => U, thisArg?: any) => Array<U>;
filter: { (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => value is S, thisArg?: any): Array<S>; (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: n…;
reduce: { (callbackfn: (previousValue: SchemaAST.Check<Brand.Unbranded<A>>, currentValue: SchemaAST.Check<Brand.Unbranded<A>>, currentIndex: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => SchemaAST.Check<Brand.Unbranded<A>>)…;
reduceRight: { (callbackfn: (previousValue: SchemaAST.Check<Brand.Unbranded<A>>, currentValue: SchemaAST.Check<Brand.Unbranded<A>>, currentIndex: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => SchemaAST.Check<Brand.Unbranded<A>>)…;
find: { (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, obj: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => value is S, thisArg?: any): S | undefined; (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index…;
findIndex: (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, obj: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => unknown, thisArg?: any) => number;
entries: () => ArrayIterator<[number, SchemaAST.Check<Brand.Unbranded<A>>]>;
keys: () => ArrayIterator<number>;
values: () => ArrayIterator<SchemaAST.Check<Brand.Unbranded<A>>>;
includes: (searchElement: SchemaAST.Check<Brand.Unbranded<A>>, fromIndex?: number) => boolean;
flatMap: (callback: (this: This, value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: Array<SchemaAST.Check<Brand.Unbranded<A>>>) => U | ReadonlyArray<U>, thisArg?: This | undefined) => Array<U>;
flat: (this: A, depth?: D | undefined) => Array<FlatArray<A, D>>;
at: (index: number) => SchemaAST.Check<Brand.Unbranded<A>> | undefined;
findLast: { (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => value is S, thisArg?: any): S | undefined; (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, ind…;
findLastIndex: (predicate: (value: SchemaAST.Check<Brand.Unbranded<A>>, index: number, array: ReadonlyArray<SchemaAST.Check<Brand.Unbranded<A>>>) => unknown, thisArg?: any) => number;
toReversed: () => Array<SchemaAST.Check<Brand.Unbranded<A>>>;
toSorted: (compareFn?: ((a: SchemaAST.Check<Brand.Unbranded<A>>, b: SchemaAST.Check<Brand.Unbranded<A>>) => number) | undefined) => Array<SchemaAST.Check<Brand.Unbranded<A>>>;
toSpliced: { (start: number, deleteCount: number, ...items: Array<SchemaAST.Check<Brand.Unbranded<A>>>): Array<SchemaAST.Check<Brand.Unbranded<A>>>; (start: number, deleteCount?: number): Array<SchemaAST.Check<Brand.Unbranded<A>>> };
with: (index: number, value: SchemaAST.Check<Brand.Unbranded<A>>) => Array<SchemaAST.Check<Brand.Unbranded<A>>>;
}
checks
})
}