Commit ee5326f

Anton Golub <antongolub@antongolub.com>
2025-06-19 15:24:05
refactor: conceal `ProcessOutput._dto` (#1234)
1 parent 49d705d
Changed files (2)
build/core.cjs
@@ -857,9 +857,10 @@ var _ProcessOutput = class _ProcessOutput extends Error {
   // prettier-ignore
   constructor(code, signal = null, stdout = "", stderr = "", stdall = "", message = "", duration = 0, error = null, from = "", store = { stdout: [stdout], stderr: [stderr], stdall: [stdall] }) {
     super(message);
-    const dto = this._dto = code !== null && typeof code === "object" ? code : { code, signal, duration, error, from, store };
+    const dto = code !== null && typeof code === "object" ? code : { code, signal, duration, error, from, store };
     Object.defineProperties(this, {
-      cause: { value: dto.error, enumerable: false, writable: true, configurable: true },
+      _dto: { value: dto, enumerable: false },
+      cause: { value: dto.error, enumerable: false },
       stdout: { get: (0, import_util.once)(() => (0, import_util.bufArrJoin)(dto.store.stdout)) },
       stderr: { get: (0, import_util.once)(() => (0, import_util.bufArrJoin)(dto.store.stderr)) },
       stdall: { get: (0, import_util.once)(() => (0, import_util.bufArrJoin)(dto.store.stdall)) },
src/core.ts
@@ -703,7 +703,7 @@ type ProcessDto = {
 }
 
 export class ProcessOutput extends Error {
-  private readonly _dto: ProcessDto
+  private readonly _dto!: ProcessDto
   cause!: Error | null
   message!: string
   stdout!: string
@@ -733,12 +733,13 @@ export class ProcessOutput extends Error {
     store: TSpawnStore = { stdout: [stdout], stderr: [stderr], stdall: [stdall], }
   ) {
     super(message)
-    const dto = this._dto = code !== null && typeof code === 'object'
+    const dto = code !== null && typeof code === 'object'
       ? code
       : { code, signal, duration, error, from, store }
 
     Object.defineProperties(this, {
-      cause: { value: dto.error, enumerable: false, writable: true, configurable: true },
+      _dto: { value: dto, enumerable: false },
+      cause: { value: dto.error, enumerable: false },
       stdout: { get: once(() => bufArrJoin(dto.store.stdout)) },
       stderr: { get: once(() => bufArrJoin(dto.store.stderr)) },
       stdall: { get: once(() => bufArrJoin(dto.store.stdall)) },