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


TypeScript errors.formatError函数代码示例

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


在下文中一共展示了formatError函数的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: async

  watcher.on(actions.removeInstallLocation, async (store, action) => {
    const { id } = action.payload;

    const { installLocations } = await mcall(messages.InstallLocationsList, {});
    if (installLocations.length <= 1) {
      // refuse to remove the last one
      return;
    }

    const { installLocation } = await mcall(messages.InstallLocationsGetByID, {
      id,
    });
    if (!installLocation) {
      return;
    }

    {
      const res = await promisedModal(
        store,
        modals.naked.make({
          wind: "root",
          title: ["prompt.install_location_remove.title"],
          message: ["prompt.install_location_remove.message"],
          detail: [
            "prompt.install_location_remove.detail",
            {
              location: installLocation.path,
            },
          ],
          buttons: [
            {
              label: ["prompt.action.confirm_removal"],
              action: actions.modalResponse({}),
            },
            "cancel",
          ],
          widgetParams: null,
        })
      );

      if (!res) {
        // modal was closed
        return;
      }

      const logger = recordingLogger(mainLogger);
      try {
        await mcall(messages.InstallLocationsRemove, { id }, convo => {
          hookLogging(convo, logger);
        });
        store.dispatch(actions.installLocationsChanged({}));
      } catch (e) {
        store.dispatch(
          actions.openModal(
            modals.showError.make({
              wind: "root",
              title: _("prompt.show_error.generic_message"),
              message: t(store.getState().i18n, formatError(e)),
              widgetParams: {
                rawError: e,
                log: logger.getLog(),
                forceDetails: true,
              },
              buttons: ["ok"],
            })
          )
        );
      }
    }
  });
开发者ID:itchio,项目名称:itch,代码行数:70,代码来源:install-locations.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/format/errors.formatError函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。