MCPcopy Create free account
hub / github.com/Effect-TS/effect / mockImpl

Function mockImpl

packages/effect/src/Layer.ts:2314–2330  ·  view source on GitHub ↗
(service: Context.Key<I, S>, implementation: PartialEffectful<S>)

Source from the content-addressed store, hash-verified

2312} as any
2313
2314const mockImpl = <I, S extends object>(service: Context.Key<I, S>, implementation: PartialEffectful<S>): Layer<I> =>
2315 succeed(service)(
2316 new Proxy({ ...implementation as object } as S, {
2317 get(target, prop, _receiver) {
2318 if (prop in target) {
2319 return target[prop as keyof S]
2320 }
2321 const prevLimit = getStackTraceLimit()
2322 setStackTraceLimit(2)
2323 const error = new Error(`${service.key}: Unimplemented method "${prop.toString()}"`)
2324 setStackTraceLimit(prevLimit)
2325 error.name = "UnimplementedError"
2326 return makeUnimplemented(error)
2327 },
2328 has: constTrue
2329 })
2330 )
2331
2332const makeUnimplemented = (error: globalThis.Error) => {
2333 const dead = Object.assign(internalEffect.die(error), {

Callers 1

Layer.tsFile · 0.85

Calls 1

succeedFunction · 0.70

Tested by

no test coverage detected