@saasquatch/squatch-js 2.4.1-0 → 2.5.0-0

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/CHANGELOG.md CHANGED
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.5.0] - 2022-12-01
11
+
12
+ ### Removed
13
+
14
+ - Removed WidgetApi.cookieUser method and associated usage
15
+
16
+ ### Changed
17
+
18
+ - Widgets.render now calls upsertUser rather than cookieUser api method
19
+
20
+ ## [2.4.1] - 2022-09-23
21
+
22
+ ### Added
23
+
24
+ - Added event idempotencyKey to types
25
+
10
26
  ## [2.4.0] - 2022-03-15
11
27
 
12
28
  ### Changed
@@ -225,8 +241,10 @@ No release notes.
225
241
 
226
242
  No release notes.
227
243
 
228
- [unreleased]: https://github.com/saasquatch/squatch-js/compare/v2.4.0...HEAD
229
- [2.4.0]: https://github.com/saasquatch/squatch-js/compare/v2.3.1...v2.4.0
244
+ [unreleased]: https://github.com/saasquatch/squatch-js/compare/@saasquatch%2Fsquatch-js@2.5.0...HEAD
245
+ [2.5.0]: https://github.com/saasquatch/squatch-js/compare/@saasquatch%2Fsquatch-js@2.4.1...@saasquatch%2Fsquatch-js@2.5.0
246
+ [2.4.1]: https://github.com/saasquatch/squatch-js/compare/@saasquatch%2Fsquatch-js@2.4.0...@saasquatch%2Fsquatch-js@2.4.1
247
+ [2.4.0]: https://github.com/saasquatch/squatch-js/compare/v2.3.1...@saasquatch%2Fsquatch-js@2.4.0
230
248
  [2.3.1]: https://github.com/saasquatch/squatch-js/compare/v2.3.0...v2.3.1
231
249
  [2.3.0]: https://github.com/saasquatch/squatch-js/compare/v2.2.1...v2.3.0
232
250
  [2.2.1]: https://github.com/saasquatch/squatch-js/compare/v2.2.0...v2.2.1
@@ -1,4 +1,4 @@
1
- import { ConfigOptions, CookieUser, WidgetConfig } from "../types";
1
+ import { ConfigOptions, WidgetConfig } from "../types";
2
2
  /**
3
3
  *
4
4
  * The WidgetApi class is a wrapper around the Widget Endpoints of the SaaSquatch REST API.
@@ -25,19 +25,6 @@ export default class WidgetApi {
25
25
  * let squatchApi = new WidgetApi({tenantAlias:'test_12b5bo1b25125'});
26
26
  */
27
27
  constructor(config: ConfigOptions);
