durable-execution
Version:
A durable task engine for running tasks durably and resiliently
56 lines (54 loc) • 1.35 kB
JavaScript
// 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