Documents for @litert/utils-flow-control
    Preparing search index...

    Function tryCatch

    • The expression version of the try-catch[-finally] statement, with support for asynchronous functions.

      Type Parameters

      • TOk
      • TErr = never
      • TFinal extends void | Promise<void> = void

      Parameters

      Returns IfIsNever<
          TOk,
          IfIsNever<
              TErr,
              IfIsNever<
                  TOk,
                  IfIsNever<
                      TErr,
                      IfIsNever<
                          TFinal,
                          never,
                          TFinal extends Promise<any> ? Promise<never> : never,
                      >,
                      TErr extends Promise<any>
                          ? Promise<never>
                          : IfIsNever<
                              TFinal,
                              never,
                              TFinal extends Promise<any> ? Promise<never> : never,
                          >,
                  >,
                  IfIsNever<
                      TErr,
                      TOk extends Promise<any>
                          ? Promise<never>
                          : IfIsNever<
                              TFinal,
                              never,
                              TFinal extends Promise<any> ? Promise<never> : never,
                          >,
                      TOk extends Promise<any>
                          ? Promise<never>
                          : TErr extends Promise<any>
                              ? Promise<never>
                              : IfIsNever<
                                  TFinal,
                                  never,
                                  TFinal extends Promise<any> ? Promise<never> : never,
                              >,
                  >,
              >,
              TErr extends Promise<never>
                  ? IfIsNever<
                      TOk,
                      IfIsNever<
                          TErr,
                          IfIsNever<
                              TFinal,
                              never,
                              TFinal extends Promise<any> ? Promise<never> : never,
                          >,
                          TErr extends Promise<any>
                              ? Promise<never>
                              : IfIsNever<
                                  TFinal,
                                  never,
                                  TFinal extends Promise<any> ? Promise<never> : never,
                              >,
                      >,
                      IfIsNever<
                          TErr,
                          TOk extends Promise<any>
                              ? Promise<never>
                              : IfIsNever<
                                  TFinal,
                                  never,
                                  TFinal extends Promise<any> ? Promise<never> : never,
                              >,
                          TOk extends Promise<any>
                              ? Promise<never>
                              : TErr extends Promise<any>
                                  ? Promise<never>
                                  : IfIsNever<
                                      TFinal,
                                      never,
                                      TFinal extends Promise<any> ? Promise<never> : never,
                                  >,
                      >,
                  >
                  : IfIsNever<
                      TOk,
                      IfIsNever<
                          TErr,
                          IfIsNever<
                              TFinal,
                              TErr,
                              TFinal extends Promise<any> ? IToPromise<TErr> : TErr,
                          >,
                          TErr extends Promise<any>
                              ? IToPromise<TErr>
                              : IfIsNever<
                                  TFinal,
                                  TErr,
                                  TFinal extends Promise<any> ? IToPromise<TErr> : TErr,
                              >,
                      >,
                      IfIsNever<
                          TErr,
                          TOk extends Promise<any>
                              ? IToPromise<TErr>
                              : IfIsNever<
                                  TFinal,
                                  TErr,
                                  TFinal extends Promise<any> ? IToPromise<TErr> : TErr,
                              >,
                          TOk extends Promise<any>
                              ? IToPromise<TErr>
                              : TErr extends Promise<any>
                                  ? IToPromise<TErr>
                                  : IfIsNever<
                                      TFinal,
                                      TErr,
                                      TFinal extends Promise<any> ? IToPromise<TErr> : TErr,
                                  >,
                      >,
                  >,
          >,
          TOk extends Promise<never>
              ? IfIsNever<
                  TErr,
                  IfIsNever<
                      TOk,
                      IfIsNever<
                          TErr,
                          IfIsNever<
                              TFinal,
                              never,
                              TFinal extends Promise<any> ? Promise<never> : never,
                          >,
                          TErr extends Promise<any>
                              ? Promise<never>
                              : IfIsNever<
                                  TFinal,
                                  never,
                                  TFinal extends Promise<any> ? Promise<never> : never,
                              >,
                      >,
                      IfIsNever<
                          TErr,
                          TOk extends Promise<any>
                              ? Promise<never>
                              : IfIsNever<
                                  TFinal,
                                  never,
                                  TFinal extends Promise<any> ? Promise<never> : never,
                              >,
                          TOk extends Promise<any>
                              ? Promise<never>
                              : TErr extends Promise<any>
                                  ? Promise<never>
                                  : IfIsNever<
                                      TFinal,
                                      never,
                                      TFinal extends Promise<any> ? Promise<never> : never,
                                  >,
                      >,
                  >,
                  TErr extends Promise<never>
                      ? IfIsNever<
                          TOk,
                          IfIsNever<
                              TErr,
                              IfIsNever<
                                  TFinal,
                                  never,
                                  TFinal extends Promise<any> ? Promise<never> : never,
                              >,
                              TErr extends Promise<any>
                                  ? Promise<never>
                                  : IfIsNever<
                                      TFinal,
                                      never,
                                      TFinal extends Promise<any> ? Promise<never> : never,
                                  >,
                          >,
                          IfIsNever<
                              TErr,
                              TOk extends Promise<any>
                                  ? Promise<never>
                                  : IfIsNever<
                                      TFinal,
                                      never,
                                      TFinal extends Promise<any> ? Promise<never> : never,
                                  >,
                              TOk extends Promise<any>
                                  ? Promise<never>
                                  : TErr extends Promise<any>
                                      ? Promise<never>
                                      : IfIsNever<
                                          TFinal,
                                          never,
                                          TFinal extends Promise<(...)> ? Promise<(...)> : never,
                                      >,
                          >,
                      >
                      : IfIsNever<
                          TOk,
                          IfIsNever<
                              TErr,
                              IfIsNever<
                                  TFinal,
                                  TErr,
                                  TFinal extends Promise<any> ? IToPromise<TErr> : TErr,
                              >,
                              TErr extends Promise<any>
                                  ? IToPromise<TErr>
                                  : IfIsNever<
                                      TFinal,
                                      TErr,
                                      TFinal extends Promise<any> ? IToPromise<TErr> : TErr,
                                  >,
                          >,
                          IfIsNever<
                              TErr,
                              TOk extends Promise<any>
                                  ? IToPromise<TErr>
                                  : IfIsNever<
                                      TFinal,
                                      TErr,
                                      TFinal extends Promise<any> ? IToPromise<TErr> : TErr,
                                  >,
                              TOk extends Promise<any>
                                  ? IToPromise<TErr>
                                  : TErr extends Promise<any>
                                      ? IToPromise<TErr>
                                      : IfIsNever<
                                          TFinal,
                                          TErr,
                                          TFinal extends Promise<(...)> ? IToPromise<(...)> : TErr,
                                      >,
                          >,
                      >,
              >
              : IfIsNever<
                  TErr,
                  IfIsNever<
                      TOk,
                      IfIsNever<
                          TErr,
                          IfIsNever<
                              TFinal,
                              TOk,
                              TFinal extends Promise<any> ? IToPromise<TOk> : TOk,
                          >,
                          TErr extends Promise<any>
                              ? IToPromise<TOk>
                              : IfIsNever<
                                  TFinal,
                                  TOk,
                                  TFinal extends Promise<any> ? IToPromise<TOk> : TOk,
                              >,
                      >,
                      IfIsNever<
                          TErr,
                          TOk extends Promise<any>
                              ? IToPromise<TOk>
                              : IfIsNever<
                                  TFinal,
                                  TOk,
                                  TFinal extends Promise<any> ? IToPromise<TOk> : TOk,
                              >,
                          TOk extends Promise<any>
                              ? IToPromise<TOk>
                              : TErr extends Promise<any>
                                  ? IToPromise<TOk>
                                  : IfIsNever<
                                      TFinal,
                                      TOk,
                                      TFinal extends Promise<any> ? IToPromise<TOk> : TOk,
                                  >,
                      >,
                  >,
                  TErr extends Promise<never>
                      ? IfIsNever<
                          TOk,
                          IfIsNever<
                              TErr,
                              IfIsNever<
                                  TFinal,
                                  TOk,
                                  TFinal extends Promise<any> ? IToPromise<TOk> : TOk,
                              >,
                              TErr extends Promise<any>
                                  ? IToPromise<TOk>
                                  : IfIsNever<
                                      TFinal,
                                      TOk,
                                      TFinal extends Promise<any> ? IToPromise<TOk> : TOk,
                                  >,
                          >,
                          IfIsNever<
                              TErr,
                              TOk extends Promise<any>
                                  ? IToPromise<TOk>
                                  : IfIsNever<
                                      TFinal,
                                      TOk,
                                      TFinal extends Promise<any> ? IToPromise<TOk> : TOk,
                                  >,
                              TOk extends Promise<any>
                                  ? IToPromise<TOk>
                                  : TErr extends Promise<any>
                                      ? IToPromise<TOk>
                                      : IfIsNever<
                                          TFinal,
                                          TOk,
                                          TFinal extends Promise<(...)> ? IToPromise<(...)> : TOk,
                                      >,
                          >,
                      >
                      : IfIsNever<
                          TOk,
                          IfIsNever<
                              TErr,
                              IfIsNever<
                                  TFinal,
                                  TOk
                                  | TErr,
                                  TFinal extends Promise<any>
                                      ? IToPromise<TErr> | IToPromise<TOk>
                                      : TOk | TErr,
                              >,
                              TErr extends Promise<any>
                                  ? IToPromise<TErr> | IToPromise<TOk>
                                  : IfIsNever<
                                      TFinal,
                                      TOk
                                      | TErr,
                                      TFinal extends Promise<any>
                                          ? IToPromise<(...)> | IToPromise<(...)>
                                          : TOk | TErr,
                                  >,
                          >,
                          IfIsNever<
                              TErr,
                              TOk extends Promise<any>
                                  ? IToPromise<TErr> | IToPromise<TOk>
                                  : IfIsNever<
                                      TFinal,
                                      TOk
                                      | TErr,
                                      TFinal extends Promise<any>
                                          ? IToPromise<(...)> | IToPromise<(...)>
                                          : TOk | TErr,
                                  >,
                              TOk extends Promise<any>
                                  ? IToPromise<TErr> | IToPromise<TOk>
                                  : TErr extends Promise<any>
                                      ? IToPromise<TErr> | IToPromise<TOk>
                                      : IfIsNever<
                                          TFinal,
                                          TOk
                                          | TErr,
                                          TFinal extends Promise<(...)> ? (...) | (...) : (...) | (...),
                                      >,
                          >,
                      >,
              >,
      >