UNPKG

tianji-client-sdk

Version:

59 lines (58 loc) 1.68 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.initTianjiTracker = initTianjiTracker; exports.reportEvent = reportEvent; exports.identify = identify; const load_script_1 = __importDefault(require("load-script")); async function initTianjiTracker(options) { const trackerName = options.customTrackerName ?? 'tracker.js'; const attrs = { 'data-website-id': options.websiteId, }; 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); }); }); } function reportEvent(eventName, data = {}) { const tianji = window.tianji; if (!tianji) { return; } if (!tianji.track) { console.warn('tianji.track is not ready'); return; } tianji.track(eventName, data); } function identify(data) { const tianji = window.tianji; if (!tianji) { return; } if (!tianji.identify) { console.warn('tianji.identify is not ready'); return; } tianji.identify(data); }