import { Config, Effect, Schema } from "effect"
const Environment = Schema.Struct({
INPUT_NAME: Schema.NonEmptyString,
})
type Environment = typeof Environment.Type
export class HandlerEnv extends Effect.Service<HandlerEnv>()('HandlerEnv', {
effect: Effect.gen(function* () {
return yield* Schema.decode(Environment)({
INPUT_NAME: yield* Config.nonEmptyString('INPUT_NAME'),
})
}),
}) {
static parse(env: Environment) {
return Schema.decode(Environment)(env).pipe(Effect.runSync)
}
}
import { Config, Effect, Schema } from "effect"
const Environment = Schema.Struct({
INPUT_NAME: Schema.NonEmptyString,
})
type Environment = typeof Environment.Type
export class HandlerEnv extends Effect.Service<HandlerEnv>()('HandlerEnv', {
effect: Effect.gen(function* () {
return yield* Schema.decode(Environment)({
INPUT_NAME: yield* Config.nonEmptyString('INPUT_NAME'),
})
}),
}) {
static parse(env: Environment) {
return Schema.decode(Environment)(env).pipe(Effect.runSync)
}
}