28
- /**
29
- * Creates/upserts an anonymous user.
30
- *
31
- * @param {Object} params Parameters for request
32
- * @param {WidgetType} params.widgetType The content of the widget.
33
- * @param {EngagementMedium} params.engagementMedium How to display the widget.
34
- * @param {CookieUser} params.user An optional user object
35
- * @param {string} params.jwt the JSON Web Token (JWT) that is used to
36
- * validate the data (can be disabled)
37
- *
38
- * @return {Promise} json object if true, with the widget template, jsOptions and user details.
39
- */
40
- cookieUser(params: CookieUser): Promise<any>;
41
28
  /**
42
29
  * Creates/upserts user.
43
30
  *
@@ -178,39 +178,6 @@ class WidgetApi {
178
178
  this.domain = clean.domain;
179
179
  this.npmCdn = clean.npmCdn;
180
180
  }
181
- /**
182
- * Creates/upserts an anonymous user.
183
- *
184
- * @param {Object} params Parameters for request
185
- * @param {WidgetType} params.widgetType The content of the widget.
186
- * @param {EngagementMedium} params.engagementMedium How to display the widget.
187
- * @param {CookieUser} params.user An optional user object
188
- * @param {string} params.jwt the JSON Web Token (JWT) that is used to
189
- * validate the data (can be disabled)
190
- *
191
- * @return {Promise} json object if true, with the widget template, jsOptions and user details.
192
- */
193
-
194
-
195
- cookieUser(params) {
196
- // validateInput(params, CookieUserSchema);
197
- const {
198
- widgetType,
199
- engagementMedium = "POPUP",
200
- jwt,
201
- user
202
- } = params;
203
- const tenantAlias = encodeURIComponent(this.tenantAlias);
204
-
205
- const optionalParams = _buildParams({
206
- widgetType,
207
- engagementMedium
208
- });
209
-
210
- const path = `/api/v1/${tenantAlias}/widget/user/cookie_user${optionalParams}`;
211
- const url = this.domain + path;
212
- return doPut(url, JSON.stringify(user ? user : {}), jwt);
213
- }
214
181
  /**
215
182
  * Creates/upserts user.
216
183
  *
@@ -595,18 +562,6 @@ class Widget {
595
562
  widgetType: this.type,
596
563
  jwt
597
564
  });
598
- } else if (this.context.type === "cookie") {
599
- let userObj = {
600
- email: email || null,
601
- firstName: firstName || null,
602
- lastName: lastName || null
603
- };
604
- response = this.widgetApi.cookieUser({
605
- user: userObj,
606
- engagementMedium,
607
- widgetType: this.type,
608
- jwt
609
- });
610
565
  } else {
611
566
  throw new Error("can't reload an error widget");
612
567
  }
@@ -1144,41 +1099,6 @@ class Widgets {
1144
1099
 
1145
1100
  EventBus.addEventListener("submit_email", Widgets._cb);
1146
1101
  }
1147
- /**
1148
- * This function calls the {@link WidgetApi.cookieUser} method, and it renders
1149
- * the widget if it is successful. Otherwise it shows the "error" widget.
1150
- *
1151
- * @param {Object} config Config details
1152
- * @param {WidgetType} config.widgetType The content of the widget.
1153
- * @param {EngagementMedium} config.engagementMedium How to display the widget.
1154
- * @param {User} config.user An optional user to include
1155
- * @param {string} config.jwt the JSON Web Token (JWT) that is used to
1156
- * validate the data (can be disabled)
1157
- *
1158
- * @return {Promise<WidgetResult>} json object if true, with a Widget and user details.
1159
- */
1160
-
1161
-
1162
- async createCookieUser(config) {
1163
- try {
1164
- const response = await this.api.cookieUser(config);
1165
- return {
1166
- widget: this._renderWidget(response, config, {
1167
- type: "cookie",
1168
- engagementMedium: config.engagementMedium
1169
- }),
1170
- user: response.user
1171
- };
1172
- } catch (err) {
1173
- _log$2(err);
1174
-
1175
- if (err.apiErrorCode) {
1176
- this._renderErrorWidget(err, config.engagementMedium);
1177
- }
1178
-
1179
- throw err;
1180
- }
1181
- }
1182
1102
  /**
1183
1103
  * This function calls the {@link WidgetApi.upsertUser} method, and it renders
1184
1104
  * the widget if it is successful. Otherwise it shows the "error" widget.
@@ -1245,7 +1165,7 @@ class Widgets {
1245
1165
  const clean = validateWidgetConfig(raw);
1246
1166
 
1247
1167
  try {
1248
- const response = await this.api.cookieUser(clean);
1168
+ const response = await this.api.upsertUser(clean);
1249
1169
  return {
1250
1170
  widget: this._renderWidget({
1251
1171
  template: response
@@ -1 +1 @@
1
- {"version":3,"file":"squatch.esm.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.esm.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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"}
package/dist/squatch.js CHANGED
@@ -205,39 +205,6 @@ class WidgetApi {
205
205
  this.domain = clean.domain;
206
206
  this.npmCdn = clean.npmCdn;
207
207
  }
208
- /**
209
- * Creates/upserts an anonymous user.
210
- *
211
- * @param {Object} params Parameters for request
212
- * @param {WidgetType} params.widgetType The content of the widget.
213
- * @param {EngagementMedium} params.engagementMedium How to display the widget.
214
- * @param {CookieUser} params.user An optional user object
215
- * @param {string} params.jwt the JSON Web Token (JWT) that is used to
216
- * validate the data (can be disabled)
217
- *
218
- * @return {Promise} json object if true, with the widget template, jsOptions and user details.
219
- */
220
-
221
-
222
- cookieUser(params) {
223
- // validateInput(params, CookieUserSchema);
224
- const {
225
- widgetType,
226
- engagementMedium = "POPUP",
227
- jwt,
228
- user
229
- } = params;
230
- const tenantAlias = encodeURIComponent(this.tenantAlias);
231
-
232
- const optionalParams = _buildParams({
233
- widgetType,
234
- engagementMedium
235
- });
236
-
237
- const path = `/api/v1/${tenantAlias}/widget/user/cookie_user${optionalParams}`;
238
- const url = this.domain + path;
239
- return doPut(url, JSON.stringify(user ? user : {}), jwt);
240
- }
241
208
  /**
242
209
  * Creates/upserts user.
243
210
  *
@@ -622,18 +589,6 @@ class Widget {
622
589
  widgetType: this.type,
623
590
  jwt
624
591
  });
625
- } else if (this.context.type === "cookie") {
626
- let userObj = {
627
- email: email || null,
628
- firstName: firstName || null,
629
- lastName: lastName || null
630
- };
631
- response = this.widgetApi.cookieUser({
632
- user: userObj,
633
- engagementMedium,
634
- widgetType: this.type,
635
- jwt
636
- });
637
592
  } else {
638
593
  throw new Error("can't reload an error widget");
639
594
  }
@@ -1171,41 +1126,6 @@ class Widgets {
1171
1126
 
1172
1127
  EventBus__namespace.addEventListener("submit_email", Widgets._cb);
1173
1128
  }
1174
- /**
1175
- * This function calls the {@link WidgetApi.cookieUser} method, and it renders
1176
- * the widget if it is successful. Otherwise it shows the "error" widget.
1177
- *
1178
- * @param {Object} config Config details
1179
- * @param {WidgetType} config.widgetType The content of the widget.
1180
- * @param {EngagementMedium} config.engagementMedium How to display the widget.
1181
- * @param {User} config.user An optional user to include
1182
- * @param {string} config.jwt the JSON Web Token (JWT) that is used to
1183
- * validate the data (can be disabled)
1184
- *
1185
- * @return {Promise<WidgetResult>} json object if true, with a Widget and user details.
1186
- */
1187
-
1188
-
1189
- async createCookieUser(config) {
1190
- try {
1191
- const response = await this.api.cookieUser(config);
1192
- return {
1193
- widget: this._renderWidget(response, config, {
1194
- type: "cookie",
1195
- engagementMedium: config.engagementMedium
1196
- }),
1197
- user: response.user
1198
- };
1199
- } catch (err) {
1200
- _log$2(err);
1201
-
1202
- if (err.apiErrorCode) {
1203
- this._renderErrorWidget(err, config.engagementMedium);
1204
- }
1205
-
1206
- throw err;
1207
- }
1208
- }
1209
1129
  /**
1210
1130
  * This function calls the {@link WidgetApi.upsertUser} method, and it renders
1211
1131
  * the widget if it is successful. Otherwise it shows the "error" widget.
@@ -1272,7 +1192,7 @@ class Widgets {
1272
1192
  const clean = validateWidgetConfig(raw);
1273
1193
 
1274
1194
  try {
1275
- const response = await this.api.cookieUser(clean);
1195
+ const response = await this.api.upsertUser(clean);
1276
1196
  return {
1277
1197
  widget: this._renderWidget({
1278
1198
  template: response
@@ -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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"}