@builder.io/sdk 3.0.2-1 → 3.0.2

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.
Files changed (35) hide show
  1. package/.yarnrc.yml +1 -0
  2. package/CHANGELOG.md +6 -0
  3. package/dist/index.browser.js +13 -20
  4. package/dist/index.browser.js.map +1 -1
  5. package/dist/index.cjs.js +13 -20
  6. package/dist/index.cjs.js.map +1 -1
  7. package/dist/index.esm.js +13 -20
  8. package/dist/index.esm.js.map +1 -1
  9. package/dist/index.umd.js +13 -20
  10. package/dist/index.umd.js.map +1 -1
  11. package/dist/package.json +3 -3
  12. package/dist/src/builder.class.js +12 -6
  13. package/dist/src/builder.class.js.map +1 -1
  14. package/dist/src/classes/cookies.class.js +0 -2
  15. package/dist/src/classes/cookies.class.js.map +1 -1
  16. package/dist/src/classes/promise.class.js +154 -150
  17. package/dist/src/classes/query-string.class.js +74 -73
  18. package/dist/src/classes/query-string.class.test.js +20 -20
  19. package/dist/src/functions/assign.function.js +19 -19
  20. package/dist/src/functions/fetch.function.js +75 -97
  21. package/dist/src/functions/finder.function.js +274 -389
  22. package/dist/src/functions/next-tick.function.js +23 -26
  23. package/dist/src/functions/omit.function.js +13 -13
  24. package/dist/src/functions/server-only-require.function.js +9 -10
  25. package/dist/src/functions/throttle.function.js +37 -35
  26. package/dist/src/functions/to-error.js +6 -5
  27. package/dist/src/functions/uuid.js +8 -9
  28. package/dist/src/types/api-version.js +3 -3
  29. package/dist/src/types/element.js +3 -3
  30. package/dist/src/url.test.js +118 -222
  31. package/dist/tsconfig.tsbuildinfo +1 -1
  32. package/package.json +5 -6
  33. package/dist/src/functions/get-top-level-domain.d.ts +0 -6
  34. package/dist/src/functions/get-top-level-domain.js +0 -17
  35. package/dist/src/functions/get-top-level-domain.js.map +0 -1
package/dist/index.esm.js CHANGED
@@ -118,7 +118,7 @@ function assertAllowedPropertyName(name) {
118
118
  throw new Error("Property name \"".concat(name, "\" is not allowed"));
119
119
  }
120
120
 
121
- var version = "3.0.2-0";
121
+ var version = "3.0.2";
122
122
 
123
123
  var Subscription = /** @class */ (function () {
124
124
  function Subscription(listeners, listener) {
@@ -733,19 +733,6 @@ var Animator = /** @class */ (function () {
733
733
  return Animator;
734
734
  }());
735
735
 
736
- /**
737
- * Only gets one level up from hostname
738
- * wwww.example.com -> example.com
739
- * www.example.co.uk -> example.co.uk
740
- */
741
- function getTopLevelDomain(host) {
742
- var parts = host.split('.');
743
- if (parts.length > 2) {
744
- return parts.slice(1).join('.');
745
- }
746
- return host;
747
- }
748
-
749
736
  /**
750
737
  * RegExp to match field-content in RFC 7230 sec 3.2
751
738
  *
@@ -790,7 +777,6 @@ var Cookies = /** @class */ (function () {
790
777
  if (opts && 'secure' in opts) {
791
778
  cookie.secure = !!opts.secure;
792
779
  }
793
- cookie.domain = req.headers.host && getTopLevelDomain(req.headers.host);
794
780
  pushCookie(headers, cookie);
795
781
  var setHeader = res.setHeader;
796
782
  setHeader.call(res, 'Set-Cookie', headers);
@@ -1047,7 +1033,6 @@ function setCookie(name, value, expires) {
1047
1033
  (value || '') +
1048
1034
  expiresString +
1049
1035
  '; path=/' +
1050
- "; domain=".concat(getTopLevelDomain(location.hostname)) +
1051
1036
  (secure ? '; secure; SameSite=None' : '');
1052
1037
  }
1053
1038
  catch (err) {
@@ -1215,6 +1200,17 @@ var Builder = /** @class */ (function () {
1215
1200
  this.setTestsFromUrl();
1216
1201
  // TODO: do this on every request send?
1217
1202
  this.getOverridesFromQueryString();
1203
+ // cookies used in personalization container script, so need to set before hydration to match script result
1204
+ var userAttrCookie = this.getCookie(Builder.attributesCookieName);
1205
+ if (userAttrCookie) {
1206
+ try {
1207
+ var attributes = JSON.parse(userAttrCookie);
1208
+ this.setUserAttributes(attributes);
1209
+ }
1210
+ catch (err) {
1211
+ console.debug('Error parsing user attributes cookie', err);
1212
+ }
1213
+ }
1218
1214
  }
1219
1215
  }
1220
1216
  Builder.register = function (type, info) {
@@ -2104,12 +2100,9 @@ var Builder = /** @class */ (function () {
2104
2100
  };
2105
2101
  Builder.prototype.setUserAttributes = function (options) {
2106
2102
  assign(Builder.overrideUserAttributes, options);
2107
- try {
2103
+ if (this.canTrack) {
2108
2104
  this.setCookie(Builder.attributesCookieName, JSON.stringify(this.getUserAttributes()));
2109
2105
  }
2110
- catch (_a) {
2111
- // Ignore
2112
- }
2113
2106
  this.userAttributesChanged.next(options);
2114
2107
  };
2115
2108
  /**