@atlaskit/analytics-next 8.2.0 → 8.3.1

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 (50) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/build/tsconfig.json +6 -2
  3. package/dist/cjs/components/AnalyticsContext/types.js +5 -1
  4. package/dist/cjs/components/AnalyticsErrorBoundary.js +2 -2
  5. package/dist/cjs/components/AnalyticsListener/types.js +5 -1
  6. package/dist/cjs/events/AnalyticsEvent.js +13 -3
  7. package/dist/cjs/events/UIAnalyticsEvent.js +11 -1
  8. package/dist/cjs/hocs/withAnalyticsContext.js +5 -3
  9. package/dist/cjs/hooks/usePatchedProps.js +21 -4
  10. package/dist/cjs/hooks/usePlatformLeafEventHandler.js +2 -2
  11. package/dist/cjs/hooks/usePlatformLeafSyntheticEventHandler.js +2 -2
  12. package/dist/cjs/index.js +39 -21
  13. package/dist/cjs/types.js +5 -1
  14. package/dist/cjs/utils/cleanProps.js +3 -1
  15. package/dist/cjs/version.json +1 -1
  16. package/dist/es2019/components/AnalyticsContext/types.js +1 -0
  17. package/dist/es2019/components/AnalyticsListener/types.js +1 -0
  18. package/dist/es2019/events/AnalyticsEvent.js +8 -0
  19. package/dist/es2019/events/UIAnalyticsEvent.js +8 -0
  20. package/dist/es2019/hooks/usePatchedProps.js +19 -4
  21. package/dist/es2019/index.js +2 -2
  22. package/dist/es2019/types.js +1 -0
  23. package/dist/es2019/version.json +1 -1
  24. package/dist/esm/components/AnalyticsContext/types.js +1 -0
  25. package/dist/esm/components/AnalyticsErrorBoundary.js +2 -2
  26. package/dist/esm/components/AnalyticsListener/types.js +1 -0
  27. package/dist/esm/events/AnalyticsEvent.js +11 -2
  28. package/dist/esm/events/UIAnalyticsEvent.js +8 -0
  29. package/dist/esm/hocs/withAnalyticsContext.js +4 -3
  30. package/dist/esm/hooks/usePatchedProps.js +22 -5
  31. package/dist/esm/hooks/usePlatformLeafEventHandler.js +2 -2
  32. package/dist/esm/hooks/usePlatformLeafSyntheticEventHandler.js +2 -2
  33. package/dist/esm/index.js +2 -2
  34. package/dist/esm/types.js +1 -0
  35. package/dist/esm/utils/cleanProps.js +2 -1
  36. package/dist/esm/version.json +1 -1
  37. package/dist/types/components/AnalyticsContext/LegacyAnalyticsContext.d.ts +4 -4
  38. package/dist/types/components/AnalyticsErrorBoundary.d.ts +1 -1
  39. package/dist/types/components/AnalyticsListener/LegacyAnalyticsListener.d.ts +4 -4
  40. package/dist/types/events/AnalyticsEvent.d.ts +2 -0
  41. package/dist/types/events/UIAnalyticsEvent.d.ts +2 -0
  42. package/dist/types/hocs/withAnalyticsContext.d.ts +22 -1
  43. package/dist/types/hocs/withAnalyticsEvents.d.ts +22 -1
  44. package/dist/types/hooks/usePatchedProps.d.ts +1 -1
  45. package/dist/types/index.d.ts +2 -2
  46. package/dist/types/performance/examples.d.ts +1 -0
  47. package/package.json +5 -6
  48. package/dist/cjs/performance/examples.js +0 -258
  49. package/dist/es2019/performance/examples.js +0 -197
  50. package/dist/esm/performance/examples.js +0 -228
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @atlaskit/analytics-next
2
2
 
3
+ ## 8.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`cb2392f6d33`](https://bitbucket.org/atlassian/atlassian-frontend/commits/cb2392f6d33) - Upgrade to TypeScript 4.2.4
8
+
9
+ ## 8.3.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [`37fd554209e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/37fd554209e) - Add instance checks for analytics events in analytics-next. Update check in mpt-analytics for events too.
14
+
15
+ ## 8.2.1
16
+
17
+ ### Patch Changes
18
+
19
+ - [`a4420ad5104`](https://bitbucket.org/atlassian/atlassian-frontend/commits/a4420ad5104) - Improves referential stability of analytics-next wrapped callbacks
20
+
3
21
  ## 8.2.0
4
22
 
5
23
  ### Minor Changes
@@ -9,5 +9,9 @@
9
9
  "../src/**/*.ts",
10
10
  "../src/**/*.tsx"
11
11
  ],
