Files
klz-cables.com/.pnpm-store/v10/files/6d/d71110815e26aaf18842f49f9a9edf2a8c0389ea54f223bbb7eab33fd729bfcc334a58f900a0af2006bf6d03ab2fb061114a298591bf06df2b212b4933087e
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

50 lines
1.3 KiB
Plaintext

/*
MIT License http://www.opensource.org/licenses/mit-license.php
*/
"use strict";
/** @typedef {import("./ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
/** @typedef {import("./ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
/** @typedef {Error & { cause?: unknown }} ErrorWithCause */
class ErrorObjectSerializer {
/**
* @param {ErrorConstructor | EvalErrorConstructor | RangeErrorConstructor | ReferenceErrorConstructor | SyntaxErrorConstructor | TypeErrorConstructor} Type error type
*/
constructor(Type) {
this.Type = Type;
}
/**
* @param {Error | EvalError | RangeError | ReferenceError | SyntaxError | TypeError} obj error
* @param {ObjectSerializerContext} context context
*/
serialize(obj, context) {
context.write(obj.message);
context.write(obj.stack);
context.write(
/** @type {ErrorWithCause} */
(obj).cause
);
}
/**
* @param {ObjectDeserializerContext} context context
* @returns {Error | EvalError | RangeError | ReferenceError | SyntaxError | TypeError} error
*/
deserialize(context) {
const err = new this.Type();
err.message = context.read();
err.stack = context.read();
/** @type {ErrorWithCause} */
(err).cause = context.read();
return err;
}
}
module.exports = ErrorObjectSerializer;