@gitbeaker/requester-utils 34.6.0 → 35.2.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.es.js +12 -8
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +12 -8
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.es.js
CHANGED
|
@@ -60,10 +60,14 @@ function __read(o, n) {
|
|
|
60
60
|
return ar;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
function __spreadArray(to, from) {
|
|
64
|
-
for (var i = 0,
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
function __spreadArray(to, from, pack) {
|
|
64
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
65
|
+
if (ar || !(i in from)) {
|
|
66
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
67
|
+
ar[i] = from[i];
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
67
71
|
}
|
|
68
72
|
|
|
69
73
|
// Utility methods
|
|
@@ -119,7 +123,7 @@ function extendClass(Base, customConfig) {
|
|
|
119
123
|
}
|
|
120
124
|
var _this = this;
|
|
121
125
|
var _a = __read(options), config = _a[0], opts = _a.slice(1);
|
|
122
|
-
_this = _super.apply(this, __spreadArray([__assign(__assign({}, customConfig), config)], __read(opts))) || this;
|
|
126
|
+
_this = _super.apply(this, __spreadArray([__assign(__assign({}, customConfig), config)], __read(opts), false)) || this;
|
|
123
127
|
return _this;
|
|
124
128
|
}
|
|
125
129
|
return class_1;
|
|
@@ -145,7 +149,7 @@ var BaseResource = /** @class */ (function () {
|
|
|
145
149
|
var _b = _a === void 0 ? {} : _a, token = _b.token, jobToken = _b.jobToken, oauthToken = _b.oauthToken, sudo = _b.sudo, profileToken = _b.profileToken, requesterFn = _b.requesterFn, camelize = _b.camelize, _c = _b.profileMode, profileMode = _c === void 0 ? 'execution' : _c, _d = _b.host, host = _d === void 0 ? 'https://gitlab.com' : _d, _e = _b.prefixUrl, prefixUrl = _e === void 0 ? '' : _e, _f = _b.version, version = _f === void 0 ? 4 : _f, _g = _b.rejectUnauthorized, rejectUnauthorized = _g === void 0 ? true : _g, _h = _b.requestTimeout, requestTimeout = _h === void 0 ? 300000 : _h;
|
|
146
150
|
if (!requesterFn)
|
|
147
151
|
throw new ReferenceError('requesterFn must be passed');
|
|
148
|
-
this.url = [host, 'api', "v"
|
|
152
|
+
this.url = [host, 'api', "v".concat(version), prefixUrl].join('/');
|
|
149
153
|
this.headers = {
|
|
150
154
|
'user-agent': 'gitbeaker',
|
|
151
155
|
};
|
|
@@ -154,7 +158,7 @@ var BaseResource = /** @class */ (function () {
|
|
|
154
158
|
this.requestTimeout = requestTimeout;
|
|
155
159
|
// Handle auth tokens
|
|
156
160
|
if (oauthToken)
|
|
157
|
-
this.headers.authorization = "Bearer "
|
|
161
|
+
this.headers.authorization = "Bearer ".concat(oauthToken);
|
|
158
162
|
else if (jobToken)
|
|
159
163
|
this.headers['job-token'] = jobToken;
|
|
160
164
|
else if (token)
|
|
@@ -166,7 +170,7 @@ var BaseResource = /** @class */ (function () {
|
|
|
166
170
|
}
|
|
167
171
|
// Set sudo
|
|
168
172
|
if (sudo)
|
|
169
|
-
this.headers.Sudo = ""
|
|
173
|
+
this.headers.Sudo = "".concat(sudo);
|
|
170
174
|
// Set requester instance using this information
|
|
171
175
|
this.requester = requesterFn(__assign({}, this));
|
|
172
176
|
}
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/RequesterUtils.ts","../src/BaseResource.ts"],"sourcesContent":["import { decamelizeKeys } from 'xcase';\nimport FormData from 'form-data';\nimport { stringify } from 'qs';\n\n// Types\nexport interface Constructable<T = any> {\n new (...args: any[]): T;\n}\n\nexport interface RequesterType {\n get(endpoint: string, options?: Record<string, unknown>): Promise<any>;\n post(endpoint: string, options?: Record<string, unknown>): Promise<any>;\n put(endpoint: string, options?: Record<string, unknown>): Promise<any>;\n delete(endpoint: string, options?: Record<string, unknown>): Promise<any>;\n stream?(endpoint: string, options?: Record<string, unknown>): NodeJS.ReadableStream;\n}\n\nexport type DefaultResourceOptions = {\n headers: { [header: string]: string };\n requestTimeout: number;\n url: string;\n rejectUnauthorized: boolean;\n};\n\nexport type DefaultRequestOptions = {\n body?: FormData | Record<string, unknown>;\n query?: Record<string, unknown>;\n sudo?: string;\n method?: string;\n};\n\nexport type DefaultRequestReturn = {\n headers: Record<string, string> | Headers;\n timeout?: number;\n method: string;\n searchParams?: string;\n prefixUrl?: string;\n body?: string | FormData;\n};\n\n// Utility methods\nexport function formatQuery(params: Record<string, unknown> = {}): string {\n const decamelized = decamelizeKeys(params);\n\n return stringify(decamelized, { arrayFormat: 'brackets' });\n}\n\nexport type OptionsHandlerFn = (\n serviceOptions: DefaultResourceOptions,\n requestOptions: DefaultRequestOptions,\n) => DefaultRequestReturn;\nexport function defaultOptionsHandler(\n resourceOptions: DefaultResourceOptions,\n { body, query, sudo, method = 'get' }: DefaultRequestOptions = {},\n): DefaultRequestReturn {\n const { headers: preconfiguredHeaders, requestTimeout, url } = resourceOptions;\n const headers = { ...preconfiguredHeaders };\n let bod: FormData | string;\n\n if (sudo) headers.sudo = sudo;\n\n // FIXME: Not the best comparison, but...it will have to do for now.\n if (typeof body === 'object' && body.constructor.name !== 'FormData') {\n bod = JSON.stringify(decamelizeKeys(body));\n headers['content-type'] = 'application/json';\n } else {\n bod = body as FormData;\n }\n\n return {\n headers,\n timeout: requestTimeout,\n method,\n searchParams: formatQuery(query),\n prefixUrl: url,\n body: bod,\n };\n}\n\nexport type RequestHandlerFn = (\n endpoint: string,\n options?: Record<string, unknown>,\n) =>\n | any\n | Promise<{\n body: Record<string, unknown> | Record<string, unknown>[];\n headers: Record<string, unknown> | Headers;\n status: number;\n }>;\n\nexport function createRequesterFn(\n optionsHandler: OptionsHandlerFn,\n requestHandler: RequestHandlerFn,\n): (serviceOptions: DefaultResourceOptions) => RequesterType {\n const methods = ['get', 'post', 'put', 'delete', 'stream'];\n\n return (serviceOptions) => {\n const requester: RequesterType = {} as RequesterType;\n\n methods.forEach((m) => {\n requester[m] = (endpoint: string, options: Record<string, unknown>) => {\n const requestOptions = optionsHandler(serviceOptions, { ...options, method: m });\n\n return requestHandler(endpoint, requestOptions);\n };\n });\n\n return requester;\n };\n}\n\nfunction extendClass<T extends Constructable>(Base: T, customConfig: Record<string, unknown>): T {\n return class extends Base {\n constructor(...options: any[]) {\n const [config, ...opts] = options;\n\n super({ ...customConfig, ...config }, ...opts);\n }\n };\n}\n\nexport function presetResourceArguments<T>(\n resources: T,\n customConfig: Record<string, unknown> = {},\n) {\n const updated = {};\n\n Object.entries(resources)\n .filter(([, s]) => typeof s === 'function') // FIXME: Odd default artifact included in this list during testing\n .forEach(([k, r]) => {\n updated[k] = extendClass(r, customConfig);\n });\n\n return updated as T;\n}\n","import { RequesterType, DefaultResourceOptions } from './RequesterUtils';\n\nexport interface BaseResourceOptions<C> {\n oauthToken?: string;\n token?: string;\n jobToken?: string;\n host?: string;\n prefixUrl?: string;\n version?: 3 | 4;\n rejectUnauthorized?: boolean;\n camelize?: C;\n requesterFn?: (resourceOptions: DefaultResourceOptions) => RequesterType;\n requestTimeout?: number;\n profileToken?: string;\n sudo?: string | number;\n profileMode?: 'execution' | 'memory';\n}\n\nexport class BaseResource<C extends boolean = false> {\n public readonly url: string;\n\n public readonly requester: RequesterType;\n\n public readonly requestTimeout: number;\n\n public readonly headers: { [header: string]: string };\n\n public readonly camelize: C | undefined;\n\n public readonly rejectUnauthorized: boolean;\n\n constructor({\n token,\n jobToken,\n oauthToken,\n sudo,\n profileToken,\n requesterFn,\n camelize,\n profileMode = 'execution',\n host = 'https://gitlab.com',\n prefixUrl = '',\n version = 4,\n rejectUnauthorized = true,\n requestTimeout = 300000,\n }: BaseResourceOptions<C> = {}) {\n if (!requesterFn) throw new ReferenceError('requesterFn must be passed');\n\n this.url = [host, 'api', `v${version}`, prefixUrl].join('/');\n\n this.headers = {\n 'user-agent': 'gitbeaker',\n };\n this.rejectUnauthorized = rejectUnauthorized;\n this.camelize = camelize;\n this.requestTimeout = requestTimeout;\n\n // Handle auth tokens\n if (oauthToken) this.headers.authorization = `Bearer ${oauthToken}`;\n else if (jobToken) this.headers['job-token'] = jobToken;\n else if (token) this.headers['private-token'] = token;\n\n // Profiling\n if (profileToken) {\n this.headers['X-Profile-Token'] = profileToken;\n this.headers['X-Profile-Mode'] = profileMode;\n }\n\n // Set sudo\n if (sudo) this.headers.Sudo = `${sudo}`;\n\n // Set requester instance using this information\n this.requester = requesterFn({ ...this });\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/RequesterUtils.ts","../src/BaseResource.ts"],"sourcesContent":["import { decamelizeKeys } from 'xcase';\nimport FormData from 'form-data';\nimport { stringify } from 'qs';\n\n// Types\nexport interface Constructable<T = any> {\n new (...args: any[]): T;\n}\n\nexport interface RequesterType {\n get(endpoint: string, options?: Record<string, unknown>): Promise<any>;\n post(endpoint: string, options?: Record<string, unknown>): Promise<any>;\n put(endpoint: string, options?: Record<string, unknown>): Promise<any>;\n delete(endpoint: string, options?: Record<string, unknown>): Promise<any>;\n stream?(endpoint: string, options?: Record<string, unknown>): NodeJS.ReadableStream;\n}\n\nexport type DefaultResourceOptions = {\n headers: { [header: string]: string };\n requestTimeout: number;\n url: string;\n rejectUnauthorized: boolean;\n};\n\nexport type DefaultRequestOptions = {\n body?: FormData | Record<string, unknown>;\n query?: Record<string, unknown>;\n sudo?: string;\n method?: string;\n};\n\nexport type DefaultRequestReturn = {\n headers: Record<string, string> | Headers;\n timeout?: number;\n method: string;\n searchParams?: string;\n prefixUrl?: string;\n body?: string | FormData;\n};\n\n// Utility methods\nexport function formatQuery(params: Record<string, unknown> = {}): string {\n const decamelized = decamelizeKeys(params);\n\n return stringify(decamelized, { arrayFormat: 'brackets' });\n}\n\nexport type OptionsHandlerFn = (\n serviceOptions: DefaultResourceOptions,\n requestOptions: DefaultRequestOptions,\n) => DefaultRequestReturn;\nexport function defaultOptionsHandler(\n resourceOptions: DefaultResourceOptions,\n { body, query, sudo, method = 'get' }: DefaultRequestOptions = {},\n): DefaultRequestReturn {\n const { headers: preconfiguredHeaders, requestTimeout, url } = resourceOptions;\n const headers = { ...preconfiguredHeaders };\n let bod: FormData | string;\n\n if (sudo) headers.sudo = sudo;\n\n // FIXME: Not the best comparison, but...it will have to do for now.\n if (typeof body === 'object' && body.constructor.name !== 'FormData') {\n bod = JSON.stringify(decamelizeKeys(body));\n headers['content-type'] = 'application/json';\n } else {\n bod = body as FormData;\n }\n\n return {\n headers,\n timeout: requestTimeout,\n method,\n searchParams: formatQuery(query),\n prefixUrl: url,\n body: bod,\n };\n}\n\nexport type RequestHandlerFn = (\n endpoint: string,\n options?: Record<string, unknown>,\n) =>\n | any\n | Promise<{\n body: Record<string, unknown> | Record<string, unknown>[];\n headers: Record<string, unknown> | Headers;\n status: number;\n }>;\n\nexport function createRequesterFn(\n optionsHandler: OptionsHandlerFn,\n requestHandler: RequestHandlerFn,\n): (serviceOptions: DefaultResourceOptions) => RequesterType {\n const methods = ['get', 'post', 'put', 'delete', 'stream'];\n\n return (serviceOptions) => {\n const requester: RequesterType = {} as RequesterType;\n\n methods.forEach((m) => {\n requester[m] = (endpoint: string, options: Record<string, unknown>) => {\n const requestOptions = optionsHandler(serviceOptions, { ...options, method: m });\n\n return requestHandler(endpoint, requestOptions);\n };\n });\n\n return requester;\n };\n}\n\nfunction extendClass<T extends Constructable>(Base: T, customConfig: Record<string, unknown>): T {\n return class extends Base {\n constructor(...options: any[]) {\n const [config, ...opts] = options;\n\n super({ ...customConfig, ...config }, ...opts);\n }\n };\n}\n\nexport function presetResourceArguments<T>(\n resources: T,\n customConfig: Record<string, unknown> = {},\n) {\n const updated = {};\n\n Object.entries(resources)\n .filter(([, s]) => typeof s === 'function') // FIXME: Odd default artifact included in this list during testing\n .forEach(([k, r]) => {\n updated[k] = extendClass(r, customConfig);\n });\n\n return updated as T;\n}\n","import { RequesterType, DefaultResourceOptions } from './RequesterUtils';\n\nexport interface BaseResourceOptions<C> {\n oauthToken?: string;\n token?: string;\n jobToken?: string;\n host?: string;\n prefixUrl?: string;\n version?: 3 | 4;\n rejectUnauthorized?: boolean;\n camelize?: C;\n requesterFn?: (resourceOptions: DefaultResourceOptions) => RequesterType;\n requestTimeout?: number;\n profileToken?: string;\n sudo?: string | number;\n profileMode?: 'execution' | 'memory';\n}\n\nexport class BaseResource<C extends boolean = false> {\n public readonly url: string;\n\n public readonly requester: RequesterType;\n\n public readonly requestTimeout: number;\n\n public readonly headers: { [header: string]: string };\n\n public readonly camelize: C | undefined;\n\n public readonly rejectUnauthorized: boolean;\n\n constructor({\n token,\n jobToken,\n oauthToken,\n sudo,\n profileToken,\n requesterFn,\n camelize,\n profileMode = 'execution',\n host = 'https://gitlab.com',\n prefixUrl = '',\n version = 4,\n rejectUnauthorized = true,\n requestTimeout = 300000,\n }: BaseResourceOptions<C> = {}) {\n if (!requesterFn) throw new ReferenceError('requesterFn must be passed');\n\n this.url = [host, 'api', `v${version}`, prefixUrl].join('/');\n\n this.headers = {\n 'user-agent': 'gitbeaker',\n };\n this.rejectUnauthorized = rejectUnauthorized;\n this.camelize = camelize;\n this.requestTimeout = requestTimeout;\n\n // Handle auth tokens\n if (oauthToken) this.headers.authorization = `Bearer ${oauthToken}`;\n else if (jobToken) this.headers['job-token'] = jobToken;\n else if (token) this.headers['private-token'] = token;\n\n // Profiling\n if (profileToken) {\n this.headers['X-Profile-Token'] = profileToken;\n this.headers['X-Profile-Mode'] = profileMode;\n }\n\n // Set sudo\n if (sudo) this.headers.Sudo = `${sudo}`;\n\n // Set requester instance using this information\n this.requester = requesterFn({ ...this });\n }\n}\n"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -64,10 +64,14 @@ function __read(o, n) {
|
|
|
64
64
|
return ar;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
function __spreadArray(to, from) {
|
|
68
|
-
for (var i = 0,
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
function __spreadArray(to, from, pack) {
|
|
68
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
69
|
+
if (ar || !(i in from)) {
|
|
70
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
71
|
+
ar[i] = from[i];
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
71
75
|
}
|
|
72
76
|
|
|
73
77
|
// Utility methods
|
|
@@ -123,7 +127,7 @@ function extendClass(Base, customConfig) {
|
|
|
123
127
|
}
|
|
124
128
|
var _this = this;
|
|
125
129
|
var _a = __read(options), config = _a[0], opts = _a.slice(1);
|
|
126
|
-
_this = _super.apply(this, __spreadArray([__assign(__assign({}, customConfig), config)], __read(opts))) || this;
|
|
130
|
+
_this = _super.apply(this, __spreadArray([__assign(__assign({}, customConfig), config)], __read(opts), false)) || this;
|
|
127
131
|
return _this;
|
|
128
132
|
}
|
|
129
133
|
return class_1;
|
|
@@ -149,7 +153,7 @@ var BaseResource = /** @class */ (function () {
|
|
|
149
153
|
var _b = _a === void 0 ? {} : _a, token = _b.token, jobToken = _b.jobToken, oauthToken = _b.oauthToken, sudo = _b.sudo, profileToken = _b.profileToken, requesterFn = _b.requesterFn, camelize = _b.camelize, _c = _b.profileMode, profileMode = _c === void 0 ? 'execution' : _c, _d = _b.host, host = _d === void 0 ? 'https://gitlab.com' : _d, _e = _b.prefixUrl, prefixUrl = _e === void 0 ? '' : _e, _f = _b.version, version = _f === void 0 ? 4 : _f, _g = _b.rejectUnauthorized, rejectUnauthorized = _g === void 0 ? true : _g, _h = _b.requestTimeout, requestTimeout = _h === void 0 ? 300000 : _h;
|
|
150
154
|
if (!requesterFn)
|
|
151
155
|
throw new ReferenceError('requesterFn must be passed');
|
|
152
|
-
this.url = [host, 'api', "v"
|
|
156
|
+
this.url = [host, 'api', "v".concat(version), prefixUrl].join('/');
|
|
153
157
|
this.headers = {
|
|
154
158
|
'user-agent': 'gitbeaker',
|
|
155
159
|
};
|
|
@@ -158,7 +162,7 @@ var BaseResource = /** @class */ (function () {
|
|
|
158
162
|
this.requestTimeout = requestTimeout;
|
|
159
163
|
// Handle auth tokens
|
|
160
164
|
if (oauthToken)
|
|
161
|
-
this.headers.authorization = "Bearer "
|
|
165
|
+
this.headers.authorization = "Bearer ".concat(oauthToken);
|
|
162
166
|
else if (jobToken)
|
|
163
167
|
this.headers['job-token'] = jobToken;
|
|
164
168
|
else if (token)
|
|
@@ -170,7 +174,7 @@ var BaseResource = /** @class */ (function () {
|
|
|
170
174
|
}
|
|
171
175
|
// Set sudo
|
|
172
176
|
if (sudo)
|
|
173
|
-
this.headers.Sudo = ""
|
|
177
|
+
this.headers.Sudo = "".concat(sudo);
|
|
174
178
|
// Set requester instance using this information
|
|
175
179
|
this.requester = requesterFn(__assign({}, this));
|
|
176
180
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/RequesterUtils.ts","../src/BaseResource.ts"],"sourcesContent":["import { decamelizeKeys } from 'xcase';\nimport FormData from 'form-data';\nimport { stringify } from 'qs';\n\n// Types\nexport interface Constructable<T = any> {\n new (...args: any[]): T;\n}\n\nexport interface RequesterType {\n get(endpoint: string, options?: Record<string, unknown>): Promise<any>;\n post(endpoint: string, options?: Record<string, unknown>): Promise<any>;\n put(endpoint: string, options?: Record<string, unknown>): Promise<any>;\n delete(endpoint: string, options?: Record<string, unknown>): Promise<any>;\n stream?(endpoint: string, options?: Record<string, unknown>): NodeJS.ReadableStream;\n}\n\nexport type DefaultResourceOptions = {\n headers: { [header: string]: string };\n requestTimeout: number;\n url: string;\n rejectUnauthorized: boolean;\n};\n\nexport type DefaultRequestOptions = {\n body?: FormData | Record<string, unknown>;\n query?: Record<string, unknown>;\n sudo?: string;\n method?: string;\n};\n\nexport type DefaultRequestReturn = {\n headers: Record<string, string> | Headers;\n timeout?: number;\n method: string;\n searchParams?: string;\n prefixUrl?: string;\n body?: string | FormData;\n};\n\n// Utility methods\nexport function formatQuery(params: Record<string, unknown> = {}): string {\n const decamelized = decamelizeKeys(params);\n\n return stringify(decamelized, { arrayFormat: 'brackets' });\n}\n\nexport type OptionsHandlerFn = (\n serviceOptions: DefaultResourceOptions,\n requestOptions: DefaultRequestOptions,\n) => DefaultRequestReturn;\nexport function defaultOptionsHandler(\n resourceOptions: DefaultResourceOptions,\n { body, query, sudo, method = 'get' }: DefaultRequestOptions = {},\n): DefaultRequestReturn {\n const { headers: preconfiguredHeaders, requestTimeout, url } = resourceOptions;\n const headers = { ...preconfiguredHeaders };\n let bod: FormData | string;\n\n if (sudo) headers.sudo = sudo;\n\n // FIXME: Not the best comparison, but...it will have to do for now.\n if (typeof body === 'object' && body.constructor.name !== 'FormData') {\n bod = JSON.stringify(decamelizeKeys(body));\n headers['content-type'] = 'application/json';\n } else {\n bod = body as FormData;\n }\n\n return {\n headers,\n timeout: requestTimeout,\n method,\n searchParams: formatQuery(query),\n prefixUrl: url,\n body: bod,\n };\n}\n\nexport type RequestHandlerFn = (\n endpoint: string,\n options?: Record<string, unknown>,\n) =>\n | any\n | Promise<{\n body: Record<string, unknown> | Record<string, unknown>[];\n headers: Record<string, unknown> | Headers;\n status: number;\n }>;\n\nexport function createRequesterFn(\n optionsHandler: OptionsHandlerFn,\n requestHandler: RequestHandlerFn,\n): (serviceOptions: DefaultResourceOptions) => RequesterType {\n const methods = ['get', 'post', 'put', 'delete', 'stream'];\n\n return (serviceOptions) => {\n const requester: RequesterType = {} as RequesterType;\n\n methods.forEach((m) => {\n requester[m] = (endpoint: string, options: Record<string, unknown>) => {\n const requestOptions = optionsHandler(serviceOptions, { ...options, method: m });\n\n return requestHandler(endpoint, requestOptions);\n };\n });\n\n return requester;\n };\n}\n\nfunction extendClass<T extends Constructable>(Base: T, customConfig: Record<string, unknown>): T {\n return class extends Base {\n constructor(...options: any[]) {\n const [config, ...opts] = options;\n\n super({ ...customConfig, ...config }, ...opts);\n }\n };\n}\n\nexport function presetResourceArguments<T>(\n resources: T,\n customConfig: Record<string, unknown> = {},\n) {\n const updated = {};\n\n Object.entries(resources)\n .filter(([, s]) => typeof s === 'function') // FIXME: Odd default artifact included in this list during testing\n .forEach(([k, r]) => {\n updated[k] = extendClass(r, customConfig);\n });\n\n return updated as T;\n}\n","import { RequesterType, DefaultResourceOptions } from './RequesterUtils';\n\nexport interface BaseResourceOptions<C> {\n oauthToken?: string;\n token?: string;\n jobToken?: string;\n host?: string;\n prefixUrl?: string;\n version?: 3 | 4;\n rejectUnauthorized?: boolean;\n camelize?: C;\n requesterFn?: (resourceOptions: DefaultResourceOptions) => RequesterType;\n requestTimeout?: number;\n profileToken?: string;\n sudo?: string | number;\n profileMode?: 'execution' | 'memory';\n}\n\nexport class BaseResource<C extends boolean = false> {\n public readonly url: string;\n\n public readonly requester: RequesterType;\n\n public readonly requestTimeout: number;\n\n public readonly headers: { [header: string]: string };\n\n public readonly camelize: C | undefined;\n\n public readonly rejectUnauthorized: boolean;\n\n constructor({\n token,\n jobToken,\n oauthToken,\n sudo,\n profileToken,\n requesterFn,\n camelize,\n profileMode = 'execution',\n host = 'https://gitlab.com',\n prefixUrl = '',\n version = 4,\n rejectUnauthorized = true,\n requestTimeout = 300000,\n }: BaseResourceOptions<C> = {}) {\n if (!requesterFn) throw new ReferenceError('requesterFn must be passed');\n\n this.url = [host, 'api', `v${version}`, prefixUrl].join('/');\n\n this.headers = {\n 'user-agent': 'gitbeaker',\n };\n this.rejectUnauthorized = rejectUnauthorized;\n this.camelize = camelize;\n this.requestTimeout = requestTimeout;\n\n // Handle auth tokens\n if (oauthToken) this.headers.authorization = `Bearer ${oauthToken}`;\n else if (jobToken) this.headers['job-token'] = jobToken;\n else if (token) this.headers['private-token'] = token;\n\n // Profiling\n if (profileToken) {\n this.headers['X-Profile-Token'] = profileToken;\n this.headers['X-Profile-Mode'] = profileMode;\n }\n\n // Set sudo\n if (sudo) this.headers.Sudo = `${sudo}`;\n\n // Set requester instance using this information\n this.requester = requesterFn({ ...this });\n }\n}\n"],"names":["decamelizeKeys","stringify"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/RequesterUtils.ts","../src/BaseResource.ts"],"sourcesContent":["import { decamelizeKeys } from 'xcase';\nimport FormData from 'form-data';\nimport { stringify } from 'qs';\n\n// Types\nexport interface Constructable<T = any> {\n new (...args: any[]): T;\n}\n\nexport interface RequesterType {\n get(endpoint: string, options?: Record<string, unknown>): Promise<any>;\n post(endpoint: string, options?: Record<string, unknown>): Promise<any>;\n put(endpoint: string, options?: Record<string, unknown>): Promise<any>;\n delete(endpoint: string, options?: Record<string, unknown>): Promise<any>;\n stream?(endpoint: string, options?: Record<string, unknown>): NodeJS.ReadableStream;\n}\n\nexport type DefaultResourceOptions = {\n headers: { [header: string]: string };\n requestTimeout: number;\n url: string;\n rejectUnauthorized: boolean;\n};\n\nexport type DefaultRequestOptions = {\n body?: FormData | Record<string, unknown>;\n query?: Record<string, unknown>;\n sudo?: string;\n method?: string;\n};\n\nexport type DefaultRequestReturn = {\n headers: Record<string, string> | Headers;\n timeout?: number;\n method: string;\n searchParams?: string;\n prefixUrl?: string;\n body?: string | FormData;\n};\n\n// Utility methods\nexport function formatQuery(params: Record<string, unknown> = {}): string {\n const decamelized = decamelizeKeys(params);\n\n return stringify(decamelized, { arrayFormat: 'brackets' });\n}\n\nexport type OptionsHandlerFn = (\n serviceOptions: DefaultResourceOptions,\n requestOptions: DefaultRequestOptions,\n) => DefaultRequestReturn;\nexport function defaultOptionsHandler(\n resourceOptions: DefaultResourceOptions,\n { body, query, sudo, method = 'get' }: DefaultRequestOptions = {},\n): DefaultRequestReturn {\n const { headers: preconfiguredHeaders, requestTimeout, url } = resourceOptions;\n const headers = { ...preconfiguredHeaders };\n let bod: FormData | string;\n\n if (sudo) headers.sudo = sudo;\n\n // FIXME: Not the best comparison, but...it will have to do for now.\n if (typeof body === 'object' && body.constructor.name !== 'FormData') {\n bod = JSON.stringify(decamelizeKeys(body));\n headers['content-type'] = 'application/json';\n } else {\n bod = body as FormData;\n }\n\n return {\n headers,\n timeout: requestTimeout,\n method,\n searchParams: formatQuery(query),\n prefixUrl: url,\n body: bod,\n };\n}\n\nexport type RequestHandlerFn = (\n endpoint: string,\n options?: Record<string, unknown>,\n) =>\n | any\n | Promise<{\n body: Record<string, unknown> | Record<string, unknown>[];\n headers: Record<string, unknown> | Headers;\n status: number;\n }>;\n\nexport function createRequesterFn(\n optionsHandler: OptionsHandlerFn,\n requestHandler: RequestHandlerFn,\n): (serviceOptions: DefaultResourceOptions) => RequesterType {\n const methods = ['get', 'post', 'put', 'delete', 'stream'];\n\n return (serviceOptions) => {\n const requester: RequesterType = {} as RequesterType;\n\n methods.forEach((m) => {\n requester[m] = (endpoint: string, options: Record<string, unknown>) => {\n const requestOptions = optionsHandler(serviceOptions, { ...options, method: m });\n\n return requestHandler(endpoint, requestOptions);\n };\n });\n\n return requester;\n };\n}\n\nfunction extendClass<T extends Constructable>(Base: T, customConfig: Record<string, unknown>): T {\n return class extends Base {\n constructor(...options: any[]) {\n const [config, ...opts] = options;\n\n super({ ...customConfig, ...config }, ...opts);\n }\n };\n}\n\nexport function presetResourceArguments<T>(\n resources: T,\n customConfig: Record<string, unknown> = {},\n) {\n const updated = {};\n\n Object.entries(resources)\n .filter(([, s]) => typeof s === 'function') // FIXME: Odd default artifact included in this list during testing\n .forEach(([k, r]) => {\n updated[k] = extendClass(r, customConfig);\n });\n\n return updated as T;\n}\n","import { RequesterType, DefaultResourceOptions } from './RequesterUtils';\n\nexport interface BaseResourceOptions<C> {\n oauthToken?: string;\n token?: string;\n jobToken?: string;\n host?: string;\n prefixUrl?: string;\n version?: 3 | 4;\n rejectUnauthorized?: boolean;\n camelize?: C;\n requesterFn?: (resourceOptions: DefaultResourceOptions) => RequesterType;\n requestTimeout?: number;\n profileToken?: string;\n sudo?: string | number;\n profileMode?: 'execution' | 'memory';\n}\n\nexport class BaseResource<C extends boolean = false> {\n public readonly url: string;\n\n public readonly requester: RequesterType;\n\n public readonly requestTimeout: number;\n\n public readonly headers: { [header: string]: string };\n\n public readonly camelize: C | undefined;\n\n public readonly rejectUnauthorized: boolean;\n\n constructor({\n token,\n jobToken,\n oauthToken,\n sudo,\n profileToken,\n requesterFn,\n camelize,\n profileMode = 'execution',\n host = 'https://gitlab.com',\n prefixUrl = '',\n version = 4,\n rejectUnauthorized = true,\n requestTimeout = 300000,\n }: BaseResourceOptions<C> = {}) {\n if (!requesterFn) throw new ReferenceError('requesterFn must be passed');\n\n this.url = [host, 'api', `v${version}`, prefixUrl].join('/');\n\n this.headers = {\n 'user-agent': 'gitbeaker',\n };\n this.rejectUnauthorized = rejectUnauthorized;\n this.camelize = camelize;\n this.requestTimeout = requestTimeout;\n\n // Handle auth tokens\n if (oauthToken) this.headers.authorization = `Bearer ${oauthToken}`;\n else if (jobToken) this.headers['job-token'] = jobToken;\n else if (token) this.headers['private-token'] = token;\n\n // Profiling\n if (profileToken) {\n this.headers['X-Profile-Token'] = profileToken;\n this.headers['X-Profile-Mode'] = profileMode;\n }\n\n // Set sudo\n if (sudo) this.headers.Sudo = `${sudo}`;\n\n // Set requester instance using this information\n this.requester = requesterFn({ ...this });\n }\n}\n"],"names":["decamelizeKeys","stringify"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gitbeaker/requester-utils",
|
|
3
3
|
"description": "Utility functions for requester implementatons used in @gitbeaker",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "35.2.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Justin Dalrymple"
|
|
7
7
|
},
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
"xcase": "^2.0.1"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"@types/node": "^
|
|
17
|
+
"@types/node": "^17.0.0",
|
|
18
18
|
"@types/qs": "^6.9.7",
|
|
19
19
|
"jest-extended": "^1.0.0",
|
|
20
20
|
"rollup": "^2.47.0",
|
|
21
|
-
"rollup-plugin-typescript2": "^0.
|
|
21
|
+
"rollup-plugin-typescript2": "^0.31.1",
|
|
22
22
|
"tslib": "^2.3.1",
|
|
23
23
|
"typescript": "^4.2.4"
|
|
24
24
|
},
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"test:integration": "node --expose-gc ../../node_modules/.bin/jest --runInBand --logHeapUsage test/integration",
|
|
48
48
|
"test:unit": "node --expose-gc ../../node_modules/.bin/jest --runInBand --logHeapUsage test/unit"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "5ea91956b1f580bbbff26b42a5e82b3ac0775551"
|
|
51
51
|
}
|