digitalocean-openapi-js
Version:
Generated JS from digitalocean v2 openapi spec
83 lines (82 loc) • 3.52 kB
JavaScript
import { RequiredError } from "./base.js";
export const DUMMY_BASE_URL = "https://example.com";
export const assertParamExists = (functionName, paramName, paramValue) => {
if (paramValue === null || paramValue === undefined) {
throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);
}
};
export const setApiKeyToObject = async (object, keyParamName, configuration) => {
if (configuration?.apiKey) {
const localVarApiKeyValue = typeof configuration.apiKey === "function"
? await configuration.apiKey(keyParamName)
: await configuration.apiKey;
object[keyParamName] = localVarApiKeyValue;
}
};
export const setBasicAuthToObject = (object, configuration) => {
if (configuration && (configuration.username || configuration.password)) {
object.auth = {
username: configuration.username,
password: configuration.password,
};
}
};
export const setBearerAuthToObject = async (object, configuration) => {
if (configuration?.accessToken) {
const accessToken = typeof configuration.accessToken === "function"
? await configuration.accessToken()
: await configuration.accessToken;
object.Authorization = `Bearer ${accessToken}`;
}
};
export const setOAuthToObject = async (object, name, scopes, configuration) => {
if (configuration?.accessToken) {
const localVarAccessTokenValue = typeof configuration.accessToken === "function"
? await configuration.accessToken(name, scopes)
: await configuration.accessToken;
object.Authorization = `Bearer ${localVarAccessTokenValue}`;
}
};
function setFlattenedQueryParams(urlSearchParams, parameter, key = "") {
if (parameter == null)
return;
if (typeof parameter === "object") {
if (Array.isArray(parameter)) {
parameter.forEach((item) => setFlattenedQueryParams(urlSearchParams, item, key));
}
else {
Object.keys(parameter).forEach((currentKey) => setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== "" ? "." : ""}${currentKey}`));
}
}
else {
if (urlSearchParams.has(key)) {
urlSearchParams.append(key, parameter);
}
else {
urlSearchParams.set(key, parameter);
}
}
}
export const setSearchParams = (url, ...objects) => {
const searchParams = new URLSearchParams(url.search);
setFlattenedQueryParams(searchParams, objects);
url.search = searchParams.toString();
};
export const serializeDataIfNeeded = (value, requestOptions, configuration) => {
const nonString = typeof value !== "string";
const needsSerialization = nonString && configuration && configuration.isJsonMime
? configuration.isJsonMime(requestOptions.headers["Content-Type"])
: nonString;
return needsSerialization
? JSON.stringify(value !== undefined ? value : {})
: value || "";
};
export const toPathString = (url) => url.pathname + url.search + url.hash;
export const createRequestFunction = (axiosArgs, globalAxios, BASE_PATH, configuration) => (axios = globalAxios, basePath = BASE_PATH) => {
const axiosRequestArgs = {
...axiosArgs.options,
url: (axios.defaults.baseURL ? "" : (configuration?.basePath ?? basePath)) +
axiosArgs.url,
};
return axios.request(axiosRequestArgs);
};