err

simple payload wrapper around Error

example

import Err, { $PAYLOAD } from "./mod.ts";

(async function example_without_err([foo, bar] = ["hello", "world"]) {
  try {

    let _err = new Error("I just ran into a problem.");

    function some_shitty_middleware(err: Error) {
      // @ts-ignore
      err.payload = {
        status: 500.
      }
    }

    // @ts-ignore
    _err.payload = { foo, bar }
    some_shitty_middleware(_err);

    throw _err;
  } catch (err) {
    if (err.hasOwnProperty("payload")) {
      console.error("I found this payload.", err.payload);
    }
  }
})();

(async function example_with_err([foo, bar] = ["hello", "world"]) {
  try {
    throw new Err("I just ran into a problem.").with({ foo, bar });
  } catch (err) {
    if (err.hasOwnProperty($PAYLOAD)) {
      console.error("I found this payload.", (err as Err).payload);
    }
  }
})();