diff --git a/browser/sobol-client.js b/browser/sobol-client.js index fb361c7..ca5eb28 100644 --- a/browser/sobol-client.js +++ b/browser/sobol-client.js @@ -1,2 +1,2 @@ -var SobolClient=function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=8)}([function(e,t,n){"use strict";function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var o=n(2),r=n(13),a=Object.prototype.toString;function c(e){return"[object Array]"===a.call(e)}function s(e){return null!==e&&"object"===i(e)}function u(e){return"[object Function]"===a.call(e)}function f(e,t){if(null!=e)if("object"!==i(e)&&(e=[e]),c(e))for(var n=0,r=e.length;n>8-i%1*8)){if(255<(n=r.charCodeAt(i+=.75)))throw new c;t=t<<8|n}return o}},function(e,t,n){"use strict";var c=n(0);e.exports=c.isStandardBrowserEnv()?{write:function(e,t,n,r,o,i){var a=[];a.push(e+"="+encodeURIComponent(t)),c.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),c.isString(r)&&a.push("path="+r),c.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,n){"use strict";var r=n(0);function o(){this.handlers=[]}o.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(t){r.forEach(this.handlers,function(e){null!==e&&t(e)})},e.exports=o},function(e,t,n){"use strict";var r=n(0),o=n(26),i=n(5),a=n(1),c=n(27),s=n(28);function u(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(t){return u(t),t.baseURL&&!c(t.url)&&(t.url=s(t.baseURL,t.url)),t.headers=t.headers||{},t.data=o(t.data,t.headers,t.transformRequest),t.headers=r.merge(t.headers.common||{},t.headers[t.method]||{},t.headers||{}),r.forEach(["delete","get","head","post","put","patch","common"],function(e){delete t.headers[e]}),(t.adapter||a.adapter)(t).then(function(e){return u(t),e.data=o(e.data,e.headers,t.transformResponse),e},function(e){return i(e)||(u(t),e&&e.response&&(e.response.data=o(e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)})}},function(e,t,n){"use strict";var r=n(0);e.exports=function(t,n,e){return r.forEach(e,function(e){t=e(t,n)}),t}},function(e,t,n){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t,n){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,n){"use strict";var r=n(6);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new r(e),t(n.reason))})}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var t;return{token:new o(function(e){t=e}),cancel:t}},e.exports=o},function(e,t,n){"use strict";e.exports=function(t){return function(e){return t.apply(null,e)}}},function(e,t,n){function r(e,t){for(var n=0;n>(-2*o&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return a}},function(e){e.exports={name:"sobol-client",description:"A JavaScript client library exposing Sobol's RESTful API.",license:"MIT",author:"Sobol - ",repository:"git@github.com:ConsenSys/sobol-client.git",version:"1.3.0",main:"index.js",scripts:{build:"cross-env NODE_ENV=production webpack -p --progress --mode production --config webpack.config.js",clean:"rm -rf node_modules browser *.log","debug-node":"cross-env NODE_ENV=development nodemon --watch src --watch examples --exec node --inspect-brk examples/node.js",format:"prettier-package-json --write ./package.json && eslint . --fix --max-warnings=0",lint:"eslint . --max-warnings=0","start-browser":"cross-env NODE_ENV=development webpack-dev-server --progress --open --mode development --config webpack.config.js","start-node":"cross-env NODE_ENV=development nodemon --watch src --watch examples --exec node examples/node.js",test:"cross-env NODE_ENV=development nodemon --watch src --watch tests --exec node tests/deprecations.js"},dependencies:{axios:"^0.18.0","jwt-decode":"^2.2.0"},devDependencies:{"@babel/core":"^7.1.2","@babel/preset-env":"^7.1.0","babel-loader":"^8.0.4","clean-webpack-plugin":"^0.1.19","cross-env":"^5.2.0",eslint:"^5.3.0","eslint-config-airbnb-base":"13.1.0","eslint-loader":"^2.1.2","eslint-plugin-import":"^2.14.0","html-webpack-plugin":"^3.2.0",husky:"^1.1.2","lint-staged":"^7.3.0",nodemon:"^1.18.4","prettier-package-json":"^2.1.0","uglifyjs-webpack-plugin":"^2.0.1",webpack:"^4.20.2","webpack-cli":"^3.1.2","webpack-dev-server":"^3.1.9"},husky:{hooks:{"pre-commit":"lint-staged && npm run build && git add browser"}},"lint-staged":{"package.json":["prettier-package-json --write","git add"],"*.js":["eslint --fix --max-warnings=0","git add"]}}},function(e,t){e.exports={buildQuery:function(t){var e;return t&&(e=Object.keys(t).filter(function(e){return t[e]}).map(function(e){return"".concat(e,"=").concat(t[e])}).join("&")),e?"?".concat(e):""}}}]); +var SobolClient=function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=8)}([function(e,t,n){"use strict";function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var o=n(2),r=n(13),a=Object.prototype.toString;function c(e){return"[object Array]"===a.call(e)}function s(e){return null!==e&&"object"===i(e)}function u(e){return"[object Function]"===a.call(e)}function f(e,t){if(null!=e)if("object"!==i(e)&&(e=[e]),c(e))for(var n=0,r=e.length;n>(-2*o&6))))r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return a}},function(e){e.exports={name:"sobol-client",description:"A JavaScript client library exposing Sobol's RESTful API.",license:"MIT",author:"Sobol - ",repository:"git@github.com:ConsenSys/sobol-client.git",version:"1.4.0",main:"index.js",scripts:{build:"cross-env NODE_ENV=production webpack -p --progress --mode production --config webpack.config.js",clean:"rm -rf node_modules browser *.log","debug-node":"cross-env NODE_ENV=development nodemon --watch src --watch examples --exec node --inspect-brk examples/node.js",format:"prettier-package-json --write ./package.json && eslint . --fix --max-warnings=0",lint:"eslint . --max-warnings=0","start-browser":"cross-env NODE_ENV=development webpack-dev-server --progress --open --mode development --config webpack.config.js","start-node":"cross-env NODE_ENV=development nodemon --watch src --watch examples --exec node examples/node.js",test:"cross-env NODE_ENV=development nodemon --watch src --watch tests --exec node tests/deprecations.js"},dependencies:{axios:"^0.18.0","jwt-decode":"^2.2.0"},devDependencies:{"@babel/core":"^7.1.2","@babel/preset-env":"^7.1.0","babel-loader":"^8.0.4","clean-webpack-plugin":"^0.1.19","cross-env":"^5.2.0",eslint:"^5.3.0","eslint-config-airbnb-base":"13.1.0","eslint-loader":"^2.1.2","eslint-plugin-import":"^2.14.0","html-webpack-plugin":"^3.2.0",husky:"^1.1.2","lint-staged":"^7.3.0",nodemon:"^1.18.4","prettier-package-json":"^2.1.0","uglifyjs-webpack-plugin":"^2.0.1",webpack:"^4.20.2","webpack-cli":"^3.1.2","webpack-dev-server":"^3.1.9"},husky:{hooks:{"pre-commit":"lint-staged && npm run build && git add browser"}},"lint-staged":{"package.json":["prettier-package-json --write","git add"],"*.js":["eslint --fix --max-warnings=0","git add"]}}},function(e,t){e.exports={buildQuery:function(t){var e;return t&&(e=Object.keys(t).filter(function(e){return t[e]}).map(function(e){return"".concat(e,"=").concat(t[e])}).join("&")),e?"?".concat(e):""}}}]); //# sourceMappingURL=sobol-client.js.map \ No newline at end of file diff --git a/browser/sobol-client.js.map b/browser/sobol-client.js.map index 782cf5f..4bfc75f 100644 --- a/browser/sobol-client.js.map +++ b/browser/sobol-client.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://SobolClient/webpack/bootstrap","webpack://SobolClient/./node_modules/axios/lib/utils.js","webpack://SobolClient/./node_modules/axios/lib/defaults.js","webpack://SobolClient/./node_modules/axios/lib/helpers/bind.js","webpack://SobolClient/./node_modules/axios/lib/adapters/xhr.js","webpack://SobolClient/./node_modules/axios/lib/core/createError.js","webpack://SobolClient/./node_modules/axios/lib/cancel/isCancel.js","webpack://SobolClient/./node_modules/axios/lib/cancel/Cancel.js","webpack://SobolClient/./base/constants.js","webpack://SobolClient/./base/index.js","webpack://SobolClient/./base/base.js","webpack://SobolClient/./base/request.js","webpack://SobolClient/./node_modules/axios/index.js","webpack://SobolClient/./node_modules/axios/lib/axios.js","webpack://SobolClient/./node_modules/is-buffer/index.js","webpack://SobolClient/./node_modules/axios/lib/core/Axios.js","webpack://SobolClient/./node_modules/process/browser.js","webpack://SobolClient/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://SobolClient/./node_modules/axios/lib/core/settle.js","webpack://SobolClient/./node_modules/axios/lib/core/enhanceError.js","webpack://SobolClient/./node_modules/axios/lib/helpers/buildURL.js","webpack://SobolClient/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://SobolClient/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://SobolClient/./node_modules/axios/lib/helpers/btoa.js","webpack://SobolClient/./node_modules/axios/lib/helpers/cookies.js","webpack://SobolClient/./node_modules/axios/lib/core/InterceptorManager.js","webpack://SobolClient/./node_modules/axios/lib/core/dispatchRequest.js","webpack://SobolClient/./node_modules/axios/lib/core/transformData.js","webpack://SobolClient/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://SobolClient/./node_modules/axios/lib/helpers/combineURLs.js","webpack://SobolClient/./node_modules/axios/lib/cancel/CancelToken.js","webpack://SobolClient/./node_modules/axios/lib/helpers/spread.js","webpack://SobolClient/./base/auth.js","webpack://SobolClient/./node_modules/jwt-decode/lib/index.js","webpack://SobolClient/./node_modules/jwt-decode/lib/base64_url_decode.js","webpack://SobolClient/./node_modules/jwt-decode/lib/atob.js","webpack://SobolClient/./base/utils.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","require","isBuffer","toString","isArray","val","isObject","_typeof","isFunction","forEach","obj","fn","length","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","window","document","merge","result","assignValue","arguments","extend","a","b","thisArg","trim","str","replace","process","utils","normalizeHeaderName","DEFAULT_CONTENT_TYPE","Content-Type","setContentTypeIfUnset","headers","adapter","defaults","XMLHttpRequest","transformRequest","data","JSON","stringify","transformResponse","parse","e","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","Accept","method","args","Array","apply","settle","buildURL","parseHeaders","isURLSameOrigin","createError","btoa","config","Promise","resolve","reject","requestData","requestHeaders","request","loadEvent","xDomain","XDomainRequest","url","onprogress","ontimeout","auth","username","password","Authorization","open","toUpperCase","params","paramsSerializer","readyState","responseURL","indexOf","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onerror","cookies","xsrfValue","withCredentials","read","undefined","toLowerCase","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","enhanceError","message","code","error","Error","__CANCEL__","Cancel","this","version","PKG_NAME","VERSION","API_ENDPOINT","Base","buildQuery","Client","_this","_classCallCheck","_len","_key","_possibleConstructorReturn","_getPrototypeOf","Applications","application","_request","post","concat","_orgPath","find","findById","applicationId","update","put","_id","delete","getKeys","getKey","keyId","createKey","deleteKey","Users","user","findByEmail","email","userId","createBatch","users","UserProfile","userProfile","Teams","team","teamId","updateParentTeam","parentTeamId","parentId","TeamProfile","teamProfile","Roles","roleId","role","assignUser","filledById","unassignUser","contributesToId","Goals","goal","goalId","updateOwners","owners","updateTeams","teams","Agreements","agreement","agreementId","addSignatory","signatory","removeSignatory","updateParties","parties","Attachments","attachment","attachmentId","Interaction","interaction","Notifications","getUnreadCount","markAsRead","clear","CustomFields","customField","customFieldId","CustomFieldValues","customFieldValue","customFieldValueId","_assertThisInitialized","path","Request","Auth","warn","console","_isInitializing","protocol","_deprecateProp","host","namespace","_endpoint","endpoint","_headers","_orgId","orgId","_errorHandler","errorHandler","_auth","configure","_authenticate","deauthenticate","destroy","_setOrg","getSession","orgIds","includes","_this2","authenticate","session","_handleOrgs","oid","prop","newProp","newMethod","_deprecateMethod","token","axios","_setErrorHandler","_setAuthHeader","_handleError","_objectSpread","handler","Axios","createInstance","defaultConfig","context","instance","instanceConfig","CancelToken","isCancel","all","promises","spread","constructor","readFloatLE","slice","isSlowBuffer","_isBuffer","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","unshift","fulfilled","rejected","push","shift","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","len","run","marker","runClearTimeout","Item","array","noop","nextTick","title","browser","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","normalizedName","encode","encodeURIComponent","serializedParams","parts","v","toISOString","join","ignoreDuplicateOf","parsed","split","line","substr","originURL","msie","urlParsingNode","resolveURL","href","setAttribute","search","hash","hostname","port","pathname","charAt","test","userAgent","createElement","location","requestURL","E","input","block","charCode","String","output","idx","map","charCodeAt","write","expires","domain","secure","cookie","Date","toGMTString","match","RegExp","decodeURIComponent","remove","now","handlers","use","eject","id","h","transformData","isAbsoluteURL","combineURLs","throwIfCancellationRequested","throwIfRequested","baseURL","reason","fns","relativeURL","executor","TypeError","resolvePromise","source","callback","arr","decode","kid","_setSession","_session","base64_url_decode","InvalidTokenError","options","pos","header","atob","b64DecodeUnicode","err","InvalidCharacterError","bs","bc","fromCharCode","query","keys","filter","param"],"mappings":"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","file":"sobol-client.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (process.env.NODE_ENV !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","const { name, version } = require('../package.json');\n\nmodule.exports = {\n PKG_NAME: name,\n VERSION: version,\n API_ENDPOINT: 'https://sobol.io/d/api/v1',\n};\n","const Base = require('./base');\nconst { buildQuery } = require('./utils');\n\nclass Client extends Base {\n /**\n * AVAILABLE ENDPOINTS\n * ======================================================\n */\n constructor(...args) {\n super(args);\n\n /**\n * Applications\n */\n this.Applications = {\n create: (application, params) => this._request.post(`${this._orgPath}/applications${buildQuery(params)}`, application),\n find: params => this._request.get(`${this._orgPath}/applications${buildQuery(params)}`),\n findById: applicationId => this._request.get(`${this._orgPath}/applications/${applicationId}`),\n update: application => this._request.put(`${this._orgPath}/applications/${application._id}`, application),\n delete: applicationId => this._request.delete(`${this._orgPath}/applications/${applicationId}`),\n getKeys: applicationId => this._request.get(`${this._orgPath}/applications/${applicationId}/keys`),\n getKey: (applicationId, keyId) => this._request.get(`${this._orgPath}/applications/${applicationId}/keys/${keyId}`),\n createKey: (applicationId, params) => this._request.post(`${this._orgPath}/applications/${applicationId}/keys${buildQuery(params)}`),\n deleteKey: (applicationId, keyId) => this._request.delete(`${this._orgPath}/applications/${applicationId}/keys/${keyId}`),\n };\n\n /**\n * Users\n */\n this.Users = {\n create: user => this._request.post(`${this._orgPath}/users`, user),\n find: params => this._request.get(`${this._orgPath}/users${buildQuery(params)}`),\n findByEmail: email => this._request.get(`${this._orgPath}/users/${email}`),\n update: user => this._request.put(`${this._orgPath}/users/${user._id}`, user),\n delete: userId => this._request.delete(`${this._orgPath}/users/${userId}`),\n createBatch: users => this._request.post(`${this._orgPath}/users/batch`, users),\n };\n\n /**\n * User Profile\n */\n this.UserProfile = {\n findById: userId => this._request.get(`${this._orgPath}/user-profile/${userId}`),\n update: userProfile => this._request.put(`${this._orgPath}/user-profile/${userProfile.userId}`, userProfile),\n };\n\n /**\n * Teams\n */\n this.Teams = {\n find: params => this._request.get(`${this._orgPath}/teams${buildQuery(params)}`),\n create: team => this._request.post(`${this._orgPath}/teams`, team),\n update: team => this._request.put(`${this._orgPath}/teams/${team._id}`, team),\n delete: teamId => this._request.delete(`${this._orgPath}/teams/${teamId}`),\n updateParentTeam: (teamId, parentTeamId) => this._request.post(\n `${this._orgPath}/teams/${teamId}/parent`,\n { parentId: parentTeamId },\n ),\n };\n\n /**\n * Team Profile\n */\n this.TeamProfile = {\n findById: teamId => this._request.get(`${this._orgPath}/team-profile/${teamId}`),\n update: teamProfile => this._request.put(`${this._orgPath}/team-profile/${teamProfile.teamId}`, teamProfile),\n };\n\n /**\n * Roles\n */\n this.Roles = {\n find: params => this._request.get(`${this._orgPath}/roles${buildQuery(params)}`),\n findById: roleId => this._request.get(`${this._orgPath}/roles/${roleId}`),\n create: role => this._request.post(`${this._orgPath}/roles`, role),\n update: role => this._request.put(`${this._orgPath}/roles/${role._id}`, role),\n delete: roleId => this._request.delete(`${this._orgPath}/roles/${roleId}`),\n assignUser: (roleId, filledById) => this._request.post(\n `${this._orgPath}/roles/${roleId}/user`,\n { filledById },\n ),\n unassignUser: roleId => this._request.delete(`${this._orgPath}/roles/${roleId}/user`),\n updateParentTeam: (roleId, teamId) => this._request.post(\n `${this._orgPath}/roles/${roleId}/parent`,\n { contributesToId: teamId },\n ),\n };\n\n /**\n * Goals\n */\n this.Goals = {\n find: params => this._request.get(`${this._orgPath}/goals${buildQuery(params)}`),\n create: goal => this._request.post(`${this._orgPath}/goals`, goal),\n delete: goalId => this._request.delete(`${this._orgPath}/goals/${goalId}`),\n update: goal => this._request.put(`${this._orgPath}/goals/${goal._id}`, goal),\n updateOwners: (goalId, owners) => this._request.post(`${this._orgPath}/goals/${goalId}/owners`, { owners }),\n updateTeams: (goalId, teams) => this._request.post(`${this._orgPath}/goals/${goalId}/teams`, { teams }),\n };\n\n /**\n * Agreements\n */\n this.Agreements = {\n find: params => this._request.get(`${this._orgPath}/agreements${buildQuery(params)}`),\n create: agreement => this._request.post(`${this._orgPath}/agreements`, agreement),\n delete: agreementId => this._request.delete(`${this._orgPath}/agreements/${agreementId}`),\n update: agreement => this._request.put(`${this._orgPath}/agreements/${agreement._id}`, agreement),\n addSignatory: (agreementId, signatory) => this._request.post(`${this._orgPath}/agreements/${agreementId}/signatories`, signatory),\n removeSignatory: (agreementId, signatory) => this._request.delete(`${this._orgPath}/agreements/${agreementId}/signatories/${signatory._id}`, {}),\n updateParties: (agreementId, parties) => this._request.post(`${this._orgPath}/agreements/${agreementId}/parties`, { parties }),\n };\n\n /**\n * Attachments\n */\n this.Attachments = {\n find: params => this._request.get(`${this._orgPath}/attachments${buildQuery(params)}`),\n create: attachment => this._request.post(`${this._orgPath}/attachments`, attachment),\n update: attachment => this._request.put(`${this._orgPath}/attachments/${attachment._id}`, attachment),\n delete: attachmentId => this._request.delete(`${this._orgPath}/attachments/${attachmentId}`),\n };\n\n /**\n * Interaction\n */\n this.Interaction = {\n find: params => this._request.get(`${this._orgPath}/interactions${buildQuery(params)}`),\n create: interaction => this._request.post(`${this._orgPath}/interactions`, interaction),\n };\n\n /**\n * Notifications\n */\n this.Notifications = {\n find: params => this._request.get(`${this._orgPath}/notifications${buildQuery(params)}`),\n getUnreadCount: () => this._request.get(`${this._orgPath}/notifications/unread-count`),\n markAsRead: () => this._request.post(`${this._orgPath}/notifications/markAsRead`),\n clear: () => this._request.post(`${this._orgPath}/notifications/clearAll`),\n };\n\n /**\n * Custom Fields\n */\n this.CustomFields = {\n find: params => this._request.get(`${this._orgPath}/custom-fields${buildQuery(params)}`),\n create: customField => this._request.post(`${this._orgPath}/custom-fields`, customField),\n update: customField => this._request.put(`${this._orgPath}/custom-fields/${customField._id}`, customField),\n delete: customFieldId => this._request.delete(`${this._orgPath}/custom-fields/${customFieldId}`),\n };\n\n /**\n * Custom Field Values\n */\n this.CustomFieldValues = {\n find: params => this._request.get(`${this._orgPath}/custom-field-values${buildQuery(params)}`),\n create: customFieldValue => this._request.post(`${this._orgPath}/custom-field-values`, customFieldValue),\n update: customFieldValue => this._request.put(`${this._orgPath}/custom-field-values/${customFieldValue._id}`, customFieldValue),\n delete: customFieldValueId => this._request.delete(`${this._orgPath}/custom-field-values/${customFieldValueId}`),\n };\n\n return this;\n }\n\n /**\n * AVAILABLE HTTP METHODS\n * ======================================================\n */\n\n /**\n * Makes a GET request\n * @param {string} path\n * @returns {promise} response\n */\n get(path) {\n return this._request.get(path);\n }\n\n /**\n * Makes a POST request\n * @param {string} path\n * @param {object} data\n * @returns {promise} response\n */\n post(path, data) {\n return this._request.post(path, data);\n }\n\n /**\n * Makes a PUT request\n * @param {string} path\n * @param {object} data\n * @returns {promise} response\n */\n put(path, data) {\n return this._request.put(path, data);\n }\n\n /**\n * Makes a DELETE request\n * @param {string} path\n * @returns {promise} response\n */\n delete(path) {\n return this._request.delete(path);\n }\n}\n\nmodule.exports = Client;\n","const Request = require('./request');\nconst Auth = require('./auth');\nconst {\n PKG_NAME,\n VERSION,\n API_ENDPOINT,\n} = require('./constants');\n\nconst { warn } = console;\n\nclass Base {\n /**\n * AVAILABLE ENDPOINTS\n * ======================================================\n */\n constructor() {\n this._isInitializing = true;\n\n return this;\n }\n\n /**\n * LIFECYCLE METHODS\n * ======================================================\n */\n\n /**\n * Configures / reconfigures the client\n *\n * @param {object} params\n *\n * {\n * key: LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUpR...,\n * endpoint: 'http://localhost/api/v1/',\n * headers: {},\n * orgId: 'ConsenSys',\n * errorHandler: SomeHandler,\n * }\n *\n * @returns {promise} client\n */\n configure(params) {\n return new Promise((resolve) => {\n if (params.protocol) this._deprecateProp('protocol', 'endpoint');\n if (params.host) this._deprecateProp('host', 'endpoint');\n if (params.namespace) this._deprecateProp('namespace', 'endpoint');\n if (params.version) this._deprecateProp('version', 'endpoint');\n\n // configure core\n this._key = params.key || this._key || null;\n this._endpoint = params.endpoint || this._endpoint || API_ENDPOINT;\n this._headers = params.headers || this._headers || null;\n this._orgId = params.orgId || this.orgId || null;\n this._errorHandler = params.errorHandler || this._errorHandler || null;\n\n if (this._isInitializing) {\n this._request = new Request();\n this._auth = new Auth();\n }\n\n // configure request\n if (this._isInitializing ||\n params.endpoint ||\n params.headers ||\n params.errorHandler\n ) {\n this._request.configure({\n endpoint: this._endpoint,\n headers: this._headers,\n errorHandler: this._errorHandler,\n });\n }\n\n // set state\n this._isInitializing = false;\n\n // configure session\n if (params.key || params.orgId) {\n resolve(this._authenticate(this._key, params.orgId));\n } else {\n resolve(this);\n }\n });\n }\n\n /**\n * Invalidates current session\n * @returns {object} this\n */\n destroy() {\n this._auth.deauthenticate();\n this._request.destroy();\n this._setOrg(null);\n this._key = null;\n return this;\n }\n\n /**\n * INFO METHODS\n * ======================================================\n */\n\n /**\n * Gets the current session\n * @returns {object} session\n */\n getSession() {\n if (this._isInitializing) {\n warn(`[${PKG_NAME}] ... run \"configure()\" to set a session before running \"getSession()\"`);\n }\n return this._auth.getSession();\n }\n\n /**\n * Gets the raw jwt - useful for generating authenticated links\n * @returns {string} key\n */\n getKey() {\n if (this._isInitializing) {\n warn(`[${PKG_NAME}] ... run \"configure()\" to set a key before running \"getKey()\"`);\n }\n return this._key;\n }\n\n /**\n * Gets the orgId\n * @returns {string} orgId\n */\n getOrgId() {\n if (this._isInitializing) {\n warn(`[${PKG_NAME}] ... run \"configure()\" to set a key before running \"getOrgId()\"`);\n }\n return this._orgId;\n }\n\n /**\n * Gets the current version of the client\n * @returns {string} version\n */\n getVersion() {\n return VERSION;\n }\n\n /**\n * PRIVATE METHODS\n * ======================================================\n */\n\n /**\n * Sets a new org ID from a list of orgs\n * - if there is one, use it\n * - if there are multiple, enforce this._orgId\n * - if there are multiple and this._orgId, use it\n *\n * @param {array} orgIds\n * @returns {void}\n */\n _handleOrgs(orgIds, orgId) {\n // if passed an orgId, set it\n if (orgId) {\n this._setOrg(orgId);\n\n // if there is only one, set it\n } else if (orgIds.length === 1) {\n this._setOrg(orgIds[0]);\n\n // if orgId is found in orgIds, use it\n } else if (orgIds.includes(this._orgId)) {\n this._setOrg(this._orgId);\n\n // default\n } else {\n throw new Error(`[${PKG_NAME}] ... requires a valid \"orgId\" param.`);\n }\n }\n\n /**\n * Sets a new org ID\n * @param {string} orgId\n * @returns {void}\n */\n _setOrg(orgId) {\n this._orgId = orgId;\n this._orgPath = (orgId ? `/org/${this._orgId}` : '');\n }\n\n /**\n * Issues a new session and sets the org and token ids\n * @param {string | object} key\n * @returns {object} this\n */\n _authenticate(key, orgId) {\n if (key) {\n return this._auth.authenticate(key)\n .then((session) => {\n this._handleOrgs(session.orgIds || [session.oid], orgId);\n this._request.configure({\n key,\n });\n return this;\n });\n }\n\n return this;\n }\n\n /**\n * Handles deprecated properties\n * @param {string} method\n * @param {object} params\n * @returns {promise} newMethod\n */\n _deprecateProp(prop, newProp) {\n warn(`[${PKG_NAME}] ... \"${prop}\" property has been deprecated. Please use the \"${newProp}\" property instead.`);\n }\n\n /**\n * Handles deprecated methods\n * @param {string} method\n * @param {object} params\n * @returns {promise} newMethod\n */\n _deprecateMethod(method, newMethod, params) {\n warn(`[${PKG_NAME}] ... \"${method}()\" has been deprecated. Please use the \"${newMethod}({ ... })\" method instead.`);\n return this[newMethod](params);\n }\n\n /**\n * DEPRECATED METHODS\n * ======================================================\n */\n connect(params) {\n return this._deprecateMethod('connect', 'configure', params);\n }\n\n disconnect() {\n return this._deprecateMethod('disconnect', 'destroy');\n }\n\n setKey(key) {\n return this._deprecateMethod('setKey', 'configure', {\n key,\n });\n }\n\n setToken(token) {\n return this._deprecateMethod('setToken', 'configure', {\n key: token,\n });\n }\n\n setOrg(orgId) {\n return this._deprecateMethod('setOrg', 'configure', {\n orgId,\n });\n }\n}\n\nmodule.exports = Base;\n","const axios = require('axios');\n\nclass Request {\n /**\n * Extends the `axios` ajax library for use in the client\n * @param {string} endpoint (required)\n * @param {object} headers\n * @param {string} token\n * @returns {object} this\n */\n configure(params) {\n this._endpoint = params.endpoint || this._endpoint || '';\n this._headers = params.headers || this._headers || {};\n this._key = params.key || this._key || null;\n\n if (params.errorHandler) this._setErrorHandler(params.errorHandler);\n this._setAuthHeader();\n\n return this;\n }\n\n /**\n * Destroys the request instance\n * @returns {object} this\n */\n destroy() {\n if (this._headers.Authorization) delete this._headers.Authorization;\n return this;\n }\n\n /**\n * Makes a GET request\n * @param {string} path\n * @returns {promise} response\n */\n get(path) {\n return axios.get(`${this._endpoint}${path}`, {\n headers: this._headers,\n }).catch(this._handleError);\n }\n\n /**\n * Makes a POST request\n * @param {string} path\n * @param {object} data\n * @returns {promise} response\n */\n post(path, data) {\n return axios.post(`${this._endpoint}${path}`, data || {}, {\n headers: this._headers,\n }).catch(this._handleError);\n }\n\n /**\n * Makes a PUT request\n * @param {string} path\n * @param {object} data\n * @returns {promise} response\n */\n put(path, data) {\n return axios.put(`${this._endpoint}${path}`, data || {}, {\n headers: this._headers,\n }).catch(this._handleError);\n }\n\n /**\n * Makes a DELETE request\n * @param {string} path\n * @returns {promise} response\n */\n delete(path) {\n return axios.delete(`${this._endpoint}${path}`, {\n headers: this._headers,\n }).catch(this._handleError);\n }\n\n /**\n * PRIVATE METHODS\n * ======================================================\n */\n\n /**\n * Handles all request errors\n * @param {object} error\n * @returns {object} error\n */\n _handleError(error) {\n return Promise.reject(error);\n }\n\n /**\n * Sets the authentication header\n * @param {string} token\n * @returns {void}\n */\n _setAuthHeader() {\n this._headers = {\n ...this._headers,\n Authorization: (this._key ? `Bearer ${this._key}` : 'None'),\n };\n }\n\n /**\n * Sets the error handler\n * @param {funciton} handler\n * @returns {void}\n */\n _setErrorHandler(handler) {\n if (handler) this._handleError = handler;\n }\n}\n\nmodule.exports = Request;\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","const decode = require('jwt-decode');\nconst { PKG_NAME } = require('./constants');\n\nclass Auth {\n /**\n * Authenticate the client\n * @param {string} key\n * @returns {promise} session\n */\n authenticate(key) {\n return new Promise((resolve) => {\n if (key && key.kid) {\n throw new Error(`[${PKG_NAME}] ... RSA keys have been deprecated. Please transition to API keys.`);\n }\n\n if (typeof key !== 'string') {\n throw new Error(`[${PKG_NAME}] ... auth requires the \"key\" is a JWT`);\n }\n\n const session = decode(key);\n this._setSession(session);\n resolve(session);\n });\n }\n\n /**\n * Deauthenticates a strategy\n * @returns {promise}\n */\n deauthenticate() {\n return new Promise((resolve) => {\n this._setSession(null);\n resolve();\n });\n }\n\n /**\n * Gets the current session\n * @returns {object} session\n */\n getSession() {\n return this._session;\n }\n\n /**\n * PRIVATE METHODS\n * ======================================================\n */\n\n /**\n * Sets a current session\n * @params {object} session\n * @returns {object} new session\n */\n _setSession(session) {\n this._session = session;\n return this._session;\n }\n}\n\nmodule.exports = Auth;\n","'use strict';\n\nvar base64_url_decode = require('./base64_url_decode');\n\nfunction InvalidTokenError(message) {\n this.message = message;\n}\n\nInvalidTokenError.prototype = new Error();\nInvalidTokenError.prototype.name = 'InvalidTokenError';\n\nmodule.exports = function (token,options) {\n if (typeof token !== 'string') {\n throw new InvalidTokenError('Invalid token specified');\n }\n\n options = options || {};\n var pos = options.header === true ? 0 : 1;\n try {\n return JSON.parse(base64_url_decode(token.split('.')[pos]));\n } catch (e) {\n throw new InvalidTokenError('Invalid token specified: ' + e.message);\n }\n};\n\nmodule.exports.InvalidTokenError = InvalidTokenError;\n","var atob = require('./atob');\n\nfunction b64DecodeUnicode(str) {\n return decodeURIComponent(atob(str).replace(/(.)/g, function (m, p) {\n var code = p.charCodeAt(0).toString(16).toUpperCase();\n if (code.length < 2) {\n code = '0' + code;\n }\n return '%' + code;\n }));\n}\n\nmodule.exports = function(str) {\n var output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw \"Illegal base64url string!\";\n }\n\n try{\n return b64DecodeUnicode(output);\n } catch (err) {\n return atob(output);\n }\n};\n","/**\n * The code was extracted from:\n * https://github.com/davidchambers/Base64.js\n */\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction InvalidCharacterError(message) {\n this.message = message;\n}\n\nInvalidCharacterError.prototype = new Error();\nInvalidCharacterError.prototype.name = 'InvalidCharacterError';\n\nfunction polyfill (input) {\n var str = String(input).replace(/=+$/, '');\n if (str.length % 4 == 1) {\n throw new InvalidCharacterError(\"'atob' failed: The string to be decoded is not correctly encoded.\");\n }\n for (\n // initialize result and counters\n var bc = 0, bs, buffer, idx = 0, output = '';\n // get next character\n buffer = str.charAt(idx++);\n // character found in table? initialize bit storage and add its ascii value;\n ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer,\n // and if not first of each 4 characters,\n // convert the first 8 bits to one ascii character\n bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0\n ) {\n // try to find character in table (0-63, not found => -1)\n buffer = chars.indexOf(buffer);\n }\n return output;\n}\n\n\nmodule.exports = typeof window !== 'undefined' && window.atob && window.atob.bind(window) || polyfill;\n","module.exports = {\n /**\n * Builds a query string from an object\n * @param {object} params\n * @returns {string} query\n */\n buildQuery: (params) => {\n let query;\n\n if (params) {\n query = Object.keys(params)\n .filter(param => params[param]) // exclude undefined\n .map(param => `${param}=${params[param]}`)\n .join('&');\n }\n\n return (query ? `?${query}` : '');\n },\n};\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://SobolClient/webpack/bootstrap","webpack://SobolClient/./node_modules/axios/lib/utils.js","webpack://SobolClient/./node_modules/axios/lib/defaults.js","webpack://SobolClient/./node_modules/axios/lib/helpers/bind.js","webpack://SobolClient/./node_modules/axios/lib/adapters/xhr.js","webpack://SobolClient/./node_modules/axios/lib/core/createError.js","webpack://SobolClient/./node_modules/axios/lib/cancel/isCancel.js","webpack://SobolClient/./node_modules/axios/lib/cancel/Cancel.js","webpack://SobolClient/./base/constants.js","webpack://SobolClient/./base/index.js","webpack://SobolClient/./base/base.js","webpack://SobolClient/./base/request.js","webpack://SobolClient/./node_modules/axios/index.js","webpack://SobolClient/./node_modules/axios/lib/axios.js","webpack://SobolClient/./node_modules/axios/node_modules/is-buffer/index.js","webpack://SobolClient/./node_modules/axios/lib/core/Axios.js","webpack://SobolClient/./node_modules/process/browser.js","webpack://SobolClient/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://SobolClient/./node_modules/axios/lib/core/settle.js","webpack://SobolClient/./node_modules/axios/lib/core/enhanceError.js","webpack://SobolClient/./node_modules/axios/lib/helpers/buildURL.js","webpack://SobolClient/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://SobolClient/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://SobolClient/./node_modules/axios/lib/helpers/cookies.js","webpack://SobolClient/./node_modules/axios/lib/core/InterceptorManager.js","webpack://SobolClient/./node_modules/axios/lib/core/dispatchRequest.js","webpack://SobolClient/./node_modules/axios/lib/core/transformData.js","webpack://SobolClient/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://SobolClient/./node_modules/axios/lib/helpers/combineURLs.js","webpack://SobolClient/./node_modules/axios/lib/cancel/CancelToken.js","webpack://SobolClient/./node_modules/axios/lib/helpers/spread.js","webpack://SobolClient/./base/auth.js","webpack://SobolClient/./node_modules/jwt-decode/lib/index.js","webpack://SobolClient/./node_modules/jwt-decode/lib/base64_url_decode.js","webpack://SobolClient/./node_modules/jwt-decode/lib/atob.js","webpack://SobolClient/./base/utils.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","require","isBuffer","toString","isArray","val","isObject","_typeof","isFunction","forEach","obj","fn","length","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","window","document","merge","result","assignValue","arguments","extend","a","b","thisArg","trim","str","replace","process","utils","normalizeHeaderName","DEFAULT_CONTENT_TYPE","Content-Type","setContentTypeIfUnset","headers","adapter","defaults","XMLHttpRequest","transformRequest","data","JSON","stringify","transformResponse","parse","e","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","Accept","method","args","Array","apply","settle","buildURL","parseHeaders","isURLSameOrigin","createError","config","Promise","resolve","reject","requestData","requestHeaders","request","auth","username","password","Authorization","btoa","open","toUpperCase","url","params","paramsSerializer","onreadystatechange","readyState","responseURL","indexOf","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onerror","ontimeout","cookies","xsrfValue","withCredentials","read","undefined","toLowerCase","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","enhanceError","message","code","error","Error","__CANCEL__","Cancel","this","version","PKG_NAME","VERSION","API_ENDPOINT","Base","buildQuery","Client","_this","_classCallCheck","_len","_key","_possibleConstructorReturn","_getPrototypeOf","Applications","application","_request","post","concat","_orgPath","find","findById","applicationId","update","put","_id","delete","getKeys","getKey","keyId","createKey","deleteKey","Users","user","findByEmail","email","userId","createBatch","users","UserProfile","userProfile","Teams","team","teamId","updateParentTeam","parentTeamId","parentId","TeamProfile","teamProfile","Roles","roleId","role","assignUser","filledById","unassignUser","contributesToId","Goals","goal","goalId","updateOwners","owners","updateTeams","teams","Agreements","agreement","agreementId","addSignatory","signatory","removeSignatory","updateParties","parties","Attachments","attachment","attachmentId","Interaction","interaction","Notifications","getUnreadCount","markAsRead","clear","CustomFields","customField","customFieldId","CustomFieldValues","customFieldValue","customFieldValueId","_assertThisInitialized","path","Request","Auth","warn","console","_isInitializing","protocol","_deprecateProp","host","namespace","_endpoint","endpoint","_headers","_orgId","orgId","_errorHandler","errorHandler","_auth","configure","_authenticate","deauthenticate","destroy","_setOrg","getSession","orgIds","includes","_this2","authenticate","session","_handleOrgs","oid","prop","newProp","newMethod","_deprecateMethod","token","axios","_setErrorHandler","_setAuthHeader","_handleError","_objectSpread","handler","Axios","createInstance","defaultConfig","context","instance","instanceConfig","CancelToken","isCancel","all","promises","spread","constructor","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","unshift","fulfilled","rejected","push","shift","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","len","run","marker","runClearTimeout","Item","array","noop","nextTick","title","browser","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","normalizedName","encode","encodeURIComponent","serializedParams","parts","v","toISOString","join","ignoreDuplicateOf","parsed","split","line","substr","originURL","msie","urlParsingNode","resolveURL","href","setAttribute","search","hash","hostname","port","pathname","charAt","test","userAgent","createElement","location","requestURL","write","expires","domain","secure","cookie","Date","toGMTString","match","RegExp","decodeURIComponent","remove","now","handlers","use","eject","id","h","transformData","isAbsoluteURL","combineURLs","throwIfCancellationRequested","throwIfRequested","baseURL","reason","fns","relativeURL","executor","TypeError","resolvePromise","source","callback","arr","decode","kid","_setSession","_session","base64_url_decode","InvalidTokenError","options","pos","header","atob","output","charCodeAt","b64DecodeUnicode","err","InvalidCharacterError","input","String","bs","bc","idx","fromCharCode","query","keys","filter","param","map"],"mappings":"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","file":"sobol-client.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","const { name, version } = require('../package.json');\n\nmodule.exports = {\n PKG_NAME: name,\n VERSION: version,\n API_ENDPOINT: 'https://sobol.io/d/api/v1',\n};\n","const Base = require('./base');\nconst { buildQuery } = require('./utils');\n\nclass Client extends Base {\n /**\n * AVAILABLE ENDPOINTS\n * ======================================================\n */\n constructor(...args) {\n super(args);\n\n /**\n * Applications\n */\n this.Applications = {\n create: (application, params) => this._request.post(`${this._orgPath}/applications${buildQuery(params)}`, application),\n find: params => this._request.get(`${this._orgPath}/applications${buildQuery(params)}`),\n findById: applicationId => this._request.get(`${this._orgPath}/applications/${applicationId}`),\n update: application => this._request.put(`${this._orgPath}/applications/${application._id}`, application),\n delete: applicationId => this._request.delete(`${this._orgPath}/applications/${applicationId}`),\n getKeys: applicationId => this._request.get(`${this._orgPath}/applications/${applicationId}/keys`),\n getKey: (applicationId, keyId) => this._request.get(`${this._orgPath}/applications/${applicationId}/keys/${keyId}`),\n createKey: (applicationId, params) => this._request.post(`${this._orgPath}/applications/${applicationId}/keys${buildQuery(params)}`),\n deleteKey: (applicationId, keyId) => this._request.delete(`${this._orgPath}/applications/${applicationId}/keys/${keyId}`),\n };\n\n /**\n * Users\n */\n this.Users = {\n create: user => this._request.post(`${this._orgPath}/users`, user),\n find: params => this._request.get(`${this._orgPath}/users${buildQuery(params)}`),\n findByEmail: email => this._request.get(`${this._orgPath}/users/${email}`),\n update: user => this._request.put(`${this._orgPath}/users/${user._id}`, user),\n delete: userId => this._request.delete(`${this._orgPath}/users/${userId}`),\n createBatch: users => this._request.post(`${this._orgPath}/users/batch`, users),\n };\n\n /**\n * User Profile\n */\n this.UserProfile = {\n findById: userId => this._request.get(`${this._orgPath}/user-profile/${userId}`),\n update: userProfile => this._request.put(`${this._orgPath}/user-profile/${userProfile.userId}`, userProfile),\n };\n\n /**\n * Teams\n */\n this.Teams = {\n find: params => this._request.get(`${this._orgPath}/teams${buildQuery(params)}`),\n create: team => this._request.post(`${this._orgPath}/teams`, team),\n update: team => this._request.put(`${this._orgPath}/teams/${team._id}`, team),\n delete: teamId => this._request.delete(`${this._orgPath}/teams/${teamId}`),\n updateParentTeam: (teamId, parentTeamId) => this._request.post(\n `${this._orgPath}/teams/${teamId}/parent`,\n { parentId: parentTeamId },\n ),\n };\n\n /**\n * Team Profile\n */\n this.TeamProfile = {\n findById: teamId => this._request.get(`${this._orgPath}/team-profile/${teamId}`),\n update: teamProfile => this._request.put(`${this._orgPath}/team-profile/${teamProfile.teamId}`, teamProfile),\n };\n\n /**\n * Roles\n */\n this.Roles = {\n find: params => this._request.get(`${this._orgPath}/roles${buildQuery(params)}`),\n findById: roleId => this._request.get(`${this._orgPath}/roles/${roleId}`),\n create: role => this._request.post(`${this._orgPath}/roles`, role),\n update: role => this._request.put(`${this._orgPath}/roles/${role._id}`, role),\n delete: roleId => this._request.delete(`${this._orgPath}/roles/${roleId}`),\n assignUser: (roleId, filledById) => this._request.post(\n `${this._orgPath}/roles/${roleId}/user`,\n { filledById },\n ),\n unassignUser: roleId => this._request.delete(`${this._orgPath}/roles/${roleId}/user`),\n updateParentTeam: (roleId, teamId) => this._request.post(\n `${this._orgPath}/roles/${roleId}/parent`,\n { contributesToId: teamId },\n ),\n };\n\n /**\n * Goals\n */\n this.Goals = {\n find: params => this._request.get(`${this._orgPath}/goals${buildQuery(params)}`),\n create: goal => this._request.post(`${this._orgPath}/goals`, goal),\n delete: goalId => this._request.delete(`${this._orgPath}/goals/${goalId}`),\n update: goal => this._request.put(`${this._orgPath}/goals/${goal._id}`, goal),\n updateOwners: (goalId, owners) => this._request.post(`${this._orgPath}/goals/${goalId}/owners`, { owners }),\n updateTeams: (goalId, teams) => this._request.post(`${this._orgPath}/goals/${goalId}/teams`, { teams }),\n };\n\n /**\n * Agreements\n */\n this.Agreements = {\n find: params => this._request.get(`${this._orgPath}/agreements${buildQuery(params)}`),\n create: agreement => this._request.post(`${this._orgPath}/agreements`, agreement),\n delete: agreementId => this._request.delete(`${this._orgPath}/agreements/${agreementId}`),\n update: agreement => this._request.put(`${this._orgPath}/agreements/${agreement._id}`, agreement),\n addSignatory: (agreementId, signatory) => this._request.post(`${this._orgPath}/agreements/${agreementId}/signatories`, signatory),\n removeSignatory: (agreementId, signatory) => this._request.delete(`${this._orgPath}/agreements/${agreementId}/signatories/${signatory._id}`, {}),\n updateParties: (agreementId, parties) => this._request.post(`${this._orgPath}/agreements/${agreementId}/parties`, { parties }),\n };\n\n /**\n * Attachments\n */\n this.Attachments = {\n find: params => this._request.get(`${this._orgPath}/attachments${buildQuery(params)}`),\n create: attachment => this._request.post(`${this._orgPath}/attachments`, attachment),\n update: attachment => this._request.put(`${this._orgPath}/attachments/${attachment._id}`, attachment),\n delete: attachmentId => this._request.delete(`${this._orgPath}/attachments/${attachmentId}`),\n };\n\n /**\n * Interaction\n */\n this.Interaction = {\n find: params => this._request.get(`${this._orgPath}/interactions${buildQuery(params)}`),\n create: interaction => this._request.post(`${this._orgPath}/interactions`, interaction),\n };\n\n /**\n * Notifications\n */\n this.Notifications = {\n find: params => this._request.get(`${this._orgPath}/notifications${buildQuery(params)}`),\n getUnreadCount: () => this._request.get(`${this._orgPath}/notifications/unread-count`),\n markAsRead: () => this._request.post(`${this._orgPath}/notifications/markAsRead`),\n clear: () => this._request.post(`${this._orgPath}/notifications/clearAll`),\n };\n\n /**\n * Custom Fields\n */\n this.CustomFields = {\n find: params => this._request.get(`${this._orgPath}/custom-fields${buildQuery(params)}`),\n create: customField => this._request.post(`${this._orgPath}/custom-fields`, customField),\n update: customField => this._request.put(`${this._orgPath}/custom-fields/${customField._id}`, customField),\n delete: customFieldId => this._request.delete(`${this._orgPath}/custom-fields/${customFieldId}`),\n };\n\n /**\n * Custom Field Values\n */\n this.CustomFieldValues = {\n find: params => this._request.get(`${this._orgPath}/custom-field-values${buildQuery(params)}`),\n create: customFieldValue => this._request.post(`${this._orgPath}/custom-field-values`, customFieldValue),\n update: customFieldValue => this._request.put(`${this._orgPath}/custom-field-values/${customFieldValue._id}`, customFieldValue),\n delete: customFieldValueId => this._request.delete(`${this._orgPath}/custom-field-values/${customFieldValueId}`),\n };\n\n return this;\n }\n\n /**\n * AVAILABLE HTTP METHODS\n * ======================================================\n */\n\n /**\n * Makes a GET request\n * @param {string} path\n * @returns {promise} response\n */\n get(path) {\n return this._request.get(path);\n }\n\n /**\n * Makes a POST request\n * @param {string} path\n * @param {object} data\n * @returns {promise} response\n */\n post(path, data) {\n return this._request.post(path, data);\n }\n\n /**\n * Makes a PUT request\n * @param {string} path\n * @param {object} data\n * @returns {promise} response\n */\n put(path, data) {\n return this._request.put(path, data);\n }\n\n /**\n * Makes a DELETE request\n * @param {string} path\n * @returns {promise} response\n */\n delete(path) {\n return this._request.delete(path);\n }\n}\n\nmodule.exports = Client;\n","const Request = require('./request');\nconst Auth = require('./auth');\nconst {\n PKG_NAME,\n VERSION,\n API_ENDPOINT,\n} = require('./constants');\n\nconst { warn } = console;\n\nclass Base {\n /**\n * AVAILABLE ENDPOINTS\n * ======================================================\n */\n constructor() {\n this._isInitializing = true;\n\n return this;\n }\n\n /**\n * LIFECYCLE METHODS\n * ======================================================\n */\n\n /**\n * Configures / reconfigures the client\n *\n * @param {object} params\n *\n * {\n * key: LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUpR...,\n * endpoint: 'http://localhost/api/v1/',\n * headers: {},\n * orgId: 'ConsenSys',\n * errorHandler: SomeHandler,\n * }\n *\n * @returns {promise} client\n */\n configure(params) {\n return new Promise((resolve) => {\n if (params.protocol) this._deprecateProp('protocol', 'endpoint');\n if (params.host) this._deprecateProp('host', 'endpoint');\n if (params.namespace) this._deprecateProp('namespace', 'endpoint');\n if (params.version) this._deprecateProp('version', 'endpoint');\n\n // configure core\n this._key = params.key || this._key || null;\n this._endpoint = params.endpoint || this._endpoint || API_ENDPOINT;\n this._headers = params.headers || this._headers || null;\n this._orgId = params.orgId || this.orgId || null;\n this._errorHandler = params.errorHandler || this._errorHandler || null;\n\n if (this._isInitializing) {\n this._request = new Request();\n this._auth = new Auth();\n }\n\n // configure request\n if (this._isInitializing ||\n params.endpoint ||\n params.headers ||\n params.errorHandler\n ) {\n this._request.configure({\n endpoint: this._endpoint,\n headers: this._headers,\n errorHandler: this._errorHandler,\n });\n }\n\n // set state\n this._isInitializing = false;\n\n // configure session\n if (params.key || params.orgId) {\n resolve(this._authenticate(this._key, params.orgId));\n } else {\n resolve(this);\n }\n });\n }\n\n /**\n * Invalidates current session\n * @returns {object} this\n */\n destroy() {\n this._auth.deauthenticate();\n this._request.destroy();\n this._setOrg(null);\n this._key = null;\n return this;\n }\n\n /**\n * INFO METHODS\n * ======================================================\n */\n\n /**\n * Gets the current session\n * @returns {object} session\n */\n getSession() {\n if (this._isInitializing) {\n warn(`[${PKG_NAME}] ... run \"configure()\" to set a session before running \"getSession()\"`);\n }\n return this._auth.getSession();\n }\n\n /**\n * Gets the raw jwt - useful for generating authenticated links\n * @returns {string} key\n */\n getKey() {\n if (this._isInitializing) {\n warn(`[${PKG_NAME}] ... run \"configure()\" to set a key before running \"getKey()\"`);\n }\n return this._key;\n }\n\n /**\n * Gets the orgId\n * @returns {string} orgId\n */\n getOrgId() {\n if (this._isInitializing) {\n warn(`[${PKG_NAME}] ... run \"configure()\" to set a key before running \"getOrgId()\"`);\n }\n return this._orgId;\n }\n\n /**\n * Gets the current version of the client\n * @returns {string} version\n */\n getVersion() {\n return VERSION;\n }\n\n /**\n * PRIVATE METHODS\n * ======================================================\n */\n\n /**\n * Sets a new org ID from a list of orgs\n * - if there is one, use it\n * - if there are multiple, enforce this._orgId\n * - if there are multiple and this._orgId, use it\n *\n * @param {array} orgIds\n * @returns {void}\n */\n _handleOrgs(orgIds, orgId) {\n // if passed an orgId, set it\n if (orgId) {\n this._setOrg(orgId);\n\n // if there is only one, set it\n } else if (orgIds.length === 1) {\n this._setOrg(orgIds[0]);\n\n // if orgId is found in orgIds, use it\n } else if (orgIds.includes(this._orgId)) {\n this._setOrg(this._orgId);\n\n // default\n } else {\n throw new Error(`[${PKG_NAME}] ... requires a valid \"orgId\" param.`);\n }\n }\n\n /**\n * Sets a new org ID\n * @param {string} orgId\n * @returns {void}\n */\n _setOrg(orgId) {\n this._orgId = orgId;\n this._orgPath = (orgId ? `/org/${this._orgId}` : '');\n }\n\n /**\n * Issues a new session and sets the org and token ids\n * @param {string | object} key\n * @returns {object} this\n */\n _authenticate(key, orgId) {\n if (key) {\n return this._auth.authenticate(key)\n .then((session) => {\n this._handleOrgs(session.orgIds || [session.oid], orgId);\n this._request.configure({\n key,\n });\n return this;\n });\n }\n\n return this;\n }\n\n /**\n * Handles deprecated properties\n * @param {string} method\n * @param {object} params\n * @returns {promise} newMethod\n */\n _deprecateProp(prop, newProp) {\n warn(`[${PKG_NAME}] ... \"${prop}\" property has been deprecated. Please use the \"${newProp}\" property instead.`);\n }\n\n /**\n * Handles deprecated methods\n * @param {string} method\n * @param {object} params\n * @returns {promise} newMethod\n */\n _deprecateMethod(method, newMethod, params) {\n warn(`[${PKG_NAME}] ... \"${method}()\" has been deprecated. Please use the \"${newMethod}({ ... })\" method instead.`);\n return this[newMethod](params);\n }\n\n /**\n * DEPRECATED METHODS\n * ======================================================\n */\n connect(params) {\n return this._deprecateMethod('connect', 'configure', params);\n }\n\n disconnect() {\n return this._deprecateMethod('disconnect', 'destroy');\n }\n\n setKey(key) {\n return this._deprecateMethod('setKey', 'configure', {\n key,\n });\n }\n\n setToken(token) {\n return this._deprecateMethod('setToken', 'configure', {\n key: token,\n });\n }\n\n setOrg(orgId) {\n return this._deprecateMethod('setOrg', 'configure', {\n orgId,\n });\n }\n}\n\nmodule.exports = Base;\n","const axios = require('axios');\n\nclass Request {\n /**\n * Extends the `axios` ajax library for use in the client\n * @param {string} endpoint (required)\n * @param {object} headers\n * @param {string} token\n * @returns {object} this\n */\n configure(params) {\n this._endpoint = params.endpoint || this._endpoint || '';\n this._headers = params.headers || this._headers || {};\n this._key = params.key || this._key || null;\n\n if (params.errorHandler) this._setErrorHandler(params.errorHandler);\n this._setAuthHeader();\n\n return this;\n }\n\n /**\n * Destroys the request instance\n * @returns {object} this\n */\n destroy() {\n if (this._headers.Authorization) delete this._headers.Authorization;\n return this;\n }\n\n /**\n * Makes a GET request\n * @param {string} path\n * @returns {promise} response\n */\n get(path) {\n return axios.get(`${this._endpoint}${path}`, {\n headers: this._headers,\n }).catch(this._handleError);\n }\n\n /**\n * Makes a POST request\n * @param {string} path\n * @param {object} data\n * @returns {promise} response\n */\n post(path, data) {\n return axios.post(`${this._endpoint}${path}`, data || {}, {\n headers: this._headers,\n }).catch(this._handleError);\n }\n\n /**\n * Makes a PUT request\n * @param {string} path\n * @param {object} data\n * @returns {promise} response\n */\n put(path, data) {\n return axios.put(`${this._endpoint}${path}`, data || {}, {\n headers: this._headers,\n }).catch(this._handleError);\n }\n\n /**\n * Makes a DELETE request\n * @param {string} path\n * @returns {promise} response\n */\n delete(path) {\n return axios.delete(`${this._endpoint}${path}`, {\n headers: this._headers,\n }).catch(this._handleError);\n }\n\n /**\n * PRIVATE METHODS\n * ======================================================\n */\n\n /**\n * Handles all request errors\n * @param {object} error\n * @returns {object} error\n */\n _handleError(error) {\n return Promise.reject(error);\n }\n\n /**\n * Sets the authentication header\n * @param {string} token\n * @returns {void}\n */\n _setAuthHeader() {\n this._headers = {\n ...this._headers,\n Authorization: (this._key ? `Bearer ${this._key}` : 'None'),\n };\n }\n\n /**\n * Sets the error handler\n * @param {funciton} handler\n * @returns {void}\n */\n _setErrorHandler(handler) {\n if (handler) this._handleError = handler;\n }\n}\n\nmodule.exports = Request;\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","const decode = require('jwt-decode');\nconst { PKG_NAME } = require('./constants');\n\nclass Auth {\n /**\n * Authenticate the client\n * @param {string} key\n * @returns {promise} session\n */\n authenticate(key) {\n return new Promise((resolve) => {\n if (key && key.kid) {\n throw new Error(`[${PKG_NAME}] ... RSA keys have been deprecated. Please transition to API keys.`);\n }\n\n if (typeof key !== 'string') {\n throw new Error(`[${PKG_NAME}] ... auth requires the \"key\" is a JWT`);\n }\n\n const session = decode(key);\n this._setSession(session);\n resolve(session);\n });\n }\n\n /**\n * Deauthenticates a strategy\n * @returns {promise}\n */\n deauthenticate() {\n return new Promise((resolve) => {\n this._setSession(null);\n resolve();\n });\n }\n\n /**\n * Gets the current session\n * @returns {object} session\n */\n getSession() {\n return this._session;\n }\n\n /**\n * PRIVATE METHODS\n * ======================================================\n */\n\n /**\n * Sets a current session\n * @params {object} session\n * @returns {object} new session\n */\n _setSession(session) {\n this._session = session;\n return this._session;\n }\n}\n\nmodule.exports = Auth;\n","'use strict';\n\nvar base64_url_decode = require('./base64_url_decode');\n\nfunction InvalidTokenError(message) {\n this.message = message;\n}\n\nInvalidTokenError.prototype = new Error();\nInvalidTokenError.prototype.name = 'InvalidTokenError';\n\nmodule.exports = function (token,options) {\n if (typeof token !== 'string') {\n throw new InvalidTokenError('Invalid token specified');\n }\n\n options = options || {};\n var pos = options.header === true ? 0 : 1;\n try {\n return JSON.parse(base64_url_decode(token.split('.')[pos]));\n } catch (e) {\n throw new InvalidTokenError('Invalid token specified: ' + e.message);\n }\n};\n\nmodule.exports.InvalidTokenError = InvalidTokenError;\n","var atob = require('./atob');\n\nfunction b64DecodeUnicode(str) {\n return decodeURIComponent(atob(str).replace(/(.)/g, function (m, p) {\n var code = p.charCodeAt(0).toString(16).toUpperCase();\n if (code.length < 2) {\n code = '0' + code;\n }\n return '%' + code;\n }));\n}\n\nmodule.exports = function(str) {\n var output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw \"Illegal base64url string!\";\n }\n\n try{\n return b64DecodeUnicode(output);\n } catch (err) {\n return atob(output);\n }\n};\n","/**\n * The code was extracted from:\n * https://github.com/davidchambers/Base64.js\n */\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction InvalidCharacterError(message) {\n this.message = message;\n}\n\nInvalidCharacterError.prototype = new Error();\nInvalidCharacterError.prototype.name = 'InvalidCharacterError';\n\nfunction polyfill (input) {\n var str = String(input).replace(/=+$/, '');\n if (str.length % 4 == 1) {\n throw new InvalidCharacterError(\"'atob' failed: The string to be decoded is not correctly encoded.\");\n }\n for (\n // initialize result and counters\n var bc = 0, bs, buffer, idx = 0, output = '';\n // get next character\n buffer = str.charAt(idx++);\n // character found in table? initialize bit storage and add its ascii value;\n ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer,\n // and if not first of each 4 characters,\n // convert the first 8 bits to one ascii character\n bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0\n ) {\n // try to find character in table (0-63, not found => -1)\n buffer = chars.indexOf(buffer);\n }\n return output;\n}\n\n\nmodule.exports = typeof window !== 'undefined' && window.atob && window.atob.bind(window) || polyfill;\n","module.exports = {\n /**\n * Builds a query string from an object\n * @param {object} params\n * @returns {string} query\n */\n buildQuery: (params) => {\n let query;\n\n if (params) {\n query = Object.keys(params)\n .filter(param => params[param]) // exclude undefined\n .map(param => `${param}=${params[param]}`)\n .join('&');\n }\n\n return (query ? `?${query}` : '');\n },\n};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index 64d2fa8..4319f99 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "license": "MIT", "author": "Sobol - ", "repository": "git@github.com:ConsenSys/sobol-client.git", - "version": "1.3.0", + "version": "1.4.0", "main": "index.js", "scripts": { "build": "cross-env NODE_ENV=production webpack -p --progress --mode production --config webpack.config.js",