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

Function parseRateLimiterState

packages/effect/src/unstable/http/HttpClient.ts:1281–1294  ·  view source on GitHub ↗
(
  state: RateLimiterState,
  clock: Clock,
  headers: Headers.Headers,
  tokens: number,
  headerNames: RateLimiterHeaderNames
)

Source from the content-addressed store, hash-verified

1279}
1280
1281const parseRateLimiterState = (
1282 state: RateLimiterState,
1283 clock: Clock,
1284 headers: Headers.Headers,
1285 tokens: number,
1286 headerNames: RateLimiterHeaderNames
1287): RateLimiterState => {
1288 const limit = parseRateLimitLimit(state, headers, tokens, headerNames) ?? state.limit
1289 const window = parseRateLimitWindow(clock, headers, headerNames) ?? state.window
1290 if (limit === state.limit && Duration.equals(window, state.window)) {
1291 return state
1292 }
1293 return { limit, window, initial: false }
1294}
1295
1296const parseRateLimitLimit = (
1297 state: RateLimiterState,

Callers 1

HttpClient.tsFile · 0.85

Calls 3

parseRateLimitLimitFunction · 0.85
parseRateLimitWindowFunction · 0.85
equalsMethod · 0.80

Tested by

no test coverage detected