From 3a7cb95a4c1746e836c07369ae0675bd67745d21 Mon Sep 17 00:00:00 2001 From: Paul Hultgren Date: Mon, 31 Jan 2022 16:09:33 -0500 Subject: [PATCH] workflow to publish to npm --- ...sh-github-packages.yml => npm-publish.yml} | 12 +- .gitignore | 2 +- dist/auth0-web-extension.production.esm.js | 17 - .../auth0-web-extension.production.esm.js.map | 1 - dist/types/Auth0Client.d.ts | 74 --- dist/types/api.d.ts | 2 - dist/types/cache/cache-manager.d.ts | 30 -- dist/types/cache/cache-memory.d.ts | 4 - dist/types/cache/index.d.ts | 4 - dist/types/cache/key-manifest.d.ts | 12 - dist/types/cache/shared.d.ts | 62 --- dist/types/constants.d.ts | 8 - dist/types/errors.d.ts | 39 -- dist/types/global.d.ts | 443 ------------------ dist/types/handler.d.ts | 3 - dist/types/http.d.ts | 4 - dist/types/index.d.ts | 9 - dist/types/jwt.d.ts | 21 - dist/types/lock/index.d.ts | 19 - dist/types/lock/processLock.d.ts | 11 - dist/types/messenger.d.ts | 33 -- dist/types/promise-utils.d.ts | 4 - dist/types/scope.d.ts | 1 - dist/types/storage.d.ts | 15 - dist/types/transaction-manager.d.ts | 27 -- dist/types/utils.d.ts | 13 - 26 files changed, 7 insertions(+), 863 deletions(-) rename .github/workflows/{npm-publish-github-packages.yml => npm-publish.yml} (70%) delete mode 100644 dist/auth0-web-extension.production.esm.js delete mode 100644 dist/auth0-web-extension.production.esm.js.map delete mode 100644 dist/types/Auth0Client.d.ts delete mode 100644 dist/types/api.d.ts delete mode 100644 dist/types/cache/cache-manager.d.ts delete mode 100644 dist/types/cache/cache-memory.d.ts delete mode 100644 dist/types/cache/index.d.ts delete mode 100644 dist/types/cache/key-manifest.d.ts delete mode 100644 dist/types/cache/shared.d.ts delete mode 100644 dist/types/constants.d.ts delete mode 100644 dist/types/errors.d.ts delete mode 100644 dist/types/global.d.ts delete mode 100644 dist/types/handler.d.ts delete mode 100644 dist/types/http.d.ts delete mode 100644 dist/types/index.d.ts delete mode 100644 dist/types/jwt.d.ts delete mode 100644 dist/types/lock/index.d.ts delete mode 100644 dist/types/lock/processLock.d.ts delete mode 100644 dist/types/messenger.d.ts delete mode 100644 dist/types/promise-utils.d.ts delete mode 100644 dist/types/scope.d.ts delete mode 100644 dist/types/storage.d.ts delete mode 100644 dist/types/transaction-manager.d.ts delete mode 100644 dist/types/utils.d.ts diff --git a/.github/workflows/npm-publish-github-packages.yml b/.github/workflows/npm-publish.yml similarity index 70% rename from .github/workflows/npm-publish-github-packages.yml rename to .github/workflows/npm-publish.yml index f1f33aa..5b1d5fe 100644 --- a/.github/workflows/npm-publish-github-packages.yml +++ b/.github/workflows/npm-publish.yml @@ -11,10 +11,10 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: 16 - - run: yarn + node-version: '16.x' + - run: yarn && yarn test - publish-gpr: + publish-npm: needs: build runs-on: ubuntu-latest permissions: @@ -24,10 +24,10 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: 16 - registry-url: https://npm.pkg.github.com/ + node-version: '16.x' + registry-url: https://registry.npmjs.org/ always-auth: true - run: yarn - run: yarn publish env: - NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} diff --git a/.gitignore b/.gitignore index 4fe4789..dbb4e72 100644 --- a/.gitignore +++ b/.gitignore @@ -9,7 +9,7 @@ coverage # build -# /dist +/dist # misc /.editorconfig diff --git a/dist/auth0-web-extension.production.esm.js b/dist/auth0-web-extension.production.esm.js deleted file mode 100644 index b378be4..0000000 --- a/dist/auth0-web-extension.production.esm.js +++ /dev/null @@ -1,17 +0,0 @@ -var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};!function(e){function t(){}function n(e,t){if(e=void 0===e?"utf-8":e,t=void 0===t?{fatal:!1}:t,-1===o.indexOf(e.toLowerCase()))throw new RangeError("Failed to construct 'TextDecoder': The encoding label provided ('"+e+"') is invalid.");if(t.fatal)throw Error("Failed to construct 'TextDecoder': the 'fatal' option is unsupported.")}function r(e){for(var t=0,n=Math.min(65536,e.length+1),r=new Uint16Array(n),o=[],i=0;;){var s=t=n-1){if(o.push(String.fromCharCode.apply(null,r.subarray(0,i))),!s)return o.join("");e=e.subarray(t),i=t=0}if(0==(128&(s=e[t++])))r[i++]=s;else if(192==(224&s)){var a=63&e[t++];r[i++]=(31&s)<<6|a}else if(224==(240&s)){a=63&e[t++];var c=63&e[t++];r[i++]=(31&s)<<12|a<<6|c}else if(240==(248&s)){65535<(s=(7&s)<<18|(a=63&e[t++])<<12|(c=63&e[t++])<<6|63&e[t++])&&(s-=65536,r[i++]=s>>>10&1023|55296,s=56320|1023&s),r[i++]=s}}}if(e.TextEncoder&&e.TextDecoder)return!1;var o=["utf-8","utf8","unicode-1-1-utf-8"];Object.defineProperty(t.prototype,"encoding",{value:"utf-8"}),t.prototype.encode=function(e,t){if((t=void 0===t?{stream:!1}:t).stream)throw Error("Failed to encode: the 'stream' option is unsupported.");t=0;for(var n=e.length,r=0,o=Math.max(32,n+(n>>>1)+7),i=new Uint8Array(o>>>3<<3);t=s){if(t=s)continue}if(r+4>i.length&&(o+=8,o=(o*=1+t/e.length*2)>>>3<<3,(a=new Uint8Array(o)).set(i),i=a),0==(4294967168&s))i[r++]=s;else{if(0==(4294965248&s))i[r++]=s>>>6&31|192;else if(0==(4294901760&s))i[r++]=s>>>12&15|224,i[r++]=s>>>6&63|128;else{if(0!=(4292870144&s))continue;i[r++]=s>>>18&7|240,i[r++]=s>>>12&63|128,i[r++]=s>>>6&63|128}i[r++]=63&s|128}}return i.slice?i.slice(0,r):i.subarray(0,r)},Object.defineProperty(n.prototype,"encoding",{value:"utf-8"}),Object.defineProperty(n.prototype,"fatal",{value:!1}),Object.defineProperty(n.prototype,"ignoreBOM",{value:!1});var i=r;"function"==typeof Buffer&&Buffer.from?i=function(e){return Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf-8")}:"function"==typeof Blob&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&(i=function(e){var t=URL.createObjectURL(new Blob([e],{type:"text/plain;charset=UTF-8"}));try{var n=new XMLHttpRequest;return n.open("GET",t,!1),n.send(),n.responseText}catch(t){return r(e)}finally{URL.revokeObjectURL(t)}}),n.prototype.decode=function(e,t){if((t=void 0===t?{stream:!1}:t).stream)throw Error("Failed to decode: the 'stream' option is unsupported.");return e=e instanceof Uint8Array?e:e.buffer instanceof ArrayBuffer?new Uint8Array(e.buffer):new Uint8Array(e),i(e)},e.TextEncoder=t,e.TextDecoder=n}("undefined"!=typeof window?window:e); -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},t(e,n)};function n(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}var r=function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function c(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=a(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}}var u={exports:{}};"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self&&self,function(e){if("undefined"==typeof browser||Object.getPrototypeOf(browser)!==Object.prototype){const t="The message port closed before a response was received.",n="Returning a Promise is the preferred way to send a reply from an onMessage/onMessageExternal listener, as the sendResponse will be removed from the specs (See https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)",r=e=>{const r={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0},elements:{createSidebarPane:{minArgs:1,maxArgs:1}}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},goBack:{minArgs:0,maxArgs:1},goForward:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(0===Object.keys(r).length)throw new Error("api-metadata.json has not been included in browser-polyfill");class o extends WeakMap{constructor(e,t){super(t),this.createItem=e}get(e){return this.has(e)||this.set(e,this.createItem(e)),super.get(e)}}const i=e=>e&&"object"==typeof e&&"function"==typeof e.then,s=(t,n)=>(...r)=>{e.runtime.lastError?t.reject(new Error(e.runtime.lastError.message)):n.singleCallbackArg||r.length<=1&&!1!==n.singleCallbackArg?t.resolve(r[0]):t.resolve(r)},a=e=>1==e?"argument":"arguments",c=(e,t)=>function(n,...r){if(r.lengtht.maxArgs)throw new Error(`Expected at most ${t.maxArgs} ${a(t.maxArgs)} for ${e}(), got ${r.length}`);return new Promise(((o,i)=>{if(t.fallbackToNoCallback)try{n[e](...r,s({resolve:o,reject:i},t))}catch(i){console.warn(`${e} API method doesn't seem to support the callback parameter, falling back to call it without a callback: `,i),n[e](...r),t.fallbackToNoCallback=!1,t.noCallback=!0,o()}else t.noCallback?(n[e](...r),o()):n[e](...r,s({resolve:o,reject:i},t))}))},u=(e,t,n)=>new Proxy(t,{apply:(t,r,o)=>n.call(r,e,...o)});let l=Function.call.bind(Object.prototype.hasOwnProperty);const d=(e,t={},n={})=>{let r=Object.create(null),o={has:(t,n)=>n in e||n in r,get(o,i,s){if(i in r)return r[i];if(!(i in e))return;let a=e[i];if("function"==typeof a)if("function"==typeof t[i])a=u(e,e[i],t[i]);else if(l(n,i)){let t=c(i,n[i]);a=u(e,e[i],t)}else a=a.bind(e);else if("object"==typeof a&&null!==a&&(l(t,i)||l(n,i)))a=d(a,t[i],n[i]);else{if(!l(n,"*"))return Object.defineProperty(r,i,{configurable:!0,enumerable:!0,get:()=>e[i],set(t){e[i]=t}}),a;a=d(a,t[i],n["*"])}return r[i]=a,a},set:(t,n,o,i)=>(n in r?r[n]=o:e[n]=o,!0),defineProperty:(e,t,n)=>Reflect.defineProperty(r,t,n),deleteProperty:(e,t)=>Reflect.deleteProperty(r,t)},i=Object.create(e);return new Proxy(i,o)},h=e=>({addListener(t,n,...r){t.addListener(e.get(n),...r)},hasListener:(t,n)=>t.hasListener(e.get(n)),removeListener(t,n){t.removeListener(e.get(n))}}),g=new o((e=>"function"!=typeof e?e:function(t){const n=d(t,{},{getContent:{minArgs:0,maxArgs:0}});e(n)}));let m=!1;const f=new o((e=>"function"!=typeof e?e:function(t,r,o){let s,a,c=!1,u=new Promise((e=>{s=function(t){m||(console.warn(n,(new Error).stack),m=!0),c=!0,e(t)}}));try{a=e(t,r,s)}catch(e){a=Promise.reject(e)}const l=!0!==a&&i(a);if(!0!==a&&!l&&!c)return!1;const d=e=>{e.then((e=>{o(e)}),(e=>{let t;t=e&&(e instanceof Error||"string"==typeof e.message)?e.message:"An unexpected error occurred",o({__mozWebExtensionPolyfillReject__:!0,message:t})})).catch((e=>{console.error("Failed to send onMessage rejected reply",e)}))};return d(l?a:u),!0})),p=({reject:n,resolve:r},o)=>{e.runtime.lastError?e.runtime.lastError.message===t?r():n(new Error(e.runtime.lastError.message)):o&&o.__mozWebExtensionPolyfillReject__?n(new Error(o.message)):r(o)},v=(e,t,n,...r)=>{if(r.lengtht.maxArgs)throw new Error(`Expected at most ${t.maxArgs} ${a(t.maxArgs)} for ${e}(), got ${r.length}`);return new Promise(((e,t)=>{const o=p.bind(null,{resolve:e,reject:t});r.push(o),n.sendMessage(...r)}))},w={devtools:{network:{onRequestFinished:h(g)}},runtime:{onMessage:h(f),onMessageExternal:h(f),sendMessage:v.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:v.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},A={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return r.privacy={network:{"*":A},services:{"*":A},websites:{"*":A}},d(e,w,r)};if("object"!=typeof chrome||!chrome||!chrome.runtime||!chrome.runtime.id)throw new Error("This script should only be loaded in a browser extension.");e.exports=r(chrome)}else e.exports=browser}(u);var l=u.exports,d=function(){function e(){var e=this;this.locked=new Map,this.addToLocked=function(t,n){var r=e.locked.get(t);void 0===r?void 0===n?e.locked.set(t,[]):e.locked.set(t,[n]):void 0!==n&&(r.unshift(n),e.locked.set(t,r))},this.isLocked=function(t){return e.locked.has(t)},this.lock=function(t){return new Promise((function(n,r){e.isLocked(t)?e.addToLocked(t,n):(e.addToLocked(t),n())}))},this.unlock=function(t){var n=e.locked.get(t);if(void 0!==n&&0!==n.length){var r=n.pop();e.locked.set(t,n),void 0!==r&&setTimeout(r,0)}else e.locked.delete(t)}}return e.getInstance=function(){return void 0===e.instance&&(e.instance=new e),e.instance},e}();function h(){return d.getInstance()}var g=function(){return crypto||window.msCrypto},m=function(){var e=g();return e.subtle||e.webkitSubtle},f=function(e){for(var t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_~.",n="",r=0;r0?setTimeout(n,e):n()}};l.storage.onChanged.addListener(s),t.addToWaiting(s);var a=setTimeout(s,Math.max(0,e-Date.now()))}))];case 1:return n.sent(),[2]}}))}))},e.prototype.addToWaiting=function(e){this.removeFromWaiting(e),void 0!==this.waiters&&this.waiters.push(e)},e.prototype.removeFromWaiting=function(e){void 0!==this.waiters&&(this.waiters=this.waiters.filter((function(t){return t!==e})))},e.prototype.notifyWaiters=function(){void 0!==this.waiters&&function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o1){if(!t.claims.azp)throw new Error("Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values");if(t.claims.azp!==e.aud)throw new Error('Authorized Party (azp) claim mismatch in the ID token; expected "'.concat(e.aud,'", found "').concat(t.claims.azp,'"'))}}else if(t.claims.aud!==e.aud)throw new Error('Audience (aud) claim mismatch in the ID token; expected "'.concat(e.aud,'" but found "').concat(t.claims.aud,'"'));if(e.nonce){if(!t.claims.nonce)throw new Error("Nonce (nonce) claim must be a string present in the ID token");if(t.claims.nonce!==e.nonce)throw new Error('Nonce (nonce) claim mismatch in the ID token; expected "'.concat(e.nonce,'", found "').concat(t.claims.nonce,'"'))}if(e.max_age&&!F(t.claims.auth_time))throw new Error("Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified");if(!F(t.claims.exp))throw new Error("Expiration Time (exp) claim must be a number present in the ID token");if(!F(t.claims.iat))throw new Error("Issued At (iat) claim must be a number present in the ID token");var n=e.leeway||60,r=new Date(e.now||Date.now()),o=new Date(0),i=new Date(0),s=new Date(0);if(s.setUTCSeconds(parseInt(t.claims.auth_time)+e.max_age+n),o.setUTCSeconds(t.claims.exp+n),i.setUTCSeconds(t.claims.nbf-n),r>o)throw new Error("Expiration Time (exp) claim error in the ID token; current time (".concat(r,") is after expiration time (").concat(o,")"));if(F(t.claims.nbf)&&rs)throw new Error("Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Currrent time (".concat(r,") is after last auth at ").concat(s));if(e.organizationId){if(!t.claims.org_id)throw new Error("Organization ID (org_id) claim must be a string present in the ID token");if(e.organizationId!==t.claims.org_id)throw new Error('Organization ID (org_id) claim mismatch in the ID token; expected "'.concat(e.organizationId,'", found "').concat(t.claims.org_id,'"'))}return t},N=function(e){return Array.from(new Set(e))},q=function(){for(var e=[],t=0;t0?[4,this.cache.set(this.manifestKey,{keys:Array.from(n.values())})]:[3,3]):[3,5];case 2:case 4:return[2,r.sent()];case 3:return[4,this.cache.remove(this.manifestKey)];case 5:return[2]}}))}))},e.prototype.get=function(){return this.cache.get(this.manifestKey)},e.prototype.clear=function(){return this.cache.remove(this.manifestKey)},e.prototype.createManifestKeyFrom=function(e){return"".concat("@@auth0webext@@","::").concat(e)},e}(),Z={},V=function(e,t){return void 0===t&&(t=3),i(void 0,void 0,void 0,(function(){var n;return s(this,(function(r){switch(r.label){case 0:n=0,r.label=1;case 1:return n-1&&(e=e.slice(0,e.indexOf("#")));var t=e.split("&"),n={};return t.forEach((function(e){var t=e.split("="),r=t[0],o=t[1];r&&o&&(n[r]=decodeURIComponent(o))})),n.expires_in&&(n.expires_in=parseInt(n.expires_in)),n}(window.location.search.slice(1)),o&&console.log("[auth0-web-extension] Returning results"),[4,n.sendRuntimeMessage({type:"auth-result",payload:i})]):[3,2];case 1:return s.sent(),window.opener&&window.close(),[3,9];case 2:return[4,n.sendRuntimeMessage({type:"auth-params"})];case 3:a=s.sent(),c=a.authorizeUrl,u=a.domainUrl,o&&console.log("[auth0-web-extension] Creating /authorize url IFrame"),s.label=4;case 4:return s.trys.push([4,7,,9]),[4,se(c,u,60,o)];case 5:return l=s.sent(),[4,n.sendRuntimeMessage({type:"auth-result",payload:l})];case 6:return s.sent(),[3,9];case 7:return d=s.sent(),[4,n.sendRuntimeMessage({type:"auth-error",error:d})];case 8:return s.sent(),[3,9];case 9:return[3,11];case 10:n.addMessageListener((function(t){switch(t.type){case"auth-start":o&&console.log("[auth0-web-extension] Create redirect uri IFrame"),(h=document.createElement("iframe")).setAttribute("width","0"),h.setAttribute("height","0"),h.style.display="none",document.body.appendChild(h),h.setAttribute("src",e);break;case"auth-cleanup":o&&console.log("[auth0-web-extension] Cleaning up IFrame"),h&&window.document.body.removeChild(h);break;case"auth-ack":return"ack";default:throw new Error("Unexpected message type ".concat(t.type))}})),s.label=11;case 11:return[2]}}))}))}var se=function(e,t,n,r){return void 0===n&&(n=60),i(void 0,void 0,void 0,(function(){return s(this,(function(o){return[2,new Promise((function(o,i){var s=window.document.createElement("iframe");s.setAttribute("width","0"),s.setAttribute("height","0"),s.style.display="none",r&&console.log("[auth0-web-extension] created authorize iframe");var a,c=function(){window.document.body.contains(s)&&(r&&console.log("[auth0-web-extension] removing authorize iframe"),window.document.body.removeChild(s),window.removeEventListener("message",a,!1))},u=setTimeout((function(){i(new O),c()}),1e3*n);a=function(e){if(e.origin==t&&e.data&&"authorization_response"===e.data.type){var n=e.source;n&&n.close(),r&&console.log("[auth0-web-extension] received message from authorize iframe"),e.data.response.error?i(E.fromPayload(e.data.response)):o(e.data.response),clearTimeout(u),window.removeEventListener("message",a,!1),setTimeout(c,2e3)}},window.addEventListener("message",a,!1),window.document.body.appendChild(s),s.setAttribute("src",e)}))]}))}))};function ae(e){return new X(e)}export{X as Auth0Client,P as AuthenticationError,E as GenericError,U as MfaRequiredError,O as TimeoutError,oe as User,ae as default,ie as handleTokenRequest}; -//# sourceMappingURL=auth0-web-extension.production.esm.js.map diff --git a/dist/auth0-web-extension.production.esm.js.map b/dist/auth0-web-extension.production.esm.js.map deleted file mode 100644 index 315ea85..0000000 --- a/dist/auth0-web-extension.production.esm.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"auth0-web-extension.production.esm.js","sources":["../node_modules/fast-text-encoding/text.min.js","../node_modules/tslib/tslib.es6.js","../node_modules/webextension-polyfill/dist/browser-polyfill.js","../src/lock/processLock.ts","../src/utils.ts","../src/lock/index.ts","../src/messenger.ts","../src/transaction-manager.ts","../src/constants.ts","../src/errors.ts","../src/http.ts","../src/api.ts","../src/jwt.ts","../src/scope.ts","../src/storage.ts","../src/cache/cache-memory.ts","../src/cache/shared.ts","../src/cache/cache-manager.ts","../src/cache/key-manifest.ts","../src/promise-utils.ts","../src/Auth0Client.ts","../src/global.ts","../src/handler.ts","../src/index.ts"],"sourcesContent":["(function(l){function m(){}function k(a,c){a=void 0===a?\"utf-8\":a;c=void 0===c?{fatal:!1}:c;if(-1===r.indexOf(a.toLowerCase()))throw new RangeError(\"Failed to construct 'TextDecoder': The encoding label provided ('\"+a+\"') is invalid.\");if(c.fatal)throw Error(\"Failed to construct 'TextDecoder': the 'fatal' option is unsupported.\");}function t(a){return Buffer.from(a.buffer,a.byteOffset,a.byteLength).toString(\"utf-8\")}function u(a){var c=URL.createObjectURL(new Blob([a],{type:\"text/plain;charset=UTF-8\"}));\ntry{var f=new XMLHttpRequest;f.open(\"GET\",c,!1);f.send();return f.responseText}catch(e){return q(a)}finally{URL.revokeObjectURL(c)}}function q(a){for(var c=0,f=Math.min(65536,a.length+1),e=new Uint16Array(f),h=[],d=0;;){var b=c=f-1){h.push(String.fromCharCode.apply(null,e.subarray(0,d)));if(!b)return h.join(\"\");a=a.subarray(c);d=c=0}b=a[c++];if(0===(b&128))e[d++]=b;else if(192===(b&224)){var g=a[c++]&63;e[d++]=(b&31)<<6|g}else if(224===(b&240)){g=a[c++]&63;var n=a[c++]&63;e[d++]=\n(b&31)<<12|g<<6|n}else if(240===(b&248)){g=a[c++]&63;n=a[c++]&63;var v=a[c++]&63;b=(b&7)<<18|g<<12|n<<6|v;65535>>10&1023|55296,b=56320|b&1023);e[d++]=b}}}if(l.TextEncoder&&l.TextDecoder)return!1;var r=[\"utf-8\",\"utf8\",\"unicode-1-1-utf-8\"];Object.defineProperty(m.prototype,\"encoding\",{value:\"utf-8\"});m.prototype.encode=function(a,c){c=void 0===c?{stream:!1}:c;if(c.stream)throw Error(\"Failed to encode: the 'stream' option is unsupported.\");c=0;for(var f=a.length,e=0,h=Math.max(32,\nf+(f>>>1)+7),d=new Uint8Array(h>>>3<<3);c=b){if(c=b)continue}e+4>d.length&&(h+=8,h*=1+c/a.length*2,h=h>>>3<<3,g=new Uint8Array(h),g.set(d),d=g);if(0===(b&4294967168))d[e++]=b;else{if(0===(b&4294965248))d[e++]=b>>>6&31|192;else if(0===(b&4294901760))d[e++]=b>>>12&15|224,d[e++]=b>>>6&63|128;else if(0===(b&4292870144))d[e++]=b>>>18&7|240,d[e++]=b>>>12&\n63|128,d[e++]=b>>>6&63|128;else continue;d[e++]=b&63|128}}return d.slice?d.slice(0,e):d.subarray(0,e)};Object.defineProperty(k.prototype,\"encoding\",{value:\"utf-8\"});Object.defineProperty(k.prototype,\"fatal\",{value:!1});Object.defineProperty(k.prototype,\"ignoreBOM\",{value:!1});var p=q;\"function\"===typeof Buffer&&Buffer.from?p=t:\"function\"===typeof Blob&&\"function\"===typeof URL&&\"function\"===typeof URL.createObjectURL&&(p=u);k.prototype.decode=function(a,c){c=void 0===c?{stream:!1}:c;if(c.stream)throw Error(\"Failed to decode: the 'stream' option is unsupported.\");\na=a instanceof Uint8Array?a:a.buffer instanceof ArrayBuffer?new Uint8Array(a.buffer):new Uint8Array(a);return p(a)};l.TextEncoder=m;l.TextDecoder=k})(\"undefined\"!==typeof window?window:\"undefined\"!==typeof global?global:this);\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(\"webextension-polyfill\", [\"module\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(module);\n } else {\n var mod = {\n exports: {}\n };\n factory(mod);\n global.browser = mod.exports;\n }\n})(typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : this, function (module) {\n /* webextension-polyfill - v0.8.0 - Tue Apr 20 2021 11:27:38 */\n\n /* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */\n\n /* vim: set sts=2 sw=2 et tw=80: */\n\n /* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n \"use strict\";\n\n if (typeof browser === \"undefined\" || Object.getPrototypeOf(browser) !== Object.prototype) {\n const CHROME_SEND_MESSAGE_CALLBACK_NO_RESPONSE_MESSAGE = \"The message port closed before a response was received.\";\n const SEND_RESPONSE_DEPRECATION_WARNING = \"Returning a Promise is the preferred way to send a reply from an onMessage/onMessageExternal listener, as the sendResponse will be removed from the specs (See https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)\"; // Wrapping the bulk of this polyfill in a one-time-use function is a minor\n // optimization for Firefox. Since Spidermonkey does not fully parse the\n // contents of a function until the first time it's called, and since it will\n // never actually need to be called, this allows the polyfill to be included\n // in Firefox nearly for free.\n\n const wrapAPIs = extensionAPIs => {\n // NOTE: apiMetadata is associated to the content of the api-metadata.json file\n // at build time by replacing the following \"include\" with the content of the\n // JSON file.\n const apiMetadata = {\n \"alarms\": {\n \"clear\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"clearAll\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"get\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"getAll\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n }\n },\n \"bookmarks\": {\n \"create\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"get\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"getChildren\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"getRecent\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"getSubTree\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"getTree\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"move\": {\n \"minArgs\": 2,\n \"maxArgs\": 2\n },\n \"remove\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"removeTree\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"search\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"update\": {\n \"minArgs\": 2,\n \"maxArgs\": 2\n }\n },\n \"browserAction\": {\n \"disable\": {\n \"minArgs\": 0,\n \"maxArgs\": 1,\n \"fallbackToNoCallback\": true\n },\n \"enable\": {\n \"minArgs\": 0,\n \"maxArgs\": 1,\n \"fallbackToNoCallback\": true\n },\n \"getBadgeBackgroundColor\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"getBadgeText\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"getPopup\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"getTitle\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"openPopup\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"setBadgeBackgroundColor\": {\n \"minArgs\": 1,\n \"maxArgs\": 1,\n \"fallbackToNoCallback\": true\n },\n \"setBadgeText\": {\n \"minArgs\": 1,\n \"maxArgs\": 1,\n \"fallbackToNoCallback\": true\n },\n \"setIcon\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"setPopup\": {\n \"minArgs\": 1,\n \"maxArgs\": 1,\n \"fallbackToNoCallback\": true\n },\n \"setTitle\": {\n \"minArgs\": 1,\n \"maxArgs\": 1,\n \"fallbackToNoCallback\": true\n }\n },\n \"browsingData\": {\n \"remove\": {\n \"minArgs\": 2,\n \"maxArgs\": 2\n },\n \"removeCache\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"removeCookies\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"removeDownloads\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"removeFormData\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"removeHistory\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"removeLocalStorage\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"removePasswords\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"removePluginData\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"settings\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n }\n },\n \"commands\": {\n \"getAll\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n }\n },\n \"contextMenus\": {\n \"remove\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"removeAll\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"update\": {\n \"minArgs\": 2,\n \"maxArgs\": 2\n }\n },\n \"cookies\": {\n \"get\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"getAll\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"getAllCookieStores\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"remove\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"set\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n }\n },\n \"devtools\": {\n \"inspectedWindow\": {\n \"eval\": {\n \"minArgs\": 1,\n \"maxArgs\": 2,\n \"singleCallbackArg\": false\n }\n },\n \"panels\": {\n \"create\": {\n \"minArgs\": 3,\n \"maxArgs\": 3,\n \"singleCallbackArg\": true\n },\n \"elements\": {\n \"createSidebarPane\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n }\n }\n }\n },\n \"downloads\": {\n \"cancel\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"download\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"erase\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"getFileIcon\": {\n \"minArgs\": 1,\n \"maxArgs\": 2\n },\n \"open\": {\n \"minArgs\": 1,\n \"maxArgs\": 1,\n \"fallbackToNoCallback\": true\n },\n \"pause\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"removeFile\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"resume\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"search\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"show\": {\n \"minArgs\": 1,\n \"maxArgs\": 1,\n \"fallbackToNoCallback\": true\n }\n },\n \"extension\": {\n \"isAllowedFileSchemeAccess\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"isAllowedIncognitoAccess\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n }\n },\n \"history\": {\n \"addUrl\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"deleteAll\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"deleteRange\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"deleteUrl\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"getVisits\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"search\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n }\n },\n \"i18n\": {\n \"detectLanguage\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"getAcceptLanguages\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n }\n },\n \"identity\": {\n \"launchWebAuthFlow\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n }\n },\n \"idle\": {\n \"queryState\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n }\n },\n \"management\": {\n \"get\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"getAll\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"getSelf\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"setEnabled\": {\n \"minArgs\": 2,\n \"maxArgs\": 2\n },\n \"uninstallSelf\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n }\n },\n \"notifications\": {\n \"clear\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"create\": {\n \"minArgs\": 1,\n \"maxArgs\": 2\n },\n \"getAll\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"getPermissionLevel\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"update\": {\n \"minArgs\": 2,\n \"maxArgs\": 2\n }\n },\n \"pageAction\": {\n \"getPopup\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"getTitle\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"hide\": {\n \"minArgs\": 1,\n \"maxArgs\": 1,\n \"fallbackToNoCallback\": true\n },\n \"setIcon\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"setPopup\": {\n \"minArgs\": 1,\n \"maxArgs\": 1,\n \"fallbackToNoCallback\": true\n },\n \"setTitle\": {\n \"minArgs\": 1,\n \"maxArgs\": 1,\n \"fallbackToNoCallback\": true\n },\n \"show\": {\n \"minArgs\": 1,\n \"maxArgs\": 1,\n \"fallbackToNoCallback\": true\n }\n },\n \"permissions\": {\n \"contains\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"getAll\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"remove\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"request\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n }\n },\n \"runtime\": {\n \"getBackgroundPage\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"getPlatformInfo\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"openOptionsPage\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"requestUpdateCheck\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"sendMessage\": {\n \"minArgs\": 1,\n \"maxArgs\": 3\n },\n \"sendNativeMessage\": {\n \"minArgs\": 2,\n \"maxArgs\": 2\n },\n \"setUninstallURL\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n }\n },\n \"sessions\": {\n \"getDevices\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"getRecentlyClosed\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"restore\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n }\n },\n \"storage\": {\n \"local\": {\n \"clear\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"get\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"getBytesInUse\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"remove\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"set\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n }\n },\n \"managed\": {\n \"get\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"getBytesInUse\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n }\n },\n \"sync\": {\n \"clear\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"get\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"getBytesInUse\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"remove\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"set\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n }\n }\n },\n \"tabs\": {\n \"captureVisibleTab\": {\n \"minArgs\": 0,\n \"maxArgs\": 2\n },\n \"create\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"detectLanguage\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"discard\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"duplicate\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"executeScript\": {\n \"minArgs\": 1,\n \"maxArgs\": 2\n },\n \"get\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"getCurrent\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n },\n \"getZoom\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"getZoomSettings\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"goBack\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"goForward\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"highlight\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"insertCSS\": {\n \"minArgs\": 1,\n \"maxArgs\": 2\n },\n \"move\": {\n \"minArgs\": 2,\n \"maxArgs\": 2\n },\n \"query\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"reload\": {\n \"minArgs\": 0,\n \"maxArgs\": 2\n },\n \"remove\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"removeCSS\": {\n \"minArgs\": 1,\n \"maxArgs\": 2\n },\n \"sendMessage\": {\n \"minArgs\": 2,\n \"maxArgs\": 3\n },\n \"setZoom\": {\n \"minArgs\": 1,\n \"maxArgs\": 2\n },\n \"setZoomSettings\": {\n \"minArgs\": 1,\n \"maxArgs\": 2\n },\n \"update\": {\n \"minArgs\": 1,\n \"maxArgs\": 2\n }\n },\n \"topSites\": {\n \"get\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n }\n },\n \"webNavigation\": {\n \"getAllFrames\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"getFrame\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n }\n },\n \"webRequest\": {\n \"handlerBehaviorChanged\": {\n \"minArgs\": 0,\n \"maxArgs\": 0\n }\n },\n \"windows\": {\n \"create\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"get\": {\n \"minArgs\": 1,\n \"maxArgs\": 2\n },\n \"getAll\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"getCurrent\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"getLastFocused\": {\n \"minArgs\": 0,\n \"maxArgs\": 1\n },\n \"remove\": {\n \"minArgs\": 1,\n \"maxArgs\": 1\n },\n \"update\": {\n \"minArgs\": 2,\n \"maxArgs\": 2\n }\n }\n };\n\n if (Object.keys(apiMetadata).length === 0) {\n throw new Error(\"api-metadata.json has not been included in browser-polyfill\");\n }\n /**\n * A WeakMap subclass which creates and stores a value for any key which does\n * not exist when accessed, but behaves exactly as an ordinary WeakMap\n * otherwise.\n *\n * @param {function} createItem\n * A function which will be called in order to create the value for any\n * key which does not exist, the first time it is accessed. The\n * function receives, as its only argument, the key being created.\n */\n\n\n class DefaultWeakMap extends WeakMap {\n constructor(createItem, items = undefined) {\n super(items);\n this.createItem = createItem;\n }\n\n get(key) {\n if (!this.has(key)) {\n this.set(key, this.createItem(key));\n }\n\n return super.get(key);\n }\n\n }\n /**\n * Returns true if the given object is an object with a `then` method, and can\n * therefore be assumed to behave as a Promise.\n *\n * @param {*} value The value to test.\n * @returns {boolean} True if the value is thenable.\n */\n\n\n const isThenable = value => {\n return value && typeof value === \"object\" && typeof value.then === \"function\";\n };\n /**\n * Creates and returns a function which, when called, will resolve or reject\n * the given promise based on how it is called:\n *\n * - If, when called, `chrome.runtime.lastError` contains a non-null object,\n * the promise is rejected with that value.\n * - If the function is called with exactly one argument, the promise is\n * resolved to that value.\n * - Otherwise, the promise is resolved to an array containing all of the\n * function's arguments.\n *\n * @param {object} promise\n * An object containing the resolution and rejection functions of a\n * promise.\n * @param {function} promise.resolve\n * The promise's resolution function.\n * @param {function} promise.reject\n * The promise's rejection function.\n * @param {object} metadata\n * Metadata about the wrapped method which has created the callback.\n * @param {boolean} metadata.singleCallbackArg\n * Whether or not the promise is resolved with only the first\n * argument of the callback, alternatively an array of all the\n * callback arguments is resolved. By default, if the callback\n * function is invoked with only a single argument, that will be\n * resolved to the promise, while all arguments will be resolved as\n * an array if multiple are given.\n *\n * @returns {function}\n * The generated callback function.\n */\n\n\n const makeCallback = (promise, metadata) => {\n return (...callbackArgs) => {\n if (extensionAPIs.runtime.lastError) {\n promise.reject(new Error(extensionAPIs.runtime.lastError.message));\n } else if (metadata.singleCallbackArg || callbackArgs.length <= 1 && metadata.singleCallbackArg !== false) {\n promise.resolve(callbackArgs[0]);\n } else {\n promise.resolve(callbackArgs);\n }\n };\n };\n\n const pluralizeArguments = numArgs => numArgs == 1 ? \"argument\" : \"arguments\";\n /**\n * Creates a wrapper function for a method with the given name and metadata.\n *\n * @param {string} name\n * The name of the method which is being wrapped.\n * @param {object} metadata\n * Metadata about the method being wrapped.\n * @param {integer} metadata.minArgs\n * The minimum number of arguments which must be passed to the\n * function. If called with fewer than this number of arguments, the\n * wrapper will raise an exception.\n * @param {integer} metadata.maxArgs\n * The maximum number of arguments which may be passed to the\n * function. If called with more than this number of arguments, the\n * wrapper will raise an exception.\n * @param {boolean} metadata.singleCallbackArg\n * Whether or not the promise is resolved with only the first\n * argument of the callback, alternatively an array of all the\n * callback arguments is resolved. By default, if the callback\n * function is invoked with only a single argument, that will be\n * resolved to the promise, while all arguments will be resolved as\n * an array if multiple are given.\n *\n * @returns {function(object, ...*)}\n * The generated wrapper function.\n */\n\n\n const wrapAsyncFunction = (name, metadata) => {\n return function asyncFunctionWrapper(target, ...args) {\n if (args.length < metadata.minArgs) {\n throw new Error(`Expected at least ${metadata.minArgs} ${pluralizeArguments(metadata.minArgs)} for ${name}(), got ${args.length}`);\n }\n\n if (args.length > metadata.maxArgs) {\n throw new Error(`Expected at most ${metadata.maxArgs} ${pluralizeArguments(metadata.maxArgs)} for ${name}(), got ${args.length}`);\n }\n\n return new Promise((resolve, reject) => {\n if (metadata.fallbackToNoCallback) {\n // This API method has currently no callback on Chrome, but it return a promise on Firefox,\n // and so the polyfill will try to call it with a callback first, and it will fallback\n // to not passing the callback if the first call fails.\n try {\n target[name](...args, makeCallback({\n resolve,\n reject\n }, metadata));\n } catch (cbError) {\n console.warn(`${name} API method doesn't seem to support the callback parameter, ` + \"falling back to call it without a callback: \", cbError);\n target[name](...args); // Update the API method metadata, so that the next API calls will not try to\n // use the unsupported callback anymore.\n\n metadata.fallbackToNoCallback = false;\n metadata.noCallback = true;\n resolve();\n }\n } else if (metadata.noCallback) {\n target[name](...args);\n resolve();\n } else {\n target[name](...args, makeCallback({\n resolve,\n reject\n }, metadata));\n }\n });\n };\n };\n /**\n * Wraps an existing method of the target object, so that calls to it are\n * intercepted by the given wrapper function. The wrapper function receives,\n * as its first argument, the original `target` object, followed by each of\n * the arguments passed to the original method.\n *\n * @param {object} target\n * The original target object that the wrapped method belongs to.\n * @param {function} method\n * The method being wrapped. This is used as the target of the Proxy\n * object which is created to wrap the method.\n * @param {function} wrapper\n * The wrapper function which is called in place of a direct invocation\n * of the wrapped method.\n *\n * @returns {Proxy}\n * A Proxy object for the given method, which invokes the given wrapper\n * method in its place.\n */\n\n\n const wrapMethod = (target, method, wrapper) => {\n return new Proxy(method, {\n apply(targetMethod, thisObj, args) {\n return wrapper.call(thisObj, target, ...args);\n }\n\n });\n };\n\n let hasOwnProperty = Function.call.bind(Object.prototype.hasOwnProperty);\n /**\n * Wraps an object in a Proxy which intercepts and wraps certain methods\n * based on the given `wrappers` and `metadata` objects.\n *\n * @param {object} target\n * The target object to wrap.\n *\n * @param {object} [wrappers = {}]\n * An object tree containing wrapper functions for special cases. Any\n * function present in this object tree is called in place of the\n * method in the same location in the `target` object tree. These\n * wrapper methods are invoked as described in {@see wrapMethod}.\n *\n * @param {object} [metadata = {}]\n * An object tree containing metadata used to automatically generate\n * Promise-based wrapper functions for asynchronous. Any function in\n * the `target` object tree which has a corresponding metadata object\n * in the same location in the `metadata` tree is replaced with an\n * automatically-generated wrapper function, as described in\n * {@see wrapAsyncFunction}\n *\n * @returns {Proxy}\n */\n\n const wrapObject = (target, wrappers = {}, metadata = {}) => {\n let cache = Object.create(null);\n let handlers = {\n has(proxyTarget, prop) {\n return prop in target || prop in cache;\n },\n\n get(proxyTarget, prop, receiver) {\n if (prop in cache) {\n return cache[prop];\n }\n\n if (!(prop in target)) {\n return undefined;\n }\n\n let value = target[prop];\n\n if (typeof value === \"function\") {\n // This is a method on the underlying object. Check if we need to do\n // any wrapping.\n if (typeof wrappers[prop] === \"function\") {\n // We have a special-case wrapper for this method.\n value = wrapMethod(target, target[prop], wrappers[prop]);\n } else if (hasOwnProperty(metadata, prop)) {\n // This is an async method that we have metadata for. Create a\n // Promise wrapper for it.\n let wrapper = wrapAsyncFunction(prop, metadata[prop]);\n value = wrapMethod(target, target[prop], wrapper);\n } else {\n // This is a method that we don't know or care about. Return the\n // original method, bound to the underlying object.\n value = value.bind(target);\n }\n } else if (typeof value === \"object\" && value !== null && (hasOwnProperty(wrappers, prop) || hasOwnProperty(metadata, prop))) {\n // This is an object that we need to do some wrapping for the children\n // of. Create a sub-object wrapper for it with the appropriate child\n // metadata.\n value = wrapObject(value, wrappers[prop], metadata[prop]);\n } else if (hasOwnProperty(metadata, \"*\")) {\n // Wrap all properties in * namespace.\n value = wrapObject(value, wrappers[prop], metadata[\"*\"]);\n } else {\n // We don't need to do any wrapping for this property,\n // so just forward all access to the underlying object.\n Object.defineProperty(cache, prop, {\n configurable: true,\n enumerable: true,\n\n get() {\n return target[prop];\n },\n\n set(value) {\n target[prop] = value;\n }\n\n });\n return value;\n }\n\n cache[prop] = value;\n return value;\n },\n\n set(proxyTarget, prop, value, receiver) {\n if (prop in cache) {\n cache[prop] = value;\n } else {\n target[prop] = value;\n }\n\n return true;\n },\n\n defineProperty(proxyTarget, prop, desc) {\n return Reflect.defineProperty(cache, prop, desc);\n },\n\n deleteProperty(proxyTarget, prop) {\n return Reflect.deleteProperty(cache, prop);\n }\n\n }; // Per contract of the Proxy API, the \"get\" proxy handler must return the\n // original value of the target if that value is declared read-only and\n // non-configurable. For this reason, we create an object with the\n // prototype set to `target` instead of using `target` directly.\n // Otherwise we cannot return a custom object for APIs that\n // are declared read-only and non-configurable, such as `chrome.devtools`.\n //\n // The proxy handlers themselves will still use the original `target`\n // instead of the `proxyTarget`, so that the methods and properties are\n // dereferenced via the original targets.\n\n let proxyTarget = Object.create(target);\n return new Proxy(proxyTarget, handlers);\n };\n /**\n * Creates a set of wrapper functions for an event object, which handles\n * wrapping of listener functions that those messages are passed.\n *\n * A single wrapper is created for each listener function, and stored in a\n * map. Subsequent calls to `addListener`, `hasListener`, or `removeListener`\n * retrieve the original wrapper, so that attempts to remove a\n * previously-added listener work as expected.\n *\n * @param {DefaultWeakMap} wrapperMap\n * A DefaultWeakMap object which will create the appropriate wrapper\n * for a given listener function when one does not exist, and retrieve\n * an existing one when it does.\n *\n * @returns {object}\n */\n\n\n const wrapEvent = wrapperMap => ({\n addListener(target, listener, ...args) {\n target.addListener(wrapperMap.get(listener), ...args);\n },\n\n hasListener(target, listener) {\n return target.hasListener(wrapperMap.get(listener));\n },\n\n removeListener(target, listener) {\n target.removeListener(wrapperMap.get(listener));\n }\n\n });\n\n const onRequestFinishedWrappers = new DefaultWeakMap(listener => {\n if (typeof listener !== \"function\") {\n return listener;\n }\n /**\n * Wraps an onRequestFinished listener function so that it will return a\n * `getContent()` property which returns a `Promise` rather than using a\n * callback API.\n *\n * @param {object} req\n * The HAR entry object representing the network request.\n */\n\n\n return function onRequestFinished(req) {\n const wrappedReq = wrapObject(req, {}\n /* wrappers */\n , {\n getContent: {\n minArgs: 0,\n maxArgs: 0\n }\n });\n listener(wrappedReq);\n };\n }); // Keep track if the deprecation warning has been logged at least once.\n\n let loggedSendResponseDeprecationWarning = false;\n const onMessageWrappers = new DefaultWeakMap(listener => {\n if (typeof listener !== \"function\") {\n return listener;\n }\n /**\n * Wraps a message listener function so that it may send responses based on\n * its return value, rather than by returning a sentinel value and calling a\n * callback. If the listener function returns a Promise, the response is\n * sent when the promise either resolves or rejects.\n *\n * @param {*} message\n * The message sent by the other end of the channel.\n * @param {object} sender\n * Details about the sender of the message.\n * @param {function(*)} sendResponse\n * A callback which, when called with an arbitrary argument, sends\n * that value as a response.\n * @returns {boolean}\n * True if the wrapped listener returned a Promise, which will later\n * yield a response. False otherwise.\n */\n\n\n return function onMessage(message, sender, sendResponse) {\n let didCallSendResponse = false;\n let wrappedSendResponse;\n let sendResponsePromise = new Promise(resolve => {\n wrappedSendResponse = function (response) {\n if (!loggedSendResponseDeprecationWarning) {\n console.warn(SEND_RESPONSE_DEPRECATION_WARNING, new Error().stack);\n loggedSendResponseDeprecationWarning = true;\n }\n\n didCallSendResponse = true;\n resolve(response);\n };\n });\n let result;\n\n try {\n result = listener(message, sender, wrappedSendResponse);\n } catch (err) {\n result = Promise.reject(err);\n }\n\n const isResultThenable = result !== true && isThenable(result); // If the listener didn't returned true or a Promise, or called\n // wrappedSendResponse synchronously, we can exit earlier\n // because there will be no response sent from this listener.\n\n if (result !== true && !isResultThenable && !didCallSendResponse) {\n return false;\n } // A small helper to send the message if the promise resolves\n // and an error if the promise rejects (a wrapped sendMessage has\n // to translate the message into a resolved promise or a rejected\n // promise).\n\n\n const sendPromisedResult = promise => {\n promise.then(msg => {\n // send the message value.\n sendResponse(msg);\n }, error => {\n // Send a JSON representation of the error if the rejected value\n // is an instance of error, or the object itself otherwise.\n let message;\n\n if (error && (error instanceof Error || typeof error.message === \"string\")) {\n message = error.message;\n } else {\n message = \"An unexpected error occurred\";\n }\n\n sendResponse({\n __mozWebExtensionPolyfillReject__: true,\n message\n });\n }).catch(err => {\n // Print an error on the console if unable to send the response.\n console.error(\"Failed to send onMessage rejected reply\", err);\n });\n }; // If the listener returned a Promise, send the resolved value as a\n // result, otherwise wait the promise related to the wrappedSendResponse\n // callback to resolve and send it as a response.\n\n\n if (isResultThenable) {\n sendPromisedResult(result);\n } else {\n sendPromisedResult(sendResponsePromise);\n } // Let Chrome know that the listener is replying.\n\n\n return true;\n };\n });\n\n const wrappedSendMessageCallback = ({\n reject,\n resolve\n }, reply) => {\n if (extensionAPIs.runtime.lastError) {\n // Detect when none of the listeners replied to the sendMessage call and resolve\n // the promise to undefined as in Firefox.\n // See https://github.com/mozilla/webextension-polyfill/issues/130\n if (extensionAPIs.runtime.lastError.message === CHROME_SEND_MESSAGE_CALLBACK_NO_RESPONSE_MESSAGE) {\n resolve();\n } else {\n reject(new Error(extensionAPIs.runtime.lastError.message));\n }\n } else if (reply && reply.__mozWebExtensionPolyfillReject__) {\n // Convert back the JSON representation of the error into\n // an Error instance.\n reject(new Error(reply.message));\n } else {\n resolve(reply);\n }\n };\n\n const wrappedSendMessage = (name, metadata, apiNamespaceObj, ...args) => {\n if (args.length < metadata.minArgs) {\n throw new Error(`Expected at least ${metadata.minArgs} ${pluralizeArguments(metadata.minArgs)} for ${name}(), got ${args.length}`);\n }\n\n if (args.length > metadata.maxArgs) {\n throw new Error(`Expected at most ${metadata.maxArgs} ${pluralizeArguments(metadata.maxArgs)} for ${name}(), got ${args.length}`);\n }\n\n return new Promise((resolve, reject) => {\n const wrappedCb = wrappedSendMessageCallback.bind(null, {\n resolve,\n reject\n });\n args.push(wrappedCb);\n apiNamespaceObj.sendMessage(...args);\n });\n };\n\n const staticWrappers = {\n devtools: {\n network: {\n onRequestFinished: wrapEvent(onRequestFinishedWrappers)\n }\n },\n runtime: {\n onMessage: wrapEvent(onMessageWrappers),\n onMessageExternal: wrapEvent(onMessageWrappers),\n sendMessage: wrappedSendMessage.bind(null, \"sendMessage\", {\n minArgs: 1,\n maxArgs: 3\n })\n },\n tabs: {\n sendMessage: wrappedSendMessage.bind(null, \"sendMessage\", {\n minArgs: 2,\n maxArgs: 3\n })\n }\n };\n const settingMetadata = {\n clear: {\n minArgs: 1,\n maxArgs: 1\n },\n get: {\n minArgs: 1,\n maxArgs: 1\n },\n set: {\n minArgs: 1,\n maxArgs: 1\n }\n };\n apiMetadata.privacy = {\n network: {\n \"*\": settingMetadata\n },\n services: {\n \"*\": settingMetadata\n },\n websites: {\n \"*\": settingMetadata\n }\n };\n return wrapObject(extensionAPIs, staticWrappers, apiMetadata);\n };\n\n if (typeof chrome != \"object\" || !chrome || !chrome.runtime || !chrome.runtime.id) {\n throw new Error(\"This script should only be loaded in a browser extension.\");\n } // The build process adds a UMD wrapper around this file, which makes the\n // `module` variable available.\n\n\n module.exports = wrapAPIs(chrome);\n } else {\n module.exports = browser;\n }\n});\n//# sourceMappingURL=browser-polyfill.js.map\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["l","m","k","a","c","fatal","r","indexOf","toLowerCase","RangeError","Error","q","f","Math","min","length","e","Uint16Array","h","d","b","push","String","fromCharCode","apply","subarray","join","g","n","TextEncoder","TextDecoder","Object","defineProperty","prototype","value","encode","stream","max","Uint8Array","charCodeAt","set","slice","p","Buffer","from","buffer","byteOffset","byteLength","toString","Blob","URL","createObjectURL","type","XMLHttpRequest","open","send","responseText","revokeObjectURL","decode","ArrayBuffer","window","global","extendStatics","setPrototypeOf","__proto__","Array","hasOwnProperty","call","__extends","TypeError","__","this","constructor","create","__assign","assign","t","s","i","arguments","__rest","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","then","__generator","body","y","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","pop","__values","o","__asyncValues","asyncIterator","settle","globalThis","self","module","browser","getPrototypeOf","CHROME_SEND_MESSAGE_CALLBACK_NO_RESPONSE_MESSAGE","SEND_RESPONSE_DEPRECATION_WARNING","wrapAPIs","extensionAPIs","apiMetadata","alarms","clear","minArgs","maxArgs","clearAll","get","getAll","bookmarks","getChildren","getRecent","getSubTree","getTree","move","remove","removeTree","search","update","browserAction","disable","fallbackToNoCallback","enable","getBadgeBackgroundColor","getBadgeText","getPopup","getTitle","openPopup","setBadgeBackgroundColor","setBadgeText","setIcon","setPopup","setTitle","browsingData","removeCache","removeCookies","removeDownloads","removeFormData","removeHistory","removeLocalStorage","removePasswords","removePluginData","settings","commands","contextMenus","removeAll","cookies","getAllCookieStores","devtools","inspectedWindow","eval","singleCallbackArg","panels","elements","createSidebarPane","downloads","cancel","download","erase","getFileIcon","pause","removeFile","resume","show","extension","isAllowedFileSchemeAccess","isAllowedIncognitoAccess","history","addUrl","deleteAll","deleteRange","deleteUrl","getVisits","i18n","detectLanguage","getAcceptLanguages","identity","launchWebAuthFlow","idle","queryState","management","getSelf","setEnabled","uninstallSelf","notifications","getPermissionLevel","pageAction","hide","permissions","contains","request","runtime","getBackgroundPage","getPlatformInfo","openOptionsPage","requestUpdateCheck","sendMessage","sendNativeMessage","setUninstallURL","sessions","getDevices","getRecentlyClosed","restore","storage","local","getBytesInUse","managed","sync","tabs","captureVisibleTab","discard","duplicate","executeScript","getCurrent","getZoom","getZoomSettings","goBack","goForward","highlight","insertCSS","query","reload","removeCSS","setZoom","setZoomSettings","topSites","webNavigation","getAllFrames","getFrame","webRequest","handlerBehaviorChanged","windows","getLastFocused","keys","DefaultWeakMap","WeakMap","createItem","items","super","key","has","isThenable","makeCallback","promise","metadata","callbackArgs","lastError","message","pluralizeArguments","numArgs","wrapAsyncFunction","name","target","args","cbError","console","warn","noCallback","wrapMethod","method","wrapper","Proxy","targetMethod","thisObj","Function","bind","wrapObject","wrappers","cache","handlers","proxyTarget","prop","receiver","configurable","enumerable","desc","Reflect","deleteProperty","wrapEvent","wrapperMap","addListener","listener","hasListener","removeListener","onRequestFinishedWrappers","req","wrappedReq","getContent","loggedSendResponseDeprecationWarning","onMessageWrappers","sender","sendResponse","wrappedSendResponse","didCallSendResponse","sendResponsePromise","response","stack","err","isResultThenable","sendPromisedResult","msg","error","__mozWebExtensionPolyfillReject__","catch","wrappedSendMessageCallback","reply","wrappedSendMessage","apiNamespaceObj","wrappedCb","staticWrappers","network","onRequestFinished","onMessage","onMessageExternal","settingMetadata","privacy","services","websites","chrome","id","exports","factory","Map","toAdd","callbacks","_this","locked","undefined","unshift","isLocked","addToLocked","toCall","setTimeout","delete","ProcessLocking","instance","getLock","getInstance","getCrypto","crypto","msCrypto","getCryptoSubtle","subtle","webkitSubtle","createRandomString","charset","random","floor","createSecureRandomString","getRandomValues","forEach","btoa","createQueryParams","params","filter","map","encodeURIComponent","sha256","digestOp","digest","_a","decodeB64","input","decodeURIComponent","atob","split","urlDecodeB64","replace","bufferToBase64UrlEncoded","ie11SafeInput","b64Chars","urlEncodeB64","delay","ms","Set","Date","now","waiters","Lock","timeout","iat","maxTime","storageKey","hasKey","lockCorrector","waitForSomethingToChange","setItem","JSON","stringify","timeUpdated","getItem","itemPostDelay","item","parse","acquiredIatSet","add","refreshLock","lockObj","parsed","getProcessLock","lock","removeItem","unlock","notifyWaiters","minTime","allKeys","_b","keys_1","includes","resolveCalled","startedAt","removedListeners","stopWaiting","onChanged","removeFromWaiting","clearTimeout","timeoutId","timeToWait","addToWaiting","func","to","pack","ar","concat","__spreadArray","Boolean","Messenger","tabId","wrappedMessage","source","handler","clientId","transaction","TransactionManager","save","daysUntilExpire","RECOVERABLE_ERRORS","DEFAULT_NOW_PROVIDER","error_description","_super","GenericError","state","appState","AuthenticationError","TimeoutError","mfa_token","MfaRequiredError","dofetch","fetchUrl","fetchOptions","fetch","ok","json","fetchWithTimeout","controller","AbortController","signal","race","abort","finally","fetchJSON","url","options","fetchError","e_1","data","errorMessage","oauthToken","baseUrl","useFormData","headers","isNumber","idTokendecoded","verifyIdToken","id_token","decoded","token","parts","header","payload","signature","payloadJSON","claims","__raw","user","encoded","iss","sub","alg","aud","isArray","azp","nonce","max_age","auth_time","exp","leeway","expDate","nbfDate","authTimeDate","setUTCSeconds","parseInt","nbf","organizationId","org_id","dedupe","arr","getUniqueScopes","_i","scopes","trim","InMemoryStorage","entry","cacheEntry","prefix","client_id","scope","audience","CacheKey","keyManifest","nowProvider","CacheManager","cacheKey","expiryAdjustmentSeconds","toKey","wrappedEntry","getCacheKeys","matchedKey","matchExistingCacheKey","nowSeconds","expiresAt","refresh_token","wrapCacheEntry","reduce","memo","expiresInTime","expires_in","expirySeconds","decodedToken","_c","keyToMatch","fromKey","scopeSet","scopesToMatch","hasAllScopes","acc","current","manifestKey","createManifestKeyFrom","CacheKeyManifest","values","size","singlePromiseMap","retryPromise","cb","maxNumberOfRetries","validateCrypto","cacheLocation","cacheFactory","transactionStorage","transactionManager","messenger","cacheManager","domainUrl","getDomain","domain","tokenIssuer","getTokenIssuer","issuer","defaultScope","advancedOptions","useRefreshTokens","customOptions","getCustomInitialOptions","addMessageListener","tab","sendTabMessage","debug","log","_handleAuthorizeResponse","errorCallback","authorizeUrl","Auth0Client","path","authorizeOptions","code_challenge","redirect_uri","loginOptions","response_type","response_mode","code_challenge_method","_url","checkSession","stateIn","nonceIn","codeVerifier","codeChallengeBuffer","codeChallenge","fragment","_getParams","_authorizeUrl","acquireLock","code_verifier","callback","releaseLock","config","width","height","popup","removeWindow","authResult","code","grant_type","tokenResult","_verifyIdToken","oauthTokenScope","getUser","getTokenSilently","error_1","_getTokenSilently","ignoreCache","getTokenOptions","_getEntryFromCache","getDetailedEntry","detailedResponse","_getTokenUsingRefreshToken","_getTokenFromIFrame","access_token","prompt","timeoutInSeconds","authorizeTimeoutInSeconds","_getTabId","queryOptions","active","currentWindow","currentTab","resp","error_2","parseNumber","test","cacheLocationBuilders","InMemoryCache","enclosedCache","location","startsWith","handleTokenRequest","redirectUri","origin","results","queryString","queryParams","parsedQuery","qp","val","parseQueryResult","sendRuntimeMessage","opener","close","runIFrame","codeResult","iframe_1","document","createElement","setAttribute","style","display","appendChild","removeChild","eventOrigin","res","rej","iframe","iframeEventHandler","removeIframe","removeEventListener","timeoutSetTimeoutId","eventSource","fromPayload","addEventListener","createAuth0Client"],"mappings":"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"} \ No newline at end of file diff --git a/dist/types/Auth0Client.d.ts b/dist/types/Auth0Client.d.ts deleted file mode 100644 index 0fd2ac9..0000000 --- a/dist/types/Auth0Client.d.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { Auth0ClientOptions, CacheLocation, GetTokenSilentlyOptions, GetTokenSilentlyResult, GetTokenSilentlyVerboseResult, User, GetUserOptions, IdToken, GetIdTokenClaimsOptions, RedirectLoginOptions, PopupLoginOptions, PopupConfigOptions } from './global'; -/** - * Auth0 SDK for Background Scripts in a Web Extension - */ -export default class Auth0Client { - private options; - private transactionManager; - private messenger; - private cacheManager; - private customOptions; - private domainUrl; - private tokenIssuer; - private defaultScope; - private scope; - private nowProvider; - cacheLocation: CacheLocation; - constructor(options: Auth0ClientOptions); - private _url; - private _getParams; - private _authorizeUrl; - /** - * ```js - * const user = await auth0.getUser(); - * ``` - * - * Returns the user information if available (decoded from the `id_token`). - * - * If you provide an audience or scope, they should match an existing Access Token - * (the SDK stores a corresponding ID Token with every Access Token, and uses the - * scope and audience to look up the ID Token) - * - * @typeparam TUser The type to return, has to extend {@link User}. - * @param options - */ - getUser(options?: GetUserOptions): Promise; - /** - * ```js - * const claims = await auth0.getIdTokenClaims(); - * ``` - * - Returns all claims from the id_token if available. - * - * If you provide an audience or scope, they should match an existin - * (the SDK stores a corresponding ID Token with every Access Token, - * scope and audience to look up the ID Token) - * - * @param options - */ - getIdTokenClaims(options?: GetIdTokenClaimsOptions): Promise; - loginWithNewTab(options?: RedirectLoginOptions): Promise; - loginWithPopup(options?: PopupLoginOptions, config?: PopupConfigOptions): Promise; - private _handleAuthorizeResponse; - /** - * ```js - * const isAuthenticated = await auth0.isAuthenticated(); - * ``` - * - * Returns `true` if there's valid information stored, - * otherwise returns `false`. - * - */ - isAuthenticated(): Promise; - checkSession(options?: GetTokenSilentlyOptions): Promise; - getTokenSilently(options: GetTokenSilentlyOptions & { - detailedResponse: true; - }): Promise; - getTokenSilently(options?: GetTokenSilentlyOptions): Promise; - private _getTokenSilently; - private _getTokenUsingRefreshToken; - private _getTokenFromIFrame; - private _getTabId; - private _verifyIdToken; - private _getEntryFromCache; -} diff --git a/dist/types/api.d.ts b/dist/types/api.d.ts deleted file mode 100644 index 11a027e..0000000 --- a/dist/types/api.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { TokenEndpointOptions, TokenEndpointResponse } from './global'; -export declare function oauthToken({ baseUrl, timeout, audience, scope, useFormData, ...options }: TokenEndpointOptions): Promise; diff --git a/dist/types/cache/cache-manager.d.ts b/dist/types/cache/cache-manager.d.ts deleted file mode 100644 index 88cab98..0000000 --- a/dist/types/cache/cache-manager.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { CacheKeyManifest } from './key-manifest'; -import { CacheEntry, ICache, CacheKey } from './shared'; -export declare class CacheManager { - private cache; - private keyManifest?; - private nowProvider; - constructor(cache: ICache, keyManifest?: CacheKeyManifest | null, nowProvider?: () => number | Promise); - get(cacheKey: CacheKey, expiryAdjustmentSeconds?: number): Promise | undefined>; - set(entry: CacheEntry): Promise; - clear(clientId?: string): Promise; - /** - * Note: only call this if you're sure one of our internal (synchronous) caches are being used. - */ - clearSync(clientId?: string): void; - private wrapCacheEntry; - private getCacheKeys; - /** - * Finds the corresponding key in the cache based on the provided cache key. - * The keys inside the cache are in the format {prefix}::{client_id}::{audience}::{scope}. - * The first key in the cache that satisfies the following conditions is returned - * - `prefix` is strict equal to Auth0's internally configured `keyPrefix` - * - `client_id` is strict equal to the `cacheKey.client_id` - * - `audience` is strict equal to the `cacheKey.audience` - * - `scope` contains at least all the `cacheKey.scope` values - * * - * @param keyToMatch The provided cache key - * @param allKeys A list of existing cache keys - */ - private matchExistingCacheKey; -} diff --git a/dist/types/cache/cache-memory.d.ts b/dist/types/cache/cache-memory.d.ts deleted file mode 100644 index e2b1965..0000000 --- a/dist/types/cache/cache-memory.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { ICache } from './shared'; -export declare class InMemoryCache { - enclosedCache: ICache; -} diff --git a/dist/types/cache/index.d.ts b/dist/types/cache/index.d.ts deleted file mode 100644 index 631d7fd..0000000 --- a/dist/types/cache/index.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './cache-memory'; -export * from './cache-manager'; -export * from './key-manifest'; -export * from './shared'; diff --git a/dist/types/cache/key-manifest.d.ts b/dist/types/cache/key-manifest.d.ts deleted file mode 100644 index a8dccc2..0000000 --- a/dist/types/cache/key-manifest.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ICache, KeyManifestEntry, MaybePromise } from './shared'; -export declare class CacheKeyManifest { - private cache; - private clientId; - private readonly manifestKey; - constructor(cache: ICache, clientId: string); - add(key: string): Promise; - remove(key: string): Promise; - get(): MaybePromise; - clear(): MaybePromise; - private createManifestKeyFrom; -} diff --git a/dist/types/cache/shared.d.ts b/dist/types/cache/shared.d.ts deleted file mode 100644 index ee4619f..0000000 --- a/dist/types/cache/shared.d.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { IdToken, User } from '../global'; -export declare const CACHE_KEY_PREFIX = "@@auth0webext@@"; -export declare type CacheKeyData = { - audience: string; - scope: string; - client_id: string; -}; -export declare class CacheKey { - prefix: string; - client_id: string; - scope: string; - audience: string; - constructor(data: CacheKeyData, prefix?: string); - /** - * Converts this `CacheKey` instance into a string for use in a cache - * @returns A string representation of the key - */ - toKey(): string; - /** - * Converts a cache key string into a `CacheKey` instance. - * @param key The key to convert - * @returns An instance of `CacheKey` - */ - static fromKey(key: string): CacheKey | null; - /** - * Utility function to build a `CacheKey` instance from a cache entry - * @param entry The entry - * @returns An instance of `CacheKey` - */ - static fromCacheEntry(entry: CacheEntry): CacheKey; -} -interface DecodedToken { - claims: IdToken; - user: User; -} -export declare type CacheEntry = { - id_token: string; - access_token: string; - expires_in: number; - decodedToken: DecodedToken; - audience: string; - scope: string; - client_id: string; - refresh_token?: string; - oauthTokenScope?: string; -}; -export declare type WrappedCacheEntry = { - body: Partial; - expiresAt: number; -}; -export declare type KeyManifestEntry = { - keys: string[]; -}; -export declare type Cacheable = WrappedCacheEntry | KeyManifestEntry; -export declare type MaybePromise = Promise | T; -export interface ICache { - set(key: string, entry: T): MaybePromise; - get(key: string): MaybePromise; - remove(key: string): MaybePromise; - allKeys?(): MaybePromise; -} -export {}; diff --git a/dist/types/constants.d.ts b/dist/types/constants.d.ts deleted file mode 100644 index 77b8c85..0000000 --- a/dist/types/constants.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export declare const DEFAULT_SCOPE = "openid profile email"; -export declare const PARENT_PORT_NAME = "auth0-web-extension::parent"; -export declare const CHILD_PORT_NAME = "auth0-web-extension::child"; -export declare const CACHE_LOCATION_MEMORY = "memory"; -export declare const RECOVERABLE_ERRORS: string[]; -export declare const DEFAULT_FETCH_TIMEOUT_MS = 10000; -export declare const DEFAULT_SILENT_TOKEN_RETRY_COUNT = 3; -export declare const DEFAULT_NOW_PROVIDER: () => number; diff --git a/dist/types/errors.d.ts b/dist/types/errors.d.ts deleted file mode 100644 index 3bb0157..0000000 --- a/dist/types/errors.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * For context on the istanbul ignore statements below, see: - * https://github.com/gotwarlost/istanbul/issues/690 - */ -/** - * Thrown when network requests to the Auth server fail. - */ -export declare class GenericError extends Error { - error: string; - error_description: string; - constructor(error: string, error_description: string); - static fromPayload({ error, error_description, }: { - error: string; - error_description: string; - }): GenericError; -} -/** - * Thrown when handling the redirect callback fails, will be one of Auth0's - * Authentication API's Standard Error Responses: https://auth0.com/docs/api/authentication?javascript#standard-error-responses - */ -export declare class AuthenticationError extends GenericError { - state: string; - appState: any; - constructor(error: string, error_description: string, state: string, appState?: any); -} -/** - * Thrown when silent auth times out (usually due to a configuration issue) or - * when network requests to the Auth server timeout. - */ -export declare class TimeoutError extends GenericError { - constructor(); -} -/** - * Error thrown when the token exchange results in a `mfa_required` error - */ -export declare class MfaRequiredError extends GenericError { - mfa_token: string; - constructor(error: string, error_description: string, mfa_token: string); -} diff --git a/dist/types/global.d.ts b/dist/types/global.d.ts deleted file mode 100644 index 3ed4ff7..0000000 --- a/dist/types/global.d.ts +++ /dev/null @@ -1,443 +0,0 @@ -import { ICache } from './cache'; -import { verifyIdToken } from './jwt'; -/** - * @ignore - */ -export interface BaseLoginOptions { - /** - * - `'page'`: displays the UI with a full page view - * - `'popup'`: displays the UI with a popup window - * - `'touch'`: displays the UI in a way that leverages a touch interface - * - `'wap'`: displays the UI with a "feature phone" type interface - */ - display?: 'page' | 'popup' | 'touch' | 'wap'; - /** - * - `'none'`: do not prompt user for login or consent on reauthentication - * - `'login'`: prompt user for reauthentication - * - `'consent'`: prompt user for consent before processing request - * - `'select_account'`: prompt user to select an account - */ - prompt?: 'none' | 'login' | 'consent' | 'select_account'; - /** - * Maximum allowable elasped time (in seconds) since authentication. - * If the last time the user authenticated is greater than this value, - * the user must be reauthenticated. - */ - max_age?: string | number; - /** - * The space-separated list of language tags, ordered by preference. - * For example: `'fr-CA fr en'`. - */ - ui_locales?: string; - /** - * Previously issued ID Token. - */ - id_token_hint?: string; - /** - * Provides a hint to Auth0 as to what flow should be displayed. - * The default behavior is to show a login page but you can override - * this by passing 'signup' to show the signup page instead. - * - * This only affects the New Universal Login Experience. - */ - screen_hint?: string; - /** - * The user's email address or other identifier. When your app knows - * which user is trying to authenticate, you can provide this parameter - * to pre-fill the email box or select the right session for sign-in. - * - * This currently only affects the classic Lock experience. - */ - login_hint?: string; - acr_values?: string; - /** - * The default scope to be used on authentication requests. - * The defaultScope defined in the Auth0Client is included - * along with this scope - */ - scope?: string; - /** - * The default audience to be used for requesting API access. - */ - audience?: string; - /** - * The name of the connection configured for your application. - * If null, it will redirect to the Auth0 Login Page and show - * the Login Widget. - */ - connection?: string; - /** - * The Id of an organization to log in to. - * - * This will specify an `organization` parameter in your user's login request and will add a step to validate - * the `org_id` claim in your user's ID Token. - */ - organization?: string; - /** - * The Id of an invitation to accept. This is available from the user invitation URL that is given when participating in a user invitation flow. - */ - invitation?: string; - /** - * If you need to send custom parameters to the Authorization Server, - * make sure to use the original parameter name. - */ - [key: string]: any; -} -interface AdvancedOptions { - /** - * The default scope to be included with all requests. - * If not provided, 'openid profile email' is used. This can be set to `null` in order to effectively remove the default scopes. - * - * Note: The `openid` scope is **always applied** regardless of this setting. - */ - defaultScope?: string; -} -export interface Auth0ClientOptions extends BaseLoginOptions { - /** - * Your Auth0 account domain such as `'example.auth0.com'`, - * `'example.eu.auth0.com'` or , `'example.mycompany.com'` - * (when using [custom domains](https://auth0.com/docs/custom-domains)) - */ - domain: string; - /** - * The issuer to be used for validation of JWTs, optionally defaults to the domain above - */ - issuer?: string; - /** - * The Client ID found on your Application settings page - */ - client_id: string; - /** - * The default URL where Auth0 will redirect your browser to with - * the authentication result. It must be whitelisted in - * the "Allowed Callback URLs" field in your Auth0 Application's - * settings. Must be provided here as we have no fallback to window.location.origin - */ - redirect_uri: string; - /** - * The value in seconds used to account for clock skew in JWT expirations. - * Typically, this value is no more than a minute or two at maximum. - * Defaults to 60s. - */ - leeway?: number; - /** - * - * The location to use when storing cache data. Valid values are `memory` or `localstorage`. - * The default setting is `memory`. - * - * Read more about [changing storage options in the Auth0 docs](https://auth0.com/docs/libraries/auth0-single-page-app-sdk#change-storage-options) - */ - /** NOTE: We do not support a cache location other than memory right now */ - cacheLocation?: CacheLocation; - /** - * Specify a custom cache implementation to use for token storage and retrieval. This setting takes precedence over `cacheLocation` if they are both specified. - */ - cache?: ICache; - /** - * If true, refresh tokens are used to fetch new access tokens from the Auth0 server. If false, the legacy technique of using a hidden iframe and the `authorization_code` grant with `prompt=none` is used. - * The default setting is `false`. - * - * **Note**: Use of refresh tokens must be enabled by an administrator on your Auth0 client application. - */ - /** TODO: Add support for refresh tokens */ - useRefreshTokens?: boolean; - /** - * A maximum number of seconds to wait before declaring background calls to /authorize as failed for timeout - * Defaults to 60s. - */ - authorizeTimeoutInSeconds?: number; - /** - * Internal property to send information about the client to the authorization server. - * @internal - */ - auth0Client?: { - name: string; - version: string; - }; - /** - * Sets an additional cookie with no SameSite attribute to support legacy browsers - * that are not compatible with the latest SameSite changes. - * This will log a warning on modern browsers, you can disable the warning by setting - * this to false but be aware that some older useragents will not work, - * See https://www.chromium.org/updates/same-site/incompatible-clients - * Defaults to true - */ - legacySameSiteCookie?: boolean; - /** - * If `true`, the SDK will use a cookie when storing information about the auth transaction while - * the user is going through the authentication flow on the authorization server. - * - * The default is `false`, in which case the SDK will use session storage. - * - * @notes - * - * You might want to enable this if you rely on your users being able to authenticate using flows that - * may end up spanning across multiple tabs (e.g. magic links) or you cannot otherwise rely on session storage being available. - */ - useCookiesForTransactions?: boolean; - /** - * Changes to recommended defaults, like defaultScope - */ - advancedOptions?: AdvancedOptions; - /** - * Number of days until the cookie `auth0.is.authenticated` will expire - * Defaults to 1. - */ - sessionCheckExpiryDays?: number; - /** - * When true, data to the token endpoint is transmitted as x-www-form-urlencoded data instead of JSON. The default is false, but will default to true in a - * future major version. - * - * **Note:** Setting this to `true` may affect you if you use Auth0 Rules and are sending custom, non-primative data. If you enable this, please verify that your Auth0 Rules - * continue to work as intended. - */ - useFormData?: boolean; - /** - * Modify the value used as the current time during the token validation. - * - * **Note**: Using this improperly can potentially compromise the token validation. - */ - nowProvider?: () => Promise | number; - /** - * Prints extra debug information - */ - debug?: boolean; -} -/** - * The possible locations where tokens can be stored. Only in memory caching is supported right now - */ -export declare type CacheLocation = 'memory'; -export interface AuthorizeOptions extends BaseLoginOptions { - response_type: string; - response_mode: string; - redirect_uri: string; - nonce: string; - state: string; - scope: string; - code_challenge: string; - code_challenge_method: string; -} -export interface RedirectLoginOptions extends BaseLoginOptions { - /** - * The URL where Auth0 will redirect your browser to with - * the authentication result. It must be whitelisted in - * the "Allowed Callback URLs" field in your Auth0 Application's - * settings. - */ - redirect_uri?: string; - /** - * Used to store state before doing the redirect - */ - appState?: TAppState; - /** - * Used to add to the URL fragment before redirecting - */ - fragment?: string; - /** - * Used to select the window.location method used to redirect - */ - redirectMethod?: 'replace' | 'assign'; -} -export interface RedirectLoginResult { - /** - * State stored when the redirect request was made - */ - appStat?: TAppState; -} -export interface PopupLoginOptions extends BaseLoginOptions { -} -export interface PopupConfigOptions { - /** - * The number of seconds to wait for a popup response before - * throwing a timeout error. Defaults to 60s - */ - timeoutInSeconds?: number; -} -export interface GetUserOptions { - /** - * The scope that was used in the authentication request - */ - scope?: string; - /** - * The audience that was used in the authentication request - */ - audience?: string; -} -export interface GetIdTokenClaimsOptions { - /** - * The scope that was used in the authentication request - */ - scope?: string; - /** - * The audience that was used in the authentication request - */ - audience?: string; -} -export interface GetTokenSilentlyOptions { - /** - * When `true`, ignores the cache and always sends a - * request to Auth0. - */ - ignoreCache?: boolean; - /** - * There's no actual redirect when getting a token silently, - * but, according to the spec, a `redirect_uri` param is required. - * Auth0 uses this parameter to validate that the current `origin` - * matches the `redirect_uri` `origin` when sending the response. - * It must be whitelisted in the "Allowed Web Origins" in your - * Auth0 Application's settings. - */ - redirect_uri?: string; - /** - * The scope that was used in the authentication request - */ - scope?: string; - /** - * The audience that was used in the authentication request - */ - audience?: string; - /** A maximum number of seconds to wait before declaring the background /authorize call as failed for timeout - * Defaults to 60s. - */ - timeoutInSeconds?: number; - /** - * If true, the full response from the /oauth/token endpoint (or the cache, if the cache was used) is returned - * (minus `refresh_token` if one was issued). Otherwise, just the access token is returned. - * - * The default is `false`. - */ - detailedResponse?: boolean; - /** - * If you need to send custom parameters to the Authorization Server, - * make sure to use the original parameter name. - */ - [key: string]: any; -} -/** - * @ignore - */ -export interface JWTVerifyOptions { - iss: string; - aud: string; - id_token: string; - nonce?: string; - leeway?: number; - max_age?: number; - organizationId?: string; - now?: number; -} -/** - * @ignore - */ -export interface IdToken { - __raw: string; - name?: string; - given_name?: string; - family_name?: string; - middle_name?: string; - nickname?: string; - preferred_username?: string; - profile?: string; - picture?: string; - website?: string; - email?: string; - email_verified?: boolean; - gender?: string; - birthdate?: string; - zoneinfo?: string; - locale?: string; - phone_number?: string; - phone_number_verified?: boolean; - address?: string; - updated_at?: string; - iss?: string; - aud?: string; - exp?: number; - nbf?: number; - iat?: number; - jti?: string; - azp?: string; - nonce?: string; - auth_time?: string; - at_hash?: string; - c_hash?: string; - acr?: string; - amr?: string; - sub_jwk?: string; - cnf?: string; - sid?: string; - org_id?: string; - [key: string]: any; -} -export declare class User { - name?: string; - given_name?: string; - family_name?: string; - middle_name?: string; - nickname?: string; - preferred_username?: string; - profile?: string; - picture?: string; - website?: string; - email?: string; - email_verified?: boolean; - gender?: string; - birthdate?: string; - zoneinfo?: string; - locale?: string; - phone_number?: string; - phone_number_verified?: boolean; - address?: string; - updated_at?: string; - sub?: string; - [key: string]: any; -} -export declare type GetEntryFromCacheOptions = { - scope: string; - audience: string; - client_id: string; - getDetailedEntry?: boolean; -}; -export interface AuthenticationResult { - state: string; - code?: string; - error?: string; - error_description?: string; -} -export interface TokenEndpointOptions { - baseUrl: string; - client_id: string; - grant_type: string; - timeout?: number; - useFormData?: boolean; - [key: string]: any; -} -export declare type TokenEndpointResponse = { - id_token: string; - access_token: string; - refresh_token: string; - expires_in: number; - scope?: string; -}; -export interface OAuthTokenOptions extends TokenEndpointOptions { - code_verifier: string; - code: string; - redirect_uri: string; - audience: string; - scope: string; -} -export declare type GetTokenSilentlyResult = TokenEndpointResponse & { - decodedToken: ReturnType; - scope: string; - oauthTokenScope: string; - audience: string; -}; -export declare type FetchOptions = { - method?: string; - headers?: Record; - credentials?: 'include' | 'omit'; - body?: string; - signal?: AbortSignal; -}; -export declare type GetTokenSilentlyVerboseResult = Omit; -export {}; diff --git a/dist/types/handler.d.ts b/dist/types/handler.d.ts deleted file mode 100644 index a706f40..0000000 --- a/dist/types/handler.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare function handleTokenRequest(redirectUri: string, options?: { - debug: boolean; -}): Promise; diff --git a/dist/types/http.d.ts b/dist/types/http.d.ts deleted file mode 100644 index 8d0f507..0000000 --- a/dist/types/http.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { FetchOptions } from './global'; -export declare const createAbortController: () => AbortController; -export declare const fetchWithTimeout: (fetchUrl: string, fetchOptions: FetchOptions, timeout?: number) => Promise; -export declare function fetchJSON(url: string, options: FetchOptions, timeout?: number): Promise; diff --git a/dist/types/index.d.ts b/dist/types/index.d.ts deleted file mode 100644 index 5258698..0000000 --- a/dist/types/index.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import 'fast-text-encoding'; -import { Auth0ClientOptions } from './global'; -import Auth0Client from './Auth0Client'; -import './global'; -export * from './global'; -import { handleTokenRequest } from './handler'; -export default function createAuth0Client(options: Auth0ClientOptions): Auth0Client; -export { GenericError, AuthenticationError, TimeoutError, MfaRequiredError, } from './errors'; -export { Auth0Client, handleTokenRequest }; diff --git a/dist/types/jwt.d.ts b/dist/types/jwt.d.ts deleted file mode 100644 index 57690d7..0000000 --- a/dist/types/jwt.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { IdToken, JWTVerifyOptions } from './global'; -export declare const decode: (token: string) => { - encoded: { - header: string; - payload: string; - signature: string; - }; - header: any; - claims: IdToken; - user: any; -}; -export declare const verifyIdToken: (options: JWTVerifyOptions) => { - encoded: { - header: string; - payload: string; - signature: string; - }; - header: any; - claims: IdToken; - user: any; -}; diff --git a/dist/types/lock/index.d.ts b/dist/types/lock/index.d.ts deleted file mode 100644 index f82649b..0000000 --- a/dist/types/lock/index.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -export default class Lock { - private waiters; - private id; - private acquiredIatSet; - constructor(); - acquireLock(key: string, timeout?: number): Promise; - releaseLock(key: string): Promise; - private refreshLock; - private lockCorrector; - private waitForSomethingToChange; - private addToWaiting; - private removeFromWaiting; - private notifyWaiters; - private allKeys; - private hasKey; - private setItem; - private getItem; - private removeItem; -} diff --git a/dist/types/lock/processLock.d.ts b/dist/types/lock/processLock.d.ts deleted file mode 100644 index ea27c39..0000000 --- a/dist/types/lock/processLock.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -declare class ProcessLocking { - static instance: undefined | ProcessLocking; - private locked; - static getInstance(): ProcessLocking; - private addToLocked; - isLocked: (key: string) => boolean; - lock: (key: string) => Promise; - unlock: (key: string) => void; -} -export default function getLock(): ProcessLocking; -export {}; diff --git a/dist/types/messenger.d.ts b/dist/types/messenger.d.ts deleted file mode 100644 index 0c239d4..0000000 --- a/dist/types/messenger.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import browser from 'webextension-polyfill'; -import { GenericError } from './errors'; -import { AuthenticationResult } from './global'; -export declare type AuthStartMessage = { - type: 'auth-start'; -}; -export declare type AuthParamsMessage = { - type: 'auth-params'; -}; -export declare type AuthCleanUpMessage = { - type: 'auth-cleanup'; -}; -export declare type AuthAckMessage = { - type: 'auth-ack'; -}; -export declare type AuthResultMessage = { - type: 'auth-result'; - payload: AuthenticationResult; -}; -export declare type AuthErrorMessage = { - type: 'auth-error'; - error: GenericError; -}; -export declare type Message = AuthStartMessage | AuthParamsMessage | AuthCleanUpMessage | AuthAckMessage | AuthErrorMessage | AuthResultMessage; -export declare type MessageResponse = M extends AuthStartMessage ? void : M extends AuthParamsMessage ? { - authorizeUrl: string; - domainUrl: string; -} : M extends AuthCleanUpMessage ? void : M extends AuthResultMessage ? void : M extends AuthAckMessage ? 'ack' : M extends AuthErrorMessage ? void : never; -export default class Messenger { - sendTabMessage(tabId: number, message: M): Promise>; - sendRuntimeMessage(message: M): Promise>; - addMessageListener(handler: (message: M, sender: browser.Runtime.MessageSender) => MessageResponse): void; -} diff --git a/dist/types/promise-utils.d.ts b/dist/types/promise-utils.d.ts deleted file mode 100644 index b81d9ce..0000000 --- a/dist/types/promise-utils.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare const delay: (ms: number) => Promise; -export declare const singlePromise: (cb: () => Promise, key: string) => Promise; -export declare const retryPromise: (cb: () => Promise, maxNumberOfRetries?: number) => Promise; -export declare const retryPromiseOnReject: (cb: () => Promise, maxNumberOfRetries?: number) => Promise; diff --git a/dist/types/scope.d.ts b/dist/types/scope.d.ts deleted file mode 100644 index a58abb2..0000000 --- a/dist/types/scope.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const getUniqueScopes: (...scopes: (string | undefined)[]) => string; diff --git a/dist/types/storage.d.ts b/dist/types/storage.d.ts deleted file mode 100644 index 88cc6fa..0000000 --- a/dist/types/storage.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -interface ClientStorageOptions { - daysUntilExpire: number; -} -export interface ClientStorage { - get(key: string): T | undefined; - save(key: string, value: any, options?: ClientStorageOptions): void; - remove(key: string): void; -} -export declare class InMemoryStorage implements ClientStorage { - private storage; - get(key: string): T | undefined; - save(key: string, value: any): void; - remove(key: string): void; -} -export {}; diff --git a/dist/types/transaction-manager.d.ts b/dist/types/transaction-manager.d.ts deleted file mode 100644 index 8cf7e4d..0000000 --- a/dist/types/transaction-manager.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { ClientStorage } from './storage'; -import { GetTokenSilentlyResult } from './global'; -interface Transaction { - authorizeUrl: string; - domainUrl: string; - nonce: string; - scope: string; - audience: string; - appState?: any; - code_verifier: string; - redirect_uri: string; - organizationId?: string; - state?: string; - callback: (authResult: GetTokenSilentlyResult) => void; - errorCallback: (error: any) => void; -} -export default class TransactionManager { - private storage; - private clientId; - private transaction; - private storageKey; - constructor(storage: ClientStorage, clientId: string); - create(transaction: Transaction): void; - get(): Transaction | undefined; - remove(): void; -} -export {}; diff --git a/dist/types/utils.d.ts b/dist/types/utils.d.ts deleted file mode 100644 index 78d60ea..0000000 --- a/dist/types/utils.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { AuthenticationResult } from './global'; -export declare const parseQueryResult: (queryString: string) => AuthenticationResult; -export declare const getCrypto: () => Crypto; -export declare const getCryptoSubtle: () => SubtleCrypto; -export declare const createRandomString: (length: number) => string; -export declare const createSecureRandomString: () => string; -export declare const encode: (value: string) => string; -export declare const decode: (value: string) => string; -export declare const createQueryParams: (params: any) => string; -export declare const sha256: (s: string) => Promise; -export declare const urlDecodeB64: (input: string) => string; -export declare const bufferToBase64UrlEncoded: (input: number[] | Uint8Array) => string; -export declare const validateCrypto: () => void;