visitor-segments
Version:
Hellobar Segments.
72 lines (71 loc) • 3.08 kB
JavaScript
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Segments = void 0;
const visits_1 = require("./visits");
const session_1 = require("./session");
const params_1 = require("./params");
const geolocation_1 = require("./geolocation");
const referrer_1 = require("./referrer");
const page_1 = require("./page");
const conversions_1 = require("./conversions");
const ipapiProvider_1 = require("./geo/ipapiProvider");
const abstractSegments_1 = require("./abstractSegments");
const adBlocker_1 = require("./adBlocker");
const adBlockProvider_1 = require("./ads/adBlockProvider");
class Segments extends abstractSegments_1.AbstractSegments {
constructor(scope, options) {
const geoAdapter = (options === null || options === void 0 ? void 0 : options.geoAdapter) || new ipapiProvider_1.IPApiProvider();
const adAdapter = (options === null || options === void 0 ? void 0 : options.adAdapter) || new adBlockProvider_1.AdBlockProvider();
super(scope, options);
this.visits = new visits_1.Visits(this);
this.session = new session_1.Session(this);
this.conversions = new conversions_1.Conversions(this);
this.params = new params_1.Params(this);
this.geolocation = new geolocation_1.GeoLocation(this, geoAdapter);
this.referrer = new referrer_1.Referrer(this);
this.page = new page_1.Page(this);
this.adBlocker = new adBlocker_1.AdBlocker(this, adAdapter);
}
visit() {
const _super = Object.create(null, {
visit: { get: () => super.visit }
});
return __awaiter(this, void 0, void 0, function* () {
yield _super.visit.call(this);
this.visits.update();
this.session.update();
this.params.update();
this.referrer.update();
this.page.update();
yield this.geolocation.update();
yield this.adBlocker.update();
});
}
convert() {
this.conversions.update();
}
reset() {
super.reset();
this.geolocation.reset();
this.visits.reset();
this.session.reset();
this.params.reset();
this.referrer.reset();
this.page.reset();
this.conversions.reset();
this.adBlocker.reset();
}
clear() {
super.clear();
}
}
exports.Segments = Segments;