the-moby-effect
Version:
Moby/Docker API client built using effect-ts
32 lines • 1.1 kB
JavaScript
import * as Effect from "effect/Effect";
import * as Function from "effect/Function";
import * as Match from "effect/Match";
import * as Predicate from "effect/Predicate";
import * as Stream from "effect/Stream";
/** @internal */
export const mapError = stream => Stream.mapEffect(stream, message => {
if (Predicate.isNotUndefined(message.error)) {
const cause = Function.pipe(Match.value(message.errorDetail), Match.when({
code: Match.undefined,
message: Match.undefined
}, () => "Errored with an unknown reason with an unknown code"), Match.when({
message: Match.string
}, ({
message
}) => `Errored with ${message} and an unknown code`), Match.when({
code: Match.number
}, ({
code
}) => `Errored with an unknown reason and code ${code}`), Match.when({
code: Match.number,
message: Match.string
}, ({
code,
message
}) => `Errored with ${message} and code ${code}`), Match.orElseAbsurd);
return Effect.fail(cause);
} else {
return Effect.succeed(message);
}
});
//# sourceMappingURL=streams.js.map