cvat-sdk
Version:
CVAT SDK is a Javascript library. It provides you access to Javascript functions and objects that simplify server interaction and provide additional functionality like data validation and serialization.
96 lines (92 loc) • 4.11 kB
JavaScript
require('axios');
var url = require('url');
class RequiredError extends Error {
constructor(field, msg) {
super(msg);
this.field = void 0;
this.field = field;
this.name = "RequiredError";
}
}
const DUMMY_BASE_URL = 'https://example.com';
const assertParamExists = function (functionName, paramName, paramValue) {
if (paramValue === null || paramValue === undefined) {
throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);
}
};
const setApiKeyToObject = async function (object, keyParamName, configuration) {
if (configuration && configuration.apiKey) {
const localVarApiKeyValue = typeof configuration.apiKey === 'function' ? await configuration.apiKey(keyParamName) : await configuration.apiKey;
object[keyParamName] = localVarApiKeyValue;
}
};
const setBasicAuthToObject = function (object, configuration) {
if (configuration && (configuration.username || configuration.password)) {
object["auth"] = {
username: configuration.username,
password: configuration.password
};
}
};
const setBearerAuthToObject = async function (object, configuration) {
if (configuration && configuration.accessToken) {
const accessToken = typeof configuration.accessToken === 'function' ? await configuration.accessToken() : await configuration.accessToken;
object["Authorization"] = "Bearer " + accessToken;
}
};
const setOAuthToObject = async function (object, name, scopes, configuration) {
if (configuration && 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);
}
}
}
const setSearchParams = function (url$1, ...objects) {
const searchParams = new url.URLSearchParams(url$1.search);
setFlattenedQueryParams(searchParams, objects);
url$1.search = searchParams.toString();
};
const serializeDataIfNeeded = function (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 || "";
};
const toPathString = function (url) {
return url.pathname + url.search + url.hash;
};
const createRequestFunction = function (axiosArgs, globalAxios, BASE_PATH, configuration) {
return (axios = globalAxios, basePath = BASE_PATH) => {
var _configuration$basePa;
const axiosRequestArgs = {
...axiosArgs.options,
url: (axios.defaults.baseURL ? '' : (_configuration$basePa = configuration == null ? void 0 : configuration.basePath) != null ? _configuration$basePa : basePath) + axiosArgs.url
};
return axios.request(axiosRequestArgs);
};
};
exports.DUMMY_BASE_URL = DUMMY_BASE_URL;
exports.assertParamExists = assertParamExists;
exports.createRequestFunction = createRequestFunction;
exports.serializeDataIfNeeded = serializeDataIfNeeded;
exports.setApiKeyToObject = setApiKeyToObject;
exports.setBasicAuthToObject = setBasicAuthToObject;
exports.setBearerAuthToObject = setBearerAuthToObject;
exports.setOAuthToObject = setOAuthToObject;
exports.setSearchParams = setSearchParams;
exports.toPathString = toPathString;
//# sourceMappingURL=common.js.map