rrfgff

by Artem

JavaScript

'use strict';

import PropTypes, { checkPropTypes } from 'prop-types';

const config = {};

function createConfigProvider() {  
	return {
  	registerEvent(event, getPropTypes, buildProps) {
    	config[event] = {
      	getPropTypes,
        buildProps,
      };
    },
    getEvent(event) {
    	return config[event];
    },
  };
}


const config = createConfigProvider();
config.registerEvent(
	'Login',
  () => ({ location: PropTypes.string.isRequired }),
  (props) => ({ ...props })
);

function track(event, props, optiopns) {
	const { getPropTypes, buildProps } = config.getEvent(event);
	checkPropTypes(getPropTypes(), traits, 'trait', `${event} event`);
  
  global.analytics.track(
    event,
    buildProps(properties),
    options,
    resolve,
  );
}