Download packages/stats/core/src/config.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 896 Bytes
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/stats/core/src/config.ts
- Command line
-
hf download hf://SaylorTwift/opencode/packages/stats/core/src/config.ts
-
curl -L -o config.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/stats/core/src/config.ts
896 Bytes
| import { Config, ConfigProvider, Effect, Layer, Schema } from "effect" | |
| import * as Context from "effect/Context" | |
| import { Resource } from "sst/resource" | |
| export class AppConfigValue extends Schema.Class<AppConfigValue>("AppConfigValue")({ | |
| stage: Schema.NonEmptyString, | |
| publicUrl: Schema.NonEmptyString, | |
| }) {} | |
| const decodeAppConfigValue = Schema.decodeUnknownSync(AppConfigValue) | |
| const config = Config.all({ | |
| stage: Config.succeed(Resource.App.stage), | |
| publicUrl: Config.string("PUBLIC_URL").pipe(Config.withDefault("http://localhost:3000")), | |
| }).pipe(Config.map(decodeAppConfigValue)) | |
| export class AppConfig extends Context.Service<AppConfig, AppConfigValue>()("@opencode/stats/AppConfig") { | |
| static readonly config = config | |
| static readonly layer: Layer.Layer<AppConfig, never, never> = Layer.effect( | |
| AppConfig, | |
| config.parse(ConfigProvider.fromEnv()).pipe(Effect.orDie), | |
| ) | |
| } | |