@aller/blink
Version:
A library for tracking user behaviour.
205 lines • 9.28 kB
JavaScript
"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