@gitbeaker/requester-utils
Advanced tools
Comparing version 40.0.3 to 40.1.0
@@ -88,3 +88,5 @@ type RateLimiterFn = () => Promise<number>; | ||
} | ||
type BaseResourceOptions<C> = BaseRequestOptionsWithOAuthToken<C> | BaseRequestOptionsWithAccessToken<C> | BaseRequestOptionsWithJobToken<C>; | ||
interface BaseRequestOptionsWithoutToken<C> extends RootResourceOptions<C> { | ||
} | ||
type BaseResourceOptions<C> = BaseRequestOptionsWithoutToken<C> | BaseRequestOptionsWithOAuthToken<C> | BaseRequestOptionsWithAccessToken<C> | BaseRequestOptionsWithJobToken<C>; | ||
declare class BaseResource<C extends boolean = false> { | ||
@@ -126,2 +128,2 @@ readonly url: string; | ||
export { type BaseRequestOptionsWithAccessToken, type BaseRequestOptionsWithJobToken, type BaseRequestOptionsWithOAuthToken, BaseResource, type BaseResourceOptions, type Constructable, type DefaultRequestOptions, type FormattedResponse, GitbeakerRequestError, GitbeakerRetryError, GitbeakerTimeoutError, type GitlabToken, type OptionsHandlerFn, type RateLimitOptions, type RateLimiterFn, type RateLimiters, type RequestHandlerFn, type RequestOptions, type RequesterType, type ResourceOptions, type ResponseBodyTypes, type RootResourceOptions, createRateLimiters, createRequesterFn, defaultOptionsHandler, formatQuery, generateRateLimiterFn, getMatchingRateLimiter, presetResourceArguments }; | ||
export { type BaseRequestOptionsWithAccessToken, type BaseRequestOptionsWithJobToken, type BaseRequestOptionsWithOAuthToken, type BaseRequestOptionsWithoutToken, BaseResource, type BaseResourceOptions, type Constructable, type DefaultRequestOptions, type FormattedResponse, GitbeakerRequestError, GitbeakerRetryError, GitbeakerTimeoutError, type GitlabToken, type OptionsHandlerFn, type RateLimitOptions, type RateLimiterFn, type RateLimiters, type RequestHandlerFn, type RequestOptions, type RequesterType, type ResourceOptions, type ResponseBodyTypes, type RootResourceOptions, createRateLimiters, createRequesterFn, defaultOptionsHandler, formatQuery, generateRateLimiterFn, getMatchingRateLimiter, presetResourceArguments }; |
@@ -40,4 +40,3 @@ 'use strict'; | ||
defaultOptions.headers = { ...preconfiguredHeaders }; | ||
if (sudo) | ||
defaultOptions.headers.sudo = `${sudo}`; | ||
if (sudo) defaultOptions.headers.sudo = `${sudo}`; | ||
if (body) { | ||
@@ -51,7 +50,8 @@ if (body instanceof FormData) { | ||
} | ||
const [authHeaderKey, authHeaderFn] = Object.entries(authHeaders)[0]; | ||
defaultOptions.headers[authHeaderKey] = await authHeaderFn(); | ||
if (Object.keys(authHeaders).length > 0) { | ||
const [authHeaderKey, authHeaderFn] = Object.entries(authHeaders)[0]; | ||
defaultOptions.headers[authHeaderKey] = await authHeaderFn(); | ||
} | ||
const q = formatQuery(searchParams); | ||
if (q) | ||
defaultOptions.searchParams = q; | ||
if (q) defaultOptions.searchParams = q; | ||
return Promise.resolve(defaultOptions); | ||
@@ -62,4 +62,3 @@ } | ||
Object.entries(rateLimitOptions).forEach(([key, config]) => { | ||
if (typeof config === "number") | ||
rateLimiters[key] = generateRateLimiterFn(config, 60); | ||
if (typeof config === "number") rateLimiters[key] = generateRateLimiterFn(config, 60); | ||
else | ||
@@ -110,4 +109,3 @@ rateLimiters[key] = { | ||
const rateLimitConfig = match && rateLimiters[match]; | ||
if (typeof rateLimitConfig === "function") | ||
return rateLimitConfig; | ||
if (typeof rateLimitConfig === "function") return rateLimitConfig; | ||
if (rateLimitConfig && rateLimitConfig?.method?.toUpperCase() === method.toUpperCase()) { | ||
@@ -179,4 +177,3 @@ return rateLimitConfig.limit; | ||
}) { | ||
if (!requesterFn) | ||
throw new ReferenceError("requesterFn must be passed"); | ||
if (!requesterFn) throw new ReferenceError("requesterFn must be passed"); | ||
this.url = [host, "api", "v4", prefixUrl].join("/"); | ||
@@ -197,5 +194,2 @@ this.headers = {}; | ||
this.authHeaders["private-token"] = async () => getDynamicToken(tokens.token); | ||
else { | ||
throw new ReferenceError("A token, oauthToken or jobToken must be passed"); | ||
} | ||
if (profileToken) { | ||
@@ -205,4 +199,3 @@ this.headers["X-Profile-Token"] = profileToken; | ||
} | ||
if (sudo) | ||
this.headers.Sudo = `${sudo}`; | ||
if (sudo) this.headers.Sudo = `${sudo}`; | ||
this.requester = requesterFn({ ...this, rateLimits }); | ||
@@ -209,0 +202,0 @@ } |
{ | ||
"name": "@gitbeaker/requester-utils", | ||
"version": "40.0.3", | ||
"version": "40.1.0", | ||
"description": "Utility functions for requester implementatons used in @gitbeaker", | ||
"license": "MIT", | ||
"engines": { | ||
"node": ">=18.0.0" | ||
"node": ">=18.20.0" | ||
}, | ||
@@ -51,12 +51,12 @@ "repository": { | ||
"picomatch-browser": "^2.2.6", | ||
"qs": "^6.11.2", | ||
"rate-limiter-flexible": "^4.0.0", | ||
"qs": "^6.12.2", | ||
"rate-limiter-flexible": "^4.0.1", | ||
"xcase": "^2.0.1" | ||
}, | ||
"devDependencies": { | ||
"@types/node": "^20.10.5", | ||
"tsup": "^8.0.1", | ||
"typescript": "^5.3.3" | ||
"@types/node": "^20.14.10", | ||
"tsup": "^8.1.0", | ||
"typescript": "^5.5.3" | ||
}, | ||
"gitHead": "2f6335a2279bb9a4191e8732ec0889b8e5b2d603" | ||
"gitHead": "312d4dc3eb7938b30ddf2b314297b3a535d5e7bc" | ||
} |
@@ -217,2 +217,3 @@ <div align="center"> | ||
<td align="center" valign="top" width="0.33%"><a href="http://www.koenbrouwer.com/"><img src="https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/3260168?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d" alt="Koen Brouwer"/></td> | ||
<td align="center" valign="top" width="0.33%"><a href="https://scrumplex.net/"><img src="https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/11587657?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d" alt="Sefa Eyeoglu"/></td> | ||
</tr> | ||
@@ -219,0 +220,0 @@ </p> |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
59992
227
559
Updatedqs@^6.12.2
Updatedrate-limiter-flexible@^4.0.1