OkImpl Class — react Architecture
Architecture documentation for the OkImpl class in Result.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD 6143aba4_e943_f966_4659_ccde18cc41ea["OkImpl"] 494e3425_0b47_293a_1ea4_d4670b0fc0e7["Result.ts"] 6143aba4_e943_f966_4659_ccde18cc41ea -->|defined in| 494e3425_0b47_293a_1ea4_d4670b0fc0e7 07a3b3c2_6de8_d680_cad6_fd4f2b862082["constructor()"] 6143aba4_e943_f966_4659_ccde18cc41ea -->|method| 07a3b3c2_6de8_d680_cad6_fd4f2b862082 8e8b7ee8_d3c2_f98d_17e1_c5ff5fff1940["map()"] 6143aba4_e943_f966_4659_ccde18cc41ea -->|method| 8e8b7ee8_d3c2_f98d_17e1_c5ff5fff1940 3f1ec731_119d_e3db_278c_2a173ee94f8d["mapErr()"] 6143aba4_e943_f966_4659_ccde18cc41ea -->|method| 3f1ec731_119d_e3db_278c_2a173ee94f8d 7389f262_ceb9_32d3_424f_a8fad793e322["mapOr()"] 6143aba4_e943_f966_4659_ccde18cc41ea -->|method| 7389f262_ceb9_32d3_424f_a8fad793e322 5cc80a94_9262_c66a_6c7b_8c3143f9537c["mapOrElse()"] 6143aba4_e943_f966_4659_ccde18cc41ea -->|method| 5cc80a94_9262_c66a_6c7b_8c3143f9537c 54969e7c_a163_5d2c_4478_ac42977e1382["andThen()"] 6143aba4_e943_f966_4659_ccde18cc41ea -->|method| 54969e7c_a163_5d2c_4478_ac42977e1382 1443a76d_5b18_8b2c_52b1_30d6a498a8d4["and()"] 6143aba4_e943_f966_4659_ccde18cc41ea -->|method| 1443a76d_5b18_8b2c_52b1_30d6a498a8d4 7599b9a5_7033_ab57_62a3_2d2dcd0b05c7["or()"] 6143aba4_e943_f966_4659_ccde18cc41ea -->|method| 7599b9a5_7033_ab57_62a3_2d2dcd0b05c7 5f0451d9_7345_49cb_39d4_433b2da060b4["orElse()"] 6143aba4_e943_f966_4659_ccde18cc41ea -->|method| 5f0451d9_7345_49cb_39d4_433b2da060b4 46bdf8e6_4a50_0326_ba9a_f74ee3cfc291["isOk()"] 6143aba4_e943_f966_4659_ccde18cc41ea -->|method| 46bdf8e6_4a50_0326_ba9a_f74ee3cfc291 8f45c458_198e_ea00_a21c_eae224736051["isErr()"] 6143aba4_e943_f966_4659_ccde18cc41ea -->|method| 8f45c458_198e_ea00_a21c_eae224736051 5b936745_0ae8_bf6a_10c7_af5aeebd4d23["expect()"] 6143aba4_e943_f966_4659_ccde18cc41ea -->|method| 5b936745_0ae8_bf6a_10c7_af5aeebd4d23 5875efa7_29a8_5069_0c8c_bed213facbb5["expectErr()"] 6143aba4_e943_f966_4659_ccde18cc41ea -->|method| 5875efa7_29a8_5069_0c8c_bed213facbb5
Relationship Graph
Source Code
compiler/packages/babel-plugin-react-compiler/src/Utils/Result.ts lines 92–164
class OkImpl<T> implements Result<T, never> {
#val: T;
constructor(val: T) {
this.#val = val;
}
map<U>(fn: (val: T) => U): Result<U, never> {
return new OkImpl(fn(this.#val));
}
mapErr<F>(_fn: (val: never) => F): Result<T, F> {
return this;
}
mapOr<U>(_fallback: U, fn: (val: T) => U): U {
return fn(this.#val);
}
mapOrElse<U>(_fallback: () => U, fn: (val: T) => U): U {
return fn(this.#val);
}
andThen<U>(fn: (val: T) => Result<U, never>): Result<U, never> {
return fn(this.#val);
}
and<U>(res: Result<U, never>): Result<U, never> {
return res;
}
or(_res: Result<T, never>): Result<T, never> {
return this;
}
orElse<F>(_fn: (val: never) => Result<T, F>): Result<T, F> {
return this;
}
isOk(): this is OkImpl<T> {
return true;
}
isErr(): this is ErrImpl<never> {
return false;
}
expect(_msg: string): T {
return this.#val;
}
expectErr(msg: string): never {
throw new Error(`${msg}: ${this.#val}`);
}
unwrap(): T {
return this.#val;
}
unwrapOr(_fallback: T): T {
return this.#val;
}
unwrapOrElse(_fallback: (val: never) => T): T {
return this.#val;
}
unwrapErr(): never {
if (this.#val instanceof Error) {
throw this.#val;
}
throw new Error(`Can't unwrap \`Ok\` to \`Err\`: ${this.#val}`);
}
}
Domain
Source
Frequently Asked Questions
What is the OkImpl class?
OkImpl is a class in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/Utils/Result.ts.
Where is OkImpl defined?
OkImpl is defined in compiler/packages/babel-plugin-react-compiler/src/Utils/Result.ts at line 92.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free