@book-effect/hardcover
v0.2.3
Published
[Effect][effect]-based client for the [Hardcover API][hardcover-api].
Readme
@book-effect/hardcover
Effect-based client for the Hardcover API.
Hardcover provides a documented, key-based GraphQL API that exposes rich book metadata including title, authors, published year, tags, and ratings.
Installation
pnpm add @book-effect/hardcoverUsage
import { HardcoverClient, HardcoverConfig } from "@book-effect/hardcover";
import { FetchHttpClient } from "@effect/platform";
import { Effect } from "effect";
const program = Effect.gen(function* () {
const client = yield* HardcoverClient;
const book = yield* client.getByIsbn("9780134757599");
const results = yield* client.search("Domain Driven Design");
return { book, results };
});
Effect.runPromise(
program.pipe(
Effect.provide(HardcoverClient.Live),
Effect.provide(HardcoverConfig.FromEnv), // reads HARDCOVER_API_KEY
Effect.provide(FetchHttpClient.layer),
),
);Building
nx build hardcover