@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 CHANGED
@@ -179,12 +179,15 @@
179
179
  };
180
180
 
181
181
  const beacon = (url, payload) => {
182
- const blob = new Blob([JSON.stringify(payload)], { type: 'application/json' });
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: 'POST',
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 = (packages) => {
287
- postRequest(getInitURL(), { packages })
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
- if (!preferences.packages) {
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":"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"}
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,g="_edgeStore",p=(e,t,r=g)=>{"session"!==e?l(t,r):w(t,r)},d=(e,t=g)=>"session"===e?h(t):y(t),l=(e,t)=>{localStorage.setItem(t,JSON.stringify(e))},y=e=>JSON.parse(localStorage.getItem(e))||{},w=(e,t)=>{sessionStorage.setItem(t,JSON.stringify(e))},h=e=>JSON.parse(sessionStorage.getItem(e))||{},m=()=>{let e=d("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 p("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!!m()||(console.info("User was not created."),!1)},S=()=>{const e=navigator;let t=e.userAgent;return t+=e.brave?`${t} Brave`:"",t};async function b(e,t,r){if(!e)return Promise.reject(new Error("URL is empty"));const n=(e=>{const t={userID:m(),pageUrl:window.location.href,userAgent:S(),...e},r=d("session");r&&Object.entries(r).forEach((([e,r])=>{t.packages[e]={...t.packages[e],...r}}));const n=d("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(((e,t)=>{const r=new Blob([JSON.stringify(t)],{type:"application/json"});return navigator.sendBeacon(e,r)})(e,n)):await(async(e,t)=>await fetch(e,{method:"POST",headers:{"Content-type":"application/json; charset=utf-8",Accept:"application/json; charset=utf-8"},body:JSON.stringify(t)}).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)))))(e,n)}const k=e=>{},U=(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=d(r);o[e]||(o[e]={}),o[e][t]=n.get(t),p(r,o)})(e,t.key,t.persist)}},j=e=>{b(u("/init"),{packages:e}).then((e=>{e?e.result.forEach((e=>{console.log(e),Object.entries(e.rules).forEach((([t,r])=>{switch(t){case"capture":return void U(e.package,r)}}))})):console.log("init failed")})).catch(k)},E=(e,t)=>{let r={eventName:e,packages:{}};t&&(r.packages=t),b(u("/capture"),r).catch(k)};var O=new class{init(e){(e=>{v(e)&&(e.packages?j(e.packages):console.log("Defined which packages you want to use"))})(e)}capture(e,t){((e,t)=>{E(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=O;let r=[];window.edgetag&&(r=window.edgetag.stubs||[]),window.edgetag=function(){return e(arguments)},r.forEach(e)}()}));
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blotoutio/edgetag-sdk-browser",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Browser package for edge sdk",
5
5
  "author": "Blotout",
6
6
  "license": "MIT",