Example of Fetching and Validating Packages Using Effect and TypeScript
Something like this maybe?
const fetchPackages = Effect.fn("gen")(function* () {
const f = yield* Effect.tryPromise(() =>
fetch(QUOTE_PACKAGES_URL).then((res) => res.json() as unknown),
)
return yield* Schema.validate(CanvasPackageRecords)(f)
})
const packages = Effect.flatten(Effect.cached(fetchPackages()))