(level: LogLevel | "none")
| 1159 | } |
| 1160 | |
| 1161 | function withMinimumLogLevel(level: LogLevel | "none") { |
| 1162 | return defineHandlerFor<Logging>().with((self) => { |
| 1163 | const disabledLevels = new Set( |
| 1164 | level === "none" ? logLevels : logLevels.slice(0, logLevels.indexOf(level)), |
| 1165 | ); |
| 1166 | return self.handle( |
| 1167 | (name): name is Logging["name"] => |
| 1168 | typeof name === "string" && |
| 1169 | name.startsWith("logging.") && |
| 1170 | disabledLevels.has(name.slice("logging.".length) as LogLevel), |
| 1171 | function* ({ effect, resume }): Generator<Logging, void> { |
| 1172 | effect.defaultHandler = ({ resume }) => resume(); |
| 1173 | yield effect; |
| 1174 | resume(); |
| 1175 | }, |
| 1176 | ); |
| 1177 | }); |
| 1178 | } |
| 1179 | |
| 1180 | const program1 = effected(function* () { |
| 1181 | yield* logDebug("Debug message"); |
no test coverage detected