config.ts 813 B

1234567891011121314151617181920212223
  1. import { Config } from "@/config/config"
  2. import { emptyConsoleState } from "@kirincode-ai/core/v1/config/console-state"
  3. import { Effect, Layer } from "effect"
  4. export function make(overrides: Partial<Config.Interface> = {}) {
  5. return Config.Service.of({
  6. get: () => Effect.succeed({}),
  7. getGlobal: () => Effect.succeed({}),
  8. getConsoleState: () => Effect.succeed(emptyConsoleState),
  9. update: () => Effect.void,
  10. updateGlobal: (config) => Effect.succeed({ info: config, changed: false }),
  11. invalidate: () => Effect.void,
  12. directories: () => Effect.succeed([]),
  13. waitForDependencies: () => Effect.void,
  14. ...overrides,
  15. })
  16. }
  17. export function layer(overrides?: Partial<Config.Interface>) {
  18. return Layer.succeed(Config.Service, make(overrides))
  19. }
  20. export * as TestConfig from "./config"