| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | 
							- "use strict";
 
- var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
 
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
 
- _Object$defineProperty(exports, "__esModule", {
 
-   value: true
 
- });
 
- exports.track = track;
 
- var _CoreManager = _interopRequireDefault(require("./CoreManager"));
 
- /**
 
-  * @flow
 
-  */
 
- /**
 
-  * Parse.Analytics provides an interface to Parse's logging and analytics
 
-  * backend.
 
-  *
 
-  * @class Parse.Analytics
 
-  * @static
 
-  * @hideconstructor
 
-  */
 
- /**
 
-  * Tracks the occurrence of a custom event with additional dimensions.
 
-  * Parse will store a data point at the time of invocation with the given
 
-  * event name.
 
-  *
 
-  * Dimensions will allow segmentation of the occurrences of this custom
 
-  * event. Keys and values should be {@code String}s, and will throw
 
-  * otherwise.
 
-  *
 
-  * To track a user signup along with additional metadata, consider the
 
-  * following:
 
-  * <pre>
 
-  * var dimensions = {
 
-  *  gender: 'm',
 
-  *  source: 'web',
 
-  *  dayType: 'weekend'
 
-  * };
 
-  * Parse.Analytics.track('signup', dimensions);
 
-  * </pre>
 
-  *
 
-  * There is a default limit of 8 dimensions per event tracked.
 
-  *
 
-  * @function track
 
-  * @name Parse.Analytics.track
 
-  * @param {string} name The name of the custom event to report to Parse as
 
-  * having happened.
 
-  * @param {object} dimensions The dictionary of information by which to
 
-  * segment this event.
 
-  * @returns {Promise} A promise that is resolved when the round-trip
 
-  * to the server completes.
 
-  */
 
- function track(name /*: string*/, dimensions /*: { [key: string]: string }*/) /*: Promise*/{
 
-   name = name || '';
 
-   name = name.replace(/^\s*/, '');
 
-   name = name.replace(/\s*$/, '');
 
-   if (name.length === 0) {
 
-     throw new TypeError('A name for the custom event must be provided');
 
-   }
 
-   for (var _key in dimensions) {
 
-     if (typeof _key !== 'string' || typeof dimensions[_key] !== 'string') {
 
-       throw new TypeError('track() dimensions expects keys and values of type "string".');
 
-     }
 
-   }
 
-   return _CoreManager.default.getAnalyticsController().track(name, dimensions);
 
- }
 
- var DefaultController = {
 
-   track: function (name, dimensions) {
 
-     var RESTController = _CoreManager.default.getRESTController();
 
-     return RESTController.request('POST', 'events/' + name, {
 
-       dimensions: dimensions
 
-     });
 
-   }
 
- };
 
- _CoreManager.default.setAnalyticsController(DefaultController);
 
 
  |