(state: Ref.Ref<MockState>)
| 88 | ) |
| 89 | |
| 90 | const buildLayer = (state: Ref.Ref<MockState>) => |
| 91 | // Layer.fresh is required because the ModelsDev implementation is a module-level Layer constant, |
| 92 | // and Effect.provide uses a process-global MemoMap by default — without fresh, |
| 93 | // every test would reuse the cachedInvalidateWithTTL state from the first run. |
| 94 | Layer.fresh( |
| 95 | AppNodeBuilder.build(ModelsDev.node, [ |
| 96 | [LayerNodePlatform.httpClient, Layer.succeed(HttpClient.HttpClient, makeMockClient(state))], |
| 97 | ]), |
| 98 | ) |
| 99 | |
| 100 | const writeCacheText = (text: string, mtimeMs?: number) => |
| 101 | Effect.promise(async () => { |
no test coverage detected