@fuel-ts/errors
TypeScript icon, indicating that this package has built-in type declarations

0.97.0 • Public • Published

@fuel-ts/errors

@fuel-ts/errors is a sub-module for interacting with Fuel.

This package contains core utilities regarding throwing errors internally inside of the fuels-ts SDK.

Table of contents

Documentation

See Fuels-ts Documentation

Usage

Installation

pnpm add @fuel-ts/errors
# or
npm add @fuel-ts/errors

Internal usage

import { FuelError, ErrorCodes } from "@fuel-ts/error";

export function singleImport() {
  throw new FuelError(FuelError.CODES.INVALID_DATA, "Invalid data");
}

export function multipleImports() {
  throw new FuelError(ErrorCodes.INVALID_DATA, "Invalid data");
}

Test Utilities

You can use the expectToThrowFuelError test utility when asserting errors.

// can also be imported from `fuels` when using the umbrella package
import { expectToThrowFuelError } from "@fuel-ts/errors";

import { myFn } from "...";

describe('this and that' () => {
  const code = FuelError.CODES.INVALID_DATA;

  it("should throw FuelError", async () => {
    const expected = new FuelError(code);
    await expectToThrowFuelError(() => myFn(), expected);
  });

  it("should throw something else", async () => {
    const expected = new FuelError(code);
    const fn = () => expectToThrowFuelError(() => myFn(), expected)
    await expect(fn).rejects.toThrow('Something else');
  });
})

External usage

import { FuelError, Provider } from "fuels";

type Locale = "pt-BR" | "bs-BA" | "en-GB";

const currentLocale: Locale = "pt-BR";

const i18nDict = {
  pt-BR: {
    [FuelError.CODES.INVALID_DATA]: "Dados inválidos",
  },
  bs-BA: {
    [FuelError.CODES.INVALID_DATA]: "Nevažeći podaci",
  },
  en-GB: {
    [FuelError.CODES.INVALID_DATA]: "Invalid data",
  },
};

function translateError(e: unknown) {
  const { code } = FuelError.parse(e);
  return i18nDict[currentLocale][code];
}

function main() {
  try {
    const p = new Provider("0004:tƨoʜlɒɔol//:qttʜ");
    console.log(p);
  } catch (e) {
    const prettyError = translateError(e);
    console.log({ prettyError });
  }
};

Contributing

In order to contribute to @fuel-ts/errors, please see the main fuels-ts monorepo.

Changelog

The @fuel-ts/errors changelog can be found at CHANGELOG.

License

The primary license for @fuel-ts/errors is Apache 2.0, see LICENSE.

Readme

Keywords

none

Package Sidebar

Install

npm i @fuel-ts/errors

Weekly Downloads

15,255

Version

0.97.0

License

Apache-2.0

Unpacked Size

130 kB

Total Files

27

Last publish

Collaborators

  • fuel-ci