UNPKG

@fedify/fedify

Version:

An ActivityPub server framework

39 lines (35 loc) 1.31 kB
import { Temporal } from "@js-temporal/polyfill"; import { URLPattern } from "urlpattern-polyfill"; globalThis.addEventListener = () => {}; import { AssertionError } from "./assert_equals-CTYbeopb.js"; import { assertIsError } from "./assert_is_error-nrwA1GeT.js"; //#region node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_throws.js function assertThrows(fn, errorClassOrMsg, msgIncludesOrMsg, msg) { let ErrorClass = void 0; let msgIncludes = void 0; let err; if (typeof errorClassOrMsg !== "string") if (errorClassOrMsg === void 0 || errorClassOrMsg?.prototype instanceof Error || errorClassOrMsg?.prototype === Error.prototype) { ErrorClass = errorClassOrMsg; msgIncludes = msgIncludesOrMsg; } else msg = msgIncludesOrMsg; else msg = errorClassOrMsg; let doesThrow = false; const msgSuffix = msg ? `: ${msg}` : "."; try { fn(); } catch (error) { if (ErrorClass) { if (error instanceof Error === false) throw new AssertionError(`A non-Error object was thrown${msgSuffix}`); assertIsError(error, ErrorClass, msgIncludes, msg); } err = error; doesThrow = true; } if (!doesThrow) { msg = `Expected function to throw${msgSuffix}`; throw new AssertionError(msg); } return err; } //#endregion export { assertThrows };