Skip to content

Commit 13c420d

Browse files
committed
fix build
1 parent 4bc5ef6 commit 13c420d

File tree

2 files changed

+26
-26
lines changed

2 files changed

+26
-26
lines changed

README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
# ratelimit-header-parser
22

3-
Parse RateLimit headers of various forms, including the combined form from
4-
[draft 7](https://datatracker.ietf.org/doc/html/draft-ietf-httpapi-ratelimit-headers-07) of the
5-
[IETF Rate Limit Headers standard](https://github.com/ietf-wg-httpapi/ratelimit-headers),
3+
Parse RateLimit headers of various forms, including the combined form from
4+
[draft 7](https://datatracker.ietf.org/doc/html/draft-ietf-httpapi-ratelimit-headers-07)
5+
of the
6+
[IETF Rate Limit Headers standard](https://github.com/ietf-wg-httpapi/ratelimit-headers),
67
into a normalized format.
78

8-
99
### Todo
1010

11-
* [x] transpiling
12-
* [x] linting
13-
* [ ] ci
14-
* [ ] documentation
15-
* [ ] publish
16-
* [ ] better test coverage
17-
* [ ] test in [Deno](https://deno.com/)
18-
* [ ] test browsers
19-
* [ ] test in [React Native](https://reactnative.dev/)
11+
- [x] transpiling
12+
- [x] linting
13+
- [ ] ci
14+
- [ ] documentation
15+
- [ ] publish
16+
- [ ] better test coverage
17+
- [ ] test in [Deno](https://deno.com/)
18+
- [ ] test browsers
19+
- [ ] test in [React Native](https://reactnative.dev/)

source/ratelimit-header-parser.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export function parseRateLimit(
3030
return parseHeadersObject(input.getHeaders(), options)
3131
}
3232

33-
return parseHeadersObject(input, options)
33+
return parseHeadersObject(input as HeadersObject, options)
3434
}
3535

3636
function parseHeadersObject(
@@ -57,15 +57,15 @@ function parseHeadersObject(
5757
return
5858
}
5959

60-
const limit = number_(getHeader(input, `${prefix}limit`))
60+
const limit = toInt(getHeader(input, `${prefix}limit`))
6161
// Used - https://github.com/reddit-archive/reddit/wiki/API#rules
6262
// used - https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#rate-limit-headers
6363
// observed - https://docs.gitlab.com/ee/administration/settings/user_and_ip_rate_limits.html#response-headers
6464
// note that || is valid here because used should always be at least 1, and || handles NaN correctly, whereas ?? doesn't
6565
const used =
66-
number_(getHeader(input, `${prefix}used`)) ||
67-
number_(getHeader(input, `${prefix}observed`))
68-
const remaining = number_(getHeader(input, `${prefix}remaining`))
66+
toInt(getHeader(input, `${prefix}used`)) ||
67+
toInt(getHeader(input, `${prefix}observed`))
68+
const remaining = toInt(getHeader(input, `${prefix}remaining`))
6969

7070
let reset: Date | undefined
7171
const resetRaw = getHeader(input, `${prefix}reset`)
@@ -115,9 +115,9 @@ const reLimit = /limit\s*=\s*(\d+)/i
115115
const reRemaining = /remaining\s*=\s*(\d+)/i
116116
const reReset = /reset\s*=\s*(\d+)/i
117117
export function parseCombinedRateLimitHeader(input: string): RateLimit {
118-
const limit = number_(reLimit.exec(input)?.[1])
119-
const remaining = number_(reRemaining.exec(input)?.[1])
120-
const resetSeconds = number_(reReset.exec(input)?.[1])
118+
const limit = toInt(reLimit.exec(input)?.[1])
119+
const remaining = toInt(reRemaining.exec(input)?.[1])
120+
const resetSeconds = toInt(reReset.exec(input)?.[1])
121121
const reset = secondsToDate(resetSeconds)
122122
return {
123123
limit,
@@ -133,7 +133,7 @@ function secondsToDate(seconds: number): Date {
133133
return d
134134
}
135135

136-
function number_(input: string | number | undefined): number {
136+
function toInt(input: string | number | undefined): number {
137137
if (typeof input === 'number') return input
138138
return Number.parseInt(input ?? '', 10)
139139
}
@@ -156,17 +156,17 @@ function parseResetDate(resetRaw: string): Date {
156156
}
157157

158158
function parseResetUnix(resetRaw: string | number): Date {
159-
const resetNumber = number_(resetRaw)
159+
const resetNumber = toInt(resetRaw)
160160
return new Date(resetNumber * 1000)
161161
}
162162

163163
function parseResetSeconds(resetRaw: string | number): Date {
164-
const resetNumber = number_(resetRaw)
164+
const resetNumber = toInt(resetRaw)
165165
return secondsToDate(resetNumber)
166166
}
167167

168168
function parseResetMilliseconds(resetRaw: string | number): Date {
169-
const resetNumber = number_(resetRaw)
169+
const resetNumber = toInt(resetRaw)
170170
return secondsToDate(resetNumber / 1000)
171171
}
172172

@@ -177,7 +177,7 @@ function parseResetAuto(resetRaw: string): Date {
177177
return parseResetDate(resetRaw)
178178
}
179179

180-
const resetNumber = number_(resetRaw)
180+
const resetNumber = toInt(resetRaw)
181181
// Looks like a unix timestamp
182182
if (resetNumber && resetNumber > 1_000_000_000) {
183183
// Sometime in 2001

0 commit comments

Comments
 (0)