MCPcopy
hub / github.com/Effect-TS/effect / mockImpl

Function mockImpl

packages/effect/src/internal/layer.ts:688–705  ·  view source on GitHub ↗
(tag: Context.Tag<I, S>, service: Layer.PartialEffectful<S>)

Source from the content-addressed store, hash-verified

686} as any
687
688const mockImpl = <I, S extends object>(tag: Context.Tag<I, S>, service: Layer.PartialEffectful<S>): Layer.Layer<I> =>
689 succeed(
690 tag,
691 new Proxy({ ...service as object } as S, {
692 get(target, prop, _receiver) {
693 if (prop in target) {
694 return target[prop as keyof S]
695 }
696 const prevLimit = Error.stackTraceLimit
697 Error.stackTraceLimit = 2
698 const error = new Error(`${tag.key}: Unimplemented method "${prop.toString()}"`)
699 Error.stackTraceLimit = prevLimit
700 error.name = "UnimplementedError"
701 return makeUnimplemented(error)
702 },
703 has: constTrue
704 })
705 )
706
707const makeUnimplemented = (error: Error) => {
708 const dead = core.die(error)

Callers 1

layer.tsFile · 0.85

Calls 1

succeedFunction · 0.70

Tested by

no test coverage detected