import { Config, Context, Effect, Layer, LayerMap } from "effect/index";
class Sample extends Context.Tag("Sample")<Sample, number>() {}
const Layer1 = Layer.succeed(Sample, 42);
const Layer2 = Layer.effect(
Sample,
Effect.gen(function* () {
const num = yield* Config.number("THENUMBER");
return num;
})
);
class SampleMap extends LayerMap.Service<SampleMap>()("SampleMap", {
provides: Sample,
layers: {
layer1: Layer1,
layer2: Layer2
}
}) {}
const x = Effect.gen(function* () {
const map = yield* SampleMap;
// Error channel has a ConfigError, this is weird.
const val = Effect.gen(function* () {
const sample = yield* Sample;
}).pipe(Effect.provide(map.get("layer1")));
});
import { Config, Context, Effect, Layer, LayerMap } from "effect/index";
class Sample extends Context.Tag("Sample")<Sample, number>() {}
const Layer1 = Layer.succeed(Sample, 42);
const Layer2 = Layer.effect(
Sample,
Effect.gen(function* () {
const num = yield* Config.number("THENUMBER");
return num;
})
);
class SampleMap extends LayerMap.Service<SampleMap>()("SampleMap", {
provides: Sample,
layers: {
layer1: Layer1,
layer2: Layer2
}
}) {}
const x = Effect.gen(function* () {
const map = yield* SampleMap;
// Error channel has a ConfigError, this is weird.
const val = Effect.gen(function* () {
const sample = yield* Sample;
}).pipe(Effect.provide(map.get("layer1")));
});