// token-cache.live.ts
// Effect.Effect<Cache.Cache<string, TokenCacheError, AuthTokens>, never, EnvService | StorageService>
export const makeService = Effect.map(makeCache, (cache) => cache);
// token-cache.ts
export class TokenCache extends Effect.Tag("TokenCache")<
TokenCache,
Effect.Effect.Success<typeof makeService>
>() {
static readonly Live = Layer.effect(this, makeService);
static readonly Layer = Layer.provide(
this.Live,
Layer.mergeAll(StorageService.Layer, EnvService.Layer),
);
}
// token-cache.live.ts
// Effect.Effect<Cache.Cache<string, TokenCacheError, AuthTokens>, never, EnvService | StorageService>
export const makeService = Effect.map(makeCache, (cache) => cache);
// token-cache.ts
export class TokenCache extends Effect.Tag("TokenCache")<
TokenCache,
Effect.Effect.Success<typeof makeService>
>() {
static readonly Live = Layer.effect(this, makeService);
static readonly Layer = Layer.provide(
this.Live,
Layer.mergeAll(StorageService.Layer, EnvService.Layer),
);
}