From 95e1a73ce8e50b724c6015921141b9255c76c550 Mon Sep 17 00:00:00 2001 From: fengmk2 Date: Tue, 21 Jan 2025 23:12:00 +0800 Subject: [PATCH] fix: avoid non-stringify error --- src/lifecycle.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lifecycle.ts b/src/lifecycle.ts index 5da7adaf..9c118b27 100644 --- a/src/lifecycle.ts +++ b/src/lifecycle.ts @@ -1,6 +1,6 @@ import assert from 'node:assert'; import { EventEmitter } from 'node:events'; -import { debuglog } from 'node:util'; +import { debuglog, format } from 'node:util'; import { isClass } from 'is-type-of'; import { Ready as ReadyObject } from 'get-ready'; import type { ReadyFunctionArg } from 'get-ready'; @@ -387,6 +387,10 @@ export class Lifecycle extends EventEmitter { done(); this.timing.end(timingKey); }, (err: Error) => { + // avoid non-stringify error: TypeError: Cannot convert object to primitive value + if (!(err instanceof Error)) { + err = new Error(format('%s', err)); + } done(err); this.timing.end(timingKey); });