UNPKG

@shirudo/base-error

Version:

A cross-environment base error class for TypeScript applications, designed for seamless use across Node.js, browsers, and edge runtimes.

1 lines 131 kB
{"version":3,"sources":["../src/errors/BaseError.ts","../src/errors/defaults.ts","../src/errors/StructuredError.ts","../src/errors/match.ts","../src/errors/match-thrown.ts","../src/errors/error-class-set.ts","../src/errors/catalog.ts","../src/errors/coerce.ts","../src/errors/validation.ts","../src/utils/guard.ts","../src/utils/redact.ts","../src/errors/guards.ts","../src/traversal/guards.ts","../src/traversal/cause-chain.ts","../src/traversal/retryability.ts"],"names":["_a","guard"],"mappings":"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","file":"index.cjs","sourcesContent":["// This avoids polluting the global scope\ninterface V8ErrorConstructor {\n captureStackTrace?(\n targetObject: object,\n constructorOpt?: (...args: unknown[]) => unknown,\n ): void;\n}\n\nexport type BaseErrorOptions = {\n /** Override the runtime error name. Intended for framework errors with stable codes. */\n name?: string;\n};\n\n/**\n * Replacement used by {@link BaseError.redact}/{@link BaseError.redactAllow}.\n * Either a fixed value, or a function of the original `(value, key)`: useful\n * for partial masking (`****6789`) or preserving the value's type.\n */\nexport type RedactMask = string | ((value: unknown, key: string) => unknown);\n\n/**\n * Where a node sits in the log tree, for `redactAllow`'s structure-vs-data\n * decision: `\"root\"` (the top level, where only the library's own envelope\n * keys are kept), `\"cause\"` (a cause's top level, structural envelope keys\n * kept, the rest data), `\"data\"` (a `details` subtree, a cause's foreign\n * subtree, or a subclass-added top-level subtree, where every leaf is data).\n * The deny-list (`redact`) ignores it.\n */\ntype RedactRegion = \"root\" | \"cause\" | \"data\";\n\n/**\n * Application-specific base error that works across full Node.js, isolate \"edge\"\n * runtimes (Cloudflare Workers, Deno Deploy, Vercel Edge Functions) and modern\n * browsers. It preserves the native `cause` field where available, falls back\n * gracefully where it is not, and produces the richest stack trace the host\n * can provide.\n *\n * @example\n * ```ts\n * // Using automatic name inference\n * class UserNotFoundError extends BaseError<'UserNotFoundError'> {\n * constructor(userId: string) {\n * super(`User with id ${userId} not found in database lookup`); // Technical message\n * }\n * }\n * ```\n */\nexport class BaseError<T extends string> extends Error {\n /**\n * Nominal type brand - makes each subclass structurally distinct at compile time.\n * Using 'this' ensures every subclass gets its own unique type identity.\n * @internal - This property is for type-checking only, never use it directly.\n */\n protected readonly __brand!: this;\n\n /**\n * Discriminant tag for type narrowing. Derived from the resolved error name\n * (an explicit `name` option, otherwise the constructor name), so it never\n * diverges from {@link name}.\n *\n * Because the fallback is `constructor.name`, a build that minifies class\n * names will mangle it. For a stable discriminant either pass an explicit\n * `name`, or override `_tag` with a literal, which also narrows the\n * type:\n *\n * @example\n * ```ts\n * class MyError extends BaseError<'MyError'> {\n * readonly _tag = 'MyError' as const; // stable + strictly typed\n * }\n * ```\n */\n public readonly _tag: string;\n\n public override readonly name: T;\n\n /** Epoch-ms timestamp (numeric) */\n public readonly timestamp: number = Date.now();\n\n /**\n * ISO-8601 timestamp (string) for log aggregators that prefer text. Derived\n * from {@link timestamp} (one clock read), so the two can never disagree\n * across a millisecond boundary.\n */\n public readonly timestampIso: string = new Date(this.timestamp).toISOString();\n\n /** Rich, filtered stack where the host supports it. */\n public override readonly stack?: string;\n\n #redactor?: (log: Record<string, unknown>) => Record<string, unknown>;\n\n /**\n * Mask for the technical `message` in {@link toString}, set only by a\n * deny-list {@link redact} whose keys include `\"message\"`. `toString` (unlike\n * `toLogObject`) cannot run an arbitrary redactor, but a denied `message` is\n * an explicit statement that the text is sensitive, so the one string\n * rendering the library controls honors it. Follows the redactor's\n * last-wins semantics: `redactAllow`/`redactWith` clear it.\n */\n #messageMask?: RedactMask;\n\n /**\n * Creates a new BaseError instance with automatic name inference.\n *\n * @param message – Human-readable explanation (name will be inferred from constructor)\n * @param cause – Optional underlying error or extra context\n * @param options – Optional runtime name settings\n */\n // The /*#__PURE__*/ pragma lets tree-shakers know the constructor is side-effect free\n public /*#__PURE__*/ constructor(\n message: string,\n cause?: unknown,\n options: BaseErrorOptions = {},\n ) {\n // Always call super with just message for TypeScript compatibility\n super(message);\n\n // Resolve the error's stable identity once. An explicit `name` wins;\n // otherwise fall back to the constructor name. Both `name` and `_tag`\n // derive from it so they can never diverge. Passing an explicit\n // `name` stabilizes the discriminant under class-name minification.\n const resolvedName = options.name ?? this.constructor.name;\n this.name = resolvedName as T;\n this._tag = resolvedName;\n\n // Handle cause with native support when available, fallback otherwise\n if (cause !== undefined) {\n this.#setCause(cause);\n }\n\n // Preserve prototype chain for `instanceof` checks after transpilation.\n // Guarded: under native class semantics the prototype is already correct,\n // and an unconditional setPrototypeOf would deopt every construction (V8\n // hidden-class transition) for nothing.\n if (Object.getPrototypeOf(this) !== new.target.prototype) {\n Object.setPrototypeOf(this, new.target.prototype);\n }\n\n // Cross-runtime best-effort stack collection, deferred: capturing is\n // cheap, symbolizing/filtering is not, so both happen on first read.\n this.#installLazyStack();\n }\n\n /**\n * Redacts the given keys (deep, at any depth) from the **log** output\n * (`toLogObject`/`toJSON`). Sticky on the instance, so it also applies when a\n * logger auto-serializes the error via `JSON.stringify`.\n *\n * ⚠️ Scope: redaction rewrites the **log object**, not every string render.\n * When `keys` includes `\"message\"`, {@link toString} masks the technical\n * message too; everything else (`err.stack`, whose header carries the raw\n * message, and Node's `console.log(err)` inspection, which prints the stack)\n * stays unredacted. When redaction matters, log errors only through a\n * structured serializer that hits `toJSON`, never via string interpolation.\n *\n * @param keys - Property names to mask wherever they appear in the log object.\n * @param options - `mask` defaults to `\"[REDACTED]\"`.\n */\n public redact(keys: string[], options?: { mask?: RedactMask }): this {\n const mask = options?.mask ?? \"[REDACTED]\";\n const denied = new Set(keys);\n this.#messageMask = denied.has(\"message\") ? mask : undefined;\n this.#redactor = (log) =>\n BaseError.#redactWalk(\n log,\n (key, value) =>\n denied.has(key)\n ? BaseError.#applyMask(mask, value, key)\n : BaseError.#RECURSE,\n \"root\",\n ) as Record<string, unknown>;\n return this;\n }\n\n /**\n * Allow-list redaction (higher assurance than {@link redact}): within any\n * **data** region (a `details` subtree at any depth, the data-bearing\n * fields of a `cause`, and any subclass-added top-level field): masks every\n * leaf whose key is **not** listed, so a newly-added field leaks nothing by\n * default. Container objects are recursed so nested allowed leaves survive.\n * Only the library's own structural envelope is kept: the fixed top-level\n * fields ({@link BaseError.#ROOT_ENVELOPE_KEYS}: `name`/`message`/`stack`/\n * `code`/`category`/`retryable`/`timestamp`/`timestampIso`/`cause`/`details`)\n * and a cause's top-level structural envelope keys (`name`/`message`/`stack`/\n * `code`/`category`/`retryable`). Any other top-level field (e.g. one a\n * subclass adds via `buildLogObject`) is data: its leaves are masked unless\n * allow-listed. A cause's foreign fields (anything outside that fixed set,\n * and everything nested beneath them) are treated as data, so a plain object\n * that merely *looks* like a structured error cannot smuggle siblings (or\n * envelope-named keys buried in foreign subtrees) through. Sticky; last\n * redactor wins.\n *\n * ⚠️ Scope: rewrites the **log object** only. The technical `message` is part\n * of the kept structural envelope, so `toString`, `err.stack`, and Node's\n * `console.log(err)` inspection carry it unchanged; see {@link redact} for\n * masking the message itself.\n *\n * @param keys - Data leaf keys allowed to survive in the log.\n * @param options - `mask` defaults to `\"[REDACTED]\"`.\n */\n public redactAllow(keys: string[], options?: { mask?: RedactMask }): this {\n const mask = options?.mask ?? \"[REDACTED]\";\n const allow = new Set(keys);\n this.#messageMask = undefined;\n this.#redactor = (log) =>\n BaseError.#redactWalk(\n log,\n (key, value, region: RedactRegion) => {\n // Always recurse into containers so nested allowed leaves survive.\n if (Array.isArray(value) || BaseError.#isWalkable(value)) {\n return BaseError.#RECURSE;\n }\n // Leaf. Keep iff the region permits this key.\n const kept =\n (region === \"root\" && BaseError.#ROOT_ENVELOPE_KEYS.has(key)) ||\n allow.has(key) ||\n (region === \"cause\" && BaseError.#ENVELOPE_KEYS.has(key));\n return kept ? value : BaseError.#applyMask(mask, value, key);\n },\n \"root\",\n ) as Record<string, unknown>;\n return this;\n }\n\n /** Sentinel returned by a redaction decision to mean \"descend / keep as-is\". */\n static readonly #RECURSE: unique symbol = Symbol(\"redact.recurse\");\n\n /**\n * Largest **data** nesting depth the redaction walker descends into. Bounded\n * so a pathologically deep `details` tree degrades to a marker at the deep end\n * (shallow fields survive) instead of overflowing the stack and tripping the\n * fail-closed path, which would drop the whole log. The cap is host-stack\n * independent, so behavior is identical on small isolate stacks (edge\n * runtimes). The cause chain is its own separately bounded spine ({@link\n * BaseError.#MAX_CAUSE_DEPTH}) and is **exempt** from this budget, so a deep\n * chain cannot marker-truncate a shallow `details` on a deep cause.\n */\n static readonly #MAX_REDACT_DEPTH = 100;\n\n /**\n * Total-node budget for one redaction walk. The depth cap bounds depth, not\n * width: shared (DAG) references are cloned once per reference, so a small\n * `details` value can legally expand exponentially. Past the budget any\n * further container degrades to a marker (like the depth cap), keeping the\n * logging path fail-safe instead of walking a blowup to completion.\n */\n static readonly #MAX_REDACT_NODES = 100_000;\n\n /**\n * Structural fields of an error envelope that survive an allow-list at the\n * **top level of a cause**. Everything else under a cause (foreign siblings\n * and anything nested beneath them, plus `details`) is treated as data, so a\n * plain object mimicking the structured shape cannot smuggle sensitive\n * siblings (or envelope-named keys buried in foreign subtrees) past\n * `redactAllow`. Private: it must not become a process-wide redaction toggle.\n */\n static readonly #ENVELOPE_KEYS: ReadonlySet<string> = new Set([\n \"name\",\n \"message\",\n \"stack\",\n \"code\",\n \"category\",\n \"retryable\",\n ]);\n\n /**\n * The library's own **top-level** structural fields, the only root keys an\n * allow-list keeps (and, for containers, the only root keys that stay in the\n * root/cause regions). Everything else at the top level (a field a subclass\n * adds via `buildLogObject`) is data, so a subclass-added field leaks nothing\n * through `redactAllow` by default. Private for the same reason as\n * {@link BaseError.#ENVELOPE_KEYS}.\n */\n static readonly #ROOT_ENVELOPE_KEYS: ReadonlySet<string> = new Set([\n ...BaseError.#ENVELOPE_KEYS,\n \"timestamp\",\n \"timestampIso\",\n \"cause\",\n \"details\",\n ]);\n\n /*#__PURE__*/ static #applyMask(\n mask: RedactMask,\n value: unknown,\n key: string,\n ): unknown {\n return typeof mask === \"function\" ? mask(value, key) : mask;\n }\n\n /**\n * Whether the walker should descend into `value`. A **plain object**\n * (`{}` / `Object.create(null)`) is always a container, even when empty, so\n * it is preserved as `{}` rather than masked or collapsed. Any **other**\n * object is a container only if it carries its own enumerable keys: a class\n * instance with own fields *is* descended (so a deny/allow list reaches keys\n * nested inside it), while `Date`/`Map`/`Set`/`RegExp` (no own enumerable\n * keys) stay preserved leaves rather than collapsing to `{}`.\n */\n /*#__PURE__*/ static #isWalkable(\n value: unknown,\n ): value is Record<string, unknown> {\n if (value === null || typeof value !== \"object\" || Array.isArray(value)) {\n return false;\n }\n const proto = Object.getPrototypeOf(value) as unknown;\n if (proto === O