UNPKG

durable-execution

Version:

A durable task engine for running tasks durably and resiliently

56 lines (54 loc) 1.35 kB
// src/serializer.ts import superjson from "superjson"; import { getErrorMessage } from "@gpahal/std/errors"; // src/errors.ts import { CustomError } from "ts-custom-error"; var DurableExecutionError = class extends CustomError { /** * Whether the error is retryable. */ isRetryable; /** * @param message - The error message. * @param isRetryable - Whether the error is retryable. */ constructor(message, isRetryable = true) { super(message); this.isRetryable = isRetryable; } getErrorType() { return "generic"; } }; // src/serializer.ts function createSuperjsonSerializer() { return { serialize: superjson.stringify, deserialize: superjson.parse }; } var WrappedSerializer = class { serializer; constructor(serializer) { this.serializer = serializer; } serialize(value) { try { return this.serializer.serialize(value); } catch (error) { throw new DurableExecutionError(`Error serializing value: ${getErrorMessage(error)}`, false); } } deserialize(value) { try { return this.serializer.deserialize(value); } catch (error) { throw new DurableExecutionError(`Error deserializing value: ${getErrorMessage(error)}`, false); } } }; export { WrappedSerializer, createSuperjsonSerializer }; //# sourceMappingURL=serializer.js.map