UNPKG

tianji-client-sdk

Version:

97 lines (96 loc) 3.36 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.reportWebsiteEvent = exports.trackPageView = exports.initWebsiteTracking = exports.identifyWebsiteUser = void 0; exports.initTianjiTracker = initTianjiTracker; exports.reportEvent = reportEvent; exports.identify = identify; const load_script_1 = __importDefault(require("load-script")); const pure_1 = require("./pure"); Object.defineProperty(exports, "identifyWebsiteUser", { enumerable: true, get: function () { return pure_1.identifyWebsiteUser; } }); Object.defineProperty(exports, "initWebsiteTracking", { enumerable: true, get: function () { return pure_1.initWebsiteTracking; } }); Object.defineProperty(exports, "trackPageView", { enumerable: true, get: function () { return pure_1.trackPageView; } }); Object.defineProperty(exports, "reportWebsiteEvent", { enumerable: true, get: function () { return pure_1.reportWebsiteEvent; } }); async function initTianjiTracker(options) { if (typeof window === 'undefined') { console.warn('This function should be called in browser environment!'); return; } const trackerName = options.customTrackerName ?? 'tracker.js'; const attrs = { 'data-website-id': options.websiteId, }; (0, pure_1.initWebsiteTracking)({ serverUrl: options.url, websiteId: options.websiteId, }); const tianji = window.tianji; if (tianji) { // if tianji is already initialized, skip console.warn('Tianji is already initialized, skipping initialization.'); return; } if (options.autoTrack === false) { attrs['data-auto-track'] = 'false'; } if (Array.isArray(options.domains)) { attrs['data-domains'] = options.domains.join(','); } if (options.disableTrack === true) { attrs['data-do-not-track'] = 'true'; } return new Promise((resolve, reject) => { (0, load_script_1.default)(`${options.url}/${trackerName}`, { async: true, attrs, }, (err, script) => { if (err) { reject(err); return; } resolve(script); }); }); } /** * @deprecated use reportWebsiteEvent instead */ function reportEvent(eventName, data = {}) { if (typeof window === 'undefined') { console.warn('This function should be called in browser environment!'); return; } const tianji = window.tianji; if (tianji) { if (!tianji.track) { console.warn('tianji.track is not ready'); return; } tianji.track(eventName, data); } else { (0, pure_1.reportWebsiteEvent)(eventName, data); } } /** * @deprecated use identifyWebsiteUser instead */ function identify(data) { if (typeof window === 'undefined') { console.warn('This function should be called in browser environment!'); return; } const tianji = window.tianji; if (tianji) { if (!tianji.identify) { console.warn('tianji.identify is not ready'); return; } tianji.identify(data); } else { (0, pure_1.identifyWebsiteUser)(data); } }