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,
);
}