Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

vtex-render-session

Package Overview
Dependencies
Maintainers
57
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vtex-render-session - npm Package Compare versions

Comparing version 1.8.1-beta.0 to 1.8.1

6

CHANGELOG.md

@@ -10,7 +10,5 @@ # Changelog

## [1.8.1-beta.0] - 2020-02-11
## [1.8.1-beta] - 2020-02-11
## [1.8.1] - 2020-04-01
### Fixed
- Use session bindingId to decide session clean up.
- Fix bad session URL when window.location.search changes.

@@ -17,0 +15,0 @@ ## [1.8.0] - 2020-01-13

@@ -102,3 +102,2 @@ /******/ (function(modules) { // webpackBootstrap

"account.accountName",
"account.bindingId",
"store.channel",

@@ -200,3 +199,2 @@ "store.countryCode",

}).catch(function (err) { return console.log('Error while patching session with error: ', err); }); };
var items = (window.location.search ? '&' : '?') + "items=" + constants_1.ITEMS.join(',');
var supportedLocalesSearch = supportedLocales.length > 0

@@ -209,2 +207,3 @@ ? "&supportedLocales=" + supportedLocales.join(',')

var createInitialSessionRequest = function () {
var items = (window.location.search ? '&' : '?') + "items=" + constants_1.ITEMS.join(',');
return fetchWithRetry(rootPath + "/api/sessions" + window.location.search + items + supportedLocalesSearch + bindingIdSearch, {

@@ -233,10 +232,2 @@ body: '{}',

sessionPromise = createInitialSessionRequest()
.then(function (result) {
if (!result.response ||
!result.response.namespaces.account.bindingId ||
result.response.namespaces.account.bindingId.value === bindingId) {
return result;
}
return clearSession().then(createInitialSessionRequest);
})
.catch(onError);

@@ -265,2 +256,2 @@ }

/******/ });
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vY29uc3RhbnRzLnRzIiwid2VicGFjazovLy8uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtEQUEwQyxnQ0FBZ0M7QUFDMUU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxnRUFBd0Qsa0JBQWtCO0FBQzFFO0FBQ0EseURBQWlELGNBQWM7QUFDL0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlEQUF5QyxpQ0FBaUM7QUFDMUUsd0hBQWdILG1CQUFtQixFQUFFO0FBQ3JJO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUNBQTJCLDBCQUEwQixFQUFFO0FBQ3ZELHlDQUFpQyxlQUFlO0FBQ2hEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDhEQUFzRCwrREFBK0Q7O0FBRXJIO0FBQ0E7OztBQUdBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7OztBQ2xGYSxhQUFLLEdBQUc7SUFDbkIsWUFBWTtJQUNaLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLHNCQUFzQjtJQUN0Qix5QkFBeUI7SUFDekIsOEJBQThCO0lBQzlCLHlCQUF5QjtJQUN6Qix1Q0FBdUM7SUFDdkMsNEJBQTRCO0lBQzVCLCtCQUErQjtJQUMvQixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixlQUFlO0lB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LENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDbEIsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUztZQUM3QyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQ2hFO1lBQ0EsT0FBTyxNQUFNO1NBQ2Q7UUFFRCxPQUFPLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQztJQUN6RCxDQUFDLENBQUM7U0FDRCxLQUFLLENBQUMsT0FBTyxDQUFDO0NBQ2xCO0FBRUEsTUFBYyxDQUFDLG9CQUFvQixHQUFJLE1BQWMsQ0FBQyxvQkFBb0IsR0FBRztJQUM1RSxZQUFZO0lBQ1osY0FBYztDQUNmIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZ2V0dGVyIH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSBmdW5jdGlvbihleHBvcnRzKSB7XG4gXHRcdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuIFx0XHR9XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gXHR9O1xuXG4gXHQvLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3RcbiBcdC8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdFxuIFx0Ly8gbW9kZSAmIDI6IG1lcmdlIGFsbCBwcm9wZXJ0aWVzIG9mIHZhbHVlIGludG8gdGhlIG5zXG4gXHQvLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3RcbiBcdC8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmVcbiBcdF9fd2VicGFja19yZXF1aXJlX18udCA9IGZ1bmN0aW9uKHZhbHVlLCBtb2RlKSB7XG4gXHRcdGlmKG1vZGUgJiAxKSB2YWx1ZSA9IF9fd2VicGFja19yZXF1aXJlX18odmFsdWUpO1xuIFx0XHRpZihtb2RlICYgOCkgcmV0dXJuIHZhbHVlO1xuIFx0XHRpZigobW9kZSAmIDQpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuIFx0XHR2YXIgbnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobnMsICdkZWZhdWx0JywgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdmFsdWUgfSk7XG4gXHRcdGlmKG1vZGUgJiAyICYmIHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykgZm9yKHZhciBrZXkgaW4gdmFsdWUpIF9fd2VicGFja19yZXF1aXJlX18uZChucywga2V5LCBmdW5jdGlvbihrZXkpIHsgcmV0dXJuIHZhbHVlW2tleV07IH0uYmluZChudWxsLCBrZXkpKTtcbiBcdFx0cmV0dXJuIG5zO1xuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJodHRwOi8vbG9jYWxob3N0OjgwODAvXCI7XG5cblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAwKTtcbiIsImV4cG9ydCBjb25zdCBJVEVNUyA9IFtcbiAgXCJhY2NvdW50LmlkXCIsXG4gIFwiYWNjb3VudC5hY2NvdW50TmFtZVwiLFxuICBcImFjY291bnQuYmluZGluZ0lkXCIsXG4gIFwic3RvcmUuY2hhbm5lbFwiLFxuICBcInN0b3JlLmNvdW50cnlDb2RlXCIsXG4gIFwic3RvcmUuY3VsdHVyZUluZm9cIixcbiAgXCJzdG9yZS5jdXJyZW5jeUNvZGVcIixcbiAgXCJzdG9yZS5jdXJyZW5jeVN5bWJvbFwiLFxuICBcInN0b3JlLmFkbWluX2N1bHR1cmVJbmZvXCIsXG4gIFwiY3JlZGl0Q29udHJvbC5jcmVkaXRBY2NvdW50c1wiLFxuICBcImNyZWRpdENvbnRyb2wuZGVhZGxpbmVzXCIsXG4gIFwiY3JlZGl0Q29udHJvbC5taW5pbXVtSW5zdGFsbG1lbnRWYWx1ZVwiLFxuICBcImF1dGhlbnRpY2F0aW9uLnN0b3JlVXNlcklkXCIsXG4gIFwiYXV0aGVudGljYXRpb24uc3RvcmVVc2VyRW1haWxcIixcbiAgXCJwcm9maWxlLmZpcnN0TmFtZVwiLFxuICBcInByb2ZpbGUuZG9jdW1lbnRcIixcbiAgXCJwcm9maWxlLmVtYWlsXCIsXG4gIFwicHJvZmlsZS5pZFwiLFxuICBcInByb2ZpbGUuaXNBdXRoZW50aWNhdGVkXCIsXG4gIFwicHJvZmlsZS5sYXN0TmFtZVwiLFxuICBcInByb2ZpbGUucGhvbmVcIixcbiAgXCJwdWJsaWMuZmF2b3JpdGVQaWNrdXBcIixcbiAgXCJwdWJsaWMudXRtX3NvdXJjZVwiLFxuICBcInB1YmxpYy51dG1fbWVkaXVtXCIsXG4gIFwicHVibGljLnV0bV9jYW1wYWlnblwiLFxuICBcInB1YmxpYy51dG1pX2NwXCIsXG4gIFwicHVibGljLnV0bWlfcFwiLFxuICBcInB1YmxpYy51dG1pX3BjXCIsXG5dO1xuIiwiaW1wb3J0IHsgSVRFTVMgfSBmcm9tICcuL2NvbnN0YW50cydcblxuaW50ZXJmYWNlIFNlc3Npb25OYW1lc3BhY2VJdGVtIHtcbiAgdmFsdWU6IHN0cmluZ1xuICBrZWVwQWxpdmU/OiBib29sZWFuXG59XG5cbnR5cGUgQWNjb3VudEZpZWxkcyA9ICdpZCcgfCAnYWNjb3VudE5hbWUnIHwgJ2JpbmRpbmdJZCdcblxudHlwZSBTZXNzaW9uTmFtZXNwYWNlPFQgZXh0ZW5kcyBzdHJpbmc+ID0gUmVjb3JkPFQsIFNlc3Npb25OYW1lc3BhY2VJdGVtPlxuXG5pbnRlcmZhY2UgU2Vzc2lvblJlc3BvbnNlSXRlbXMge1xuICBpZDogc3RyaW5nXG4gIG5hbWVzcGFjZXM6IHtcbiAgICBhY2NvdW50OiBTZXNzaW9uTmFtZXNwYWNlPEFjY291bnRGaWVsZHM+XG4gIH1cbn1cblxuaW50ZXJmYWNlIFNlc3Npb25SZXNwb25zZSB7XG4gIHJlc3BvbnNlOiBTZXNzaW9uUmVzcG9uc2VJdGVtcyB8IG51bGwsXG4gIGVycm9yOiBhbnksXG59XG5cbmNvbnN0IGRlbGF5ID0gKG1zOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpXG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgX19SVU5USU1FX186IHtcbiAgICAgIGJpbmRpbmc/OiB7XG4gICAgICAgIGlkOiBzdHJpbmdcbiAgICAgIH0sXG4gICAgICBiaW5kaW5nQ2hhbmdlZD86IGJvb2xlYW4sXG4gICAgICBjdWx0dXJlOiB7XG4gICAgICAgIGF2YWlsYWJsZUxvY2FsZXM6IHN0cmluZ1tdXG4gICAgICB9XG4gICAgICByb290UGF0aD86IHN0cmluZ1xuICAgIH1cbiAgfVxufVxuXG5jb25zdCBiaW5kaW5nQ2hhbmdlZCA9IHdpbmRvdy5fX1JVTlRJTUVfXyAmJiB3aW5kb3cuX19SVU5USU1FX18uYmluZGluZ0NoYW5nZWRcbmNvbnN0IGJpbmRpbmdJZCA9IHdpbmRvdy5fX1JVTlRJTUVfXyAmJiB3aW5kb3cuX19SVU5USU1FX18uYmluZGluZyAmJiB3aW5kb3cuX19SVU5USU1FX18uYmluZGluZy5pZFxuY29uc3Qgc3VwcG9ydGVkTG9jYWxlcyA9IHdpbmRvdy5fX1JVTlRJTUVfXyAmJiB3aW5kb3cuX19SVU5USU1FX18uY3VsdHVyZSAmJiB3aW5kb3cuX19SVU5USU1FX18uY3VsdHVyZS5hdmFpbGFibGVMb2NhbGVzIHx8IFtdXG5jb25zdCByb290UGF0aCA9IHdpbmRvdy5fX1JVTlRJTUVfXyAmJiB3aW5kb3cuX19SVU5USU1FX18ucm9vdFBhdGggfHwgJydcblxuY29uc3QgUkVUUllfU1RBVFVTRVMgPSBbIDQwOCwgNDI1LCA0MjksIDUwMCwgIDUwMSwgIDUwMiwgIDUwMywgIDUwNCwgIDUwNSwgIDUwNiwgIDUwNywgIDUwOCwgIDUxMCwgIDUxMSBdXG5jb25zdCBGRVRDSF9USU1FT1VUID0gNzAwMFxuXG5jb25zdCBjYW5SZXRyeSA9IChzdGF0dXM6IG51bWJlcikgPT4gUkVUUllfU1RBVFVTRVMuaW5jbHVkZXMoc3RhdHVzKVxuXG5jb25zdCBmZXRjaFdpdGhSZXRyeSA9ICh1cmw6IHN0cmluZywgaW5pdDogUmVxdWVzdEluaXQsIG1heFJldHJpZXM6IG51bWJlciA9IDMpID0+IHtcbiAgbGV0IHN0YXR1cyA9IDUwMFxuICBsZXQgZGlkVGltZW91dCA9IGZhbHNlXG4gIGNvbnN0IGNhbGxGZXRjaCA9IChhdHRlbXB0OiBudW1iZXIgPSAwKTogUHJvbWlzZTxTZXNzaW9uUmVzcG9uc2U+ID0+XG4gICAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBkaWRUaW1lb3V0ID0gdHJ1ZVxuICAgICAgICByZWplY3QobmV3IEVycm9yKCdGZXRjaCB0aW1lZCBvdXQnKSlcbiAgICAgIH0sIEZFVENIX1RJTUVPVVQpXG4gICAgICBmZXRjaCh1cmwsIGluaXQpLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dClcbiAgICAgICAgaWYgKCFkaWRUaW1lb3V0KSB7XG4gICAgICAgICAgcmVzb2x2ZShyZXNwb25zZSlcbiAgICAgICAgfVxuICAgICAgfSkuY2F0Y2goZXJyID0+ICB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KVxuICAgICAgICBpZiAoZGlkVGltZW91dCkge1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIHJlamVjdChlcnIpXG4gICAgICB9KVxuICAgIH0pLnRoZW4oKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgIHN0YXR1cyA9IHJlc3BvbnNlLnN0YXR1c1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKVxuICAgICAgICAudGhlbigoZGF0YTogYW55KSA9PiAoe3Jlc3BvbnNlOiBkYXRhLCBlcnJvcjogbnVsbH0pKVxuICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcblxuICAgICAgaWYgKGF0dGVtcHQgPj0gbWF4UmV0cmllcyB8fCAhY2FuUmV0cnkoc3RhdHVzKSB8fCBkaWRUaW1lb3V0KSB7XG4gICAgICAgIHJldHVybiB7cmVzcG9uc2U6IG51bGwsIGVycm9yOiB7bWVzc2FnZTogJ01heGltdW0gbnVtYmVyIG9mIGF0dGVtcHRzIGFjaGlldmVkIG9yIHJlcXVlc3QgdGltZWQgb3V0J319IGFzIFNlc3Npb25SZXNwb25zZVxuICAgICAgfVxuXG4gICAgICBjb25zdCBtcyA9ICgyICoqIGF0dGVtcHQpICogNTAwXG4gICAgICByZXR1cm4gZGVsYXkobXMpXG4gICAgICAgIC50aGVuKCgpID0+IGNhbGxGZXRjaCgrK2F0dGVtcHQpKVxuICAgIH0pXG5cbiAgcmV0dXJuIGNhbGxGZXRjaCgpXG59XG5cbmNvbnN0IHBhdGNoU2Vzc2lvbiA9IChkYXRhPzogYW55KSA9PiBmZXRjaFdpdGhSZXRyeShgJHtyb290UGF0aH0vYXBpL3Nlc3Npb25zJHt3aW5kb3cubG9jYXRpb24uc2VhcmNofWAsIHtcbiAgYm9keTogZGF0YSA/IEpTT04uc3RyaW5naWZ5KGRhdGEpIDogJ3t9JyxcbiAgY3JlZGVudGlhbHM6ICdzYW1lLW9yaWdpbicsXG4gIGhlYWRlcnM6IG5ldyBIZWFkZXJzKHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9KSxcbiAgbWV0aG9kOiAnUEFUQ0gnLFxufSkuY2F0Y2goZXJyID0+IGNvbnNvbGUubG9nKCdFcnJvciB3aGlsZSBwYXRjaGluZyBzZXNzaW9uIHdpdGggZXJyb3I6ICcsIGVycikpXG5cbmNvbnN0IGl0ZW1zID0gYCR7d2luZG93LmxvY2F0aW9uLnNlYXJjaCA/ICcmJyA6ICc/J31pdGVtcz0ke0lURU1TLmpvaW4oJywnKX1gXG5cbmNvbnN0IHN1cHBvcnRlZExvY2FsZXNTZWFyY2ggPSBzdXBwb3J0ZWRMb2NhbGVzLmxlbmd0aCA+IDBcbiAgPyBgJnN1cHBvcnRlZExvY2FsZXM9JHtzdXBwb3J0ZWRMb2NhbGVzLmpvaW4oJywnKX1gXG4gIDogJydcblxuY29uc3QgYmluZGluZ0lkU2VhcmNoID0gYmluZGluZ0lkXG4gID8gYCZfX2JpbmRpbmdJZD0ke2JpbmRpbmdJZH1gXG4gIDogJydcblxuY29uc3QgY3JlYXRlSW5pdGlhbFNlc3Npb25SZXF1ZXN0ID0gKCkgPT4ge1xuICByZXR1cm4gZmV0Y2hXaXRoUmV0cnkoYCR7cm9vdFBhdGh9L2FwaS9zZXNzaW9ucyR7d2luZG93LmxvY2F0aW9uLnNlYXJjaH0ke2l0ZW1zfSR7c3VwcG9ydGVkTG9jYWxlc1NlYXJjaH0ke2JpbmRpbmdJZFNlYXJjaH1gLCB7XG4gICAgYm9keTogJ3t9JyxcbiAgICBjcmVkZW50aWFsczogJ3NhbWUtb3JpZ2luJyxcbiAgICBoZWFkZXJzOiBuZXcgSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSksXG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gIH0pXG59XG5cbmNvbnN0IGNsZWFyU2Vzc2lvbiA9ICgpID0+IHtcbiAgcmV0dXJuIGZldGNoV2l0aFJldHJ5KGAke3Jvb3RQYXRofS9hcGkvc2Vzc2lvbnMvaW52YWxpZFRva2VuP2l0ZW1zPSpgLCB7XG4gICAgY3JlZGVudGlhbHM6ICdzYW1lLW9yaWdpbicsXG4gICAgaGVhZGVyczogbmV3IEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pLFxuICAgIG1ldGhvZDogJ0dFVCcsXG4gIH0sIDEpXG59XG5cbmNvbnN0IG9uRXJyb3IgPSAoZXJyOiBhbnkpID0+IGNvbnNvbGUubG9nKCdFcnJvciB3aGlsZSBsb2FkaW5nIHNlc3Npb24gd2l0aCBlcnJvcjogJywgZXJyKVxuXG5sZXQgc2Vzc2lvblByb21pc2U6IFByb21pc2U8dm9pZCB8IFNlc3Npb25SZXNwb25zZT5cbmlmIChiaW5kaW5nQ2hhbmdlZCkge1xuICBzZXNzaW9uUHJvbWlzZSA9IGNsZWFyU2Vzc2lvbigpXG4gICAgLnRoZW4oY3JlYXRlSW5pdGlhbFNlc3Npb25SZXF1ZXN0KVxuICAgIC5jYXRjaChvbkVycm9yKVxufSBlbHNlIHtcbiAgc2Vzc2lvblByb21pc2UgPSBjcmVhdGVJbml0aWFsU2Vzc2lvblJlcXVlc3QoKVxuICAgIC50aGVuKHJlc3VsdCA9PiB7XG4gICAgICBpZiAoIXJlc3VsdC5yZXNwb25zZSB8fFxuICAgICAgICAhcmVzdWx0LnJlc3BvbnNlLm5hbWVzcGFjZXMuYWNjb3VudC5iaW5kaW5nSWQgfHxcbiAgICAgICAgcmVzdWx0LnJlc3BvbnNlLm5hbWVzcGFjZXMuYWNjb3VudC5iaW5kaW5nSWQudmFsdWUgPT09IGJpbmRpbmdJZFxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNsZWFyU2Vzc2lvbigpLnRoZW4oY3JlYXRlSW5pdGlhbFNlc3Npb25SZXF1ZXN0KVxuICAgIH0pXG4gICAgLmNhdGNoKG9uRXJyb3IpXG59XG5cbih3aW5kb3cgYXMgYW55KS5fX1JFTkRFUl83X1NFU1NJT05fXyA9ICh3aW5kb3cgYXMgYW55KS5fX1JFTkRFUl84X1NFU1NJT05fXyA9IHtcbiAgcGF0Y2hTZXNzaW9uLFxuICBzZXNzaW9uUHJvbWlzZSxcbn1cblxuZXhwb3J0IHt9XG4iXSwic291cmNlUm9vdCI6IiJ9
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vY29uc3RhbnRzLnRzIiwid2VicGFjazovLy8uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtEQUEwQyxnQ0FBZ0M7QUFDMUU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxnRUFBd0Qsa0JBQWtCO0FBQzFFO0FBQ0EseURBQWlELGNBQWM7QUFDL0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlEQUF5QyxpQ0FBaUM7QUFDMUUsd0hBQWdILG1CQUFtQixFQUFFO0FBQ3JJO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUNBQTJCLDBCQUEwQixFQUFFO0FBQ3ZELHlDQUFpQyxlQUFlO0FBQ2hEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDhEQUFzRCwrREFBK0Q7O0FBRXJIO0FBQ0E7OztBQUdBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7OztBQ2xGYSxhQUFLLEdBQUc7SUFDbkIsWUFBWTtJQUNaLHFCQUFxQjtJQUNyQixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLHlCQUF5QjtJQUN6Qiw4QkFBOEI7SUFDOUIseUJBQXlCO0lBQ3pCLHVDQUF1QztJQUN2Qyw0QkFBNEI7SUFDNUIsK0JBQStCO0lBQy9CLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZix1QkFBdUI7SUFD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QSxNQUFjLENBQUMsb0JBQW9CLEdBQUksTUFBYyxDQUFDLG9CQUFvQixHQUFHO0lBQzVFLFlBQVk7SUFDWixjQUFjO0NBQ2YiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9cIjtcblxuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IDApO1xuIiwiZXhwb3J0IGNvbnN0IElURU1TID0gW1xuICBcImFjY291bnQuaWRcIixcbiAgXCJhY2NvdW50LmFjY291bnROYW1lXCIsXG4gIFwic3RvcmUuY2hhbm5lbFwiLFxuICBcInN0b3JlLmNvdW50cnlDb2RlXCIsXG4gIFwic3RvcmUuY3VsdHVyZUluZm9cIixcbiAgXCJzdG9yZS5jdXJyZW5jeUNvZGVcIixcbiAgXCJzdG9yZS5jdXJyZW5jeVN5bWJvbFwiLFxuICBcInN0b3JlLmFkbWluX2N1bHR1cmVJbmZvXCIsXG4gIFwiY3JlZGl0Q29udHJvbC5jcmVkaXRBY2NvdW50c1wiLFxuICBcImNyZWRpdENvbnRyb2wuZGVhZGxpbmVzXCIsXG4gIFwiY3JlZGl0Q29udHJvbC5taW5pbXVtSW5zdGFsbG1lbnRWYWx1ZVwiLFxuICBcImF1dGhlbnRpY2F0aW9uLnN0b3JlVXNlcklkXCIsXG4gIFwiYXV0aGVudGljYXRpb24uc3RvcmVVc2VyRW1haWxcIixcbiAgXCJwcm9maWxlLmZpcnN0TmFtZVwiLFxuICBcInByb2ZpbGUuZG9jdW1lbnRcIixcbiAgXCJwcm9maWxlLmVtYWlsXCIsXG4gIFwicHJvZmlsZS5pZFwiLFxuICBcInByb2ZpbGUuaXNBdXRoZW50aWNhdGVkXCIsXG4gIFwicHJvZmlsZS5sYXN0TmFtZVwiLFxuICBcInByb2ZpbGUucGhvbmVcIixcbiAgXCJwdWJsaWMuZmF2b3JpdGVQaWNrdXBcIixcbiAgXCJwdWJsaWMudXRtX3NvdXJjZVwiLFxuICBcInB1YmxpYy51dG1fbWVkaXVtXCIsXG4gIFwicHVibGljLnV0bV9jYW1wYWlnblwiLFxuICBcInB1YmxpYy51dG1pX2NwXCIsXG4gIFwicHVibGljLnV0bWlfcFwiLFxuICBcInB1YmxpYy51dG1pX3BjXCIsXG5dO1xuIiwiaW1wb3J0IHsgSVRFTVMgfSBmcm9tICcuL2NvbnN0YW50cydcblxuaW50ZXJmYWNlIFNlc3Npb25SZXNwb25zZSB7XG4gIHJlc3BvbnNlOiBSZXNwb25zZSB8IG51bGwsXG4gIGVycm9yOiBhbnksXG59XG5cbmNvbnN0IGRlbGF5ID0gKG1zOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpXG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgX19SVU5USU1FX186IHtcbiAgICAgIGJpbmRpbmc/OiB7XG4gICAgICAgIGlkOiBzdHJpbmdcbiAgICAgIH0sXG4gICAgICBiaW5kaW5nQ2hhbmdlZD86IGJvb2xlYW4sXG4gICAgICBjdWx0dXJlOiB7XG4gICAgICAgIGF2YWlsYWJsZUxvY2FsZXM6IHN0cmluZ1tdXG4gICAgICB9XG4gICAgICByb290UGF0aD86IHN0cmluZ1xuICAgIH1cbiAgfVxufVxuXG5jb25zdCBiaW5kaW5nQ2hhbmdlZCA9IHdpbmRvdy5fX1JVTlRJTUVfXyAmJiB3aW5kb3cuX19SVU5USU1FX18uYmluZGluZ0NoYW5nZWRcbmNvbnN0IGJpbmRpbmdJZCA9IHdpbmRvdy5fX1JVTlRJTUVfXyAmJiB3aW5kb3cuX19SVU5USU1FX18uYmluZGluZyAmJiB3aW5kb3cuX19SVU5USU1FX18uYmluZGluZy5pZFxuY29uc3Qgc3VwcG9ydGVkTG9jYWxlcyA9IHdpbmRvdy5fX1JVTlRJTUVfXyAmJiB3aW5kb3cuX19SVU5USU1FX18uY3VsdHVyZSAmJiB3aW5kb3cuX19SVU5USU1FX18uY3VsdHVyZS5hdmFpbGFibGVMb2NhbGVzIHx8IFtdXG5jb25zdCByb290UGF0aCA9IHdpbmRvdy5fX1JVTlRJTUVfXyAmJiB3aW5kb3cuX19SVU5USU1FX18ucm9vdFBhdGggfHwgJydcblxuY29uc3QgUkVUUllfU1RBVFVTRVMgPSBbIDQwOCwgNDI1LCA0MjksIDUwMCwgIDUwMSwgIDUwMiwgIDUwMywgIDUwNCwgIDUwNSwgIDUwNiwgIDUwNywgIDUwOCwgIDUxMCwgIDUxMSBdXG5jb25zdCBGRVRDSF9USU1FT1VUID0gNzAwMFxuXG5jb25zdCBjYW5SZXRyeSA9IChzdGF0dXM6IG51bWJlcikgPT4gUkVUUllfU1RBVFVTRVMuaW5jbHVkZXMoc3RhdHVzKVxuXG5jb25zdCBmZXRjaFdpdGhSZXRyeSA9ICh1cmw6IHN0cmluZywgaW5pdDogUmVxdWVzdEluaXQsIG1heFJldHJpZXM6IG51bWJlciA9IDMpID0+IHtcbiAgbGV0IHN0YXR1cyA9IDUwMFxuICBsZXQgZGlkVGltZW91dCA9IGZhbHNlXG4gIGNvbnN0IGNhbGxGZXRjaCA9IChhdHRlbXB0OiBudW1iZXIgPSAwKTogUHJvbWlzZTxTZXNzaW9uUmVzcG9uc2U+ID0+XG4gICAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBkaWRUaW1lb3V0ID0gdHJ1ZVxuICAgICAgICByZWplY3QobmV3IEVycm9yKCdGZXRjaCB0aW1lZCBvdXQnKSlcbiAgICAgIH0sIEZFVENIX1RJTUVPVVQpXG4gICAgICBmZXRjaCh1cmwsIGluaXQpLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dClcbiAgICAgICAgaWYgKCFkaWRUaW1lb3V0KSB7XG4gICAgICAgICAgcmVzb2x2ZShyZXNwb25zZSlcbiAgICAgICAgfVxuICAgICAgfSkuY2F0Y2goZXJyID0+ICB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KVxuICAgICAgICBpZiAoZGlkVGltZW91dCkge1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIHJlamVjdChlcnIpXG4gICAgICB9KVxuICAgIH0pLnRoZW4oKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgIHN0YXR1cyA9IHJlc3BvbnNlLnN0YXR1c1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKVxuICAgICAgICAudGhlbigoZGF0YTogYW55KSA9PiAoe3Jlc3BvbnNlOiBkYXRhLCBlcnJvcjogbnVsbH0pKVxuICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcblxuICAgICAgaWYgKGF0dGVtcHQgPj0gbWF4UmV0cmllcyB8fCAhY2FuUmV0cnkoc3RhdHVzKSB8fCBkaWRUaW1lb3V0KSB7XG4gICAgICAgIHJldHVybiB7cmVzcG9uc2U6IG51bGwsIGVycm9yOiB7bWVzc2FnZTogJ01heGltdW0gbnVtYmVyIG9mIGF0dGVtcHRzIGFjaGlldmVkIG9yIHJlcXVlc3QgdGltZWQgb3V0J319IGFzIFNlc3Npb25SZXNwb25zZVxuICAgICAgfVxuXG4gICAgICBjb25zdCBtcyA9ICgyICoqIGF0dGVtcHQpICogNTAwXG4gICAgICByZXR1cm4gZGVsYXkobXMpXG4gICAgICAgIC50aGVuKCgpID0+IGNhbGxGZXRjaCgrK2F0dGVtcHQpKVxuICAgIH0pXG5cbiAgcmV0dXJuIGNhbGxGZXRjaCgpXG59XG5cbmNvbnN0IHBhdGNoU2Vzc2lvbiA9IChkYXRhPzogYW55KSA9PiBmZXRjaFdpdGhSZXRyeShgJHtyb290UGF0aH0vYXBpL3Nlc3Npb25zJHt3aW5kb3cubG9jYXRpb24uc2VhcmNofWAsIHtcbiAgYm9keTogZGF0YSA/IEpTT04uc3RyaW5naWZ5KGRhdGEpIDogJ3t9JyxcbiAgY3JlZGVudGlhbHM6ICdzYW1lLW9yaWdpbicsXG4gIGhlYWRlcnM6IG5ldyBIZWFkZXJzKHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9KSxcbiAgbWV0aG9kOiAnUEFUQ0gnLFxufSkuY2F0Y2goZXJyID0+IGNvbnNvbGUubG9nKCdFcnJvciB3aGlsZSBwYXRjaGluZyBzZXNzaW9uIHdpdGggZXJyb3I6ICcsIGVycikpXG5cbmNvbnN0IHN1cHBvcnRlZExvY2FsZXNTZWFyY2ggPSBzdXBwb3J0ZWRMb2NhbGVzLmxlbmd0aCA+IDBcbiAgPyBgJnN1cHBvcnRlZExvY2FsZXM9JHtzdXBwb3J0ZWRMb2NhbGVzLmpvaW4oJywnKX1gXG4gIDogJydcblxuY29uc3QgYmluZGluZ0lkU2VhcmNoID0gYmluZGluZ0lkXG4gID8gYCZfX2JpbmRpbmdJZD0ke2JpbmRpbmdJZH1gXG4gIDogJydcblxuY29uc3QgY3JlYXRlSW5pdGlhbFNlc3Npb25SZXF1ZXN0ID0gKCkgPT4ge1xuICBjb25zdCBpdGVtcyA9IGAke3dpbmRvdy5sb2NhdGlvbi5zZWFyY2ggPyAnJicgOiAnPyd9aXRlbXM9JHtJVEVNUy5qb2luKCcsJyl9YFxuICByZXR1cm4gZmV0Y2hXaXRoUmV0cnkoYCR7cm9vdFBhdGh9L2FwaS9zZXNzaW9ucyR7d2luZG93LmxvY2F0aW9uLnNlYXJjaH0ke2l0ZW1zfSR7c3VwcG9ydGVkTG9jYWxlc1NlYXJjaH0ke2JpbmRpbmdJZFNlYXJjaH1gLCB7XG4gICAgYm9keTogJ3t9JyxcbiAgICBjcmVkZW50aWFsczogJ3NhbWUtb3JpZ2luJyxcbiAgICBoZWFkZXJzOiBuZXcgSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSksXG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gIH0pXG59XG5cbmNvbnN0IGNsZWFyU2Vzc2lvbiA9ICgpID0+IHtcbiAgcmV0dXJuIGZldGNoV2l0aFJldHJ5KGAke3Jvb3RQYXRofS9hcGkvc2Vzc2lvbnMvaW52YWxpZFRva2VuP2l0ZW1zPSpgLCB7XG4gICAgY3JlZGVudGlhbHM6ICdzYW1lLW9yaWdpbicsXG4gICAgaGVhZGVyczogbmV3IEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pLFxuICAgIG1ldGhvZDogJ0dFVCcsXG4gIH0sIDEpXG59XG5cbmNvbnN0IG9uRXJyb3IgPSAoZXJyOiBhbnkpID0+IGNvbnNvbGUubG9nKCdFcnJvciB3aGlsZSBsb2FkaW5nIHNlc3Npb24gd2l0aCBlcnJvcjogJywgZXJyKVxuXG5sZXQgc2Vzc2lvblByb21pc2U6IFByb21pc2U8dm9pZCB8IFNlc3Npb25SZXNwb25zZT5cbmlmIChiaW5kaW5nQ2hhbmdlZCkge1xuICBzZXNzaW9uUHJvbWlzZSA9IGNsZWFyU2Vzc2lvbigpXG4gICAgLnRoZW4oY3JlYXRlSW5pdGlhbFNlc3Npb25SZXF1ZXN0KVxuICAgIC5jYXRjaChvbkVycm9yKTtcbn0gZWxzZSB7XG4gIHNlc3Npb25Qcm9taXNlID0gY3JlYXRlSW5pdGlhbFNlc3Npb25SZXF1ZXN0KClcbiAgICAuY2F0Y2gob25FcnJvcik7XG59XG5cbih3aW5kb3cgYXMgYW55KS5fX1JFTkRFUl83X1NFU1NJT05fXyA9ICh3aW5kb3cgYXMgYW55KS5fX1JFTkRFUl84X1NFU1NJT05fXyA9IHtcbiAgcGF0Y2hTZXNzaW9uLFxuICBzZXNzaW9uUHJvbWlzZSxcbn1cblxuZXhwb3J0IHt9XG4iXSwic291cmNlUm9vdCI6IiJ9

