analytics-quala
Version:
Quala integration for 'analytics' module for browser & node
58 lines (53 loc) • 1.46 kB
JavaScript
(function () {
'use strict';
var _require = require("quala"),
beacon = _require.beacon;
function qualaPlugin(writeKey) {
var _loaded = false;
return {
name: "quala",
config: {
writeKey: writeKey
},
initialize: function initialize(_ref) {
var config = _ref.config;
beacon.load(config.writeKey);
_loaded = true;
},
page: function page(_ref2) {
var payload = _ref2.payload;
if (!_loaded) return;
beacon.screen({
name: payload.properties.title,
userId: payload.userId,
properties: payload.properties
});
},
track: function track(_ref3) {
var payload = _ref3.payload;
if (!_loaded) return;
beacon.track({
userId: payload.userId,
signal: payload.event,
properties: payload.properties
});
},
identify: function identify(_ref4) {
var payload = _ref4.payload;
if (!_loaded) return;
var userId = payload.userId,
traits = payload.traits;
beacon.identify({
// Adding this as companyId is mandatory but might not be provided
companyId: traits.companyId || "company-id-not-provided",
userId: userId,
traits: traits
});
},
loaded: function loaded() {
return _loaded;
}
};
}
module.exports = qualaPlugin;
})();