@gitbeaker/requester-utils 38.7.0 → 38.8.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/dist/index.d.ts +14 -13
- package/dist/index.js +15 -8
- package/dist/index.mjs +15 -8
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -4,13 +4,6 @@ interface FormattedResponse<T extends ResponseBodyTypes = ResponseBodyTypes> {
|
|
|
4
4
|
headers: Record<string, string>;
|
|
5
5
|
status: number;
|
|
6
6
|
}
|
|
7
|
-
interface RequesterType {
|
|
8
|
-
get<T extends ResponseBodyTypes>(endpoint: string, options?: Record<string, unknown>): Promise<FormattedResponse<T>>;
|
|
9
|
-
post<T extends ResponseBodyTypes>(endpoint: string, options?: Record<string, unknown>): Promise<FormattedResponse<T>>;
|
|
10
|
-
put<T extends ResponseBodyTypes>(endpoint: string, options?: Record<string, unknown>): Promise<FormattedResponse<T>>;
|
|
11
|
-
patch<T extends ResponseBodyTypes>(endpoint: string, options?: Record<string, unknown>): Promise<FormattedResponse<T>>;
|
|
12
|
-
delete<T extends ResponseBodyTypes>(endpoint: string, options?: Record<string, unknown>): Promise<FormattedResponse<T>>;
|
|
13
|
-
}
|
|
14
7
|
interface Constructable<T = any> {
|
|
15
8
|
new (...args: any[]): T;
|
|
16
9
|
}
|
|
@@ -18,16 +11,16 @@ type DefaultResourceOptions = {
|
|
|
18
11
|
headers: {
|
|
19
12
|
[header: string]: string;
|
|
20
13
|
};
|
|
21
|
-
requestTimeout: number;
|
|
22
14
|
url: string;
|
|
23
15
|
rejectUnauthorized: boolean;
|
|
24
16
|
};
|
|
25
17
|
type DefaultRequestOptions = {
|
|
26
18
|
body?: FormData | Record<string, unknown>;
|
|
27
19
|
searchParams?: Record<string, unknown>;
|
|
28
|
-
sudo?: string;
|
|
20
|
+
sudo?: string | number;
|
|
29
21
|
method?: string;
|
|
30
22
|
asStream?: boolean;
|
|
23
|
+
signal?: AbortSignal;
|
|
31
24
|
};
|
|
32
25
|
type RequestOptions = {
|
|
33
26
|
headers: Record<string, string>;
|
|
@@ -37,10 +30,18 @@ type RequestOptions = {
|
|
|
37
30
|
prefixUrl: string;
|
|
38
31
|
body?: string | FormData;
|
|
39
32
|
asStream?: boolean;
|
|
33
|
+
signal?: AbortSignal;
|
|
40
34
|
};
|
|
35
|
+
interface RequesterType {
|
|
36
|
+
get<T extends ResponseBodyTypes>(endpoint: string, options?: DefaultRequestOptions): Promise<FormattedResponse<T>>;
|
|
37
|
+
post<T extends ResponseBodyTypes>(endpoint: string, options?: DefaultRequestOptions): Promise<FormattedResponse<T>>;
|
|
38
|
+
put<T extends ResponseBodyTypes>(endpoint: string, options?: DefaultRequestOptions): Promise<FormattedResponse<T>>;
|
|
39
|
+
patch<T extends ResponseBodyTypes>(endpoint: string, options?: DefaultRequestOptions): Promise<FormattedResponse<T>>;
|
|
40
|
+
delete<T extends ResponseBodyTypes>(endpoint: string, options?: DefaultRequestOptions): Promise<FormattedResponse<T>>;
|
|
41
|
+
}
|
|
41
42
|
declare function formatQuery(params?: Record<string, unknown>): string;
|
|
42
43
|
type OptionsHandlerFn = (serviceOptions: DefaultResourceOptions, requestOptions: DefaultRequestOptions) => Promise<RequestOptions>;
|
|
43
|
-
declare function defaultOptionsHandler(resourceOptions: DefaultResourceOptions, { body, searchParams, sudo, asStream, method }?: DefaultRequestOptions): Promise<RequestOptions>;
|
|
44
|
+
declare function defaultOptionsHandler(resourceOptions: DefaultResourceOptions, { body, searchParams, sudo, signal, asStream, method, }?: DefaultRequestOptions): Promise<RequestOptions>;
|
|
44
45
|
type RequestHandlerFn<T extends ResponseBodyTypes = ResponseBodyTypes> = (endpoint: string, options?: Record<string, unknown>) => Promise<FormattedResponse<T>>;
|
|
45
46
|
declare function createRequesterFn(optionsHandler: OptionsHandlerFn, requestHandler: RequestHandlerFn): (serviceOptions: DefaultResourceOptions) => RequesterType;
|
|
46
47
|
declare function presetResourceArguments<T extends Record<string, Constructable>>(resources: T, customConfig?: Record<string, unknown>): T;
|
|
@@ -54,7 +55,7 @@ interface BaseResourceOptions<C> {
|
|
|
54
55
|
rejectUnauthorized?: boolean;
|
|
55
56
|
camelize?: C;
|
|
56
57
|
requesterFn?: (resourceOptions: DefaultResourceOptions) => RequesterType;
|
|
57
|
-
|
|
58
|
+
queryTimeout?: number | null;
|
|
58
59
|
profileToken?: string;
|
|
59
60
|
sudo?: string | number;
|
|
60
61
|
profileMode?: 'execution' | 'memory';
|
|
@@ -62,13 +63,13 @@ interface BaseResourceOptions<C> {
|
|
|
62
63
|
declare class BaseResource<C extends boolean = false> {
|
|
63
64
|
readonly url: string;
|
|
64
65
|
readonly requester: RequesterType;
|
|
65
|
-
readonly
|
|
66
|
+
readonly queryTimeout: number | null;
|
|
66
67
|
readonly headers: {
|
|
67
68
|
[header: string]: string;
|
|
68
69
|
};
|
|
69
70
|
readonly camelize: C | undefined;
|
|
70
71
|
readonly rejectUnauthorized: boolean;
|
|
71
|
-
constructor({ token, jobToken, oauthToken, sudo, profileToken, requesterFn, camelize, profileMode, host, prefixUrl, rejectUnauthorized,
|
|
72
|
+
constructor({ token, jobToken, oauthToken, sudo, profileToken, requesterFn, camelize, profileMode, host, prefixUrl, rejectUnauthorized, queryTimeout, }?: BaseResourceOptions<C>);
|
|
72
73
|
}
|
|
73
74
|
|
|
74
75
|
export { BaseResource, BaseResourceOptions, Constructable, DefaultRequestOptions, DefaultResourceOptions, FormattedResponse, OptionsHandlerFn, RequestHandlerFn, RequestOptions, RequesterType, ResponseBodyTypes, createRequesterFn, defaultOptionsHandler, formatQuery, presetResourceArguments };
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var xcase = require('xcase');
|
|
4
3
|
var qs = require('qs');
|
|
4
|
+
var xcase = require('xcase');
|
|
5
5
|
|
|
6
6
|
// src/RequesterUtils.ts
|
|
7
7
|
function formatQuery(params = {}) {
|
|
@@ -11,18 +11,25 @@ function formatQuery(params = {}) {
|
|
|
11
11
|
function isFormData(object) {
|
|
12
12
|
return typeof object === "object" && object.constructor.name === "FormData";
|
|
13
13
|
}
|
|
14
|
-
function defaultOptionsHandler(resourceOptions, {
|
|
15
|
-
|
|
14
|
+
function defaultOptionsHandler(resourceOptions, {
|
|
15
|
+
body,
|
|
16
|
+
searchParams,
|
|
17
|
+
sudo,
|
|
18
|
+
signal,
|
|
19
|
+
asStream = false,
|
|
20
|
+
method = "get"
|
|
21
|
+
} = {}) {
|
|
22
|
+
const { headers: preconfiguredHeaders, url } = resourceOptions;
|
|
16
23
|
const headers = { ...preconfiguredHeaders };
|
|
17
24
|
const defaultOptions = {
|
|
18
25
|
headers,
|
|
19
|
-
timeout: requestTimeout,
|
|
20
26
|
method,
|
|
21
27
|
asStream,
|
|
28
|
+
signal,
|
|
22
29
|
prefixUrl: url
|
|
23
30
|
};
|
|
24
31
|
if (sudo)
|
|
25
|
-
defaultOptions.headers.sudo = sudo
|
|
32
|
+
defaultOptions.headers.sudo = `${sudo}`;
|
|
26
33
|
if (body) {
|
|
27
34
|
if (isFormData(body)) {
|
|
28
35
|
defaultOptions.body = body;
|
|
@@ -69,7 +76,7 @@ function presetResourceArguments(resources, customConfig = {}) {
|
|
|
69
76
|
var BaseResource = class {
|
|
70
77
|
url;
|
|
71
78
|
requester;
|
|
72
|
-
|
|
79
|
+
queryTimeout;
|
|
73
80
|
headers;
|
|
74
81
|
camelize;
|
|
75
82
|
rejectUnauthorized;
|
|
@@ -85,7 +92,7 @@ var BaseResource = class {
|
|
|
85
92
|
host = "https://gitlab.com",
|
|
86
93
|
prefixUrl = "",
|
|
87
94
|
rejectUnauthorized = true,
|
|
88
|
-
|
|
95
|
+
queryTimeout = 3e5
|
|
89
96
|
} = {}) {
|
|
90
97
|
if (!requesterFn)
|
|
91
98
|
throw new ReferenceError("requesterFn must be passed");
|
|
@@ -93,7 +100,7 @@ var BaseResource = class {
|
|
|
93
100
|
this.headers = {};
|
|
94
101
|
this.rejectUnauthorized = rejectUnauthorized;
|
|
95
102
|
this.camelize = camelize;
|
|
96
|
-
this.
|
|
103
|
+
this.queryTimeout = queryTimeout;
|
|
97
104
|
if (oauthToken)
|
|
98
105
|
this.headers.authorization = `Bearer ${oauthToken}`;
|
|
99
106
|
else if (jobToken)
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { decamelizeKeys } from 'xcase';
|
|
2
1
|
import { stringify } from 'qs';
|
|
2
|
+
import { decamelizeKeys } from 'xcase';
|
|
3
3
|
|
|
4
4
|
// src/RequesterUtils.ts
|
|
5
5
|
function formatQuery(params = {}) {
|
|
@@ -9,18 +9,25 @@ function formatQuery(params = {}) {
|
|
|
9
9
|
function isFormData(object) {
|
|
10
10
|
return typeof object === "object" && object.constructor.name === "FormData";
|
|
11
11
|
}
|
|
12
|
-
function defaultOptionsHandler(resourceOptions, {
|
|
13
|
-
|
|
12
|
+
function defaultOptionsHandler(resourceOptions, {
|
|
13
|
+
body,
|
|
14
|
+
searchParams,
|
|
15
|
+
sudo,
|
|
16
|
+
signal,
|
|
17
|
+
asStream = false,
|
|
18
|
+
method = "get"
|
|
19
|
+
} = {}) {
|
|
20
|
+
const { headers: preconfiguredHeaders, url } = resourceOptions;
|
|
14
21
|
const headers = { ...preconfiguredHeaders };
|
|
15
22
|
const defaultOptions = {
|
|
16
23
|
headers,
|
|
17
|
-
timeout: requestTimeout,
|
|
18
24
|
method,
|
|
19
25
|
asStream,
|
|
26
|
+
signal,
|
|
20
27
|
prefixUrl: url
|
|
21
28
|
};
|
|
22
29
|
if (sudo)
|
|
23
|
-
defaultOptions.headers.sudo = sudo
|
|
30
|
+
defaultOptions.headers.sudo = `${sudo}`;
|
|
24
31
|
if (body) {
|
|
25
32
|
if (isFormData(body)) {
|
|
26
33
|
defaultOptions.body = body;
|
|
@@ -67,7 +74,7 @@ function presetResourceArguments(resources, customConfig = {}) {
|
|
|
67
74
|
var BaseResource = class {
|
|
68
75
|
url;
|
|
69
76
|
requester;
|
|
70
|
-
|
|
77
|
+
queryTimeout;
|
|
71
78
|
headers;
|
|
72
79
|
camelize;
|
|
73
80
|
rejectUnauthorized;
|
|
@@ -83,7 +90,7 @@ var BaseResource = class {
|
|
|
83
90
|
host = "https://gitlab.com",
|
|
84
91
|
prefixUrl = "",
|
|
85
92
|
rejectUnauthorized = true,
|
|
86
|
-
|
|
93
|
+
queryTimeout = 3e5
|
|
87
94
|
} = {}) {
|
|
88
95
|
if (!requesterFn)
|
|
89
96
|
throw new ReferenceError("requesterFn must be passed");
|
|
@@ -91,7 +98,7 @@ var BaseResource = class {
|
|
|
91
98
|
this.headers = {};
|
|
92
99
|
this.rejectUnauthorized = rejectUnauthorized;
|
|
93
100
|
this.camelize = camelize;
|
|
94
|
-
this.
|
|
101
|
+
this.queryTimeout = queryTimeout;
|
|
95
102
|
if (oauthToken)
|
|
96
103
|
this.headers.authorization = `Bearer ${oauthToken}`;
|
|
97
104
|
else if (jobToken)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gitbeaker/requester-utils",
|
|
3
|
-
"version": "38.
|
|
3
|
+
"version": "38.8.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": "
|
|
62
|
+
"gitHead": "fecce64a1a754794ad6e133eca04f36215914495"
|
|
63
63
|
}
|