UNPKG

baqend

Version:

Baqend JavaScript SDK

708 lines (686 loc) 684 kB
/*! * Baqend JavaScript SDK 4.1.0 * https://www.baqend.com * * Copyright (c) 2021 Baqend GmbH * * Includes: * uuid - https://github.com/uuidjs/uuid * Copyright (c) 2010-2020 Robert Kieffer and other contributors * * Released under the MIT license * * Date: Tue, 19 Nov 2024 18:53:22 GMT */ var Baqend = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 21); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, "Message", function() { return /* reexport */ Message["b" /* Message */]; }); __webpack_require__.d(__webpack_exports__, "OAuthMessage", function() { return /* reexport */ Message["c" /* OAuthMessage */]; }); __webpack_require__.d(__webpack_exports__, "StatusCode", function() { return /* reexport */ Message["d" /* StatusCode */]; }); __webpack_require__.d(__webpack_exports__, "Connector", function() { return /* reexport */ Connector_Connector; }); __webpack_require__.d(__webpack_exports__, "FetchConnector", function() { return /* reexport */ FetchConnector_ignored_["FetchConnector"]; }); __webpack_require__.d(__webpack_exports__, "XMLHttpConnector", function() { return /* reexport */ XMLHttpConnector_XMLHttpConnector; }); __webpack_require__.d(__webpack_exports__, "IFrameConnector", function() { return /* reexport */ IFrameConnector_IFrameConnector; }); __webpack_require__.d(__webpack_exports__, "NodeConnector", function() { return /* reexport */ NodeConnector_ignored_["NodeConnector"]; }); // EXTERNAL MODULE: ./lib/connector/Message.ts var Message = __webpack_require__(11); // EXTERNAL MODULE: ./lib/error/index.ts + 4 modules var error = __webpack_require__(5); // CONCATENATED MODULE: ./lib/connector/Connector.ts /* eslint-disable no-restricted-globals */ class Connector_Connector { /** * Indicates id this connector is usable in the current runtime environment * This method must be overwritten in subclass implementations * @param host - the host to connect to * @param port - the port to connect to * @param secure - <code>true</code> for an secure connection * @param basePath - The base path of the api endpoint * @return <code>true</code> if this connector is usable in the current environment */ // eslint-disable-next-line @typescript-eslint/no-unused-vars static isUsable(host, port, secure, basePath) { return false; } /** * @param host or location * @param port * @param secure=true <code>true</code> for an secure connection * @param basePath The basepath of the api * @return */ static create(host, port, secure, basePath) { let h = host; let p = port; let s = secure; let b = basePath; if (typeof location !== 'undefined') { if (!h) { h = location.hostname; p = Number(location.port); } if (s === undefined) { s = location.protocol === 'https:'; } } // ensure right type, make secure: true the default s = s === undefined || !!s; if (b === undefined) { b = Connector_Connector.DEFAULT_BASE_PATH; } if (h.indexOf('/') !== -1) { const matches = /^(https?):\/\/([^/:]+|\[[^\]]+])(:(\d*))?(\/\w+)?\/?$/.exec(h); if (matches) { s = matches[1] === 'https'; h = matches[2].replace(/(\[|])/g, ''); p = Number(matches[4]); b = matches[5] || ''; } else { throw new Error(`The connection uri host ${h} seems not to be valid`); } } else if (h !== 'localhost' && /^[a-z0-9-]*$/.test(h)) { // handle app names as hostname h += Connector_Connector.HTTP_DOMAIN; } if (!p) { p = s ? 443 : 80; } const url = Connector_Connector.toUri(h, p, s, b); let connection = this.connections[url]; if (!connection) { // check last registered connector first to simplify registering connectors for (let i = this.connectors.length - 1; i >= 0; i -= 1) { const ConnectorConstructor = this.connectors[i]; if (ConnectorConstructor.isUsable && ConnectorConstructor.isUsable(h, p, s, b)) { // @ts-ignore connection = new ConnectorConstructor(h, p, s, b); break; } } if (!connection) { throw new Error('No connector is usable for the requested connection.'); } this.connections[url] = connection; } return connection; } static toUri(host, port, secure, basePath) { let uri = (secure ? 'https://' : 'http://') + (host.indexOf(':') !== -1 ? `[${host}]` : host); uri += ((secure && port !== 443) || (!secure && port !== 80)) ? `:${port}` : ''; uri += basePath; return uri; } /** * @param host - the host to connect to * @param port - the port to connect to * @param secure - <code>true</code> for an secure connection * @param basePath - The base path of the api endpoint */ constructor(host, port, secure, basePath) { this.host = host; this.port = port; this.secure = secure; this.basePath = basePath; /** * the origin do not contains the base path */ this.origin = Connector_Connector.toUri(this.host, this.port, this.secure, ''); } /** * @param message * @return */ send(message) { let response = { status: 0, headers: {} }; return Promise.resolve() .then(() => this.prepareRequest(message)) .then(() => new Promise((resolve) => { this.doSend(message, message.request, resolve); })) .then((res) => { response = res; }) .then(() => this.prepareResponse(message, response)) .then(() => { message.doReceive(response); return response; }) .catch((e) => { response.entity = null; throw error["PersistentError"].of(e); }); } /** * @param message * @return */ prepareRequest(message) { const mimeType = message.mimeType(); if (!mimeType) { const { type } = message.request; if (type === 'json') { message.mimeType('application/json;charset=utf-8'); } else if (type === 'text') { message.mimeType('text/plain;charset=utf-8'); } } this.toFormat(message); let accept; switch (message.responseType()) { case 'json': accept = 'application/json'; break; case 'text': accept = 'text/*'; break; default: accept = 'application/json,text/*;q=0.5,*/*;q=0.1'; } if (!message.accept()) { message.accept(accept); } const tokenStorage = message.tokenStorage(); if (tokenStorage) { const { token } = tokenStorage; if (token) { message.header('authorization', `BAT ${token}`); } } return message; } /** * @param message * @param response The received response headers and data * @return */ prepareResponse(message, response) { // IE9 returns status code 1223 instead of 204 response.status = response.status === 1223 ? 204 : response.status; let type; const headers = response.headers || {}; // some proxies send content back on 204 responses const entity = response.status === 204 ? null : response.entity; if (entity) { type = message.responseType(); if (!type || response.status >= 400) { const contentType = headers['content-type'] || headers['Content-Type']; if (contentType && contentType.indexOf('application/json') > -1) { type = 'json'; } } } if (headers.etag) { // remove gzip brotli extensions etc headers.etag = headers.etag.replace(/--\w+/, ''); } const tokenStorage = message.tokenStorage(); if (tokenStorage) { const token = headers['baqend-authorization-token'] || headers['Baqend-Authorization-Token']; if (token) { tokenStorage.update(token); } } return new Promise((resolve) => { resolve(entity && this.fromFormat(response, entity, type)); }).then((resultEntity) => { response.entity = resultEntity; }, (e) => { throw new Error(`Response was not valid ${type}: ${e.message}`); }); } } Connector_Connector.DEFAULT_BASE_PATH = '/v1'; Connector_Connector.HTTP_DOMAIN = '.app.baqend.com'; /** * An array of all exposed response headers */ Connector_Connector.RESPONSE_HEADERS = [ 'baqend-authorization-token', 'content-type', 'baqend-size', 'baqend-acl', 'etag', 'last-modified', 'baqend-created-at', 'baqend-custom-headers', 'Baqend-MFA-Auth-Token', ]; /** * Array of all available connector implementations */ Connector_Connector.connectors = []; /** * Array of all created connections */ Connector_Connector.connections = {}; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29ubmVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQ29ubmVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBDQUEwQztBQUcxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBZTNDLE1BQU0sT0FBZ0IsU0FBUztJQThCN0I7Ozs7Ozs7O09BUUc7SUFDSCw2REFBNkQ7SUFDN0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZLEVBQUUsSUFBWSxFQUFFLE1BQWUsRUFBRSxRQUFnQjtRQUMzRSxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQVksRUFBRSxJQUFhLEVBQUUsTUFBZ0IsRUFBRSxRQUFpQjtRQUM1RSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDYixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDYixJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDZixJQUFJLENBQUMsR0FBRyxRQUFRLENBQUM7UUFFakIsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUU7WUFDbkMsSUFBSSxDQUFDLENBQUMsRUFBRTtnQkFDTixDQUFDLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztnQkFDdEIsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDM0I7WUFFRCxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQ25CLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQzthQUNwQztTQUNGO1FBRUQsbURBQW1EO1FBQ25ELENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ25CLENBQUMsR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUM7U0FDakM7UUFFRCxJQUFJLENBQUMs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 // EXTERNAL MODULE: ./FetchConnector (ignored) var FetchConnector_ignored_ = __webpack_require__(18); // EXTERNAL MODULE: ./lib/util/index.ts + 13 modules var util = __webpack_require__(4); // CONCATENATED MODULE: ./lib/connector/XMLHttpConnector.ts /* this connector will only be choose in browser compatible environments */ /* eslint no-restricted-globals: ["off", "addEventListener", "removeEventListener"] */ class XMLHttpConnector_XMLHttpConnector extends Connector_Connector { /** * @inheritDoc */ // eslint-disable-next-line @typescript-eslint/no-unused-vars static isUsable(host, port, secure, basePath) { return typeof XMLHttpRequest !== 'undefined'; } /** * @inheritDoc */ doSend(message, request, receive) { if (request.method === 'OAUTH') { if (this.oAuthHandle) { this.oAuthHandle({ status: 409, headers: {}, entity: '{"message": "A new OAuth request was sent."}' }); } localStorage.removeItem('oauth-response'); const handler = (event) => { if (event.key === 'oauth-response' && this.oAuthHandle && event.newValue) { this.oAuthHandle(JSON.parse(event.newValue)); } }; this.oAuthHandle = (msg) => { receive(msg); localStorage.removeItem('oauth-response'); removeEventListener('storage', handler, false); }; addEventListener('storage', handler, false); return; } const xhr = new XMLHttpRequest(); const url = this.origin + this.basePath + request.path; xhr.onreadystatechange = () => { // if we receive an error switch the response type to json if (xhr.responseType && xhr.readyState === 2 && xhr.status >= 400) { xhr.responseType = 'text'; } if (xhr.readyState === 4) { const response = { headers: {}, status: xhr.status, entity: xhr.response || xhr.responseText, }; Connector_Connector.RESPONSE_HEADERS.forEach((name) => { response.headers[name] = xhr.getResponseHeader(name) || ''; }); receive(response); } }; // Set the message progress callback if (xhr.upload && message.progress()) { xhr.upload.onprogress = message.progress(); } xhr.onerror = (e) => { receive({ status: 0, headers: {}, error: new Error(`Fetch of ${url} failed with a network error ${e}`), }); }; xhr.open(request.method, url, true); const { entity } = request; const { headers } = request; const headerNames = Object.keys(headers); for (let i = 0, len = headerNames.length; i < len; i += 1) { const headerName = headerNames[i]; xhr.setRequestHeader(headerName, headers[headerName]); } xhr.withCredentials = message.withCredentials; switch (message.responseType()) { case 'arraybuffer': xhr.responseType = 'arraybuffer'; break; case 'blob': case 'data-url': case 'base64': xhr.responseType = 'blob'; break; default: // ignore } xhr.send(entity); } /** * @inheritDoc */ fromFormat(response, entity, type) { if (type === 'json') { return JSON.parse(entity); } if (type === 'data-url' || type === 'base64') { const reader = new FileReader(); reader.readAsDataURL(entity); return new Promise((resolve, reject) => { reader.onload = resolve; reader.onerror = reject; }).then(() => { let { result } = reader; if (type === 'base64' && typeof result === 'string') { result = result.substring(result.indexOf(',') + 1); } return result; }); } return entity; } /** * @inheritDoc */ toFormat(message) { let { type } = message.request; if (type) { let { entity } = message.request; let mimeType = message.mimeType(); switch (type) { case 'blob': mimeType = mimeType || entity.type; break; case 'arraybuffer': case 'form': break; case 'data-url': { const match = entity.match(/^data:(.+?)(;base64)?,(.*)$/); const isBase64 = match[2]; // eslint-disable-next-line prefer-destructuring entity = match[3]; type = 'blob'; mimeType = mimeType || match[1]; if (!isBase64) { entity = decodeURIComponent(entity); break; } } // fallthrough case 'base64': { const binaryStr = Object(util["atob"])(entity); const len = binaryStr.length; const array = new Uint8Array(len); for (let i = 0; i < len; i += 1) { array[i] = binaryStr.charCodeAt(i); } type = 'blob'; entity = new Blob([array], { type: mimeType }); break; } case 'json': if (typeof entity !== 'string') { entity = JSON.stringify(entity); } break; case 'text': break; default: throw new Error(`Supported request format:${type}`); } message.entity(entity, type).mimeType(mimeType); } } } Connector_Connector.connectors.push(XMLHttpConnector_XMLHttpConnector); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiWE1MSHR0cENvbm5lY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlhNTEh0dHBDb25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkVBQTJFO0FBQzNFLHNGQUFzRjtBQUV0RixPQUFPLEVBQ0wsU0FBUyxHQUNWLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHL0IsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFNBQVM7SUFHN0M7O09BRUc7SUFDSCw2REFBNkQ7SUFDN0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZLEVBQUUsSUFBWSxFQUFFLE1BQWUsRUFBRSxRQUFnQjtRQUMzRSxPQUFPLE9BQU8sY0FBYyxLQUFLLFdBQVcsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsT0FBZ0IsRUFBRSxPQUFnQixFQUFFLE9BQWlCO1FBQzFELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxPQUFPLEVBQUU7WUFDOUIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSw4Q0FBOEMsRUFBRSxDQUFDLENBQUM7YUFDeEc7WUFFRCxZQUFZLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFFMUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFtQixFQUFFLEVBQUU7Z0JBQ3RDLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7b0JBQ3hFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztpQkFDOUM7WUFDSCxDQUFDLENBQUM7WUFFRixJQUFJ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 // CONCATENATED MODULE: ./lib/connector/IFrameConnector.ts /* this connector will only be choose in browser compatible environments */ /* eslint no-restricted-globals: ["off", "location", "addEventListener"] */ class IFrameConnector_IFrameConnector extends XMLHttpConnector_XMLHttpConnector { /** * Indicates if this connector implementation is usable for the given host and port * @param host * @param port * @param secure * @return */ static isUsable(host, port, secure) { // we use location directly here, since there exists environments, which provide a location and a document but // no window object if (typeof location === 'undefined' || typeof document === 'undefined') { return false; } const locationSecure = location.protocol === 'https:'; const locationPort = location.port || (locationSecure ? 443 : 80); return location.hostname !== host || locationPort !== port || locationSecure !== secure; } constructor(host, port, secure, basePath) { super(host, port, secure, basePath); this.queue = null; this.connected = false; this.mid = 0; this.messages = {}; this.doReceive = this.doReceive.bind(this); addEventListener('message', this.doReceive, false); } load(message) { var _a; const url = this.origin + this.basePath + message.path(); const name = `baqend-sdk-connect-${Math.floor(Math.random() * 100000)}`; this.iframe = document.createElement('iframe'); this.iframe.name = name; this.iframe.setAttribute('style', IFrameConnector_IFrameConnector.style); document.body.appendChild(this.iframe); const form = document.createElement('form'); form.target = name; form.method = 'post'; form.action = url; form.setAttribute('style', IFrameConnector_IFrameConnector.style); const token = (_a = message.tokenStorage()) === null || _a === void 0 ? void 0 : _a.token; if (token) { const input = document.createElement('input'); input.type = 'hidden'; input.name = 'BAT'; input.value = token; form.appendChild(input); } document.body.appendChild(form); this.queue = []; this.iframe.addEventListener('load', this.onLoad.bind(this), false); form.submit(); } onLoad() { if (!this.queue) { return; } const { queue } = this; for (let i = 0; i < queue.length; i += 1) { this.postMessage(queue[i]); } this.queue = null; } /** * @inheritDoc */ doSend(message, request, receive) { // binary data will be send and received directly if (message.isBinary) { super.doSend(message, request, receive); return; } if (!this.iframe) { // ensure that we get a local resource cache hit // eslint-disable-next-line no-param-reassign message.request.path = '/connect'; this.load(message); } const msg = { mid: this.mid += 1, method: request.method, path: request.path, headers: request.headers, entity: request.entity, responseHeaders: Connector_Connector.RESPONSE_HEADERS, }; this.messages[msg.mid] = receive; const strMsg = JSON.stringify(msg); if (this.queue) { this.queue.push(strMsg); } else { this.postMessage(strMsg); } if (!this.connected) { setTimeout(() => { if (this.messages[msg.mid]) { delete this.messages[msg.mid]; receive({ status: 0, error: new Error('Connection refused.'), headers: {}, }); } }, 10000); } } postMessage(msg) { this.iframe.contentWindow.postMessage(msg, this.origin); } doReceive(event) { if (event.origin !== this.origin || event.data[0] !== '{') { return; } const msg = JSON.parse(event.data); const receive = this.messages[msg.mid]; if (receive) { delete this.messages[msg.mid]; this.connected = true; receive({ status: msg.status, headers: msg.headers, entity: msg.entity, }); } } } IFrameConnector_IFrameConnector.style = 'width:1px;height:1px;position:absolute;top:-10px;left:-10px;'; Connector_Connector.connectors.push(IFrameConnector_IFrameConnector); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUZyYW1lQ29ubmVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiSUZyYW1lQ29ubmVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRTtBQUMzRSwyRUFBMkU7QUFFM0UsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxhQUFhLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJdEQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZ0JBQWdCO0lBYW5EOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBWSxFQUFFLElBQVksRUFBRSxNQUFlO1FBQ3pELDhHQUE4RztRQUM5RyxtQkFBbUI7UUFDbkIsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLElBQUksT0FBTyxRQUFRLEtBQUssV0FBVyxFQUFFO1lBQ3RFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQztRQUN0RCxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWxFLE9BQU8sUUFBUSxDQUFDLFFBQVEsS0FBSyxJQUFJLElBQUksWUFBWSxLQUFLLElBQUksSUFBSSxjQUFjLEtBQUssTUFBTSxDQUFDO0lBQzFGLENBQUM7SUFFRCxZQUFZLElBQVksRUFBRSxJQUFZLEVBQUUsTUFBZSxFQUFFLFFBQWdCO1FBQ3ZFLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztRQXpCOUIsVUFBSyxHQUFpQixJQUFJLENBQUM7UUFFM0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQXlCakMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsUUFBUSxH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 // EXTERNAL MODULE: ./NodeConnector (ignored) var NodeConnector_ignored_ = __webpack_require__(19); // CONCATENATED MODULE: ./lib/connector/index.ts //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUFFLFlBQVksRUFBaUMsVUFBVSxHQUNqRSxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQ3FELFNBQVMsR0FDcEUsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUMifQ== /***/ }), /* 1 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ListAllResources", function() { return ListAllResources; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ApiVersion", function() { return ApiVersion; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Specification", function() { return Specification; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GetBloomFilter", function() { return GetBloomFilter; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GetBloomFilterExpirations", function() { return GetBloomFilterExpirations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DeleteBloomFilter", function() { return DeleteBloomFilter; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GetOrestesConfig", function() { return GetOrestesConfig; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "UpdateOrestesConfig", function() { return UpdateOrestesConfig; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Connect", function() { return Connect; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ConnectViaPost", function() { return ConnectViaPost; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Status", function() { return Status; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BannedIp", function() { return BannedIp; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Banned", function() { return Banned; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Unban", function() { return Unban; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "UnbanIp", function() { return UnbanIp; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GetBucketNames", function() { return GetBucketNames; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GetBucketIds", function() { return GetBucketIds; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ExportBucket", function() { return ExportBucket; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ImportBucket", function() { return ImportBucket; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TruncateBucket", function() { return TruncateBucket; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CreateObject", function() { return CreateObject; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GetObject", function() { return GetObject; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ReplaceObject", function() { return ReplaceObject; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DeleteObject", function() { return DeleteObject; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GetAllSchemas", function() { return GetAllSchemas; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "UpdateAllSchemas", function() { return UpdateAllSchemas; }); /* harmony export