@typed/io
Version:
Runtime IO type system
15 lines • 607 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateHttpRequest = void 0;
const either_1 = require("@typed/either");
const http_1 = require("@typed/http");
const lambda_1 = require("@typed/lambda");
exports.validateHttpRequest = lambda_1.curry(checkHttpRequest);
function* checkHttpRequest(type, request) {
const response = http_1.toJson(yield* request);
if (either_1.isLeft(response)) {
return response;
}
return either_1.Right.of(type.encode(yield* type.decode(either_1.fromRight(response))));
}
//# sourceMappingURL=checkHttpRequest.js.map