12
- "exclude": ["../src/**/__tests__/*"]
13
- }
12
+ "exclude": [
13
+ "../src/**/__tests__/*",
14
+ "../src/**/*.test.*",
15
+ "../src/**/test.*"
16
+ ]
17
+ }
@@ -1 +1,5 @@
1
- "use strict";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -33,9 +33,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
33
33
 
34
34
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
35
 
36
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
36
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
37
 
38
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
38
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
39
39
 
40
40
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
41
41
 
@@ -1 +1,5 @@
1
- "use strict";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports.isAnalyticsEvent = exports.default = void 0;
9
9
 
10
10
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
11
 
@@ -15,15 +15,25 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
15
15
 
16
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
17
 
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
19
 
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
20
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
+
22
+ var isAnalyticsEvent = function isAnalyticsEvent(obj) {
23
+ var _obj$constructor;
24
+
25
+ return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) || // Backwards compatibility with older analytics-next packages
26
+ (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';
27
+ };
28
+
29
+ exports.isAnalyticsEvent = isAnalyticsEvent;
21
30
 
22
31
  var AnalyticsEvent = /*#__PURE__*/function () {
23
32
  function AnalyticsEvent(props) {
24
33
  var _this = this;
25
34
 
26
35
  (0, _classCallCheck2.default)(this, AnalyticsEvent);
36
+ (0, _defineProperty2.default)(this, "_isAnalyticsEvent", true);
27
37
  (0, _defineProperty2.default)(this, "clone", function () {
28
38
  // just a shallow clone, don't change sub refs unless you want to
29
39
  // affect the original's too
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports.isUIAnalyticsEvent = exports.default = void 0;
9
9
 
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
11
 
@@ -31,6 +31,15 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
31
31
 
32
32
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
33
33
 
34
+ var isUIAnalyticsEvent = function isUIAnalyticsEvent(obj) {
35
+ var _obj$constructor;
36
+
37
+ return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) || // Backwards compatibility with older analytics-next packages
38
+ (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';
39
+ };
40
+
41
+ exports.isUIAnalyticsEvent = isUIAnalyticsEvent;
42
+
34
43
  var UIAnalyticsEvent = /*#__PURE__*/function (_AnalyticsEvent) {
35
44
  (0, _inherits2.default)(UIAnalyticsEvent, _AnalyticsEvent);
36
45
 
@@ -41,6 +50,7 @@ var UIAnalyticsEvent = /*#__PURE__*/function (_AnalyticsEvent) {
41
50
 
42
51
  (0, _classCallCheck2.default)(this, UIAnalyticsEvent);
43
52
  _this = _super.call(this, props);
53
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_isUIAnalyticsEvent", true);
44
54
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "clone", function () {
45
55
  if (_this.hasFired) {
46
56
  if (process.env.NODE_ENV !== 'production' && !process.env.CI) {
@@ -19,19 +19,21 @@ var _react = _interopRequireWildcard(require("react"));
19
19
 
20
20
  var _AnalyticsContext = _interopRequireDefault(require("../components/AnalyticsContext"));
21
21
 
22
+ var _excluded = ["analyticsContext"];
23
+
22
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
25
 
24
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
27
 
26
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
29
 
28
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
31
 
30
32
  var withAnalyticsContext = function withAnalyticsContext(defaultData) {
31
33
  return function (WrappedComponent) {
32
34
  var WithAnalyticsContext = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
33
35
  var analyticsContext = _ref.analyticsContext,
34
- rest = (0, _objectWithoutProperties2.default)(_ref, ["analyticsContext"]);
36
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
35
37
  var analyticsData = (0, _react.useMemo)(function () {
36
38
  return _objectSpread(_objectSpread({}, defaultData), analyticsContext);
37
39
  }, [analyticsContext]);
@@ -15,9 +15,9 @@ var _react = require("react");
15
15
 
16
16
  var _useAnalyticsEvents2 = require("./useAnalyticsEvents");
17
17
 
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
19
 
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
20
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
21
 
22
22
  function usePatchedProps() {
23
23
  var createEventMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -26,7 +26,15 @@ function usePatchedProps() {
26
26
  var _useAnalyticsEvents = (0, _useAnalyticsEvents2.useAnalyticsEvents)(),
27
27
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
28
28
 
29
+ var handlerCache = (0, _react.useRef)({});
29
30
  var patchedProps = (0, _react.useMemo)(function () {
31
+ var cache = handlerCache.current; // Clean up no longer used handlers in cache
32
+
33
+ Object.keys(cache).filter(function (key) {
34
+ return !(key in createEventMap);
35
+ }).forEach(function (key) {
36
+ return delete cache[key];
37
+ });
30
38
  return Object.keys(createEventMap).reduce(function (p, k) {
31
39
  var eventCreator = createEventMap[k];
32
40
 
@@ -36,6 +44,10 @@ function usePatchedProps() {
36
44
 
37
45
  var propValue = wrappedComponentProps[k];
38
46
 
47
+ if (k in cache && cache[k].eventCreator === eventCreator && cache[k].propValue === propValue) {
48
+ return _objectSpread(_objectSpread({}, p), {}, (0, _defineProperty2.default)({}, k, cache[k].wrappedCallback));
49
+ }
50
+
39
51
  var wrappedCallback = function wrappedCallback() {
40
52
  var analyticsEvent = typeof eventCreator === 'function' ? eventCreator(createAnalyticsEvent, wrappedComponentProps) : createAnalyticsEvent(eventCreator);
41
53
 
@@ -48,9 +60,14 @@ function usePatchedProps() {
48
60
  }
49
61
  };
50
62
 
51
- return wrappedCallback ? _objectSpread(_objectSpread({}, p), {}, (0, _defineProperty2.default)({}, k, wrappedCallback)) : p;
63
+ cache[k] = {
64
+ eventCreator: eventCreator,
65
+ wrappedCallback: wrappedCallback,
66
+ propValue: propValue
67
+ };
68
+ return _objectSpread(_objectSpread({}, p), {}, (0, _defineProperty2.default)({}, k, wrappedCallback));
52
69
  }, {});
53
- }, [createEventMap, wrappedComponentProps, createAnalyticsEvent]);
70
+ }, [createEventMap, wrappedComponentProps, createAnalyticsEvent, handlerCache]);
54
71
  return {
55
72
  patchedEventProps: patchedProps
56
73
  };
@@ -15,9 +15,9 @@ var _useAnalyticsEvents2 = require("./useAnalyticsEvents");
15
15
 
16
16
  var _useTrackedRef = require("./useTrackedRef");
17
17
 
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
19
 
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
20
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
21
 
22
22
  // WARNING: This hook will only function correctly for leaf node components - as in
23
23
  // no children inside the component will require analytics themselves.
@@ -15,9 +15,9 @@ var _useAnalyticsEvents2 = require("./useAnalyticsEvents");
15
15
 
16
16
  var _useTrackedRef = require("./useTrackedRef");
17
17
 
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
19
 
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
20
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
21
 
22
22
  // WARNING: This hook will only function correctly for leaf node components - as in
23
23
  // no children inside the component will require analytics themselves.
package/dist/cjs/index.js CHANGED
@@ -2,19 +2,27 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
- Object.defineProperty(exports, "AnalyticsEvent", {
10
+ Object.defineProperty(exports, "AnalyticsContext", {
9
11
  enumerable: true,
10
12
  get: function get() {
11
- return _AnalyticsEvent.default;
13
+ return _index2.default;
12
14
  }
13
15
  });
14
- Object.defineProperty(exports, "UIAnalyticsEvent", {
16
+ Object.defineProperty(exports, "AnalyticsErrorBoundary", {
15
17
  enumerable: true,
16
18
  get: function get() {
17
- return _UIAnalyticsEvent.default;
19
+ return _AnalyticsErrorBoundary.default;
20
+ }
21
+ });
22
+ Object.defineProperty(exports, "AnalyticsEvent", {
23
+ enumerable: true,
24
+ get: function get() {
25
+ return _AnalyticsEvent.default;
18
26
  }
19
27
  });
20
28
  Object.defineProperty(exports, "AnalyticsListener", {
@@ -23,34 +31,40 @@ Object.defineProperty(exports, "AnalyticsListener", {
23
31
  return _index.default;
24
32
  }
25
33
  });
26
- Object.defineProperty(exports, "AnalyticsContext", {
34
+ Object.defineProperty(exports, "AnalyticsReactContext", {
27
35
  enumerable: true,
28
36
  get: function get() {
29
- return _index2.default;
37
+ return _analyticsNextStableReactContext.default;
30
38
  }
31
39
  });
32
- Object.defineProperty(exports, "withAnalyticsContext", {
40
+ Object.defineProperty(exports, "UIAnalyticsEvent", {
33
41
  enumerable: true,
34
42
  get: function get() {
35
- return _withAnalyticsContext.default;
43
+ return _UIAnalyticsEvent.default;
36
44
  }
37
45
  });
38
- Object.defineProperty(exports, "AnalyticsErrorBoundary", {
46
+ Object.defineProperty(exports, "cleanProps", {
39
47
  enumerable: true,
40
48
  get: function get() {
41
- return _AnalyticsErrorBoundary.default;
49
+ return _cleanProps.default;
42
50
  }
43
51
  });
44
- Object.defineProperty(exports, "withAnalyticsEvents", {
52
+ Object.defineProperty(exports, "createAndFireEvent", {
45
53
  enumerable: true,
46
54
  get: function get() {
47
- return _withAnalyticsEvents.default;
55
+ return _createAndFireEvent.default;
48
56
  }
49
57
  });
50
- Object.defineProperty(exports, "AnalyticsReactContext", {
58
+ Object.defineProperty(exports, "isAnalyticsEvent", {
51
59
  enumerable: true,
52
60
  get: function get() {
53
- return _analyticsNextStableReactContext.default;
61
+ return _AnalyticsEvent.isAnalyticsEvent;
62
+ }
63
+ });
64
+ Object.defineProperty(exports, "isUIAnalyticsEvent", {
65
+ enumerable: true,
66
+ get: function get() {
67
+ return _UIAnalyticsEvent.isUIAnalyticsEvent;
54
68
  }
55
69
  });
56
70
  Object.defineProperty(exports, "useAnalyticsEvents", {
@@ -77,22 +91,22 @@ Object.defineProperty(exports, "usePlatformLeafSyntheticEventHandler", {
77
91
  return _usePlatformLeafSyntheticEventHandler.usePlatformLeafSyntheticEventHandler;
78
92
  }
79
93
  });
80
- Object.defineProperty(exports, "createAndFireEvent", {
94
+ Object.defineProperty(exports, "withAnalyticsContext", {
81
95
  enumerable: true,
82
96
  get: function get() {
83
- return _createAndFireEvent.default;
97
+ return _withAnalyticsContext.default;
84
98
  }
85
99
  });
86
- Object.defineProperty(exports, "cleanProps", {
100
+ Object.defineProperty(exports, "withAnalyticsEvents", {
87
101
  enumerable: true,
88
102
  get: function get() {
89
- return _cleanProps.default;
103
+ return _withAnalyticsEvents.default;
90
104
  }
91
105
  });
92
106
 
93
- var _AnalyticsEvent = _interopRequireDefault(require("./events/AnalyticsEvent"));
107
+ var _AnalyticsEvent = _interopRequireWildcard(require("./events/AnalyticsEvent"));
94
108
 
95
- var _UIAnalyticsEvent = _interopRequireDefault(require("./events/UIAnalyticsEvent"));
109
+ var _UIAnalyticsEvent = _interopRequireWildcard(require("./events/UIAnalyticsEvent"));
96
110
 
97
111
  var _index = _interopRequireDefault(require("./components/AnalyticsListener/index"));
98
112
 
@@ -116,4 +130,8 @@ var _usePlatformLeafSyntheticEventHandler = require("./hooks/usePlatformLeafSynt
116
130
 
117
131
  var _createAndFireEvent = _interopRequireDefault(require("./utils/createAndFireEvent"));
118
132
 
119
- var _cleanProps = _interopRequireDefault(require("./utils/cleanProps"));
133
+ var _cleanProps = _interopRequireDefault(require("./utils/cleanProps"));
134
+
135
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
136
+
137
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
package/dist/cjs/types.js CHANGED
@@ -1 +1,5 @@
1
- "use strict";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -9,8 +9,10 @@ exports.default = cleanProps;
9
9
 
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
11
 
12
+ var _excluded = ["createAnalyticsEvent"];
13
+
12
14
  function cleanProps(props) {
13
15
  var createAnalyticsEvent = props.createAnalyticsEvent,
14
- cleanedProps = (0, _objectWithoutProperties2.default)(props, ["createAnalyticsEvent"]);
16
+ cleanedProps = (0, _objectWithoutProperties2.default)(props, _excluded);
15
17
  return cleanedProps;
16
18
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/analytics-next",
3
- "version": "8.2.0",
3
+ "version": "8.3.1",
4
4
  "sideEffects": false
5
5
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,6 +1,14 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ export const isAnalyticsEvent = obj => {
3
+ var _obj$constructor;
4
+
5
+ return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) || // Backwards compatibility with older analytics-next packages
6
+ (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';
7
+ };
2
8
  export default class AnalyticsEvent {
3
9
  constructor(props) {
10
+ _defineProperty(this, "_isAnalyticsEvent", true);
11
+
4
12
  _defineProperty(this, "clone", () => {
5
13
  // just a shallow clone, don't change sub refs unless you want to
6
14
  // affect the original's too
@@ -1,9 +1,17 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import AnalyticsEvent from './AnalyticsEvent';
3
+ export const isUIAnalyticsEvent = obj => {
4
+ var _obj$constructor;
5
+
6
+ return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) || // Backwards compatibility with older analytics-next packages
7
+ (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';
8
+ };
3
9
  export default class UIAnalyticsEvent extends AnalyticsEvent {
4
10
  constructor(props) {
5
11
  super(props);
6
12
 
13
+ _defineProperty(this, "_isUIAnalyticsEvent", true);
14
+
7
15
  _defineProperty(this, "clone", () => {
8
16
  if (this.hasFired) {
9
17
  if (process.env.NODE_ENV !== 'production' && !process.env.CI) {
@@ -1,10 +1,14 @@
1
- import { useMemo } from 'react';
1
+ import { useMemo, useRef } from 'react';
2
2
  import { useAnalyticsEvents } from './useAnalyticsEvents';
3
3
  export function usePatchedProps(createEventMap = {}, wrappedComponentProps) {
4
4
  const {
5
5
  createAnalyticsEvent
6
6
  } = useAnalyticsEvents();
7
+ const handlerCache = useRef({});
7
8
  const patchedProps = useMemo(() => {
9
+ const cache = handlerCache.current; // Clean up no longer used handlers in cache
10
+
11
+ Object.keys(cache).filter(key => !(key in createEventMap)).forEach(key => delete cache[key]);
8
12
  return Object.keys(createEventMap).reduce((p, k) => {
9
13
  const eventCreator = createEventMap[k];
10
14
 
@@ -14,6 +18,12 @@ export function usePatchedProps(createEventMap = {}, wrappedComponentProps) {
14
18
 
15
19
  const propValue = wrappedComponentProps[k];
16
20
 
21
+ if (k in cache && cache[k].eventCreator === eventCreator && cache[k].propValue === propValue) {
22
+ return { ...p,
23
+ [k]: cache[k].wrappedCallback
24
+ };
25
+ }
26
+
17
27
  const wrappedCallback = (...args) => {
18
28
  const analyticsEvent = typeof eventCreator === 'function' ? eventCreator(createAnalyticsEvent, wrappedComponentProps) : createAnalyticsEvent(eventCreator);
19
29
 
@@ -22,11 +32,16 @@ export function usePatchedProps(createEventMap = {}, wrappedComponentProps) {
22
32
  }
23
33
  };
24
34
 
25
- return wrappedCallback ? { ...p,
35
+ cache[k] = {
36
+ eventCreator,
37
+ wrappedCallback,
38
+ propValue
39
+ };
40
+ return { ...p,
26
41
  [k]: wrappedCallback
27
- } : p;
42
+ };
28
43
  }, {});
29
- }, [createEventMap, wrappedComponentProps, createAnalyticsEvent]);
44
+ }, [createEventMap, wrappedComponentProps, createAnalyticsEvent, handlerCache]);
30
45
  return {
31
46
  patchedEventProps: patchedProps
32
47
  };
@@ -1,6 +1,6 @@
1
1
  // Analytics event classes
2
- export { default as AnalyticsEvent } from './events/AnalyticsEvent';
3
- export { default as UIAnalyticsEvent } from './events/UIAnalyticsEvent';
2
+ export { default as AnalyticsEvent, isAnalyticsEvent } from './events/AnalyticsEvent';
3
+ export { default as UIAnalyticsEvent, isUIAnalyticsEvent } from './events/UIAnalyticsEvent';
4
4
  // AnalyticsListener component
5
5
  export { default as AnalyticsListener } from './components/AnalyticsListener/index'; // AnalyticsContext component and HOC
6
6
 
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/analytics-next",
3
- "version": "8.2.0",
3
+ "version": "8.3.1",
4
4
  "sideEffects": false
5
5
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -6,9 +6,9 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstruct
6
6
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
7
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
8
 
9
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
9
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
10
 
11
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
11
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
12
 
13
13
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
14
14
 
@@ -0,0 +1 @@
1
+ export {};
@@ -3,9 +3,16 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
3
  import _createClass from "@babel/runtime/helpers/createClass";
4
4
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
5
 
6
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
7
 
8
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
+
10
+ export var isAnalyticsEvent = function isAnalyticsEvent(obj) {
11
+ var _obj$constructor;
12
+
13
+ return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) || // Backwards compatibility with older analytics-next packages
14
+ (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';
15
+ };
9
16
 
10
17
  var AnalyticsEvent = /*#__PURE__*/function () {
11
18
  function AnalyticsEvent(props) {
@@ -13,6 +20,8 @@ var AnalyticsEvent = /*#__PURE__*/function () {
13
20
 
14
21
  _classCallCheck(this, AnalyticsEvent);
15
22
 
23
+ _defineProperty(this, "_isAnalyticsEvent", true);
24
+
16
25
  _defineProperty(this, "clone", function () {
17
26
  // just a shallow clone, don't change sub refs unless you want to
18
27
  // affect the original's too
@@ -13,6 +13,12 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
13
13
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
14
14
 
15
15
  import AnalyticsEvent from './AnalyticsEvent';
16
+ export var isUIAnalyticsEvent = function isUIAnalyticsEvent(obj) {
17
+ var _obj$constructor;
18
+
19
+ return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) || // Backwards compatibility with older analytics-next packages
20
+ (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';
21
+ };
16
22
 
17
23
  var UIAnalyticsEvent = /*#__PURE__*/function (_AnalyticsEvent) {
18
24
  _inherits(UIAnalyticsEvent, _AnalyticsEvent);
@@ -26,6 +32,8 @@ var UIAnalyticsEvent = /*#__PURE__*/function (_AnalyticsEvent) {
26
32
 
27
33
  _this = _super.call(this, props);
28
34
 
35
+ _defineProperty(_assertThisInitialized(_this), "_isUIAnalyticsEvent", true);
36
+
29
37
  _defineProperty(_assertThisInitialized(_this), "clone", function () {
30
38
  if (_this.hasFired) {
31
39
  if (process.env.NODE_ENV !== 'production' && !process.env.CI) {
@@ -1,10 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["analyticsContext"];
4
5
 
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
7
 
7
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
9
 
9
10
  import React, { forwardRef, useMemo } from 'react';
10
11
  import AnalyticsContext from '../components/AnalyticsContext';
@@ -13,7 +14,7 @@ var withAnalyticsContext = function withAnalyticsContext(defaultData) {
13
14
  return function (WrappedComponent) {
14
15
  var WithAnalyticsContext = /*#__PURE__*/forwardRef(function (_ref, ref) {
15
16
  var analyticsContext = _ref.analyticsContext,
16
- rest = _objectWithoutProperties(_ref, ["analyticsContext"]);
17
+ rest = _objectWithoutProperties(_ref, _excluded);
17
18
 
18
19
  var analyticsData = useMemo(function () {
19
20
  return _objectSpread(_objectSpread({}, defaultData), analyticsContext);