@@ -1,1 +0,1 @@

!function(e){var n={};function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)t.d(o,r,function(n){return e[n]}.bind(null,r));return o},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="/",t(t.s=0)}([function(e,n,t){e.exports=t(1)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var o,r=t(2),i=window.__RUNTIME__&&window.__RUNTIME__.bindingChanged,u=window.__RUNTIME__&&window.__RUNTIME__.binding&&window.__RUNTIME__.binding.id,c=window.__RUNTIME__&&window.__RUNTIME__.culture&&window.__RUNTIME__.culture.availableLocales||[],s=window.__RUNTIME__&&window.__RUNTIME__.rootPath||"",a=[408,425,429,500,501,502,503,504,505,506,507,508,510,511],l=function(e,n,t){void 0===t&&(t=3);var o=500,r=!1,i=function(u){return void 0===u&&(u=0),new Promise(function(t,o){var i=setTimeout(function(){r=!0,o(new Error("Fetch timed out"))},7e3);fetch(e,n).then(function(e){clearTimeout(i),r||t(e)}).catch(function(e){clearTimeout(i),r||o(e)})}).then(function(e){return o=e.status,e.json().then(function(e){return{response:e,error:null}})}).catch(function(e){return console.error(e),u>=t||!function(e){return a.includes(e)}(o)||r?{response:null,error:{message:"Maximum number of attempts achieved or request timed out"}}:function(e){return new Promise(function(n){return setTimeout(n,e)})}(500*Math.pow(2,u)).then(function(){return i(++u)})})};return i()},d=(window.location.search?"&":"?")+"items="+r.ITEMS.join(","),_=c.length>0?"&supportedLocales="+c.join(","):"",p=u?"&__bindingId="+u:"",f=function(){return l(s+"/api/sessions"+window.location.search+d+_+p,{body:"{}",credentials:"same-origin",headers:new Headers({"Content-Type":"application/json"}),method:"POST"})},m=function(){return l(s+"/api/sessions/invalidToken?items=*",{credentials:"same-origin",headers:new Headers({"Content-Type":"application/json"}),method:"GET"},1)},w=function(e){return console.log("Error while loading session with error: ",e)};o=i?m().then(f).catch(w):f().then(function(e){return e.response&&e.response.namespaces.account.bindingId&&e.response.namespaces.account.bindingId.value!==u?m().then(f):e}).catch(w),window.__RENDER_7_SESSION__=window.__RENDER_8_SESSION__={patchSession:function(e){return l(s+"/api/sessions"+window.location.search,{body:e?JSON.stringify(e):"{}",credentials:"same-origin",headers:new Headers({"Content-Type":"application/json"}),method:"PATCH"}).catch(function(e){return console.log("Error while patching session with error: ",e)})},sessionPromise:o}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ITEMS=["account.id","account.accountName","account.bindingId","store.channel","store.countryCode","store.cultureInfo","store.currencyCode","store.currencySymbol","store.admin_cultureInfo","creditControl.creditAccounts","creditControl.deadlines","creditControl.minimumInstallmentValue","authentication.storeUserId","authentication.storeUserEmail","profile.firstName","profile.document","profile.email","profile.id","profile.isAuthenticated","profile.lastName","profile.phone","public.favoritePickup","public.utm_source","public.utm_medium","public.utm_campaign","public.utmi_cp","public.utmi_p","public.utmi_pc"]}]);
!function(e){var n={};function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)t.d(o,r,function(n){return e[n]}.bind(null,r));return o},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="/",t(t.s=0)}([function(e,n,t){e.exports=t(1)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var o,r=t(2),i=window.__RUNTIME__&&window.__RUNTIME__.bindingChanged,u=window.__RUNTIME__&&window.__RUNTIME__.binding&&window.__RUNTIME__.binding.id,c=window.__RUNTIME__&&window.__RUNTIME__.culture&&window.__RUNTIME__.culture.availableLocales||[],s=window.__RUNTIME__&&window.__RUNTIME__.rootPath||"",a=[408,425,429,500,501,502,503,504,505,506,507,508,510,511],l=function(e,n,t){void 0===t&&(t=3);var o=500,r=!1,i=function(u){return void 0===u&&(u=0),new Promise(function(t,o){var i=setTimeout(function(){r=!0,o(new Error("Fetch timed out"))},7e3);fetch(e,n).then(function(e){clearTimeout(i),r||t(e)}).catch(function(e){clearTimeout(i),r||o(e)})}).then(function(e){return o=e.status,e.json().then(function(e){return{response:e,error:null}})}).catch(function(e){return console.error(e),u>=t||!function(e){return a.includes(e)}(o)||r?{response:null,error:{message:"Maximum number of attempts achieved or request timed out"}}:function(e){return new Promise(function(n){return setTimeout(n,e)})}(500*Math.pow(2,u)).then(function(){return i(++u)})})};return i()},d=c.length>0?"&supportedLocales="+c.join(","):"",_=u?"&__bindingId="+u:"",f=function(){var e=(window.location.search?"&":"?")+"items="+r.ITEMS.join(",");return l(s+"/api/sessions"+window.location.search+e+d+_,{body:"{}",credentials:"same-origin",headers:new Headers({"Content-Type":"application/json"}),method:"POST"})},p=function(e){return console.log("Error while loading session with error: ",e)};o=i?l(s+"/api/sessions/invalidToken?items=*",{credentials:"same-origin",headers:new Headers({"Content-Type":"application/json"}),method:"GET"},1).then(f).catch(p):f().catch(p),window.__RENDER_7_SESSION__=window.__RENDER_8_SESSION__={patchSession:function(e){return l(s+"/api/sessions"+window.location.search,{body:e?JSON.stringify(e):"{}",credentials:"same-origin",headers:new Headers({"Content-Type":"application/json"}),method:"PATCH"}).catch(function(e){return console.log("Error while patching session with error: ",e)})},sessionPromise:o}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ITEMS=["account.id","account.accountName","store.channel","store.countryCode","store.cultureInfo","store.currencyCode","store.currencySymbol","store.admin_cultureInfo","creditControl.creditAccounts","creditControl.deadlines","creditControl.minimumInstallmentValue","authentication.storeUserId","authentication.storeUserEmail","profile.firstName","profile.document","profile.email","profile.id","profile.isAuthenticated","profile.lastName","profile.phone","public.favoritePickup","public.utm_source","public.utm_medium","public.utm_campaign","public.utmi_cp","public.utmi_p","public.utmi_pc"]}]);
{
"name": "vtex-render-session",
"version": "1.8.1-beta.0",
"version": "1.8.1",
"description": "Adds session as external to render runtime",

@@ -5,0 +5,0 @@ "scripts": {

export const ITEMS = [
"account.id",
"account.accountName",
"account.bindingId",
"store.channel",

@@ -6,0 +5,0 @@ "store.countryCode",

import { ITEMS } from './constants'
interface SessionNamespaceItem {
value: string
keepAlive?: boolean
}
type AccountFields = 'id' | 'accountName' | 'bindingId'
type SessionNamespace<T extends string> = Record<T, SessionNamespaceItem>
interface SessionResponseItems {
id: string
namespaces: {
account: SessionNamespace<AccountFields>
}
}
interface SessionResponse {
response: SessionResponseItems | null,
response: Response | null,
error: any,

@@ -100,4 +84,2 @@ }

const items = `${window.location.search ? '&' : '?'}items=${ITEMS.join(',')}`
const supportedLocalesSearch = supportedLocales.length > 0

@@ -112,2 +94,3 @@ ? `&supportedLocales=${supportedLocales.join(',')}`

const createInitialSessionRequest = () => {
const items = `${window.location.search ? '&' : '?'}items=${ITEMS.join(',')}`
return fetchWithRetry(`${rootPath}/api/sessions${window.location.search}${items}${supportedLocalesSearch}${bindingIdSearch}`, {

@@ -135,16 +118,6 @@ body: '{}',

.then(createInitialSessionRequest)
.catch(onError)
.catch(onError);
} else {
sessionPromise = createInitialSessionRequest()
.then(result => {
if (!result.response ||
!result.response.namespaces.account.bindingId ||
result.response.namespaces.account.bindingId.value === bindingId
) {
return result
}
return clearSession().then(createInitialSessionRequest)
})
.catch(onError)
.catch(onError);
}

@@ -151,0 +124,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc