@blotoutio/edgetag-sdk-browser 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +19 -12
- package/index.js.map +1 -1
- package/index.min.js +1 -1
- package/index.min.js.gz +0 -0
- package/index.min.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -179,12 +179,15 @@
|
|
|
179
179
|
};
|
|
180
180
|
|
|
181
181
|
const beacon = (url, payload) => {
|
|
182
|
-
|
|
182
|
+
let blob;
|
|
183
|
+
if (payload) {
|
|
184
|
+
blob = new Blob([JSON.stringify(payload)], { type: 'application/json' });
|
|
185
|
+
}
|
|
183
186
|
return navigator.sendBeacon(url, blob);
|
|
184
187
|
};
|
|
185
|
-
const ajax = async (url, payload) => {
|
|
188
|
+
const ajax = async (method, url, payload) => {
|
|
186
189
|
return await fetch(url, {
|
|
187
|
-
method
|
|
190
|
+
method,
|
|
188
191
|
headers: {
|
|
189
192
|
'Content-type': 'application/json; charset=utf-8',
|
|
190
193
|
Accept: 'application/json; charset=utf-8',
|
|
@@ -239,7 +242,16 @@
|
|
|
239
242
|
if (options && options.method === 'beacon' && navigator.sendBeacon) {
|
|
240
243
|
return Promise.resolve(beacon(url, payload));
|
|
241
244
|
}
|
|
242
|
-
return await ajax(url, payload);
|
|
245
|
+
return await ajax('POST', url, payload);
|
|
246
|
+
}
|
|
247
|
+
async function getRequest(url, options) {
|
|
248
|
+
if (!url) {
|
|
249
|
+
return Promise.reject(new Error('URL is empty'));
|
|
250
|
+
}
|
|
251
|
+
if (options && options.method === 'beacon' && navigator.sendBeacon) {
|
|
252
|
+
return Promise.resolve(beacon(url));
|
|
253
|
+
}
|
|
254
|
+
return await ajax('GET', url);
|
|
243
255
|
}
|
|
244
256
|
|
|
245
257
|
const info = (data) => {
|
|
@@ -271,7 +283,6 @@
|
|
|
271
283
|
|
|
272
284
|
const handleManifest = (manifest) => {
|
|
273
285
|
manifest.forEach((provider) => {
|
|
274
|
-
console.log(provider);
|
|
275
286
|
Object.entries(provider.rules).forEach(([name, recipe]) => {
|
|
276
287
|
switch (name) {
|
|
277
288
|
case 'capture': {
|
|
@@ -283,8 +294,8 @@
|
|
|
283
294
|
});
|
|
284
295
|
};
|
|
285
296
|
|
|
286
|
-
const initRequest = (
|
|
287
|
-
|
|
297
|
+
const initRequest = () => {
|
|
298
|
+
getRequest(getInitURL())
|
|
288
299
|
.then((result) => {
|
|
289
300
|
if (!result) {
|
|
290
301
|
console.log('init failed');
|
|
@@ -310,11 +321,7 @@
|
|
|
310
321
|
if (!success) {
|
|
311
322
|
return;
|
|
312
323
|
}
|
|
313
|
-
|
|
314
|
-
console.log('Defined which packages you want to use');
|
|
315
|
-
return;
|
|
316
|
-
}
|
|
317
|
-
initRequest(preferences.packages);
|
|
324
|
+
initRequest();
|
|
318
325
|
};
|
|
319
326
|
const capture = (name, packages) => {
|
|
320
327
|
captureRequest(name, packages);
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../sdk-core/node_modules/uuid/dist/esm-browser/rng.js","../../sdk-core/node_modules/uuid/dist/esm-browser/regex.js","../../sdk-core/node_modules/uuid/dist/esm-browser/validate.js","../../sdk-core/node_modules/uuid/dist/esm-browser/stringify.js","../../sdk-core/node_modules/uuid/dist/esm-browser/v4.js","../../sdk-core/esm/index.js","../src/index.js","../index.js"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import { v4 } from 'uuid';\n\nlet endpointUrl = '';\r\nconst generateUrl = (path) => {\r\n const endpoint = getUrl();\r\n if (!endpoint) {\r\n console.log('URL is not valid');\r\n return '';\r\n }\r\n return `${endpoint}${path}`;\r\n};\r\nconst getUrl = () => {\r\n return endpointUrl;\r\n};\r\nconst setUrl = (url) => {\r\n if (url == null) {\r\n return;\r\n }\r\n endpointUrl = url;\r\n};\r\nconst getCaptureURL = () => {\r\n return generateUrl('/capture');\r\n};\r\nconst getInitURL = () => {\r\n return generateUrl('/init');\r\n};\n\nconst initKey = '_edgeStore';\r\n// TODO add\r\n// type persistType = 'session' | 'local'\r\nconst saveData = (type, value, key = initKey) => {\r\n if (type === 'session') {\r\n saveSession(value, key);\r\n return;\r\n }\r\n saveLocal(value, key);\r\n};\r\nconst getData = (type, key = initKey) => {\r\n if (type === 'session') {\r\n return getSession(key);\r\n }\r\n return getLocal(key);\r\n};\r\nconst saveLocal = (value, key) => {\r\n localStorage.setItem(key, JSON.stringify(value));\r\n};\r\nconst getLocal = (key) => {\r\n return JSON.parse(localStorage.getItem(key)) || {};\r\n};\r\nconst saveSession = (value, key) => {\r\n sessionStorage.setItem(key, JSON.stringify(value));\r\n};\r\nconst getSession = (key) => {\r\n return JSON.parse(sessionStorage.getItem(key)) || {};\r\n};\n\nconst defaultKey = `_worker`;\r\nconst generateUserID = () => {\r\n let time = Date.now();\r\n if (typeof performance !== 'undefined' &&\r\n typeof performance.now === 'function') {\r\n time += performance.now();\r\n }\r\n time = parseInt(time.toString(), 10);\r\n return `${v4()}-${time}-${v4()}`;\r\n};\r\nconst getUserIDKey = () => {\r\n return `${defaultKey}User`;\r\n};\r\nconst checkUser = () => {\r\n let user = getData('local', getUserIDKey());\r\n if (user && user.id) {\r\n return user.id;\r\n }\r\n const userID = generateUserID();\r\n saveData('local', { id: userID }, getUserIDKey());\r\n return userID;\r\n};\n\nconst setPreferences = (preferences) => {\r\n if (!preferences) {\r\n return false;\r\n }\r\n if (!preferences.edgeURL) {\r\n console.info('Please provide URL for EdgeTag');\r\n return false;\r\n }\r\n setUrl(preferences.edgeURL);\r\n const user = checkUser();\r\n if (!user) {\r\n console.info('User was not created.');\r\n return false;\r\n }\r\n return true;\r\n};\n\nconst getUserAgent = () => {\r\n const nav = navigator;\r\n let ua = nav.userAgent;\r\n ua += nav.brave ? `${ua} Brave` : '';\r\n return ua;\r\n};\n\nconst beacon = (url, payload) => {\r\n const blob = new Blob([JSON.stringify(payload)], { type: 'application/json' });\r\n return navigator.sendBeacon(url, blob);\r\n};\r\nconst ajax = async (url, payload) => {\r\n return await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-type': 'application/json; charset=utf-8',\r\n Accept: 'application/json; charset=utf-8',\r\n },\r\n body: JSON.stringify(payload),\r\n })\r\n .then((response) => response.json().then((data) => ({ status: response.status, body: data })))\r\n .then((data) => {\r\n if (data.status < 200 || data.status >= 300) {\r\n // Q: do we need to retry?\r\n return Promise.reject(new Error(JSON.stringify(data.body)));\r\n }\r\n return Promise.resolve(data.body);\r\n })\r\n .catch((error) => {\r\n // Q: do we need to retry?\r\n return Promise.reject(new Error(error));\r\n });\r\n};\r\nconst getStandardPayload = (payload) => {\r\n const data = {\r\n userID: checkUser(),\r\n pageUrl: window.location.href,\r\n userAgent: getUserAgent(),\r\n ...payload,\r\n };\r\n const session = getData('session');\r\n if (session) {\r\n Object.entries(session).forEach(([key, value]) => {\r\n data.packages[key] = {\r\n ...data.packages[key],\r\n ...value,\r\n };\r\n });\r\n }\r\n const local = getData('local');\r\n if (local) {\r\n Object.entries(local).forEach(([key, value]) => {\r\n data.packages[key] = {\r\n ...data.packages[key],\r\n ...value,\r\n };\r\n });\r\n }\r\n return data;\r\n};\r\nasync function postRequest(url, data, options) {\r\n if (!url) {\r\n return Promise.reject(new Error('URL is empty'));\r\n }\r\n const payload = getStandardPayload(data);\r\n if (options && options.method === 'beacon' && navigator.sendBeacon) {\r\n return Promise.resolve(beacon(url, payload));\r\n }\r\n return await ajax(url, payload);\r\n}\n\nconst isDevMode = process.env.NODE_ENV === 'development';\n\nconst info = (data) => {\r\n if (isDevMode) {\r\n console.info(data);\r\n }\r\n};\n\nconst handleCaptureQuery = (provider, key, persistType) => {\r\n const params = new URLSearchParams(window.location.search);\r\n if (!params || !params.get(key)) {\r\n return;\r\n }\r\n const local = getData(persistType);\r\n if (!local[provider]) {\r\n local[provider] = {};\r\n }\r\n local[provider][key] = params.get(key);\r\n saveData(persistType, local);\r\n};\r\nconst handleCapture = (provider, params) => {\r\n switch (params.type) {\r\n case 'query': {\r\n handleCaptureQuery(provider, params.key, params.persist);\r\n break;\r\n }\r\n }\r\n};\n\nconst handleManifest = (manifest) => {\r\n manifest.forEach((provider) => {\r\n console.log(provider);\r\n Object.entries(provider.rules).forEach(([name, recipe]) => {\r\n switch (name) {\r\n case 'capture': {\r\n handleCapture(provider.package, recipe);\r\n return;\r\n }\r\n }\r\n });\r\n });\r\n};\n\nconst initRequest = (packages) => {\r\n postRequest(getInitURL(), { packages })\r\n .then((result) => {\r\n if (!result) {\r\n console.log('init failed');\r\n return;\r\n }\r\n handleManifest(result.result);\r\n })\r\n .catch(info);\r\n};\r\nconst captureRequest = (name, packages) => {\r\n let payload = {\r\n eventName: name,\r\n packages: {},\r\n };\r\n if (packages) {\r\n payload.packages = packages;\r\n }\r\n postRequest(getCaptureURL(), payload).catch(info);\r\n};\n\nconst init = (preferences) => {\r\n const success = setPreferences(preferences);\r\n if (!success) {\r\n return;\r\n }\r\n if (!preferences.packages) {\r\n console.log('Defined which packages you want to use');\r\n return;\r\n }\r\n initRequest(preferences.packages);\r\n};\r\nconst capture = (name, packages) => {\r\n captureRequest(name, packages);\r\n};\n\nexport { capture, init };\n//# sourceMappingURL=index.js.map\n","import {\n init as initMethod,\n capture as captureMethod,\n} from '@blotoutio/edgetag-sdk-core'\n\nclass API {\n init(preferences) {\n initMethod(preferences)\n }\n\n capture(name, packages) {\n captureMethod(name, packages)\n }\n}\n\nexport default new API()\n","import api from './src/index'\n;(function () {\n const handleFunction = (arg) => {\n const sliced = [].slice.call(arg)\n if (!Array.isArray(sliced)) {\n return\n }\n\n try {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return library[sliced[0]](...sliced.slice(1))\n } catch (e) {\n console.error(e)\n }\n }\n\n const library = api\n let stubs = []\n if (window.edgetag) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n stubs = window.edgetag.stubs || []\n }\n\n // this needs to be regular function for arguments to work\n window.edgetag = function () {\n // eslint-disable-next-line prefer-rest-params\n return handleFunction(arguments)\n }\n\n // restore calls that were triggered before lib was ready\n stubs.forEach(handleFunction)\n})()\n"],"names":["initMethod","captureMethod"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../sdk-core/node_modules/uuid/dist/esm-browser/rng.js","../../sdk-core/node_modules/uuid/dist/esm-browser/regex.js","../../sdk-core/node_modules/uuid/dist/esm-browser/validate.js","../../sdk-core/node_modules/uuid/dist/esm-browser/stringify.js","../../sdk-core/node_modules/uuid/dist/esm-browser/v4.js","../../sdk-core/esm/index.js","../src/index.js","../index.js"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import { v4 } from 'uuid';\n\nlet endpointUrl = '';\r\nconst generateUrl = (path) => {\r\n const endpoint = getUrl();\r\n if (!endpoint) {\r\n console.log('URL is not valid');\r\n return '';\r\n }\r\n return `${endpoint}${path}`;\r\n};\r\nconst getUrl = () => {\r\n return endpointUrl;\r\n};\r\nconst setUrl = (url) => {\r\n if (url == null) {\r\n return;\r\n }\r\n endpointUrl = url;\r\n};\r\nconst getCaptureURL = () => {\r\n return generateUrl('/capture');\r\n};\r\nconst getInitURL = () => {\r\n return generateUrl('/init');\r\n};\n\nconst initKey = '_edgeStore';\r\n// TODO add\r\n// type persistType = 'session' | 'local'\r\nconst saveData = (type, value, key = initKey) => {\r\n if (type === 'session') {\r\n saveSession(value, key);\r\n return;\r\n }\r\n saveLocal(value, key);\r\n};\r\nconst getData = (type, key = initKey) => {\r\n if (type === 'session') {\r\n return getSession(key);\r\n }\r\n return getLocal(key);\r\n};\r\nconst saveLocal = (value, key) => {\r\n localStorage.setItem(key, JSON.stringify(value));\r\n};\r\nconst getLocal = (key) => {\r\n return JSON.parse(localStorage.getItem(key)) || {};\r\n};\r\nconst saveSession = (value, key) => {\r\n sessionStorage.setItem(key, JSON.stringify(value));\r\n};\r\nconst getSession = (key) => {\r\n return JSON.parse(sessionStorage.getItem(key)) || {};\r\n};\n\nconst defaultKey = `_worker`;\r\nconst generateUserID = () => {\r\n let time = Date.now();\r\n if (typeof performance !== 'undefined' &&\r\n typeof performance.now === 'function') {\r\n time += performance.now();\r\n }\r\n time = parseInt(time.toString(), 10);\r\n return `${v4()}-${time}-${v4()}`;\r\n};\r\nconst getUserIDKey = () => {\r\n return `${defaultKey}User`;\r\n};\r\nconst checkUser = () => {\r\n let user = getData('local', getUserIDKey());\r\n if (user && user.id) {\r\n return user.id;\r\n }\r\n const userID = generateUserID();\r\n saveData('local', { id: userID }, getUserIDKey());\r\n return userID;\r\n};\n\nconst setPreferences = (preferences) => {\r\n if (!preferences) {\r\n return false;\r\n }\r\n if (!preferences.edgeURL) {\r\n console.info('Please provide URL for EdgeTag');\r\n return false;\r\n }\r\n setUrl(preferences.edgeURL);\r\n const user = checkUser();\r\n if (!user) {\r\n console.info('User was not created.');\r\n return false;\r\n }\r\n return true;\r\n};\n\nconst getUserAgent = () => {\r\n const nav = navigator;\r\n let ua = nav.userAgent;\r\n ua += nav.brave ? `${ua} Brave` : '';\r\n return ua;\r\n};\n\nconst beacon = (url, payload) => {\r\n let blob;\r\n if (payload) {\r\n blob = new Blob([JSON.stringify(payload)], { type: 'application/json' });\r\n }\r\n return navigator.sendBeacon(url, blob);\r\n};\r\nconst ajax = async (method, url, payload) => {\r\n return await fetch(url, {\r\n method,\r\n headers: {\r\n 'Content-type': 'application/json; charset=utf-8',\r\n Accept: 'application/json; charset=utf-8',\r\n },\r\n body: JSON.stringify(payload),\r\n })\r\n .then((response) => response.json().then((data) => ({ status: response.status, body: data })))\r\n .then((data) => {\r\n if (data.status < 200 || data.status >= 300) {\r\n // Q: do we need to retry?\r\n return Promise.reject(new Error(JSON.stringify(data.body)));\r\n }\r\n return Promise.resolve(data.body);\r\n })\r\n .catch((error) => {\r\n // Q: do we need to retry?\r\n return Promise.reject(new Error(error));\r\n });\r\n};\r\nconst getStandardPayload = (payload) => {\r\n const data = {\r\n userID: checkUser(),\r\n pageUrl: window.location.href,\r\n userAgent: getUserAgent(),\r\n ...payload,\r\n };\r\n const session = getData('session');\r\n if (session) {\r\n Object.entries(session).forEach(([key, value]) => {\r\n data.packages[key] = {\r\n ...data.packages[key],\r\n ...value,\r\n };\r\n });\r\n }\r\n const local = getData('local');\r\n if (local) {\r\n Object.entries(local).forEach(([key, value]) => {\r\n data.packages[key] = {\r\n ...data.packages[key],\r\n ...value,\r\n };\r\n });\r\n }\r\n return data;\r\n};\r\nasync function postRequest(url, data, options) {\r\n if (!url) {\r\n return Promise.reject(new Error('URL is empty'));\r\n }\r\n const payload = getStandardPayload(data);\r\n if (options && options.method === 'beacon' && navigator.sendBeacon) {\r\n return Promise.resolve(beacon(url, payload));\r\n }\r\n return await ajax('POST', url, payload);\r\n}\r\nasync function getRequest(url, options) {\r\n if (!url) {\r\n return Promise.reject(new Error('URL is empty'));\r\n }\r\n if (options && options.method === 'beacon' && navigator.sendBeacon) {\r\n return Promise.resolve(beacon(url));\r\n }\r\n return await ajax('GET', url);\r\n}\n\nconst isDevMode = process.env.NODE_ENV === 'development';\n\nconst info = (data) => {\r\n if (isDevMode) {\r\n console.info(data);\r\n }\r\n};\n\nconst handleCaptureQuery = (provider, key, persistType) => {\r\n const params = new URLSearchParams(window.location.search);\r\n if (!params || !params.get(key)) {\r\n return;\r\n }\r\n const local = getData(persistType);\r\n if (!local[provider]) {\r\n local[provider] = {};\r\n }\r\n local[provider][key] = params.get(key);\r\n saveData(persistType, local);\r\n};\r\nconst handleCapture = (provider, params) => {\r\n switch (params.type) {\r\n case 'query': {\r\n handleCaptureQuery(provider, params.key, params.persist);\r\n break;\r\n }\r\n }\r\n};\n\nconst handleManifest = (manifest) => {\r\n manifest.forEach((provider) => {\r\n Object.entries(provider.rules).forEach(([name, recipe]) => {\r\n switch (name) {\r\n case 'capture': {\r\n handleCapture(provider.package, recipe);\r\n return;\r\n }\r\n }\r\n });\r\n });\r\n};\n\nconst initRequest = () => {\r\n getRequest(getInitURL())\r\n .then((result) => {\r\n if (!result) {\r\n console.log('init failed');\r\n return;\r\n }\r\n handleManifest(result.result);\r\n })\r\n .catch(info);\r\n};\r\nconst captureRequest = (name, packages) => {\r\n let payload = {\r\n eventName: name,\r\n packages: {},\r\n };\r\n if (packages) {\r\n payload.packages = packages;\r\n }\r\n postRequest(getCaptureURL(), payload).catch(info);\r\n};\n\nconst init = (preferences) => {\r\n const success = setPreferences(preferences);\r\n if (!success) {\r\n return;\r\n }\r\n initRequest();\r\n};\r\nconst capture = (name, packages) => {\r\n captureRequest(name, packages);\r\n};\n\nexport { capture, init };\n//# sourceMappingURL=index.js.map\n","import {\n init as initMethod,\n capture as captureMethod,\n} from '@blotoutio/edgetag-sdk-core'\n\nclass API {\n init(preferences) {\n initMethod(preferences)\n }\n\n capture(name, packages) {\n captureMethod(name, packages)\n }\n}\n\nexport default new API()\n","import api from './src/index'\n;(function () {\n const handleFunction = (arg) => {\n const sliced = [].slice.call(arg)\n if (!Array.isArray(sliced)) {\n return\n }\n\n try {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return library[sliced[0]](...sliced.slice(1))\n } catch (e) {\n console.error(e)\n }\n }\n\n const library = api\n let stubs = []\n if (window.edgetag) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n stubs = window.edgetag.stubs || []\n }\n\n // this needs to be regular function for arguments to work\n window.edgetag = function () {\n // eslint-disable-next-line prefer-rest-params\n return handleFunction(arguments)\n }\n\n // restore calls that were triggered before lib was ready\n stubs.forEach(handleFunction)\n})()\n"],"names":["initMethod","captureMethod"],"mappings":";;;;;EAAA;EACA;EACA;EACA,IAAI,eAAe,CAAC;EACpB,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;EAChB,SAAS,GAAG,GAAG;EAC9B;EACA,EAAE,IAAI,CAAC,eAAe,EAAE;EACxB;EACA;EACA,IAAI,eAAe,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,OAAO,QAAQ,CAAC,eAAe,KAAK,UAAU,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrP;EACA,IAAI,IAAI,CAAC,eAAe,EAAE;EAC1B,MAAM,MAAM,IAAI,KAAK,CAAC,0GAA0G,CAAC,CAAC;EAClI,KAAK;EACL,GAAG;AACH;EACA,EAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;EAChC;;AClBA,cAAe,qHAAqH;;ECEpI,SAAS,QAAQ,CAAC,IAAI,EAAE;EACxB,EAAE,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACtD;;ECHA;EACA;EACA;EACA;AACA;EACA,IAAI,SAAS,GAAG,EAAE,CAAC;AACnB;EACA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;EAC9B,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;EACrD,CAAC;AACD;EACA,SAAS,SAAS,CAAC,GAAG,EAAE;EACxB,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;EACrF;EACA;EACA,EAAE,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;EACzgB;EACA;EACA;EACA;AACA;EACA,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;EACvB,IAAI,MAAM,SAAS,CAAC,6BAA6B,CAAC,CAAC;EACnD,GAAG;AACH;EACA,EAAE,OAAO,IAAI,CAAC;EACd;;ECxBA,SAAS,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE;EAClC,EAAE,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;EAC1B,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC;AACtD;EACA,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;EAClC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAClC;EACA,EAAE,IAAI,GAAG,EAAE;EACX,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC;AACzB;EACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;EACjC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;EAChC,KAAK;AACL;EACA,IAAI,OAAO,GAAG,CAAC;EACf,GAAG;AACH;EACA,EAAE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;EACzB;;ECnBA,IAAI,WAAW,GAAG,EAAE,CAAC;EACrB,MAAM,WAAW,GAAG,CAAC,IAAI,KAAK;EAC9B,IAAI,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;EAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE;EACnB,QAAQ,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;EACxC,QAAQ,OAAO,EAAE,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;EAChC,CAAC,CAAC;EACF,MAAM,MAAM,GAAG,MAAM;EACrB,IAAI,OAAO,WAAW,CAAC;EACvB,CAAC,CAAC;EACF,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK;EACxB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE;EACrB,QAAQ,OAAO;EACf,KAAK;EACL,IAAI,WAAW,GAAG,GAAG,CAAC;EACtB,CAAC,CAAC;EACF,MAAM,aAAa,GAAG,MAAM;EAC5B,IAAI,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC;EACnC,CAAC,CAAC;EACF,MAAM,UAAU,GAAG,MAAM;EACzB,IAAI,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;EAChC,CAAC,CAAC;AACF;EACA,MAAM,OAAO,GAAG,YAAY,CAAC;EAC7B;EACA;EACA,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,KAAK;EACjD,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;EAC5B,QAAQ,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;EAChC,QAAQ,OAAO;EACf,KAAK;EACL,IAAI,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;EAC1B,CAAC,CAAC;EACF,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,KAAK;EACzC,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;EAC5B,QAAQ,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;EAC/B,KAAK;EACL,IAAI,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;EACzB,CAAC,CAAC;EACF,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK;EAClC,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;EACrD,CAAC,CAAC;EACF,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK;EAC1B,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;EACvD,CAAC,CAAC;EACF,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK;EACpC,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;EACvD,CAAC,CAAC;EACF,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK;EAC5B,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;EACzD,CAAC,CAAC;AACF;EACA,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC;EAC7B,MAAM,cAAc,GAAG,MAAM;EAC7B,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;EAC1B,IAAI,IAAI,OAAO,WAAW,KAAK,WAAW;EAC1C,QAAQ,OAAO,WAAW,CAAC,GAAG,KAAK,UAAU,EAAE;EAC/C,QAAQ,IAAI,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC;EAClC,KAAK;EACL,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;EACzC,IAAI,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;EACrC,CAAC,CAAC;EACF,MAAM,YAAY,GAAG,MAAM;EAC3B,IAAI,OAAO,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;EAC/B,CAAC,CAAC;EACF,MAAM,SAAS,GAAG,MAAM;EACxB,IAAI,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;EAChD,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE;EACzB,QAAQ,OAAO,IAAI,CAAC,EAAE,CAAC;EACvB,KAAK;EACL,IAAI,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;EACpC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;EACtD,IAAI,OAAO,MAAM,CAAC;EAClB,CAAC,CAAC;AACF;EACA,MAAM,cAAc,GAAG,CAAC,WAAW,KAAK;EACxC,IAAI,IAAI,CAAC,WAAW,EAAE;EACtB,QAAQ,OAAO,KAAK,CAAC;EACrB,KAAK;EACL,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;EAC9B,QAAQ,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;EACvD,QAAQ,OAAO,KAAK,CAAC;EACrB,KAAK;EACL,IAAI,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;EAChC,IAAI,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;EAC7B,IAAI,IAAI,CAAC,IAAI,EAAE;EACf,QAAQ,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;EAC9C,QAAQ,OAAO,KAAK,CAAC;EACrB,KAAK;EACL,IAAI,OAAO,IAAI,CAAC;EAChB,CAAC,CAAC;AACF;EACA,MAAM,YAAY,GAAG,MAAM;EAC3B,IAAI,MAAM,GAAG,GAAG,SAAS,CAAC;EAC1B,IAAI,IAAI,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC;EAC3B,IAAI,EAAE,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;EACzC,IAAI,OAAO,EAAE,CAAC;EACd,CAAC,CAAC;AACF;EACA,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK;EACjC,IAAI,IAAI,IAAI,CAAC;EACb,IAAI,IAAI,OAAO,EAAE;EACjB,QAAQ,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;EACjF,KAAK;EACL,IAAI,OAAO,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;EAC3C,CAAC,CAAC;EACF,MAAM,IAAI,GAAG,OAAO,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK;EAC7C,IAAI,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE;EAC5B,QAAQ,MAAM;EACd,QAAQ,OAAO,EAAE;EACjB,YAAY,cAAc,EAAE,iCAAiC;EAC7D,YAAY,MAAM,EAAE,iCAAiC;EACrD,SAAS;EACT,QAAQ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;EACrC,KAAK,CAAC;EACN,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;EACtG,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK;EACxB,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;EACrD;EACA,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EACxE,SAAS;EACT,QAAQ,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC1C,KAAK,CAAC;EACN,SAAS,KAAK,CAAC,CAAC,KAAK,KAAK;EAC1B;EACA,QAAQ,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;EAChD,KAAK,CAAC,CAAC;EACP,CAAC,CAAC;EACF,MAAM,kBAAkB,GAAG,CAAC,OAAO,KAAK;EACxC,IAAI,MAAM,IAAI,GAAG;EACjB,QAAQ,MAAM,EAAE,SAAS,EAAE;EAC3B,QAAQ,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;EACrC,QAAQ,SAAS,EAAE,YAAY,EAAE;EACjC,QAAQ,GAAG,OAAO;EAClB,KAAK,CAAC;EACN,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;EACvC,IAAI,IAAI,OAAO,EAAE;EACjB,QAAQ,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;EAC1D,YAAY,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG;EACjC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;EACrC,gBAAgB,GAAG,KAAK;EACxB,aAAa,CAAC;EACd,SAAS,CAAC,CAAC;EACX,KAAK;EACL,IAAI,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;EACnC,IAAI,IAAI,KAAK,EAAE;EACf,QAAQ,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;EACxD,YAAY,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG;EACjC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;EACrC,gBAAgB,GAAG,KAAK;EACxB,aAAa,CAAC;EACd,SAAS,CAAC,CAAC;EACX,KAAK;EACL,IAAI,OAAO,IAAI,CAAC;EAChB,CAAC,CAAC;EACF,eAAe,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;EAC/C,IAAI,IAAI,CAAC,GAAG,EAAE;EACd,QAAQ,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;EACzD,KAAK;EACL,IAAI,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;EAC7C,IAAI,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,UAAU,EAAE;EACxE,QAAQ,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;EACrD,KAAK;EACL,IAAI,OAAO,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;EAC5C,CAAC;EACD,eAAe,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE;EACxC,IAAI,IAAI,CAAC,GAAG,EAAE;EACd,QAAQ,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;EACzD,KAAK;EACL,IAAI,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,UAAU,EAAE;EACxE,QAAQ,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;EAC5C,KAAK;EACL,IAAI,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;EAClC,CAAC;AAGD;EACA,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK;EACvB,IAAmB;EACnB,QAAQ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC3B,KAAK;EACL,CAAC,CAAC;AACF;EACA,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,KAAK;EAC3D,IAAI,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;EAC/D,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;EACrC,QAAQ,OAAO;EACf,KAAK;EACL,IAAI,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;EACvC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;EAC1B,QAAQ,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;EAC7B,KAAK;EACL,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC3C,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;EACjC,CAAC,CAAC;EACF,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK;EAC5C,IAAI,QAAQ,MAAM,CAAC,IAAI;EACvB,QAAQ,KAAK,OAAO,EAAE;EACtB,YAAY,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;EACrE,YAAY,MAAM;EAClB,SAAS;EACT,KAAK;EACL,CAAC,CAAC;AACF;EACA,MAAM,cAAc,GAAG,CAAC,QAAQ,KAAK;EACrC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK;EACnC,QAAQ,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK;EACnE,YAAY,QAAQ,IAAI;EACxB,gBAAgB,KAAK,SAAS,EAAE;EAChC,oBAAoB,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;EAC5D,oBAAoB,OAAO;EAC3B,iBAAiB;EACjB,aAAa;EACb,SAAS,CAAC,CAAC;EACX,KAAK,CAAC,CAAC;EACP,CAAC,CAAC;AACF;EACA,MAAM,WAAW,GAAG,MAAM;EAC1B,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;EAC5B,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK;EAC1B,QAAQ,IAAI,CAAC,MAAM,EAAE;EACrB,YAAY,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;EACvC,YAAY,OAAO;EACnB,SAAS;EACT,QAAQ,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;EACtC,KAAK,CAAC;EACN,SAAS,KAAK,CAAC,IAAI,CAAC,CAAC;EACrB,CAAC,CAAC;EACF,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK;EAC3C,IAAI,IAAI,OAAO,GAAG;EAClB,QAAQ,SAAS,EAAE,IAAI;EACvB,QAAQ,QAAQ,EAAE,EAAE;EACpB,KAAK,CAAC;EACN,IAAI,IAAI,QAAQ,EAAE;EAClB,QAAQ,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;EACpC,KAAK;EACL,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;EACtD,CAAC,CAAC;AACF;EACA,MAAM,IAAI,GAAG,CAAC,WAAW,KAAK;EAC9B,IAAI,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;EAChD,IAAI,IAAI,CAAC,OAAO,EAAE;EAClB,QAAQ,OAAO;EACf,KAAK;EACL,IAAI,WAAW,EAAE,CAAC;EAClB,CAAC,CAAC;EACF,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK;EACpC,IAAI,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;EACnC,CAAC;;ECvPD,MAAM,GAAG,CAAC;EACV,EAAE,IAAI,CAAC,WAAW,EAAE;EACpB,IAAIA,IAAU,CAAC,WAAW,EAAC;EAC3B,GAAG;AACH;EACA,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE;EAC1B,IAAIC,OAAa,CAAC,IAAI,EAAE,QAAQ,EAAC;EACjC,GAAG;EACH,CAAC;AACD;AACA,YAAe,IAAI,GAAG;;ECdrB,CAAC,YAAY;EACd,EAAE,MAAM,cAAc,GAAG,CAAC,GAAG,KAAK;EAClC,IAAI,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAC;EACrC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;EAChC,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,IAAI;EACR;EACA;EACA,MAAM,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;EACnD,KAAK,CAAC,OAAO,CAAC,EAAE;EAChB,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,EAAC;EACtB,KAAK;EACL,IAAG;AACH;EACA,EAAE,MAAM,OAAO,GAAG,IAAG;EACrB,EAAE,IAAI,KAAK,GAAG,GAAE;EAChB,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE;EACtB;EACA;EACA,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,GAAE;EACtC,GAAG;AACH;EACA;EACA,EAAE,MAAM,CAAC,OAAO,GAAG,YAAY;EAC/B;EACA,IAAI,OAAO,cAAc,CAAC,SAAS,CAAC;EACpC,IAAG;AACH;EACA;EACA,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,EAAC;EAC/B,CAAC;;;;;;"}
|
package/index.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";var e,t=new Uint8Array(16);function r(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(t)}var n=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function o(e){return"string"==typeof e&&n.test(e)}for(var a=[],s=0;s<256;++s)a.push((s+256).toString(16).substr(1));function i(e,t,n){var s=(e=e||{}).random||(e.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t){n=n||0;for(var i=0;i<16;++i)t[n+i]=s[i];return t}return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=(a[e[t+0]]+a[e[t+1]]+a[e[t+2]]+a[e[t+3]]+"-"+a[e[t+4]]+a[e[t+5]]+"-"+a[e[t+6]]+a[e[t+7]]+"-"+a[e[t+8]]+a[e[t+9]]+"-"+a[e[t+10]]+a[e[t+11]]+a[e[t+12]]+a[e[t+13]]+a[e[t+14]]+a[e[t+15]]).toLowerCase();if(!o(r))throw TypeError("Stringified UUID is invalid");return r}(s)}let c="";const u=e=>{const t=f();return t?`${t}${e}`:(console.log("URL is not valid"),"")},f=()=>c,
|
|
1
|
+
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";var e,t=new Uint8Array(16);function r(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(t)}var n=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function o(e){return"string"==typeof e&&n.test(e)}for(var a=[],s=0;s<256;++s)a.push((s+256).toString(16).substr(1));function i(e,t,n){var s=(e=e||{}).random||(e.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t){n=n||0;for(var i=0;i<16;++i)t[n+i]=s[i];return t}return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=(a[e[t+0]]+a[e[t+1]]+a[e[t+2]]+a[e[t+3]]+"-"+a[e[t+4]]+a[e[t+5]]+"-"+a[e[t+6]]+a[e[t+7]]+"-"+a[e[t+8]]+a[e[t+9]]+"-"+a[e[t+10]]+a[e[t+11]]+a[e[t+12]]+a[e[t+13]]+a[e[t+14]]+a[e[t+15]]).toLowerCase();if(!o(r))throw TypeError("Stringified UUID is invalid");return r}(s)}let c="";const u=e=>{const t=f();return t?`${t}${e}`:(console.log("URL is not valid"),"")},f=()=>c,d="_edgeStore",l=(e,t,r=d)=>{"session"!==e?g(t,r):m(t,r)},p=(e,t=d)=>"session"===e?w(t):y(t),g=(e,t)=>{localStorage.setItem(t,JSON.stringify(e))},y=e=>JSON.parse(localStorage.getItem(e))||{},m=(e,t)=>{sessionStorage.setItem(t,JSON.stringify(e))},w=e=>JSON.parse(sessionStorage.getItem(e))||{},h=()=>{let e=p("local","_workerUser");if(e&&e.id)return e.id;const t=(()=>{let e=Date.now();return"undefined"!=typeof performance&&"function"==typeof performance.now&&(e+=performance.now()),e=parseInt(e.toString(),10),`${i()}-${e}-${i()}`})();return l("local",{id:t},"_workerUser"),t},v=e=>{if(!e)return!1;if(!e.edgeURL)return console.info("Please provide URL for EdgeTag"),!1;var t;null!=(t=e.edgeURL)&&(c=t);return!!h()||(console.info("User was not created."),!1)},S=()=>{const e=navigator;let t=e.userAgent;return t+=e.brave?`${t} Brave`:"",t},b=(e,t)=>{let r;return t&&(r=new Blob([JSON.stringify(t)],{type:"application/json"})),navigator.sendBeacon(e,r)},U=async(e,t,r)=>await fetch(t,{method:e,headers:{"Content-type":"application/json; charset=utf-8",Accept:"application/json; charset=utf-8"},body:JSON.stringify(r)}).then((e=>e.json().then((t=>({status:e.status,body:t}))))).then((e=>e.status<200||e.status>=300?Promise.reject(new Error(JSON.stringify(e.body))):Promise.resolve(e.body))).catch((e=>Promise.reject(new Error(e))));async function E(e,t,r){if(!e)return Promise.reject(new Error("URL is empty"));const n=(e=>{const t={userID:h(),pageUrl:window.location.href,userAgent:S(),...e},r=p("session");r&&Object.entries(r).forEach((([e,r])=>{t.packages[e]={...t.packages[e],...r}}));const n=p("local");return n&&Object.entries(n).forEach((([e,r])=>{t.packages[e]={...t.packages[e],...r}})),t})(t);return r&&"beacon"===r.method&&navigator.sendBeacon?Promise.resolve(b(e,n)):await U("POST",e,n)}const j=e=>{},R=(e,t)=>{switch(t.type){case"query":((e,t,r)=>{const n=new URLSearchParams(window.location.search);if(!n||!n.get(t))return;const o=p(r);o[e]||(o[e]={}),o[e][t]=n.get(t),l(r,o)})(e,t.key,t.persist)}},O=()=>{(async function(e,t){return e?t&&"beacon"===t.method&&navigator.sendBeacon?Promise.resolve(b(e)):await U("GET",e):Promise.reject(new Error("URL is empty"))})(u("/init")).then((e=>{e?e.result.forEach((e=>{Object.entries(e.rules).forEach((([t,r])=>{switch(t){case"capture":return void R(e.package,r)}}))})):console.log("init failed")})).catch(j)},k=(e,t)=>{let r={eventName:e,packages:{}};t&&(r.packages=t),E(u("/capture"),r).catch(j)};var P=new class{init(e){(e=>{v(e)&&O()})(e)}capture(e,t){((e,t)=>{k(e,t)})(e,t)}};!function(){const e=e=>{const r=[].slice.call(e);if(Array.isArray(r))try{return t[r[0]](...r.slice(1))}catch(e){console.error(e)}},t=P;let r=[];window.edgetag&&(r=window.edgetag.stubs||[]),window.edgetag=function(){return e(arguments)},r.forEach(e)}()}));
|
|
2
2
|
//# sourceMappingURL=index.min.js.map
|
package/index.min.js.gz
CHANGED
|
Binary file
|
package/index.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.min.js","sources":["../../sdk-core/node_modules/uuid/dist/esm-browser/rng.js","../../sdk-core/node_modules/uuid/dist/esm-browser/regex.js","../../sdk-core/node_modules/uuid/dist/esm-browser/validate.js","../../sdk-core/node_modules/uuid/dist/esm-browser/stringify.js","../../sdk-core/node_modules/uuid/dist/esm-browser/v4.js","../../sdk-core/esm/index.js","../src/index.js","../index.js"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import { v4 } from 'uuid';\n\nlet endpointUrl = '';\r\nconst generateUrl = (path) => {\r\n const endpoint = getUrl();\r\n if (!endpoint) {\r\n console.log('URL is not valid');\r\n return '';\r\n }\r\n return `${endpoint}${path}`;\r\n};\r\nconst getUrl = () => {\r\n return endpointUrl;\r\n};\r\nconst setUrl = (url) => {\r\n if (url == null) {\r\n return;\r\n }\r\n endpointUrl = url;\r\n};\r\nconst getCaptureURL = () => {\r\n return generateUrl('/capture');\r\n};\r\nconst getInitURL = () => {\r\n return generateUrl('/init');\r\n};\n\nconst initKey = '_edgeStore';\r\n// TODO add\r\n// type persistType = 'session' | 'local'\r\nconst saveData = (type, value, key = initKey) => {\r\n if (type === 'session') {\r\n saveSession(value, key);\r\n return;\r\n }\r\n saveLocal(value, key);\r\n};\r\nconst getData = (type, key = initKey) => {\r\n if (type === 'session') {\r\n return getSession(key);\r\n }\r\n return getLocal(key);\r\n};\r\nconst saveLocal = (value, key) => {\r\n localStorage.setItem(key, JSON.stringify(value));\r\n};\r\nconst getLocal = (key) => {\r\n return JSON.parse(localStorage.getItem(key)) || {};\r\n};\r\nconst saveSession = (value, key) => {\r\n sessionStorage.setItem(key, JSON.stringify(value));\r\n};\r\nconst getSession = (key) => {\r\n return JSON.parse(sessionStorage.getItem(key)) || {};\r\n};\n\nconst defaultKey = `_worker`;\r\nconst generateUserID = () => {\r\n let time = Date.now();\r\n if (typeof performance !== 'undefined' &&\r\n typeof performance.now === 'function') {\r\n time += performance.now();\r\n }\r\n time = parseInt(time.toString(), 10);\r\n return `${v4()}-${time}-${v4()}`;\r\n};\r\nconst getUserIDKey = () => {\r\n return `${defaultKey}User`;\r\n};\r\nconst checkUser = () => {\r\n let user = getData('local', getUserIDKey());\r\n if (user && user.id) {\r\n return user.id;\r\n }\r\n const userID = generateUserID();\r\n saveData('local', { id: userID }, getUserIDKey());\r\n return userID;\r\n};\n\nconst setPreferences = (preferences) => {\r\n if (!preferences) {\r\n return false;\r\n }\r\n if (!preferences.edgeURL) {\r\n console.info('Please provide URL for EdgeTag');\r\n return false;\r\n }\r\n setUrl(preferences.edgeURL);\r\n const user = checkUser();\r\n if (!user) {\r\n console.info('User was not created.');\r\n return false;\r\n }\r\n return true;\r\n};\n\nconst getUserAgent = () => {\r\n const nav = navigator;\r\n let ua = nav.userAgent;\r\n ua += nav.brave ? `${ua} Brave` : '';\r\n return ua;\r\n};\n\nconst beacon = (url, payload) => {\r\n const blob = new Blob([JSON.stringify(payload)], { type: 'application/json' });\r\n return navigator.sendBeacon(url, blob);\r\n};\r\nconst ajax = async (url, payload) => {\r\n return await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-type': 'application/json; charset=utf-8',\r\n Accept: 'application/json; charset=utf-8',\r\n },\r\n body: JSON.stringify(payload),\r\n })\r\n .then((response) => response.json().then((data) => ({ status: response.status, body: data })))\r\n .then((data) => {\r\n if (data.status < 200 || data.status >= 300) {\r\n // Q: do we need to retry?\r\n return Promise.reject(new Error(JSON.stringify(data.body)));\r\n }\r\n return Promise.resolve(data.body);\r\n })\r\n .catch((error) => {\r\n // Q: do we need to retry?\r\n return Promise.reject(new Error(error));\r\n });\r\n};\r\nconst getStandardPayload = (payload) => {\r\n const data = {\r\n userID: checkUser(),\r\n pageUrl: window.location.href,\r\n userAgent: getUserAgent(),\r\n ...payload,\r\n };\r\n const session = getData('session');\r\n if (session) {\r\n Object.entries(session).forEach(([key, value]) => {\r\n data.packages[key] = {\r\n ...data.packages[key],\r\n ...value,\r\n };\r\n });\r\n }\r\n const local = getData('local');\r\n if (local) {\r\n Object.entries(local).forEach(([key, value]) => {\r\n data.packages[key] = {\r\n ...data.packages[key],\r\n ...value,\r\n };\r\n });\r\n }\r\n return data;\r\n};\r\nasync function postRequest(url, data, options) {\r\n if (!url) {\r\n return Promise.reject(new Error('URL is empty'));\r\n }\r\n const payload = getStandardPayload(data);\r\n if (options && options.method === 'beacon' && navigator.sendBeacon) {\r\n return Promise.resolve(beacon(url, payload));\r\n }\r\n return await ajax(url, payload);\r\n}\n\nconst isDevMode = process.env.NODE_ENV === 'development';\n\nconst info = (data) => {\r\n if (isDevMode) {\r\n console.info(data);\r\n }\r\n};\n\nconst handleCaptureQuery = (provider, key, persistType) => {\r\n const params = new URLSearchParams(window.location.search);\r\n if (!params || !params.get(key)) {\r\n return;\r\n }\r\n const local = getData(persistType);\r\n if (!local[provider]) {\r\n local[provider] = {};\r\n }\r\n local[provider][key] = params.get(key);\r\n saveData(persistType, local);\r\n};\r\nconst handleCapture = (provider, params) => {\r\n switch (params.type) {\r\n case 'query': {\r\n handleCaptureQuery(provider, params.key, params.persist);\r\n break;\r\n }\r\n }\r\n};\n\nconst handleManifest = (manifest) => {\r\n manifest.forEach((provider) => {\r\n console.log(provider);\r\n Object.entries(provider.rules).forEach(([name, recipe]) => {\r\n switch (name) {\r\n case 'capture': {\r\n handleCapture(provider.package, recipe);\r\n return;\r\n }\r\n }\r\n });\r\n });\r\n};\n\nconst initRequest = (packages) => {\r\n postRequest(getInitURL(), { packages })\r\n .then((result) => {\r\n if (!result) {\r\n console.log('init failed');\r\n return;\r\n }\r\n handleManifest(result.result);\r\n })\r\n .catch(info);\r\n};\r\nconst captureRequest = (name, packages) => {\r\n let payload = {\r\n eventName: name,\r\n packages: {},\r\n };\r\n if (packages) {\r\n payload.packages = packages;\r\n }\r\n postRequest(getCaptureURL(), payload).catch(info);\r\n};\n\nconst init = (preferences) => {\r\n const success = setPreferences(preferences);\r\n if (!success) {\r\n return;\r\n }\r\n if (!preferences.packages) {\r\n console.log('Defined which packages you want to use');\r\n return;\r\n }\r\n initRequest(preferences.packages);\r\n};\r\nconst capture = (name, packages) => {\r\n captureRequest(name, packages);\r\n};\n\nexport { capture, init };\n//# sourceMappingURL=index.js.map\n","import {\n init as initMethod,\n capture as captureMethod,\n} from '@blotoutio/edgetag-sdk-core'\n\nclass API {\n init(preferences) {\n initMethod(preferences)\n }\n\n capture(name, packages) {\n captureMethod(name, packages)\n }\n}\n\nexport default new API()\n","import api from './src/index'\n;(function () {\n const handleFunction = (arg) => {\n const sliced = [].slice.call(arg)\n if (!Array.isArray(sliced)) {\n return\n }\n\n try {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return library[sliced[0]](...sliced.slice(1))\n } catch (e) {\n console.error(e)\n }\n }\n\n const library = api\n let stubs = []\n if (window.edgetag) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n stubs = window.edgetag.stubs || []\n }\n\n // this needs to be regular function for arguments to work\n window.edgetag = function () {\n // eslint-disable-next-line prefer-rest-params\n return handleFunction(arguments)\n }\n\n // restore calls that were triggered before lib was ready\n stubs.forEach(handleFunction)\n})()\n"],"names":["getRandomValues","rnds8","Uint8Array","rng","crypto","bind","msCrypto","Error","validate","uuid","REGEX","test","byteToHex","i","push","toString","substr","v4","options","buf","offset","rnds","random","arr","arguments","length","undefined","toLowerCase","TypeError","stringify","endpointUrl","generateUrl","path","endpoint","getUrl","console","log","initKey","saveData","type","value","key","saveLocal","saveSession","getData","getSession","getLocal","localStorage","setItem","JSON","parse","getItem","sessionStorage","checkUser","user","id","userID","time","Date","now","performance","parseInt","generateUserID","setPreferences","preferences","edgeURL","info","url","getUserAgent","nav","navigator","ua","userAgent","brave","async","postRequest","data","Promise","reject","payload","pageUrl","window","location","href","session","Object","entries","forEach","packages","local","getStandardPayload","method","sendBeacon","resolve","blob","Blob","beacon","fetch","headers","Accept","body","then","response","json","status","catch","error","ajax","handleCapture","provider","params","persistType","URLSearchParams","search","get","handleCaptureQuery","persist","initRequest","result","rules","name","recipe","package","captureRequest","eventName","init","initMethod","capture","captureMethod","handleFunction","arg","sliced","slice","call","Array","isArray","library","e","api","stubs","edgetag"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.min.js","sources":["../../sdk-core/node_modules/uuid/dist/esm-browser/rng.js","../../sdk-core/node_modules/uuid/dist/esm-browser/regex.js","../../sdk-core/node_modules/uuid/dist/esm-browser/validate.js","../../sdk-core/node_modules/uuid/dist/esm-browser/stringify.js","../../sdk-core/node_modules/uuid/dist/esm-browser/v4.js","../../sdk-core/esm/index.js","../src/index.js","../index.js"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import { v4 } from 'uuid';\n\nlet endpointUrl = '';\r\nconst generateUrl = (path) => {\r\n const endpoint = getUrl();\r\n if (!endpoint) {\r\n console.log('URL is not valid');\r\n return '';\r\n }\r\n return `${endpoint}${path}`;\r\n};\r\nconst getUrl = () => {\r\n return endpointUrl;\r\n};\r\nconst setUrl = (url) => {\r\n if (url == null) {\r\n return;\r\n }\r\n endpointUrl = url;\r\n};\r\nconst getCaptureURL = () => {\r\n return generateUrl('/capture');\r\n};\r\nconst getInitURL = () => {\r\n return generateUrl('/init');\r\n};\n\nconst initKey = '_edgeStore';\r\n// TODO add\r\n// type persistType = 'session' | 'local'\r\nconst saveData = (type, value, key = initKey) => {\r\n if (type === 'session') {\r\n saveSession(value, key);\r\n return;\r\n }\r\n saveLocal(value, key);\r\n};\r\nconst getData = (type, key = initKey) => {\r\n if (type === 'session') {\r\n return getSession(key);\r\n }\r\n return getLocal(key);\r\n};\r\nconst saveLocal = (value, key) => {\r\n localStorage.setItem(key, JSON.stringify(value));\r\n};\r\nconst getLocal = (key) => {\r\n return JSON.parse(localStorage.getItem(key)) || {};\r\n};\r\nconst saveSession = (value, key) => {\r\n sessionStorage.setItem(key, JSON.stringify(value));\r\n};\r\nconst getSession = (key) => {\r\n return JSON.parse(sessionStorage.getItem(key)) || {};\r\n};\n\nconst defaultKey = `_worker`;\r\nconst generateUserID = () => {\r\n let time = Date.now();\r\n if (typeof performance !== 'undefined' &&\r\n typeof performance.now === 'function') {\r\n time += performance.now();\r\n }\r\n time = parseInt(time.toString(), 10);\r\n return `${v4()}-${time}-${v4()}`;\r\n};\r\nconst getUserIDKey = () => {\r\n return `${defaultKey}User`;\r\n};\r\nconst checkUser = () => {\r\n let user = getData('local', getUserIDKey());\r\n if (user && user.id) {\r\n return user.id;\r\n }\r\n const userID = generateUserID();\r\n saveData('local', { id: userID }, getUserIDKey());\r\n return userID;\r\n};\n\nconst setPreferences = (preferences) => {\r\n if (!preferences) {\r\n return false;\r\n }\r\n if (!preferences.edgeURL) {\r\n console.info('Please provide URL for EdgeTag');\r\n return false;\r\n }\r\n setUrl(preferences.edgeURL);\r\n const user = checkUser();\r\n if (!user) {\r\n console.info('User was not created.');\r\n return false;\r\n }\r\n return true;\r\n};\n\nconst getUserAgent = () => {\r\n const nav = navigator;\r\n let ua = nav.userAgent;\r\n ua += nav.brave ? `${ua} Brave` : '';\r\n return ua;\r\n};\n\nconst beacon = (url, payload) => {\r\n let blob;\r\n if (payload) {\r\n blob = new Blob([JSON.stringify(payload)], { type: 'application/json' });\r\n }\r\n return navigator.sendBeacon(url, blob);\r\n};\r\nconst ajax = async (method, url, payload) => {\r\n return await fetch(url, {\r\n method,\r\n headers: {\r\n 'Content-type': 'application/json; charset=utf-8',\r\n Accept: 'application/json; charset=utf-8',\r\n },\r\n body: JSON.stringify(payload),\r\n })\r\n .then((response) => response.json().then((data) => ({ status: response.status, body: data })))\r\n .then((data) => {\r\n if (data.status < 200 || data.status >= 300) {\r\n // Q: do we need to retry?\r\n return Promise.reject(new Error(JSON.stringify(data.body)));\r\n }\r\n return Promise.resolve(data.body);\r\n })\r\n .catch((error) => {\r\n // Q: do we need to retry?\r\n return Promise.reject(new Error(error));\r\n });\r\n};\r\nconst getStandardPayload = (payload) => {\r\n const data = {\r\n userID: checkUser(),\r\n pageUrl: window.location.href,\r\n userAgent: getUserAgent(),\r\n ...payload,\r\n };\r\n const session = getData('session');\r\n if (session) {\r\n Object.entries(session).forEach(([key, value]) => {\r\n data.packages[key] = {\r\n ...data.packages[key],\r\n ...value,\r\n };\r\n });\r\n }\r\n const local = getData('local');\r\n if (local) {\r\n Object.entries(local).forEach(([key, value]) => {\r\n data.packages[key] = {\r\n ...data.packages[key],\r\n ...value,\r\n };\r\n });\r\n }\r\n return data;\r\n};\r\nasync function postRequest(url, data, options) {\r\n if (!url) {\r\n return Promise.reject(new Error('URL is empty'));\r\n }\r\n const payload = getStandardPayload(data);\r\n if (options && options.method === 'beacon' && navigator.sendBeacon) {\r\n return Promise.resolve(beacon(url, payload));\r\n }\r\n return await ajax('POST', url, payload);\r\n}\r\nasync function getRequest(url, options) {\r\n if (!url) {\r\n return Promise.reject(new Error('URL is empty'));\r\n }\r\n if (options && options.method === 'beacon' && navigator.sendBeacon) {\r\n return Promise.resolve(beacon(url));\r\n }\r\n return await ajax('GET', url);\r\n}\n\nconst isDevMode = process.env.NODE_ENV === 'development';\n\nconst info = (data) => {\r\n if (isDevMode) {\r\n console.info(data);\r\n }\r\n};\n\nconst handleCaptureQuery = (provider, key, persistType) => {\r\n const params = new URLSearchParams(window.location.search);\r\n if (!params || !params.get(key)) {\r\n return;\r\n }\r\n const local = getData(persistType);\r\n if (!local[provider]) {\r\n local[provider] = {};\r\n }\r\n local[provider][key] = params.get(key);\r\n saveData(persistType, local);\r\n};\r\nconst handleCapture = (provider, params) => {\r\n switch (params.type) {\r\n case 'query': {\r\n handleCaptureQuery(provider, params.key, params.persist);\r\n break;\r\n }\r\n }\r\n};\n\nconst handleManifest = (manifest) => {\r\n manifest.forEach((provider) => {\r\n Object.entries(provider.rules).forEach(([name, recipe]) => {\r\n switch (name) {\r\n case 'capture': {\r\n handleCapture(provider.package, recipe);\r\n return;\r\n }\r\n }\r\n });\r\n });\r\n};\n\nconst initRequest = () => {\r\n getRequest(getInitURL())\r\n .then((result) => {\r\n if (!result) {\r\n console.log('init failed');\r\n return;\r\n }\r\n handleManifest(result.result);\r\n })\r\n .catch(info);\r\n};\r\nconst captureRequest = (name, packages) => {\r\n let payload = {\r\n eventName: name,\r\n packages: {},\r\n };\r\n if (packages) {\r\n payload.packages = packages;\r\n }\r\n postRequest(getCaptureURL(), payload).catch(info);\r\n};\n\nconst init = (preferences) => {\r\n const success = setPreferences(preferences);\r\n if (!success) {\r\n return;\r\n }\r\n initRequest();\r\n};\r\nconst capture = (name, packages) => {\r\n captureRequest(name, packages);\r\n};\n\nexport { capture, init };\n//# sourceMappingURL=index.js.map\n","import {\n init as initMethod,\n capture as captureMethod,\n} from '@blotoutio/edgetag-sdk-core'\n\nclass API {\n init(preferences) {\n initMethod(preferences)\n }\n\n capture(name, packages) {\n captureMethod(name, packages)\n }\n}\n\nexport default new API()\n","import api from './src/index'\n;(function () {\n const handleFunction = (arg) => {\n const sliced = [].slice.call(arg)\n if (!Array.isArray(sliced)) {\n return\n }\n\n try {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return library[sliced[0]](...sliced.slice(1))\n } catch (e) {\n console.error(e)\n }\n }\n\n const library = api\n let stubs = []\n if (window.edgetag) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n stubs = window.edgetag.stubs || []\n }\n\n // this needs to be regular function for arguments to work\n window.edgetag = function () {\n // eslint-disable-next-line prefer-rest-params\n return handleFunction(arguments)\n }\n\n // restore calls that were triggered before lib was ready\n stubs.forEach(handleFunction)\n})()\n"],"names":["getRandomValues","rnds8","Uint8Array","rng","crypto","bind","msCrypto","Error","validate","uuid","REGEX","test","byteToHex","i","push","toString","substr","v4","options","buf","offset","rnds","random","arr","arguments","length","undefined","toLowerCase","TypeError","stringify","endpointUrl","generateUrl","path","endpoint","getUrl","console","log","initKey","saveData","type","value","key","saveLocal","saveSession","getData","getSession","getLocal","localStorage","setItem","JSON","parse","getItem","sessionStorage","checkUser","user","id","userID","time","Date","now","performance","parseInt","generateUserID","setPreferences","preferences","edgeURL","info","url","getUserAgent","nav","navigator","ua","userAgent","brave","beacon","payload","blob","Blob","sendBeacon","ajax","async","method","fetch","headers","Accept","body","then","response","json","data","status","Promise","reject","resolve","catch","error","postRequest","pageUrl","window","location","href","session","Object","entries","forEach","packages","local","getStandardPayload","handleCapture","provider","params","persistType","URLSearchParams","search","get","handleCaptureQuery","persist","initRequest","getRequest","result","rules","name","recipe","package","captureRequest","eventName","init","initMethod","capture","captureMethod","handleFunction","arg","sliced","slice","call","Array","isArray","library","e","api","stubs","edgetag"],"mappings":"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"}
|