© 2026 Hedgehog Software, LLC
Effect.runPromiseExit(packages)
cached
const fetchPackages = Effect.fn("gen")(function* () { console.log("Fetching packages, this should only ever disply once") const packagesJson = yield* Effect.tryPromise(() => fetch(QUOTE_PACKAGES_URL).then((res) => res.json() as unknown), ) return yield* Schema.validate(CanvasPackageRecords)(packagesJson) }) export const packages = Effect.flatten(Effect.cached(fetchPackages()))