export const parseBody = <A>(
context: APIContext,
schema: Schema.Schema<A, any>,
) =>
Effect.tryPromise({
try: (_) => context.request.json(),
catch: InvalidBody.make,
}).pipe(Schema.decode(schema), Effect.mapError(InvalidBody.make))
// And the expected usage, as simple as this
const comment = yield* parseBody(context, Schema.String);
export const parseBody = <A>(
context: APIContext,
schema: Schema.Schema<A, any>,
) =>
Effect.tryPromise({
try: (_) => context.request.json(),
catch: InvalidBody.make,
}).pipe(Schema.decode(schema), Effect.mapError(InvalidBody.make))
// And the expected usage, as simple as this
const comment = yield* parseBody(context, Schema.String);