当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript butlerd.asRequestError函数代码示例

本文整理汇总了TypeScript中common/butlerd.asRequestError函数的典型用法代码示例。如果您正苦于以下问题:TypeScript asRequestError函数的具体用法?TypeScript asRequestError怎么用?TypeScript asRequestError使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了asRequestError函数的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: makeInstallErrorModal

export function makeInstallErrorModal(params: InstallErrorParams) {
  let buttons: IModalButtonSpec[] = [];
  let detail: ILocalizedString;
  let shouldRetry = true;
  let forceDetails = false;

  const { store, e, log, retryAction, stopAction, game } = params;
  const { i18n } = store.getState();

  const re = asRequestError(e);

  if (re) {
    switch (re.rpcError.code) {
      case messages.Code.UnsupportedPackaging: {
        const learnMore = t(i18n, ["docs.how_to_help"]);
        detail = `[${learnMore}](https://itch.io/docs/itch/integrating/quickstart.html)`;
        shouldRetry = false;
        forceDetails = true;
        break;
      }
    }
  }

  if (shouldRetry) {
    buttons = [
      ...buttons,
      {
        label: ["game.install.try_again"],
        icon: "repeat",
        action: retryAction(),
      },
    ];
  }

  buttons = [
    ...buttons,

    {
      label: ["grid.item.discard_download"],
      icon: "delete",
      action: stopAction(),
    },
    "cancel",
  ];

  return modalWidgets.showError.make({
    window: "root",
    title: ["prompt.install_error.title"],
    message: t(i18n, formatError(e)),
    detail,
    widgetParams: { rawError: e, log, forceDetails, game },
    buttons,
  });
}
开发者ID:HorrerGames,项目名称:itch,代码行数:54,代码来源:make-install-error-modal.ts

示例2: isNetworkError

export function isNetworkError(e: Error) {
  // this operates under the assumption that:
  //   * all our internal network errors should start with "err::"
  //   * all of chrome's already do
  //   * we transform fetch's into err:: variants.
  // we coerce e.message into a string on the off chance that it's not defined
  // or not a string.
  const isJavaScriptNetworkError = e && ("" + e.message).indexOf("net::") === 0;
  if (isJavaScriptNetworkError) {
    return true;
  }

  const re = asRequestError(e);
  if (re) {
    if (re.rpcError.code === Code.NetworkDisconnected) {
      return true;
    }
  }

  return false;
}
开发者ID:itchio,项目名称:itch,代码行数:21,代码来源:errors.ts

示例3: async

      onError: async (e: Error, log) => {
        let title = game ? game.title : "<missing game>";

        const re = asRequestError(e);
        if (re) {
          switch (re.rpcError.code) {
            case Code.OperationAborted:
              // just ignore it
              return;

            case Code.InstallFolderDisappeared:
              // oh we can do something about that.
              store.dispatch(
                actions.openModal(
                  modalWidgets.naked.make({
                    window: "root",
                    title: ["game.install.could_not_launch", { title }],
                    coverUrl: game.coverUrl,
                    stillCoverUrl: game.stillCoverUrl,
                    message: `The folder where **${title}** was installed doesn't exist anymore.`,
                    detail: `That means we can't open it.`,
                    bigButtons: [
                      {
                        icon: "delete",
                        label: "Remove install entry",
                        tags: [{ label: "Recommended" }],
                        action: actions.queueCaveUninstall({ caveId: cave.id }),
                      },
                      {
                        icon: "folder-open",
                        label: "Open parent folder",
                        className: "secondary",
                        tags: [{ label: "Seeing is believing." }],
                        action: actions.exploreCave({ caveId: cave.id }),
                      },
                    ],
                    buttons: ["nevermind"],
                    widgetParams: null,
                  })
                )
              );
              return;
          }
        }

        await promisedModal(
          store,
          modalWidgets.showError.make({
            window: "root",
            title: ["game.install.could_not_launch", { title }],
            coverUrl: game.coverUrl,
            stillCoverUrl: game.stillCoverUrl,
            message: t(store.getState().i18n, formatError(e)),
            detail: isInternalError(e)
              ? ["game.install.could_not_launch.detail"]
              : null,
            widgetParams: { rawError: e, log, game, forceDetails: true },
            buttons: [
              {
                label: ["prompt.action.ok"],
              },
              {
                label: showInExplorerString(),
                className: "secondary",
                action: actions.exploreCave({ caveId: cave.id }),
              },
              "cancel",
            ],
          })
        );
      },
开发者ID:HorrerGames,项目名称:itch,代码行数:71,代码来源:queue-launch.ts

示例4: showInstallErrorModal

export async function showInstallErrorModal(params: InstallErrorParams) {
  let buttons: ModalButtonSpec[] = [];
  let detail: LocalizedString;
  let shouldRetry = true;
  let forceDetails = false;

  const { store, e, log, retryAction, stopAction, game } = params;
  const { i18n } = store.getState();

  const re = asRequestError(e);

  if (re) {
    switch (re.rpcError.code) {
      case messages.Code.UnsupportedPackaging: {
        const learnMore = t(i18n, ["docs.how_to_help"]);
        detail = `[${learnMore}](https://itch.io/docs/itch/integrating/quickstart.html)`;
        shouldRetry = false;
        forceDetails = true;
        break;
      }
    }
  }

  if (shouldRetry) {
    buttons = [
      ...buttons,
      {
        label: ["game.install.try_again"],
        icon: "repeat",
        action: retryAction(),
      },
    ];
  }

  buttons = [
    ...buttons,

    {
      label: ["grid.item.discard_download"],
      icon: "delete",
      action: "widgetResponse",
    },
    "cancel",
  ];

  const allowReport = isInternalError(e);

  const typedModal = modals.showError.make({
    wind: "root",
    title: ["prompt.install_error.title"],
    message: t(i18n, formatError(e)),
    detail,
    widgetParams: {
      rawError: e,
      log,
      forceDetails,
      game,
      showSendReport: allowReport,
    },
    buttons,
  });

  const res = await promisedModal(store, typedModal);

  if (res) {
    store.dispatch(stopAction());
    if (allowReport && res.sendReport) {
      store.dispatch(
        actions.sendFeedback({
          log: mergeLogAndError(log, e),
        })
      );
    }
  }
}
开发者ID:itchio,项目名称:itch,代码行数:75,代码来源:show-install-error-modal.ts


注:本文中的common/butlerd.asRequestError函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。