Error class and error codes that the fuels-ts library throws
npm install @fuel-ts/errors@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.
- Documentation
- Usage
- Installation
- Internal usage
- Test utilities
- External usage
- Contributing
- Changelog
- License
``sh`
pnpm add @fuel-ts/errorsor
npm add @fuel-ts/errors
`ts
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");
}
`
You can use the expectToThrowFuelError test utility when asserting errors.
`tsfuels
// can also be imported from 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');
});
})
`
`ts
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 });
}
};
`
In order to contribute to @fuel-ts/errors, please see the main fuels-ts monorepo.
The @fuel-ts/errors changelog can be found at CHANGELOG.
The primary license for @fuel-ts/errors is Apache 2.0`, see LICENSE.