@saasquatch/squatch-js 2.3.1-0 → 2.3.1-4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/squatch.js CHANGED
@@ -1,6 +1,6 @@
1
1
  var debug = require('debug');
2
2
  var EventBus = require('eventbusjs');
3
- var fetchPonyfill = require('fetch-ponyfill');
3
+ var superagent = require('superagent');
4
4
  var Cookies = require('js-cookie');
5
5
 
6
6
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -28,120 +28,110 @@ function _interopNamespace(e) {
28
28
  var debug__default = /*#__PURE__*/_interopDefaultLegacy(debug);
29
29
  var debug__namespace = /*#__PURE__*/_interopNamespace(debug);
30
30
  var EventBus__namespace = /*#__PURE__*/_interopNamespace(EventBus);
31
- var fetchPonyfill__default = /*#__PURE__*/_interopDefaultLegacy(fetchPonyfill);
31
+ var superagent__namespace = /*#__PURE__*/_interopNamespace(superagent);
32
32
  var Cookies__default = /*#__PURE__*/_interopDefaultLegacy(Cookies);
33
33
 
34
- const {
35
- fetch
36
- } = fetchPonyfill__default['default']();
37
- async function doGet(url, jwt = "") {
34
+ function doGet(url, jwt = "") {
38
35
  const headers = {
39
36
  Accept: "application/json",
40
37
  "Content-Type": "application/json"
41
38
  };
42
39
  if (jwt) headers["X-SaaSquatch-User-Token"] = jwt;
43
-
44
- try {
45
- const response = await fetch(url, {
46
- method: "GET",
47
- credentials: "include",
48
- headers
49
- });
50
- const text = await response.text();
51
-
52
- if (response.status < 200 || response.status > 299) {
53
- throw new Error(text);
54
- }
55
-
56
- if (response.headers.get("Content-Type") === "application/json") {
57
- return JSON.parse(text);
58
- }
59
-
60
- return text;
61
- } catch (e) {
62
- let json;
63
-
64
- try {
65
- json = JSON.parse(e.message);
66
- } catch (e) {
67
- throw e.message;
40
+ const request = superagent__namespace.get(url).withCredentials().set(headers);
41
+ return thenableSuperagent(request).then(response => {
42
+ if ( //@ts-ignore -- superagent types might just be outdated?
43
+ response.headers["content-type"] && //@ts-ignore -- superagent types might just be outdated?
44
+ includes(response.headers["content-type"].toLowerCase(), "application/json")) {
45
+ return JSON.parse(response.text);
68
46
  }
69
47
 
48
+ return response.text;
49
+ }, ({
50
+ response
51
+ }) => {
52
+ const json = JSON.parse(response.text);
70
53
  throw json;
71
- }
54
+ });
72
55
  }
73
- async function doPost(url, data, jwt) {
56
+ /**
57
+ * @hidden
58
+ *
59
+ * @param url The requested url
60
+ * @param data Stringified json object
61
+ *
62
+ * @returns {Promise} superagent promise
63
+ */
64
+
65
+ function doPost(url, data, jwt) {
74
66
  const headers = {
75
67
  Accept: "application/json",
76
68
  "Content-Type": "application/json"
77
69
  };
78
70
  if (jwt) headers["X-SaaSquatch-User-Token"] = jwt;
79
-
80
- try {
81
- const response = await fetch(url, {
82
- method: "POST",
83
- headers,
84
- body: data
85
- });
86
- const text = await response.text();
87
-
88
- if (response.status < 200 || response.status > 299) {
89
- throw new Error(text);
90
- }
91
-
92
- if (response.headers.get("Content-Type") === "application/json") {
93
- return JSON.parse(text);
94
- }
95
-
96
- return text;
97
- } catch (e) {
71
+ const request = superagent__namespace.post(url).send(data).set(headers);
72
+ return thenableSuperagent(request).then(({
73
+ text
74
+ }) => text ? JSON.parse(text) : text, error => {
98
75
  let json;
99
76
 
100
77
  try {
101
- json = JSON.parse(e.message);
78
+ json = JSON.parse(error.response.text);
102
79
  } catch (e) {
103
- throw e.message;
80
+ const out = error || e;
81
+ throw out;
104
82
  }
105
83
 
106
84
  throw json;
107
- }
85
+ });
108
86
  }
109
- async function doPut(url, data, jwt) {
87
+ function doPut(url, data, jwt) {
110
88
  const headers = {
111
89
  Accept: "application/json",
112
90
  "Content-Type": "application/json",
113
91
  "X-SaaSquatch-Referrer": window ? window.location.href : ""
114
92
  };
115
93
  if (jwt) headers["X-SaaSquatch-User-Token"] = jwt;
116
-
117
- try {
118
- const response = await fetch(url, {
119
- method: "PUT",
120
- credentials: "include",
121
- headers,
122
- body: data
123
- });
124
- const text = await response.text();
125
-
126
- if (response.status < 200 || response.status > 299) {
127
- throw new Error(text);
128
- }
129
-
130
- if (response.headers.get("Content-Type") === "application/json") {
131
- return JSON.parse(text);
132
- }
133
-
134
- return text;
135
- } catch (e) {
94
+ const request = superagent__namespace.put(url).withCredentials().send(data).set(headers);
95
+ return thenableSuperagent(request).then(({
96
+ text
97
+ }) => text ? JSON.parse(text) : text, error => {
136
98
  let json;
137
99
 
138
100
  try {
139
- json = JSON.parse(e.message);
101
+ json = JSON.parse(error.response.text);
140
102
  } catch (e) {
141
- throw e.message;
103
+ const out = error || e;
104
+ throw out;
142
105
  }
143
106
 
144
107
  throw json;
108
+ });
109
+ }
110
+ /**
111
+ * Avoids using superagent's built in `then` method because that relies on a global promise object being valid.
112
+ *
113
+ * Instead, thanks to babel the promise used in this function should be our custom sandboxed polyfill
114
+ */
115
+
116
+ function thenableSuperagent(request) {
117
+ return new Promise((innerResolve, innerReject) => {
118
+ request.on("error", innerReject);
119
+ request.end((err, res) => {
120
+ if (err) innerReject(err);else innerResolve(res);
121
+ });
122
+ });
123
+ }
124
+
125
+ function includes(string, search, start) {
126
+
127
+ if (typeof start !== "number") {
128
+ start = 0;
129
+ }
130
+
131
+ if (start + search.length > string.length) {
132
+ return false;
133
+ } else {
134
+ return string.indexOf(search, start) !== -1;
145
135
  }
146
136
  }
147
137
 
@@ -590,7 +580,7 @@ class Widget {
590
580
 
591
581
  let found = null;
592
582
 
593
- for (let i = 0; i < 50; i++) {
583
+ for (let i = 0; i < 5; i++) {
594
584
  found = search();
595
585
  if (found) break;
596
586
  await delay(100);
@@ -609,7 +599,6 @@ class Widget {
609
599
  lastName
610
600
  }, jwt) {
611
601
  const frameWindow = this.frame.contentWindow;
612
- console.log("context", this.context);
613
602
  const engagementMedium = this.context.engagementMedium || "POPUP";
614
603
 
615
604
  if (!frameWindow) {
@@ -776,7 +765,11 @@ class EmbedWidget extends Widget {
776
765
 
777
766
  this.frame.height = height;
778
767
  }
779
- });
768
+ }); // observe height right away
769
+
770
+ ro.observe(frameDoc.body);
771
+ ro.unobserve(frameDoc.body); // observe any changes afterwards
772
+
780
773
  ro.observe(await this._findInnerContainer());
781
774
 
782
775
  this._loadEvent(_sqh);
@@ -1496,7 +1489,7 @@ class EventsApi {
1496
1489
  * Track an event for a user
1497
1490
  *
1498
1491
  * @param params Parameters for request
1499
- * @param params.jwt the JSON Web Token (JWT) that is used to authenticate the user
1492
+ * @param options.jwt the JSON Web Token (JWT) that is used to authenticate the user
1500
1493
  *
1501
1494
  * @return An ID to confirm the event has been accepted for asynchronous processing
1502
1495
  */
@@ -2183,9 +2176,9 @@ function submitEmail(fn) {
2183
2176
  * Manually set the _saasquatch cookie as a 1st party cookie if available as a URL parameter on the current page.
2184
2177
  * This runs automatically immediately when squatch-js is loaded, except when window.SaaSquatchDoNotAutoDrop is true.
2185
2178
  * Use this function manually if you have a single page application or custom routing that causes the `_saasquatch` URL parameter to not be set when Squatch.js loads.
2186
-
2179
+
2187
2180
  * It is safe to run this function multiple times. If the `_saasquatch` URL parameter is invalid or missing it will not clear the 1st party cookie.
2188
-
2181
+
2189
2182
  *
2190
2183
  * @returns {void}
2191
2184
  *
@@ -1 +1 @@
1
- {"version":3,"file":"squatch.js","sources":["../node_modules/@ungap/url-search-params/esm/index.js"],"sourcesContent":["/*! (c) Andrea Giammarchi - ISC */\nvar self = this || /* istanbul ignore next */ {};\ntry {\n (function (URLSearchParams, plus) {\n if (\n new URLSearchParams('q=%2B').get('q') !== plus ||\n new URLSearchParams({q: plus}).get('q') !== plus ||\n new URLSearchParams([['q', plus]]).get('q') !== plus ||\n new URLSearchParams('q=\\n').toString() !== 'q=%0A' ||\n new URLSearchParams({q: ' &'}).toString() !== 'q=+%26' ||\n new URLSearchParams({q: '%zx'}).toString() !== 'q=%25zx'\n )\n throw URLSearchParams;\n self.URLSearchParams = URLSearchParams;\n }(URLSearchParams, '+'));\n} catch(URLSearchParams) {\n (function (Object, String, isArray) {'use strict';\n var create = Object.create;\n var defineProperty = Object.defineProperty;\n var find = /[!'\\(\\)~]|%20|%00/g;\n var findPercentSign = /%(?![0-9a-fA-F]{2})/g;\n var plus = /\\+/g;\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n var proto = {\n append: function (key, value) {\n appendTo(this._ungap, key, value);\n },\n delete: function (key) {\n delete this._ungap[key];\n },\n get: function (key) {\n return this.has(key) ? this._ungap[key][0] : null;\n },\n getAll: function (key) {\n return this.has(key) ? this._ungap[key].slice(0) : [];\n },\n has: function (key) {\n return key in this._ungap;\n },\n set: function (key, value) {\n this._ungap[key] = [String(value)];\n },\n forEach: function (callback, thisArg) {\n var self = this;\n for (var key in self._ungap)\n self._ungap[key].forEach(invoke, key);\n function invoke(value) {\n callback.call(thisArg, value, String(key), self);\n }\n },\n toJSON: function () {\n return {};\n },\n toString: function () {\n var query = [];\n for (var key in this._ungap) {\n var encoded = encode(key);\n for (var\n i = 0,\n value = this._ungap[key];\n i < value.length; i++\n ) {\n query.push(encoded + '=' + encode(value[i]));\n }\n }\n return query.join('&');\n }\n };\n for (var key in proto)\n defineProperty(URLSearchParams.prototype, key, {\n configurable: true,\n writable: true,\n value: proto[key]\n });\n self.URLSearchParams = URLSearchParams;\n function URLSearchParams(query) {\n var dict = create(null);\n defineProperty(this, '_ungap', {value: dict});\n switch (true) {\n case !query:\n break;\n case typeof query === 'string':\n if (query.charAt(0) === '?') {\n query = query.slice(1);\n }\n for (var\n pairs = query.split('&'),\n i = 0,\n length = pairs.length; i < length; i++\n ) {\n var value = pairs[i];\n var index = value.indexOf('=');\n if (-1 < index) {\n appendTo(\n dict,\n decode(value.slice(0, index)),\n decode(value.slice(index + 1))\n );\n } else if (value.length){\n appendTo(\n dict,\n decode(value),\n ''\n );\n }\n }\n break;\n case isArray(query):\n for (var\n i = 0,\n length = query.length; i < length; i++\n ) {\n var value = query[i];\n appendTo(dict, value[0], value[1]);\n }\n break;\n case 'forEach' in query:\n query.forEach(addEach, dict);\n break;\n default:\n for (var key in query)\n appendTo(dict, key, query[key]);\n }\n }\n\n function addEach(value, key) {\n appendTo(this, key, value);\n }\n\n function appendTo(dict, key, value) {\n var res = isArray(value) ? value.join(',') : value;\n if (key in dict)\n dict[key].push(res);\n else\n dict[key] = [res];\n }\n\n function decode(str) {\n return decodeURIComponent(str.replace(findPercentSign, '%25').replace(plus, ' '));\n }\n\n function encode(str) {\n return encodeURIComponent(str).replace(find, replacer);\n }\n\n function replacer(match) {\n return replace[match];\n }\n\n }(Object, String, Array.isArray));\n}\n\n(function (URLSearchParamsProto) {\n\n var iterable = false;\n try { iterable = !!Symbol.iterator; } catch (o_O) {}\n\n /* istanbul ignore else */\n if (!('forEach' in URLSearchParamsProto)) {\n URLSearchParamsProto.forEach = function forEach(callback, thisArg) {\n var self = this;\n var names = Object.create(null);\n this.toString()\n .replace(/=[\\s\\S]*?(?:&|$)/g, '=')\n .split('=')\n .forEach(function (name) {\n if (!name.length || name in names)\n return;\n (names[name] = self.getAll(name)).forEach(function(value) {\n callback.call(thisArg, value, name, self);\n });\n });\n };\n }\n\n /* istanbul ignore else */\n if (!('keys' in URLSearchParamsProto)) {\n URLSearchParamsProto.keys = function keys() {\n return iterator(this, function(value, key) { this.push(key); });\n };\n }\n\n /* istanbul ignore else */\n if (!('values' in URLSearchParamsProto)) {\n URLSearchParamsProto.values = function values() {\n return iterator(this, function(value, key) { this.push(value); });\n };\n }\n\n /* istanbul ignore else */\n if (!('entries' in URLSearchParamsProto)) {\n URLSearchParamsProto.entries = function entries() {\n return iterator(this, function(value, key) { this.push([key, value]); });\n };\n }\n\n /* istanbul ignore else */\n if (iterable && !(Symbol.iterator in URLSearchParamsProto)) {\n URLSearchParamsProto[Symbol.iterator] = URLSearchParamsProto.entries;\n }\n\n /* istanbul ignore else */\n if (!('sort' in URLSearchParamsProto)) {\n URLSearchParamsProto.sort = function sort() {\n var\n entries = this.entries(),\n entry = entries.next(),\n done = entry.done,\n keys = [],\n values = Object.create(null),\n i, key, value\n ;\n while (!done) {\n value = entry.value;\n key = value[0];\n keys.push(key);\n if (!(key in values)) {\n values[key] = [];\n }\n values[key].push(value[1]);\n entry = entries.next();\n done = entry.done;\n }\n // not the champion in efficiency\n // but these two bits just do the job\n keys.sort();\n for (i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n for (i = 0; i < keys.length; i++) {\n key = keys[i];\n this.append(key, values[key].shift());\n }\n };\n }\n\n function iterator(self, callback) {\n var items = [];\n self.forEach(callback, items);\n /* istanbul ignore next */\n return iterable ?\n items[Symbol.iterator]() :\n {\n next: function() {\n var value = items.shift();\n return {done: value === void 0, value: value};\n }\n };\n }\n\n /* istanbul ignore next */\n (function (Object) {\n var\n dP = Object.defineProperty,\n gOPD = Object.getOwnPropertyDescriptor,\n createSearchParamsPollute = function (search) {\n function append(name, value) {\n URLSearchParamsProto.append.call(this, name, value);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n function del(name) {\n URLSearchParamsProto.delete.call(this, name);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n function set(name, value) {\n URLSearchParamsProto.set.call(this, name, value);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n return function (sp, value) {\n sp.append = append;\n sp.delete = del;\n sp.set = set;\n return dP(sp, '_usp', {\n configurable: true,\n writable: true,\n value: value\n });\n };\n },\n createSearchParamsCreate = function (polluteSearchParams) {\n return function (obj, sp) {\n dP(\n obj, '_searchParams', {\n configurable: true,\n writable: true,\n value: polluteSearchParams(sp, obj)\n }\n );\n return sp;\n };\n },\n updateSearchParams = function (sp) {\n var append = sp.append;\n sp.append = URLSearchParamsProto.append;\n URLSearchParams.call(sp, sp._usp.search.slice(1));\n sp.append = append;\n },\n verifySearchParams = function (obj, Class) {\n if (!(obj instanceof Class)) throw new TypeError(\n \"'searchParams' accessed on an object that \" +\n \"does not implement interface \" + Class.name\n );\n },\n upgradeClass = function (Class) {\n var\n ClassProto = Class.prototype,\n searchParams = gOPD(ClassProto, 'searchParams'),\n href = gOPD(ClassProto, 'href'),\n search = gOPD(ClassProto, 'search'),\n createSearchParams\n ;\n if (!searchParams && search && search.set) {\n createSearchParams = createSearchParamsCreate(\n createSearchParamsPollute(search)\n );\n Object.defineProperties(\n ClassProto,\n {\n href: {\n get: function () {\n return href.get.call(this);\n },\n set: function (value) {\n var sp = this._searchParams;\n href.set.call(this, value);\n if (sp) updateSearchParams(sp);\n }\n },\n search: {\n get: function () {\n return search.get.call(this);\n },\n set: function (value) {\n var sp = this._searchParams;\n search.set.call(this, value);\n if (sp) updateSearchParams(sp);\n }\n },\n searchParams: {\n get: function () {\n verifySearchParams(this, Class);\n return this._searchParams || createSearchParams(\n this,\n new URLSearchParams(this.search.slice(1))\n );\n },\n set: function (sp) {\n verifySearchParams(this, Class);\n createSearchParams(this, sp);\n }\n }\n }\n );\n }\n }\n ;\n try {\n upgradeClass(HTMLAnchorElement);\n if (/^function|object$/.test(typeof URL) && URL.prototype)\n upgradeClass(URL);\n } catch (meh) {}\n }(Object));\n\n}(self.URLSearchParams.prototype, Object));\nexport default self.URLSearchParams;\n"],"names":["this"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"squatch.js","sources":["../node_modules/@ungap/url-search-params/esm/index.js"],"sourcesContent":["/*! (c) Andrea Giammarchi - ISC */\nvar self = this || /* istanbul ignore next */ {};\ntry {\n (function (URLSearchParams, plus) {\n if (\n new URLSearchParams('q=%2B').get('q') !== plus ||\n new URLSearchParams({q: plus}).get('q') !== plus ||\n new URLSearchParams([['q', plus]]).get('q') !== plus ||\n new URLSearchParams('q=\\n').toString() !== 'q=%0A' ||\n new URLSearchParams({q: ' &'}).toString() !== 'q=+%26' ||\n new URLSearchParams({q: '%zx'}).toString() !== 'q=%25zx'\n )\n throw URLSearchParams;\n self.URLSearchParams = URLSearchParams;\n }(URLSearchParams, '+'));\n} catch(URLSearchParams) {\n (function (Object, String, isArray) {'use strict';\n var create = Object.create;\n var defineProperty = Object.defineProperty;\n var find = /[!'\\(\\)~]|%20|%00/g;\n var findPercentSign = /%(?![0-9a-fA-F]{2})/g;\n var plus = /\\+/g;\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n var proto = {\n append: function (key, value) {\n appendTo(this._ungap, key, value);\n },\n delete: function (key) {\n delete this._ungap[key];\n },\n get: function (key) {\n return this.has(key) ? this._ungap[key][0] : null;\n },\n getAll: function (key) {\n return this.has(key) ? this._ungap[key].slice(0) : [];\n },\n has: function (key) {\n return key in this._ungap;\n },\n set: function (key, value) {\n this._ungap[key] = [String(value)];\n },\n forEach: function (callback, thisArg) {\n var self = this;\n for (var key in self._ungap)\n self._ungap[key].forEach(invoke, key);\n function invoke(value) {\n callback.call(thisArg, value, String(key), self);\n }\n },\n toJSON: function () {\n return {};\n },\n toString: function () {\n var query = [];\n for (var key in this._ungap) {\n var encoded = encode(key);\n for (var\n i = 0,\n value = this._ungap[key];\n i < value.length; i++\n ) {\n query.push(encoded + '=' + encode(value[i]));\n }\n }\n return query.join('&');\n }\n };\n for (var key in proto)\n defineProperty(URLSearchParams.prototype, key, {\n configurable: true,\n writable: true,\n value: proto[key]\n });\n self.URLSearchParams = URLSearchParams;\n function URLSearchParams(query) {\n var dict = create(null);\n defineProperty(this, '_ungap', {value: dict});\n switch (true) {\n case !query:\n break;\n case typeof query === 'string':\n if (query.charAt(0) === '?') {\n query = query.slice(1);\n }\n for (var\n pairs = query.split('&'),\n i = 0,\n length = pairs.length; i < length; i++\n ) {\n var value = pairs[i];\n var index = value.indexOf('=');\n if (-1 < index) {\n appendTo(\n dict,\n decode(value.slice(0, index)),\n decode(value.slice(index + 1))\n );\n } else if (value.length){\n appendTo(\n dict,\n decode(value),\n ''\n );\n }\n }\n break;\n case isArray(query):\n for (var\n i = 0,\n length = query.length; i < length; i++\n ) {\n var value = query[i];\n appendTo(dict, value[0], value[1]);\n }\n break;\n case 'forEach' in query:\n query.forEach(addEach, dict);\n break;\n default:\n for (var key in query)\n appendTo(dict, key, query[key]);\n }\n }\n\n function addEach(value, key) {\n appendTo(this, key, value);\n }\n\n function appendTo(dict, key, value) {\n var res = isArray(value) ? value.join(',') : value;\n if (key in dict)\n dict[key].push(res);\n else\n dict[key] = [res];\n }\n\n function decode(str) {\n return decodeURIComponent(str.replace(findPercentSign, '%25').replace(plus, ' '));\n }\n\n function encode(str) {\n return encodeURIComponent(str).replace(find, replacer);\n }\n\n function replacer(match) {\n return replace[match];\n }\n\n }(Object, String, Array.isArray));\n}\n\n(function (URLSearchParamsProto) {\n\n var iterable = false;\n try { iterable = !!Symbol.iterator; } catch (o_O) {}\n\n /* istanbul ignore else */\n if (!('forEach' in URLSearchParamsProto)) {\n URLSearchParamsProto.forEach = function forEach(callback, thisArg) {\n var self = this;\n var names = Object.create(null);\n this.toString()\n .replace(/=[\\s\\S]*?(?:&|$)/g, '=')\n .split('=')\n .forEach(function (name) {\n if (!name.length || name in names)\n return;\n (names[name] = self.getAll(name)).forEach(function(value) {\n callback.call(thisArg, value, name, self);\n });\n });\n };\n }\n\n /* istanbul ignore else */\n if (!('keys' in URLSearchParamsProto)) {\n URLSearchParamsProto.keys = function keys() {\n return iterator(this, function(value, key) { this.push(key); });\n };\n }\n\n /* istanbul ignore else */\n if (!('values' in URLSearchParamsProto)) {\n URLSearchParamsProto.values = function values() {\n return iterator(this, function(value, key) { this.push(value); });\n };\n }\n\n /* istanbul ignore else */\n if (!('entries' in URLSearchParamsProto)) {\n URLSearchParamsProto.entries = function entries() {\n return iterator(this, function(value, key) { this.push([key, value]); });\n };\n }\n\n /* istanbul ignore else */\n if (iterable && !(Symbol.iterator in URLSearchParamsProto)) {\n URLSearchParamsProto[Symbol.iterator] = URLSearchParamsProto.entries;\n }\n\n /* istanbul ignore else */\n if (!('sort' in URLSearchParamsProto)) {\n URLSearchParamsProto.sort = function sort() {\n var\n entries = this.entries(),\n entry = entries.next(),\n done = entry.done,\n keys = [],\n values = Object.create(null),\n i, key, value\n ;\n while (!done) {\n value = entry.value;\n key = value[0];\n keys.push(key);\n if (!(key in values)) {\n values[key] = [];\n }\n values[key].push(value[1]);\n entry = entries.next();\n done = entry.done;\n }\n // not the champion in efficiency\n // but these two bits just do the job\n keys.sort();\n for (i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n for (i = 0; i < keys.length; i++) {\n key = keys[i];\n this.append(key, values[key].shift());\n }\n };\n }\n\n function iterator(self, callback) {\n var items = [];\n self.forEach(callback, items);\n /* istanbul ignore next */\n return iterable ?\n items[Symbol.iterator]() :\n {\n next: function() {\n var value = items.shift();\n return {done: value === void 0, value: value};\n }\n };\n }\n\n /* istanbul ignore next */\n (function (Object) {\n var\n dP = Object.defineProperty,\n gOPD = Object.getOwnPropertyDescriptor,\n createSearchParamsPollute = function (search) {\n function append(name, value) {\n URLSearchParamsProto.append.call(this, name, value);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n function del(name) {\n URLSearchParamsProto.delete.call(this, name);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n function set(name, value) {\n URLSearchParamsProto.set.call(this, name, value);\n name = this.toString();\n search.set.call(this._usp, name ? ('?' + name) : '');\n }\n return function (sp, value) {\n sp.append = append;\n sp.delete = del;\n sp.set = set;\n return dP(sp, '_usp', {\n configurable: true,\n writable: true,\n value: value\n });\n };\n },\n createSearchParamsCreate = function (polluteSearchParams) {\n return function (obj, sp) {\n dP(\n obj, '_searchParams', {\n configurable: true,\n writable: true,\n value: polluteSearchParams(sp, obj)\n }\n );\n return sp;\n };\n },\n updateSearchParams = function (sp) {\n var append = sp.append;\n sp.append = URLSearchParamsProto.append;\n URLSearchParams.call(sp, sp._usp.search.slice(1));\n sp.append = append;\n },\n verifySearchParams = function (obj, Class) {\n if (!(obj instanceof Class)) throw new TypeError(\n \"'searchParams' accessed on an object that \" +\n \"does not implement interface \" + Class.name\n );\n },\n upgradeClass = function (Class) {\n var\n ClassProto = Class.prototype,\n searchParams = gOPD(ClassProto, 'searchParams'),\n href = gOPD(ClassProto, 'href'),\n search = gOPD(ClassProto, 'search'),\n createSearchParams\n ;\n if (!searchParams && search && search.set) {\n createSearchParams = createSearchParamsCreate(\n createSearchParamsPollute(search)\n );\n Object.defineProperties(\n ClassProto,\n {\n href: {\n get: function () {\n return href.get.call(this);\n },\n set: function (value) {\n var sp = this._searchParams;\n href.set.call(this, value);\n if (sp) updateSearchParams(sp);\n }\n },\n search: {\n get: function () {\n return search.get.call(this);\n },\n set: function (value) {\n var sp = this._searchParams;\n search.set.call(this, value);\n if (sp) updateSearchParams(sp);\n }\n },\n searchParams: {\n get: function () {\n verifySearchParams(this, Class);\n return this._searchParams || createSearchParams(\n this,\n new URLSearchParams(this.search.slice(1))\n );\n },\n set: function (sp) {\n verifySearchParams(this, Class);\n createSearchParams(this, sp);\n }\n }\n }\n );\n }\n }\n ;\n try {\n upgradeClass(HTMLAnchorElement);\n if (/^function|object$/.test(typeof URL) && URL.prototype)\n upgradeClass(URL);\n } catch (meh) {}\n }(Object));\n\n}(self.URLSearchParams.prototype, Object));\nexport default self.URLSearchParams;\n"],"names":["this"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}