UNPKG

@aller/blink

Version:

A library for tracking user behaviour.

49 lines 1.94 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var event_time_1 = require("../utils/event-time"); var general_data_1 = __importDefault(require("../utils/general-data")); /** * Prepares a raw impression by aggregating its fields so that * it can be sent to the server in the format aas expects. */ function prepareBoxEvent(page, id, time) { var box = page.state.box[id] || { id: id || 'error', url: undefined }; var inscreenTime = id ? event_time_1.calculateEventTime({ times: page.state.inscreen[id], screenEvents: page.state.screen.events, now: time, }) : 0; return __assign({}, general_data_1.default(page.state), { id: box.id, boxId: box.id, type: 'box', inscreenTime: inscreenTime, title: box.title || undefined, height: box.height || 0, width: box.width || 0 }); } exports.default = prepareBoxEvent; function getAllBoxEventsPrepared(page, time) { return Object.keys(page.state.box) .map(function (articleId) { try { return prepareBoxEvent(page, articleId, time); } catch (err) { var event = { id: '', pageView: '', type: 'error' }; return event; } }) .filter(function (event) { return event.type !== 'error'; }); } exports.getAllBoxEventsPrepared = getAllBoxEventsPrepared; //# sourceMappingURL=prepare-box-event.js.map