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()))
Was this page helpful?