UNPKG

@segment/analytics-next

Version:

Analytics Next (aka Analytics 2.0) is the latest version of Segment’s JavaScript SDK - enabling you to send your data to any tool without having to learn, test, or use a new API every time.

44 lines 1.7 kB
import { pickPrefix } from './pickPrefix'; import { gracefulDecodeURIComponent } from './gracefulDecodeURIComponent'; import { isPlainObject } from '@segment/analytics-core'; export function queryString(analytics, query) { var a = document.createElement('a'); a.href = query; var parsed = a.search.slice(1); var params = parsed.split('&').reduce(function (acc, str) { var _a = str.split('='), k = _a[0], v = _a[1]; acc[k] = gracefulDecodeURIComponent(v); return acc; }, {}); var calls = []; var ajs_uid = params.ajs_uid, ajs_event = params.ajs_event, ajs_aid = params.ajs_aid; var _a = isPlainObject(analytics.options.useQueryString) ? analytics.options.useQueryString : {}, _b = _a.aid, aidPattern = _b === void 0 ? /.+/ : _b, _c = _a.uid, uidPattern = _c === void 0 ? /.+/ : _c; if (ajs_aid) { var anonId = Array.isArray(params.ajs_aid) ? params.ajs_aid[0] : params.ajs_aid; if (aidPattern.test(anonId)) { analytics.setAnonymousId(anonId); } } if (ajs_uid) { var uid = Array.isArray(params.ajs_uid) ? params.ajs_uid[0] : params.ajs_uid; if (uidPattern.test(uid)) { var traits = pickPrefix('ajs_trait_', params); calls.push(analytics.identify(uid, traits)); } } if (ajs_event) { var event_1 = Array.isArray(params.ajs_event) ? params.ajs_event[0] : params.ajs_event; var props = pickPrefix('ajs_prop_', params); calls.push(analytics.track(event_1, props)); } return Promise.all(calls); } //# sourceMappingURL=index.js.map