The fetching computation.
interface User {
name: string;
}
const message = (): Reader<User, string> =>
Cat.cat(ask<User>()).feed(map(({ name }) => `Hello, ${name}!`)).value;
const box = (): Reader<User, string> =>
Cat.cat(message()).feed(
map((mes) => `<div class="message-box">${mes}</div>`),
).value;
expect(
run(box())({ name: "John" }),
).toStrictEqual(
'<div class="message-box">Hello, John!</div>',
);
expect(
run(box())({ name: "Alice" }),
).toStrictEqual(
'<div class="message-box">Hello, Alice!</div>',
);
Fetches the record of the environment.