effect 4.0.0-beta.86 → 4.0.0-beta.88

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"RpcServer.js","names":["Cause","Context","Deferred","Effect","Exit","Fiber","constant","constTrue","constVoid","identity","reportCauseUnsafe","Latch","Layer","Option","Predicate","Pull","Queue","Schedule","Schema","Scope","Semaphore","Stdio","Stream","Tracer","Headers","HttpRouter","HttpServerRequest","HttpServerResponse","SocketServer","Transferable","WorkerRunner","Rpc","constEof","constPong","RequestId","ResponseDefectEncoded","RpcSchema","RpcSerialization","withRun","makeNoSerialization","fnUntraced","group","options","enableTracing","disableTracing","enableSpanPropagation","disableSpanPropagation","supportsAck","disableClientAcks","spanPrefix","concurrency","disableFatalDefects","services","context","scope","get","trackFiber","runIn","forkUnsafe","concurrencySemaphore","undefined","make","clients","Map","isShutdown","shutdownLatch","makeUnsafe","addFinalizer","withFiber","parent","client","values","ended","fibers","size","runForkWith","endClient","fiber","interruptUnsafe","id","void","await","disconnect","clientId","delete","write","message","catchDefect","requestFiber","interrupt","latches","serverClient","ServerClient","set","_tag","handleRequest","latch","requestId","open","ClientAbort","annotation","onFromServer","exit","sendDefect","defect","andThen","request","has","rpc","requests","tag","entry","mapUnsafe","key","die","ensuring","isStream","isStreamSchema","successSchema","metadata","headers","payload","result","handler","isWrapper","isFork","fork","isUninterruptible","uninterruptible","streamOrEffect","value","streamEffect","withMiddleware","middlewares","applyMiddleware","responded","deferred","effect","onExit","isDeferred","hasDies","cause","hasInterrupts","squash","close","closeUnsafe","getCurrent","parentSpan","ParentSpan","withSpan","captureStackTrace","attributes","spanAttributes","spanId","externalSpan","traceId","sampled","links","span","withPermit","forEach","runFork","addObserver","stream","isEffect","pipe","flatMap","queue","whileLoop","while","body","takeAll","step","catchDone","scoped","runForEachArray","suspend","shouldEnd","service","middleware","getUnsafe","disconnects","end","run","send","supportsSpanPropagation","supportsTransferables","Protocol","server","response","schemas","handleEncode","encodeDefect","collector","provideContext","encodeChunk","String","encodeExit","provide","forkChild","take","schemasCache","WeakMap","getSchemas","streamSchemas","getStreamSchemas","decode","decodeUnknownEffect","toCodecJson","payloadSchema","encodeUnknownEffect","Array","isSome","success","Any","exitSchema","defectSchema","onSuccess","provideService","Collector","a","clearUnsafe","catchCause","map","e","issue","toString","sendRequestDefect","interruptors","encodedDefect","annotateLogs","logDebug","module","method","hasProperty","matchEffect","onFailure","error","makeCollectorUnsafe","fromInput","tapCause","logFatal","layer","effectDiscard","forkScoped","layerHttp","protocol","layerProtocolHttp","layerProtocolWebsocket","Service","makeProtocolSocketServer","gen","onSocket","makeSocketProtocol","layerProtocolSocketServer","makeProtocolWithHttpEffectWebsocket","httpEffect","socket","orDie","upgrade","Object","entries","empty","makeProtocolWebsocket","router","add","path","makeProtocolWithHttpEffect","serialization","includesFraming","isBinary","contentType","includes","writeRequest","clientIds","Set","encoder","TextEncoder","requestHeaders","data","arrayBuffer","buf","Uint8Array","text","parser","requestIds","offer","encode","encoded","addFinalizerExit","offerUnsafe","state","discard","decoded","i","length","push","concat","responses","collect","initialChunk","uint8Array","mergeUint8Arrays","fromArray","fromQueue","writeRequest_","succeed","sync","initialMessage","succeedNone","arrays","reduce","acc","arr","offset","makeProtocolHttp","toHttpEffect","toHttpEffectWebsocket","makeProtocolStdio","stdio","stdin","runForEach","sandbox","tapError","logError","retry","spaced","forkDetach","startImmediately","stdout","_clientId","responseEncoded","layerProtocolStdio","makeProtocolWorkerRunner","runner","WorkerRunnerPlatform","backing","start","currentDispatcher","scheduleTask","tap","asSome","layerProtocolWorkerRunner","writeRaw","writer","runRaw","catchReason","_"],"sources":["../../../src/unstable/rpc/RpcServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"RpcServer.js","names":["Cause","Context","Deferred","Effect","Exit","Fiber","constant","constTrue","constVoid","identity","reportCauseUnsafe","Latch","Layer","Option","Predicate","Pull","Queue","Schedule","Schema","Scope","Semaphore","Stdio","Stream","Tracer","Headers","HttpRouter","HttpServerRequest","HttpServerResponse","SocketServer","Transferable","WorkerRunner","Rpc","constEof","constPong","RequestId","ResponseDefectEncoded","RpcSchema","RpcSerialization","withRun","makeNoSerialization","fnUntraced","group","options","enableTracing","disableTracing","enableSpanPropagation","disableSpanPropagation","supportsAck","disableClientAcks","spanPrefix","concurrency","disableFatalDefects","services","context","scope","get","trackFiber","runIn","forkUnsafe","concurrencySemaphore","undefined","make","clients","Map","isShutdown","shutdownLatch","makeUnsafe","addFinalizer","withFiber","parent","client","values","ended","fibers","size","runForkWith","endClient","fiber","interruptUnsafe","id","void","await","disconnect","clientId","delete","write","message","catchDefect","requestFiber","interrupt","latches","serverClient","ServerClient","set","_tag","handleRequest","latch","requestId","open","ClientAbort","annotation","onFromServer","exit","sendDefect","defect","andThen","request","has","rpc","requests","tag","entry","mapUnsafe","key","die","ensuring","isStream","isStreamSchema","successSchema","metadata","headers","payload","result","handler","isWrapper","isFork","fork","isUninterruptible","uninterruptible","streamOrEffect","value","streamEffect","withMiddleware","middlewares","applyMiddleware","responded","deferred","effect","onExit","isDeferred","hasDies","cause","hasInterrupts","squash","close","closeUnsafe","getCurrent","parentSpan","ParentSpan","withSpan","captureStackTrace","attributes","spanAttributes","spanId","externalSpan","traceId","sampled","links","span","withPermit","forEach","runFork","addObserver","stream","isEffect","pipe","flatMap","queue","whileLoop","while","body","takeAll","step","catchDone","scoped","runForEachArray","suspend","shouldEnd","service","middleware","getUnsafe","disconnects","end","run","send","supportsSpanPropagation","supportsTransferables","Protocol","server","response","schemas","handleEncode","encodeDefect","collector","provideContext","encodeChunk","String","encodeExit","provide","forkChild","take","schemasCache","WeakMap","getSchemas","streamSchemas","getStreamSchemas","decode","decodeUnknownEffect","toCodecJson","payloadSchema","encodeUnknownEffect","Array","isSome","success","Any","exitSchema","defectSchema","onSuccess","provideService","Collector","a","clearUnsafe","catchCause","map","e","issue","toString","sendRequestDefect","interruptors","encodedDefect","annotateLogs","logDebug","module","method","hasProperty","succeed","matchEffect","onFailure","error","makeCollectorUnsafe","fromInput","tapCause","logFatal","layer","effectDiscard","forkScoped","layerHttp","protocol","layerProtocolHttp","layerProtocolWebsocket","Service","makeProtocolSocketServer","gen","onSocket","makeSocketProtocol","layerProtocolSocketServer","makeProtocolWithHttpEffectWebsocket","httpEffect","socket","orDie","upgrade","Object","entries","empty","makeProtocolWebsocket","router","add","path","makeProtocolWithHttpEffect","serialization","includesFraming","isBinary","contentType","includes","writeRequest","clientIds","Set","encoder","TextEncoder","requestHeaders","data","arrayBuffer","buf","Uint8Array","text","parser","requestIds","offer","encode","encoded","addFinalizerExit","offerUnsafe","state","discard","decoded","i","length","push","concat","responses","collect","initialChunk","uint8Array","mergeUint8Arrays","fromArray","fromQueue","writeRequest_","sync","initialMessage","succeedNone","arrays","reduce","acc","arr","offset","makeProtocolHttp","toHttpEffect","toHttpEffectWebsocket","makeProtocolStdio","stdio","stdin","runForEach","sandbox","tapError","logError","retry","spaced","forkDetach","startImmediately","stdout","_clientId","responseEncoded","layerProtocolStdio","makeProtocolWorkerRunner","runner","WorkerRunnerPlatform","backing","start","currentDispatcher","scheduleTask","tap","asSome","layerProtocolWorkerRunner","writeRaw","writer","runRaw","catchReason","_"],"sources":["../../../src/unstable/rpc/RpcServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "effect",
3
3
  "type": "module",
4
- "version": "4.0.0-beta.86",
4
+ "version": "4.0.0-beta.88",
5
5
  "license": "MIT",
6
6
  "description": "The missing standard library for TypeScript, for writing production-grade software.",
7
7
  "homepage": "https://effect.website",
package/src/Latch.ts CHANGED
@@ -113,6 +113,15 @@ export interface Latch {
113
113
  * Use to gate an effect behind the latch signal.
114
114
  */
115
115
  whenOpen<A, E, R>(self: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>
116
+
117
+ /**
118
+ * Checks whether the latch is currently open or closed.
119
+ *
120
+ * **When to use**
121
+ *
122
+ * Use to check the state of the latch without suspending or changing its state.
123
+ */
124
+ isOpen(this: Latch): boolean
116
125
  }
117
126
 
118
127
  /**
@@ -415,3 +424,15 @@ export const whenOpen: {
415
424
  const [self, effect] = args
416
425
  return self.whenOpen(effect)
417
426
  }) as any
427
+
428
+ /**
429
+ * Checks whether the latch is currently open or closed.
430
+ *
431
+ * **When to use**
432
+ *
433
+ * Use to check the state of the latch without suspending or changing its state.
434
+ *
435
+ * @category getters
436
+ * @since 4.0.0
437
+ */
438
+ export const isOpen = (self: Latch): boolean => self.isOpen()
package/src/Schema.ts CHANGED
@@ -2441,6 +2441,7 @@ export interface toType<S extends Constraint> extends
2441
2441
  readonly "~type.make.in": S["~type.make.in"]
2442
2442
  readonly "~type.make": S["~type.make"]
2443
2443
  readonly "Iso": S["Iso"]
2444
+ readonly schema: S
2444
2445
  }
2445
2446
 
2446
2447
  interface toTypeLambda extends Lambda {
@@ -2482,6 +2483,7 @@ export interface toEncoded<S extends Constraint> extends
2482
2483
  readonly "~type.make.in": S["Encoded"]
2483
2484
  readonly "~type.make": S["Encoded"]
2484
2485
  readonly "Iso": S["Encoded"]
2486
+ readonly schema: S
2485
2487
  }
2486
2488
 
2487
2489
  interface toEncodedLambda extends Lambda {
@@ -13736,6 +13738,7 @@ export interface toCodecJson<S extends Constraint> extends
13736
13738
  readonly "~type.make.in": S["~type.make.in"]
13737
13739
  readonly "~type.make": S["~type.make"]
13738
13740
  readonly "Iso": S["Iso"]
13741
+ readonly schema: S
13739
13742
  }
13740
13743
 
13741
13744
  /**
@@ -13746,7 +13749,7 @@ export interface toCodecJson<S extends Constraint> extends
13746
13749
  * @since 4.0.0
13747
13750
  */
13748
13751
  export function toCodecJson<S extends Constraint>(schema: S): toCodecJson<S> {
13749
- return make(toCodecJsonTop(schema.ast))
13752
+ return make(toCodecJsonTop(schema.ast), { schema })
13750
13753
  }
13751
13754
 
13752
13755
  const toCodecJsonTop = SchemaAST.applyToSelfOrLastLinkEncoding((ast) => {
@@ -13879,6 +13882,7 @@ export interface toCodecStringTree<S extends Constraint> extends
13879
13882
  readonly "~type.make.in": S["~type.make.in"]
13880
13883
  readonly "~type.make": S["~type.make"]
13881
13884
  readonly "Iso": S["Iso"]
13885
+ readonly schema: S
13882
13886
  }
13883
13887
 
13884
13888
  /**
@@ -13894,7 +13898,7 @@ export interface toCodecStringTree<S extends Constraint> extends
13894
13898
  * @since 4.0.0
13895
13899
  */
13896
13900
  export function toCodecStringTree<S extends Constraint>(schema: S): toCodecStringTree<S> {
13897
- return make(serializerStringTree(schema.ast))
13901
+ return make(serializerStringTree(schema.ast), { schema })
13898
13902
  }
13899
13903
 
13900
13904
  /**
@@ -1312,8 +1312,8 @@ export function optionFromOptional<T>(): Transformation<Option.Option<T>, T | un
1312
1312
  *
1313
1313
  * **Details**
1314
1314
  *
1315
- * Decoding calls `new URL(s)` and fails with `InvalidValue` if the string is
1316
- * not a valid URL. Encoding returns `url.href`.
1315
+ * Decoding checks `URL.canParse(s)` and fails with `InvalidValue` if the string
1316
+ * is not a valid URL. Encoding returns `url.href`.
1317
1317
  *
1318
1318
  * **Example** (Converting a string to a URL)
1319
1319
  *
@@ -1333,10 +1333,9 @@ export function optionFromOptional<T>(): Transformation<Option.Option<T>, T | un
1333
1333
  */
1334
1334
  export const urlFromString: Transformation<URL, string> = transformOrFail<URL, string>({
1335
1335
  decode: (s) =>
1336
- Effect.try({
1337
- try: () => new URL(s),
1338
- catch: () => new SchemaIssue.InvalidValue(Option.some(s), { message: `Invalid URL string: ${s}` })
1339
- }),
1336
+ URL.canParse(s)
1337
+ ? Effect.succeed(new URL(s))
1338
+ : Effect.fail(new SchemaIssue.InvalidValue(Option.some(s), { message: `Invalid URL string: ${s}` })),
1340
1339
  encode: (url) => Effect.succeed(url.href)
1341
1340
  })
1342
1341
 
@@ -5343,10 +5343,10 @@ const succeedFalse = succeed(false)
5343
5343
  class Latch implements _Latch.Latch {
5344
5344
  waiters: Array<(_: Effect.Effect<void>) => void> = []
5345
5345
  scheduled = false
5346
- private isOpen: boolean
5346
+ private _isOpen: boolean
5347
5347
 
5348
5348
  constructor(isOpen: boolean) {
5349
- this.isOpen = isOpen
5349
+ this._isOpen = isOpen
5350
5350
  }
5351
5351
 
5352
5352
  private scheduleUnsafe(fiber: Fiber.Fiber<unknown, unknown>) {
@@ -5367,19 +5367,19 @@ class Latch implements _Latch.Latch {
5367
5367
  }
5368
5368
 
5369
5369
  open = withFiber<boolean>((fiber) => {
5370
- if (this.isOpen) return succeedFalse
5371
- this.isOpen = true
5370
+ if (this._isOpen) return succeedFalse
5371
+ this._isOpen = true
5372
5372
  return this.scheduleUnsafe(fiber)
5373
5373
  })
5374
- release = withFiber<boolean>((fiber) => this.isOpen ? succeedFalse : this.scheduleUnsafe(fiber))
5374
+ release = withFiber<boolean>((fiber) => this._isOpen ? succeedFalse : this.scheduleUnsafe(fiber))
5375
5375
  openUnsafe() {
5376
- if (this.isOpen) return false
5377
- this.isOpen = true
5376
+ if (this._isOpen) return false
5377
+ this._isOpen = true
5378
5378
  this.flushWaiters()
5379
5379
  return true
5380
5380
  }
5381
5381
  await = callback<void>((resume) => {
5382
- if (this.isOpen) {
5382
+ if (this._isOpen) {
5383
5383
  return resume(void_)
5384
5384
  }
5385
5385
  this.waiters.push(resume)
@@ -5391,12 +5391,15 @@ class Latch implements _Latch.Latch {
5391
5391
  })
5392
5392
  })
5393
5393
  closeUnsafe() {
5394
- if (!this.isOpen) return false
5395
- this.isOpen = false
5394
+ if (!this._isOpen) return false
5395
+ this._isOpen = false
5396
5396
  return true
5397
5397
  }
5398
5398
  close = sync(() => this.closeUnsafe())
5399
5399
  whenOpen = <A, E, R>(self: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> => flatMap(this.await, () => self)
5400
+ isOpen() {
5401
+ return this._isOpen
5402
+ }
5400
5403
  }
5401
5404
 
5402
5405
  /** @internal */
@@ -1299,6 +1299,10 @@ export declare namespace WithRateLimiter {
1299
1299
  * Disable automatic limits updates from response headers.
1300
1300
  */
1301
1301
  readonly disableResponseInspection?: boolean | undefined
1302
+ /**
1303
+ * Disable adaptive learning from `Retry-After` responses.
1304
+ */
1305
+ readonly disableAdaptiveLearning?: boolean | undefined
1302
1306
  }
1303
1307
  }
1304
1308
 
@@ -1362,6 +1366,7 @@ export const withRateLimiter: {
1362
1366
  const resolveTokens: (request: HttpClientRequest.HttpClientRequest) => number = typeof tokensOption === "function"
1363
1367
  ? tokensOption
1364
1368
  : constant(tokensOption ?? 1)
1369
+ const adaptiveLearningEnabled = !options.disableAdaptiveLearning
1365
1370
 
1366
1371
  const getState = (key: string): RateLimiterState => {
1367
1372
  const current = states.get(key)
@@ -1392,13 +1397,75 @@ export const withRateLimiter: {
1392
1397
  const key = resolveKey(request)
1393
1398
  const tokens = Math.max(resolveTokens(request), 1)
1394
1399
  const current = getState(key)
1395
- function retry(response: HttpClientResponse.HttpClientResponse) {
1400
+ function retry(retryAfter: Duration.Duration | undefined) {
1396
1401
  if (options.disableResponseInspection) return loop(effect, request)
1397
- const retryAfter = parseRetryAfter(clock, getHeader(response.headers, "retry-after"))
1398
1402
  return retryAfter
1399
1403
  ? Effect.flatMap(Effect.sleep(retryAfter), () => loop(effect, request))
1400
1404
  : loop(effect, request)
1401
1405
  }
1406
+ const inspectResponse = (
1407
+ response: HttpClientResponse.HttpClientResponse,
1408
+ adaptive: RateLimiter.AdaptiveConsumeResult | undefined
1409
+ ) => {
1410
+ onResponse?.(clock, key, response.headers, tokens)
1411
+ if (options.disableResponseInspection || response.status !== 429) {
1412
+ return Effect.succeed</**
1413
+ * Applies request rate limiting using the `RateLimiter` service.
1414
+ *
1415
+ * **Details**
1416
+ *
1417
+ * It can update limits by inspecting common rate limit response headers and
1418
+ * automatically retries HTTP `429` responses (or `HttpClientError` values
1419
+ * wrapping a `429` response) by forcing the retry back through the limiter.
1420
+ *
1421
+ * @category rate limiting
1422
+ * @since 4.0.0
1423
+ */
1424
+ Duration.Duration | undefined>(undefined);
1425
+ }
1426
+ const retryAfter = parseRetryAfter(clock, getHeader(response.headers, "retry-after"))
1427
+ if (retryAfter === undefined) {
1428
+ return Effect.succeed</**
1429
+ * Applies request rate limiting using the `RateLimiter` service.
1430
+ *
1431
+ * **Details**
1432
+ *
1433
+ * It can update limits by inspecting common rate limit response headers and
1434
+ * automatically retries HTTP `429` responses (or `HttpClientError` values
1435
+ * wrapping a `429` response) by forcing the retry back through the limiter.
1436
+ *
1437
+ * @category rate limiting
1438
+ * @since 4.0.0
1439
+ */
1440
+ Duration.Duration | undefined>(undefined);
1441
+ }
1442
+ const delay = parseRateLimitWindow(clock, response.headers) ?? retryAfter
1443
+ if (adaptive === undefined) {
1444
+ return Effect.succeed</**
1445
+ * Applies request rate limiting using the `RateLimiter` service.
1446
+ *
1447
+ * **Details**
1448
+ *
1449
+ * It can update limits by inspecting common rate limit response headers and
1450
+ * automatically retries HTTP `429` responses (or `HttpClientError` values
1451
+ * wrapping a `429` response) by forcing the retry back through the limiter.
1452
+ *
1453
+ * @category rate limiting
1454
+ * @since 4.0.0
1455
+ */
1456
+ Duration.Duration | undefined>(delay);
1457
+ }
1458
+ return Effect.as(
1459
+ options.limiter.adaptiveFeedback({
1460
+ key,
1461
+ epoch: adaptive.epoch,
1462
+ tokens,
1463
+ status: response.status,
1464
+ retryAfter: delay
1465
+ }),
1466
+ delay
1467
+ )
1468
+ }
1402
1469
  return Effect.flatMap(
1403
1470
  options.limiter.consume({
1404
1471
  algorithm: options.algorithm,
@@ -1409,24 +1476,55 @@ export const withRateLimiter: {
1409
1476
  tokens
1410
1477
  }),
1411
1478
  ({ delay }) => {
1412
- const run = Effect.matchEffect(effect, {
1413
- onSuccess(response) {
1414
- onResponse?.(clock, key, response.headers, tokens)
1415
- if (response.status !== 429) return Effect.succeed(response)
1416
- return retry(response)
1417
- },
1418
- onFailure(error) {
1419
- if (isTooManyRequestsHttpClientError(error)) {
1420
- onResponse?.(clock, key, error.reason.response.headers, tokens)
1421
- return retry(error.reason.response)
1422
- }
1423
- return Effect.fail(error)
1479
+ const runAdaptive = (): Effect.Effect<
1480
+ HttpClientResponse.HttpClientResponse,
1481
+ E | RateLimiter.RateLimiterError,
1482
+ R
1483
+ > => {
1484
+ const runRequest = (adaptive: RateLimiter.AdaptiveConsumeResult | undefined) => {
1485
+ const request = Effect.matchEffect(effect, {
1486
+ onSuccess(response) {
1487
+ return Effect.flatMap(inspectResponse(response, adaptive), (retryAfter) => {
1488
+ if (response.status !== 429) return Effect.succeed(response)
1489
+ return retry(retryAfter)
1490
+ })
1491
+ },
1492
+ onFailure(error) {
1493
+ if (isTooManyRequestsHttpClientError(error)) {
1494
+ return Effect.flatMap(
1495
+ inspectResponse(error.reason.response, adaptive),
1496
+ (retryAfter) => retry(retryAfter)
1497
+ )
1498
+ }
1499
+ return Effect.fail(error)
1500
+ }
1501
+ })
1502
+ return adaptive === undefined || Duration.isZero(adaptive.delay)
1503
+ ? request
1504
+ : Effect.delay(request, adaptive.delay)
1424
1505
  }
1425
- })
1426
- return Duration.isZero(delay) ? run : Effect.delay(run, delay)
1506
+ if (!adaptiveLearningEnabled) {
1507
+ return runRequest(undefined)
1508
+ }
1509
+ return Effect.flatMap(
1510
+ options.limiter.adaptiveConsume({
1511
+ key,
1512
+ tokens,
1513
+ fallbackLimit: current.limit,
1514
+ fallbackWindow: current.window
1515
+ }),
1516
+ (adaptive) => {
1517
+ if (!Duration.isZero(adaptive.delay) && adaptive.phase === "cooldown") {
1518
+ return Effect.flatMap(Effect.sleep(adaptive.delay), runAdaptive)
1519
+ }
1520
+ return runRequest(adaptive)
1521
+ }
1522
+ )
1523
+ }
1524
+ return Duration.isZero(delay) ? runAdaptive() : Effect.flatMap(Effect.sleep(delay), runAdaptive)
1427
1525
  }
1428
1526
  )
1429
- })
1527
+ });
1430
1528
  })
1431
1529
 
1432
1530
  interface RateLimiterState {
@@ -1476,13 +1574,6 @@ const parseRateLimitWindow = (
1476
1574
  clock: Clock,
1477
1575
  headers: Headers.Headers
1478
1576
  ): Duration.Duration | undefined => {
1479
- const retryAfter = parseRetryAfter(
1480
- clock,
1481
- getHeader(headers, "retry-after")
1482
- )
1483
- if (retryAfter !== undefined) {
1484
- return retryAfter
1485
- }
1486
1577
  const resetAfter = parseResetAfter(getHeader(headers, "ratelimit-reset-after", "x-ratelimit-reset-after"))
1487
1578
  if (resetAfter !== undefined) {
1488
1579
  return resetAfter