Analytics.js 1.0 KB

1234567891011121314151617181920212223242526272829
  1. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.track = track;
  6. var _CoreManager = _interopRequireDefault(require("./CoreManager"));
  7. function track(name, dimensions) {
  8. name = name || '';
  9. name = name.replace(/^\s*/, '');
  10. name = name.replace(/\s*$/, '');
  11. if (name.length === 0) {
  12. throw new TypeError('A name for the custom event must be provided');
  13. }
  14. for (var _key in dimensions) {
  15. if (typeof _key !== 'string' || typeof dimensions[_key] !== 'string') {
  16. throw new TypeError('track() dimensions expects keys and values of type "string".');
  17. }
  18. }
  19. return _CoreManager.default.getAnalyticsController().track(name, dimensions);
  20. }
  21. var DefaultController = {
  22. track: function (name, dimensions) {
  23. var RESTController = _CoreManager.default.getRESTController();
  24. return RESTController.request('POST', 'events/' + name, {
  25. dimensions: dimensions
  26. });
  27. }
  28. };
  29. _CoreManager.default.setAnalyticsController(DefaultController);