@teamix/testing-capability
Version:
TeamixTest 测试能力
36 lines • 1.38 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
var _excluded = ["source"];
var validEvent = ['getModuleInfo', 'getChartTestInfo'];
var getModuleKey = function getModuleKey(data) {
var url = data.url,
moduleName = data.moduleName,
moduleVersion = data.moduleVersion,
event = data.event;
return moduleName + "@" + moduleVersion + "@" + event + "@" + url;
};
var listenerPostMessage = function listenerPostMessage() {
if (!window.TEAMIX_TEST_MODULEINFO) {
window.TEAMIX_TEST_MODULEINFO = [];
window.addEventListener('message', function (message) {
var _message$data = message.data,
source = _message$data.source,
payload = _objectWithoutPropertiesLoose(_message$data, _excluded);
if (source === 'teamix-test-devtools') {
var key = getModuleKey(payload);
if (validEvent.includes(payload.event)) {
if (!window.TEAMIX_TEST_MODULEINFO.find(function (module) {
return module.key === key;
})) {
window.TEAMIX_TEST_MODULEINFO.push(_extends({}, payload, {
key: key
}));
}
}
}
}, false);
} else {
console.log('TEAMIX_TEST_MODULEINFO => ', window.TEAMIX_TEST_MODULEINFO);
}
};
export default listenerPostMessage;