UNPKG

@aller/blink

Version:

A library for tracking user behaviour.

205 lines 9.28 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 store_1 = __importDefault(require("./store")); var actions_1 = require("./actions"); var get_id_from_url_1 = __importDefault(require("./utils/get-id-from-url")); var get_activity_1 = __importDefault(require("./selectors/get-activity")); var get_inscreen_time_1 = __importDefault(require("./selectors/get-inscreen-time")); var get_page_state_1 = __importDefault(require("./selectors/get-page-state")); function createBlink(_a) { var send = _a.send, sendDirect = _a.sendDirect, persistState = _a.persistState, utils = _a.utils, useDevTools = _a.useDevTools; var store = store_1.default(send, sendDirect, persistState, useDevTools); return { pageInit: function (input) { store.dispatch({ type: actions_1.PAGE_INIT, payload: input, utils: utils }); }, pageLoad: function (input) { store.dispatch({ type: actions_1.PAGE_LOAD, payload: input, utils: utils }); }, click: function (input) { var site = get_page_state_1.default(store.getState(), input.pageId).state.general.site; store.dispatch({ type: actions_1.CLICK, payload: { id: get_id_from_url_1.default(input.url || '', site), clickId: input.id, url: input.url, context: input.context, pageId: input.pageId, }, }); }, videoLoad: function (input) { store.dispatch({ type: actions_1.VIDEO_LOAD, payload: __assign({}, input) }); }, videoPlay: function (input) { store.dispatch({ type: actions_1.VIDEO_PLAY, payload: __assign({}, input) }); }, videoStop: function (input) { store.dispatch({ type: actions_1.VIDEO_STOP, payload: __assign({}, input) }); }, playerShown: function (input) { store.dispatch({ type: actions_1.PLAYER_SHOWN, payload: __assign({}, input) }); }, playerHidden: function (input) { store.dispatch({ type: actions_1.PLAYER_HIDDEN, payload: __assign({}, input) }); }, videoAd: function (input) { store.dispatch({ type: actions_1.VIDEO_AD, payload: __assign({}, input) }); }, custom: function (input) { store.dispatch({ type: actions_1.CUSTOM, payload: __assign({}, input) }); }, adScreenEnter: function (_a) { var id = _a.id, time = _a.time, pageId = _a.pageId; store.dispatch({ type: actions_1.AD_SCREEN_ENTER, payload: { id: id, time: time, pageId: pageId }, utils: utils, }); }, adScreenExit: function (_a) { var id = _a.id, time = _a.time, pageId = _a.pageId; store.dispatch({ type: actions_1.AD_SCREEN_EXIT, payload: { id: id, time: time, pageId: pageId }, utils: utils, }); }, adScreenEnter0: function (_a) { var id = _a.id, time = _a.time, pageId = _a.pageId; store.dispatch({ type: actions_1.AD_SCREEN_ENTER_0, payload: { id: id, time: time, pageId: pageId }, utils: utils, }); }, adScreenExit0: function (_a) { var id = _a.id, time = _a.time, pageId = _a.pageId; store.dispatch({ type: actions_1.AD_SCREEN_EXIT_0, payload: { id: id, time: time, pageId: pageId }, utils: utils, }); }, articlePreviewScreenEnter: function (input) { var site = get_page_state_1.default(store.getState(), input.pageId).state.general.site; var id = get_id_from_url_1.default(input.url, site); store.dispatch({ type: actions_1.ARTICLE_PREVIEW_SCREEN_ENTER, payload: __assign({}, input, { id: id }), utils: utils, }); }, articlePreviewScreenExit: function (_a) { var url = _a.url, pageId = _a.pageId, time = _a.time; var site = get_page_state_1.default(store.getState(), pageId).state.general.site; var id = get_id_from_url_1.default(url, site); store.dispatch({ type: actions_1.ARTICLE_PREVIEW_SCREEN_EXIT, payload: { id: id, url: url, time: time, pageId: pageId }, utils: utils, }); }, boxScreenEnter: function (input) { store.dispatch({ type: actions_1.BOX_SCREEN_ENTER, payload: __assign({}, input), utils: utils, }); }, boxScreenExit: function (_a) { var id = _a.id, time = _a.time, pageId = _a.pageId; store.dispatch({ type: actions_1.BOX_SCREEN_EXIT, payload: { id: id, time: time, pageId: pageId }, utils: utils, }); }, pageActivityStart: function (_a) { var url = _a.url, maxScroll = _a.maxScroll, pageId = _a.pageId, time = _a.time; var site = get_page_state_1.default(store.getState(), pageId).state.general.site; var id = get_id_from_url_1.default(url, site); store.dispatch({ type: actions_1.ARTICLE_ACTIVITY_START, payload: { id: id, time: time, url: url, maxScroll: maxScroll, pageId: pageId }, utils: utils, }); }, pageActivityStop: function (_a) { var url = _a.url, pageId = _a.pageId, time = _a.time; var site = get_page_state_1.default(store.getState(), pageId).state.general.site; var id = get_id_from_url_1.default(url, site); store.dispatch({ type: actions_1.ARTICLE_ACTIVITY_STOP, payload: { id: id, time: time, url: url, pageId: pageId }, utils: utils, }); }, dfpSlotRenderEnded: function (input) { store.dispatch({ type: actions_1.DFP_SLOT_RENDER_ENDED, payload: input, utils: utils }); }, dfpImpressionViewable: function (input) { store.dispatch({ type: actions_1.DFP_IMPRESSION_VIEWABLE, payload: input, utils: utils, }); }, dfpSlotOnload: function (input) { store.dispatch({ type: actions_1.DFP_SLOT_ON_LOAD, payload: input, utils: utils }); }, adLoad: function (input) { store.dispatch({ type: actions_1.AD_LOAD_START, payload: input, utils: utils }); }, sendAllEvents: function (time) { store.dispatch({ type: actions_1.SEND_ALL_EVENTS, payload: { time: time }, utils: utils }); }, screenHide: function (time) { store.dispatch({ type: actions_1.SCREEN_HIDE, payload: { time: time }, utils: utils }); }, screenShow: function (time) { store.dispatch({ type: actions_1.SCREEN_SHOW, payload: { time: time }, utils: utils }); }, getStore: function () { return store; }, getPage: function (_a) { var url = _a.url, pageId = _a.pageId, time = _a.time; var page = get_page_state_1.default(this.getStore().getState(), pageId); var id = get_id_from_url_1.default(url, page.state.general.site) || ''; var activity = get_activity_1.default(page.state, id, time || new Date()); return __assign({}, page.state.general, { activeTime: activity.activeTime, isActive: activity.isActive }); }, getArticlePreview: function (_a) { var url = _a.url, pageId = _a.pageId, time = _a.time; var page = get_page_state_1.default(this.getStore().getState(), pageId); var site = page.state.general.site; var id = get_id_from_url_1.default(url, site) || ''; var ap = page.state.articlePreview[id] || {}; return __assign({}, ap, { inscreenTime: get_inscreen_time_1.default(page.state, id, time || new Date()) }); }, getBox: function (_a) { var id = _a.id, pageId = _a.pageId, time = _a.time; var page = get_page_state_1.default(this.getStore().getState(), pageId); var box = page.state.box[id] || {}; return __assign({}, box, { inscreenTime: get_inscreen_time_1.default(page.state, id, time || new Date()) }); }, }; } exports.default = createBlink; //# sourceMappingURL=main.js.map