343434

by Artem

JavaScript

'use strict';

// import
function getUserId() {
	return 'userId1234567';
}

const lastArgs = {
	userName: null,
  userEmail: null,
};

function analyticsIdentify() {
	console.log('window analytics: ', lastArgs);
	return Promise.resolve();
}
	
function identify(props, options) {
	const userId = getUserId();
	const isSameArgs = Object.keys(props).every((arg) => {
  	return props[arg] === lastArgs[arg]; 
  });
  if (isSameArgs) {
  	return Promise.resolve();
  }  
  Object.assign(lastArgs, props);
  
  return (userId && userId.length > 0) ?
  	analyticsIdentify.apply(this, [userId, props, options]) :
    analyticsIdentify.apply(this, [props, options]);
}

identify({ userName: 'Arem', userEmail: '[email protected] '}).then(() => {
	console.log('identify call');
});
identify({ userName: 'Arem', userEmail: '[email protected] '}).then(() => {
	console.log('identify call');
});