@gitbeaker/requester-utils 38.9.0 → 38.11.0

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.
package/README.md CHANGED
@@ -224,6 +224,7 @@ import { RequesterUtils, BaseResource } from '@gitbeaker/requester-utils';
224
224
  <td align="center" valign="top" width="3.84%"><a href="http://spencersalisbury.com/"><img src="https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/8053224?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d" alt="Spencer Salisbury"/></td>
225
225
  <td align="center" valign="top" width="3.84%"><a href="https://simonecorsi.dev/"><img src="https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/5617452?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d" alt="Simone Corsi"/></td>
226
226
  <td align="center" valign="top" width="3.84%"><a href="https://github.com/Bambii556"><img src="https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/34485027?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d" alt="Bambii"/></td>
227
+ <td align="center" valign="top" width="3.84%"><a href="https://github.com/ravewill"><img src="https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/128541928?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d" alt="Will"/></td>
227
228
  </tr>
228
229
  </p>
229
230
 
package/dist/index.d.ts CHANGED
@@ -46,20 +46,27 @@ type RequestHandlerFn<T extends ResponseBodyTypes = ResponseBodyTypes> = (endpoi
46
46
  declare function createRequesterFn(optionsHandler: OptionsHandlerFn, requestHandler: RequestHandlerFn): (serviceOptions: DefaultResourceOptions) => RequesterType;
47
47
  declare function presetResourceArguments<T extends Record<string, Constructable>>(resources: T, customConfig?: Record<string, unknown>): T;
48
48
 
49
- interface BaseResourceOptions<C> {
50
- oauthToken?: string;
51
- token?: string;
52
- jobToken?: string;
49
+ interface RootResourceOptions<C> {
50
+ requesterFn?: (resourceOptions: DefaultResourceOptions) => RequesterType;
53
51
  host?: string;
54
52
  prefixUrl?: string;
55
53
  rejectUnauthorized?: boolean;
56
54
  camelize?: C;
57
- requesterFn?: (resourceOptions: DefaultResourceOptions) => RequesterType;
58
55
  queryTimeout?: number | null;
59
- profileToken?: string;
60
56
  sudo?: string | number;
57
+ profileToken?: string;
61
58
  profileMode?: 'execution' | 'memory';
62
59
  }
60
+ interface BaseRequestOptionsWithOAuthToken<C> extends RootResourceOptions<C> {
61
+ oauthToken: string;
62
+ }
63
+ interface BaseRequestOptionsWithAccessToken<C> extends RootResourceOptions<C> {
64
+ token: string;
65
+ }
66
+ interface BaseRequestOptionsWithJobToken<C> extends RootResourceOptions<C> {
67
+ jobToken: string;
68
+ }
69
+ type BaseResourceOptions<C> = BaseRequestOptionsWithOAuthToken<C> | BaseRequestOptionsWithAccessToken<C> | BaseRequestOptionsWithJobToken<C>;
63
70
  declare class BaseResource<C extends boolean = false> {
64
71
  readonly url: string;
65
72
  readonly requester: RequesterType;
@@ -69,7 +76,7 @@ declare class BaseResource<C extends boolean = false> {
69
76
  };
70
77
  readonly camelize: C | undefined;
71
78
  readonly rejectUnauthorized: boolean;
72
- constructor({ token, jobToken, oauthToken, sudo, profileToken, requesterFn, camelize, profileMode, host, prefixUrl, rejectUnauthorized, queryTimeout, }?: BaseResourceOptions<C>);
79
+ constructor({ sudo, profileToken, camelize, requesterFn, profileMode, host, prefixUrl, rejectUnauthorized, queryTimeout, ...tokens }: BaseResourceOptions<C>);
73
80
  }
74
81
 
75
- export { BaseResource, BaseResourceOptions, Constructable, DefaultRequestOptions, DefaultResourceOptions, FormattedResponse, OptionsHandlerFn, RequestHandlerFn, RequestOptions, RequesterType, ResponseBodyTypes, createRequesterFn, defaultOptionsHandler, formatQuery, presetResourceArguments };
82
+ export { BaseRequestOptionsWithAccessToken, BaseRequestOptionsWithJobToken, BaseRequestOptionsWithOAuthToken, BaseResource, BaseResourceOptions, Constructable, DefaultRequestOptions, DefaultResourceOptions, FormattedResponse, OptionsHandlerFn, RequestHandlerFn, RequestOptions, RequesterType, ResponseBodyTypes, RootResourceOptions, createRequesterFn, defaultOptionsHandler, formatQuery, presetResourceArguments };
package/dist/index.js CHANGED
@@ -81,19 +81,17 @@ var BaseResource = class {
81
81
  camelize;
82
82
  rejectUnauthorized;
83
83
  constructor({
84
- token,
85
- jobToken,
86
- oauthToken,
87
84
  sudo,
88
85
  profileToken,
89
- requesterFn,
90
86
  camelize,
87
+ requesterFn,
91
88
  profileMode = "execution",
92
89
  host = "https://gitlab.com",
93
90
  prefixUrl = "",
94
91
  rejectUnauthorized = true,
95
- queryTimeout = 3e5
96
- } = {}) {
92
+ queryTimeout = 3e5,
93
+ ...tokens
94
+ }) {
97
95
  if (!requesterFn)
98
96
  throw new ReferenceError("requesterFn must be passed");
99
97
  this.url = [host, "api", "v4", prefixUrl].join("/");
@@ -101,12 +99,15 @@ var BaseResource = class {
101
99
  this.rejectUnauthorized = rejectUnauthorized;
102
100
  this.camelize = camelize;
103
101
  this.queryTimeout = queryTimeout;
104
- if (oauthToken)
105
- this.headers.authorization = `Bearer ${oauthToken}`;
106
- else if (jobToken)
107
- this.headers["job-token"] = jobToken;
108
- else if (token)
109
- this.headers["private-token"] = token;
102
+ if ("oauthToken" in tokens)
103
+ this.headers.authorization = `Bearer ${tokens.oauthToken}`;
104
+ else if ("jobToken" in tokens)
105
+ this.headers["job-token"] = tokens.jobToken;
106
+ else if ("token" in tokens)
107
+ this.headers["private-token"] = tokens.token;
108
+ else {
109
+ throw new ReferenceError("A token, oauthToken or jobToken must be passed");
110
+ }
110
111
  if (profileToken) {
111
112
  this.headers["X-Profile-Token"] = profileToken;
112
113
  this.headers["X-Profile-Mode"] = profileMode;
package/dist/index.mjs CHANGED
@@ -79,19 +79,17 @@ var BaseResource = class {
79
79
  camelize;
80
80
  rejectUnauthorized;
81
81
  constructor({
82
- token,
83
- jobToken,
84
- oauthToken,
85
82
  sudo,
86
83
  profileToken,
87
- requesterFn,
88
84
  camelize,
85
+ requesterFn,
89
86
  profileMode = "execution",
90
87
  host = "https://gitlab.com",
91
88
  prefixUrl = "",
92
89
  rejectUnauthorized = true,
93
- queryTimeout = 3e5
94
- } = {}) {
90
+ queryTimeout = 3e5,
91
+ ...tokens
92
+ }) {
95
93
  if (!requesterFn)
96
94
  throw new ReferenceError("requesterFn must be passed");
97
95
  this.url = [host, "api", "v4", prefixUrl].join("/");
@@ -99,12 +97,15 @@ var BaseResource = class {
99
97
  this.rejectUnauthorized = rejectUnauthorized;
100
98
  this.camelize = camelize;
101
99
  this.queryTimeout = queryTimeout;
102
- if (oauthToken)
103
- this.headers.authorization = `Bearer ${oauthToken}`;
104
- else if (jobToken)
105
- this.headers["job-token"] = jobToken;
106
- else if (token)
107
- this.headers["private-token"] = token;
100
+ if ("oauthToken" in tokens)
101
+ this.headers.authorization = `Bearer ${tokens.oauthToken}`;
102
+ else if ("jobToken" in tokens)
103
+ this.headers["job-token"] = tokens.jobToken;
104
+ else if ("token" in tokens)
105
+ this.headers["private-token"] = tokens.token;
106
+ else {
107
+ throw new ReferenceError("A token, oauthToken or jobToken must be passed");
108
+ }
108
109
  if (profileToken) {
109
110
  this.headers["X-Profile-Token"] = profileToken;
110
111
  this.headers["X-Profile-Mode"] = profileMode;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitbeaker/requester-utils",
3
- "version": "38.9.0",
3
+ "version": "38.11.0",
4
4
  "description": "Utility functions for requester implementatons used in @gitbeaker",
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -59,5 +59,5 @@
59
59
  "tsup": "^6.7.0",
60
60
  "typescript": "^5.0.4"
61
61
  },
62
- "gitHead": "853426564867bc77e42f175aed7ea9903be1bfdc"
62
+ "gitHead": "a56ec27c45369470b16a25c9a18c8d52703dab0a"
63
63
  }