67 lines
2.0 KiB
TypeScript
67 lines
2.0 KiB
TypeScript
|
declare global {
|
||
|
// tslint:disable-next-line: interface-name
|
||
|
interface Window {
|
||
|
_fs_host: any;
|
||
|
}
|
||
|
}
|
||
|
export const setupFullStory = async () => {
|
||
|
// tslint:disable-next-line: no-string-literal
|
||
|
window['_fs_debug'] = false;
|
||
|
// tslint:disable-next-line: no-string-literal
|
||
|
window['_fs_host'] = 'fullstory.com';
|
||
|
// tslint:disable-next-line: no-string-literal
|
||
|
window['_fs_org'] = 'G6FC5';
|
||
|
// tslint:disable-next-line: no-string-literal
|
||
|
window['_fs_namespace'] = 'FS';
|
||
|
(function(m, n, e, t, l, o, g, y) {
|
||
|
if (e in m) {
|
||
|
if (m.console && m.console.log) {
|
||
|
m.console.log('FullStory namespace conflict. Please set window["_fs_namespace"].');
|
||
|
}
|
||
|
return;
|
||
|
}
|
||
|
// tslint:disable-next-line: only-arrow-functions
|
||
|
g = m[e] = function(a, b, s) {
|
||
|
g.q ? g.q.push([a, b, s]) : g._api(a, b, s);
|
||
|
};
|
||
|
g.q = [];
|
||
|
o = n.createElement(t);
|
||
|
o.async = 1;
|
||
|
o.src = 'https://' + window._fs_host + '/s/fs.js';
|
||
|
y = n.getElementsByTagName(t)[0];
|
||
|
y.parentNode.insertBefore(o, y);
|
||
|
// tslint:disable-next-line: only-arrow-functions
|
||
|
g.identify = function(i, v, s) {
|
||
|
g(l, { uid: i }, s);
|
||
|
if (v) g(l, v, s);
|
||
|
};
|
||
|
g.setUserVars = function(v, s) {
|
||
|
g(l, v, s);
|
||
|
};
|
||
|
g.event = function(i, v, s) {
|
||
|
g('event', { n: i, p: v }, s);
|
||
|
};
|
||
|
// tslint:disable-next-line: only-arrow-functions
|
||
|
g.shutdown = function() {
|
||
|
g('rec', !1);
|
||
|
};
|
||
|
g.restart = function() {
|
||
|
g('rec', !0);
|
||
|
};
|
||
|
// tslint:disable-next-line: only-arrow-functions
|
||
|
g.consent = function(a) {
|
||
|
g('consent', !arguments.length || a);
|
||
|
};
|
||
|
// tslint:disable-next-line: only-arrow-functions
|
||
|
g.identifyAccount = function(i, v) {
|
||
|
o = 'account';
|
||
|
v = v || {};
|
||
|
v.acctId = i;
|
||
|
g(o, v);
|
||
|
};
|
||
|
// tslint:disable-next-line: only-arrow-functions
|
||
|
g.clearUserCookie = function() {};
|
||
|
// tslint:disable-next-line: no-string-literal
|
||
|
})(window, document, window['_fs_namespace'], 'script', 'user');
|
||
|
};
|