fault
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.0 • Public • Published

    fault

    Build Coverage Downloads Size

    Functional errors with formatted output.

    Install

    This package is ESM only: Node 12+ is needed to use it and it must be imported instead of required.

    npm:

    npm install fault

    Use

    import fault from 'fault'
    
    throw fault('Hello %s!', 'Eric')

    Yields:

    Error: Hello Eric!
        at FormattedError (~/node_modules/fault/index.js:30:12)
        at Object.<anonymous> (~/example.js:3:7)
        …
    

    Or, format a float in a type error:

    import fault from 'fault'
    
    throw fault.type('Who doesn’t like %f? \uD83C\uDF70', Math.PI)

    Yields:

    TypeError: Who doesn’t like 3.141593? 🍰
        at Function.FormattedError [as type] (~/node_modules/fault/index.js:30:12)
        at Object.<anonymous> (~/example.js:3:7)
    

    API

    This package exports the following identifiers: fault, create. There is no default export.

    fault(format?[, values…])

    Create an error with a printf-like formatted message.

    Parameters
    • format (string, optional)
    • values (*, optional)
    Formatters
    • %s — String
    • %b — Binary
    • %c — Character
    • %d — Decimal
    • %f — Floating point
    • %o — Octal
    • %x — Lowercase hexadecimal
    • %X — Uppercase hexadecimal
    • % followed by any other character, prints that character

    See samsonjs/format for argument parsing.

    Returns

    An instance of Error.

    Other errors

    create(Constructor)

    Factory to create instances of ErrorConstructor with support for formatting. Used internally to wrap the global error constructors, exposed for custom errors. Returns a function just like fault.

    License

    MIT © Titus Wormer

    Install

    npm i fault

    DownloadsWeekly Downloads

    3,042,838

    Version

    2.0.0

    License

    MIT

    Unpacked Size

    8.74 kB

    Total Files

    5

    Last publish

    Collaborators

    • wooorm