@compilacion/colleciones-clientos 1.0.9 → 1.0.11
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/dist/collecionesClientos.iife.js +22 -20
- package/dist/collecionesClientos.iife.js.map +1 -1
- package/dist/index.cjs +22 -20
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +22 -20
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -80,14 +80,14 @@
|
|
|
80
80
|
eventFormat: 'CollecionesBaseEvent',
|
|
81
81
|
eventFormatVersion: '1'
|
|
82
82
|
};
|
|
83
|
-
const now = new Date();
|
|
84
83
|
this.data.timestamps = {};
|
|
85
|
-
this.data.timestamps.clientDatetimeUtc =
|
|
84
|
+
this.data.timestamps.clientDatetimeUtc = new Date().toISOString();
|
|
86
85
|
if (typeof window !== 'undefined' && typeof navigator !== 'undefined' && navigator.language) {
|
|
87
|
-
this.data.timestamps.clientDatetimeLocal = now.
|
|
88
|
-
this.data.timestamps.timeZone =
|
|
86
|
+
this.data.timestamps.clientDatetimeLocal = new Date(Date.now() - new Date().getTimezoneOffset() * 60000).toISOString();
|
|
87
|
+
this.data.timestamps.timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
88
|
+
this.data.timestamps.timeZoneOffset = new Date().getTimezoneOffset();
|
|
89
89
|
} else {
|
|
90
|
-
this.data.timestamps.clientDatetimeLocal =
|
|
90
|
+
this.data.timestamps.clientDatetimeLocal = new Date().toISOString();
|
|
91
91
|
this.data.timestamps.timeZone = 'UTC';
|
|
92
92
|
}
|
|
93
93
|
}
|
|
@@ -110,21 +110,6 @@
|
|
|
110
110
|
return (typeof v !== 'undefined') ? v : 'CollecionesBaseEvent';
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
getPostObject() {
|
|
114
|
-
const now = new Date();
|
|
115
|
-
if (typeof navigator !== 'undefined' && navigator.language) {
|
|
116
|
-
this.data.timestamps.sentDatetime = now.toLocaleString(navigator.language);
|
|
117
|
-
} else {
|
|
118
|
-
this.data.timestamps.sentDatetime = now.toISOString();
|
|
119
|
-
}
|
|
120
|
-
return {
|
|
121
|
-
eventname: this.getEventName(),
|
|
122
|
-
eventFormat: this.getEventFormat(),
|
|
123
|
-
eventFormatVersion: this.getEventFormatVersion(),
|
|
124
|
-
payload: toBase64(this.getPayload())
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
|
|
128
113
|
setData(data) {
|
|
129
114
|
this.data = data;
|
|
130
115
|
}
|
|
@@ -163,6 +148,23 @@
|
|
|
163
148
|
this.data.identifiers[name] = value;
|
|
164
149
|
}
|
|
165
150
|
|
|
151
|
+
getPostObject() {
|
|
152
|
+
this.data.timestamps.sendDatetimeUtc = new Date().toISOString();
|
|
153
|
+
this.data.timestamps.sendDatetimeLocal = new Date(Date.now() - new Date().getTimezoneOffset() * 60000).toISOString();
|
|
154
|
+
return {
|
|
155
|
+
eventname: this.getEventName(),
|
|
156
|
+
eventFormat: this.getEventFormat(),
|
|
157
|
+
eventFormatVersion: this.getEventFormatVersion(),
|
|
158
|
+
payload: toBase64(this.getPayload())
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
overrideDatetime(dateTimeObject = {}) {
|
|
163
|
+
for (const [key, value] of Object.entries(dateTimeObject)) {
|
|
164
|
+
this.data.timestamps[key] = value;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
166
168
|
getPayload() {
|
|
167
169
|
return JSON.stringify(this.data);
|
|
168
170
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collecionesClientos.iife.js","sources":["../src/utils/utils.js","../src/CollecionesBaseEvent.js","../src/CollecionesEmitter.js","../src/CollecionesTracker.js","../src/CollecionesWebTracker.js","../src/CollecionesEvent.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../src/CollecionesSemanticEvent.js","../src/CollecionesSemanticCollectionEvent.js","../src/collecionesClientos.js"],"sourcesContent":["// helper 'private' functions\nconst underscoreToCamelCase = function (str) {\n str = str.replace(/[^\\x00-\\x7F_]/g, '');\n return str\n .split('_')\n .map((word, index) => {\n if (index === 0) {\n return word;\n }\n return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();\n })\n .join('');\n}\n\nconst formatAdjectives = function (adjectiveParameter) {\n let errorMsg = new Error('Adjective must be a string, an array of strings, or undefined');\n if (typeof adjectiveParameter === 'undefined') {\n return undefined;\n }\n if (typeof adjectiveParameter === 'string') {\n return [underscoreToCamelCase(adjectiveParameter)];\n }\n if (Array.isArray(adjectiveParameter) && adjectiveParameter.every(item => typeof item === 'string')) {\n let returnValue = [];\n adjectiveParameter.forEach((adjectiveParameter) => {\n if (!typeof item === 'string') {\n throw errorMsg;\n }\n returnValue.push(underscoreToCamelCase(adjectiveParameter));\n });\n return returnValue;\n }\n throw errorMsg;\n}\n\nconst stringifyAdjectives = function (adjective) {\n if (!Array.isArray(adjective) || adjective.length === 0) {\n return undefined;\n }\n const uniqueSorted = [...new Set(adjective)].sort();\n return '.' + uniqueSorted.join('.');\n}\n\nconst toBase64 = function (str) {\n if (typeof window !== 'undefined' && window.btoa) {\n return window.btoa(unescape(encodeURIComponent(str)));\n } else {\n return Buffer.from(str, 'utf-8').toString('base64');\n }\n}\n\nconst fromBase64 = function (b64) {\n if (typeof window !== 'undefined' && window.atob) {\n return decodeURIComponent(escape(window.atob(b64)));\n } else {\n return Buffer.from(b64, 'base64').toString('utf-8');\n }\n}\n\nconst getBrowserContext = function() {\n if (typeof window === 'undefined' || typeof navigator === 'undefined') {\n return {};\n }\n return {\n hasFocus: document.hasFocus(),\n language: navigator.language,\n platform: navigator.platform,\n referrer: document.referrer,\n screenHeight: window.screen.height,\n screenWidth: window.screen.width,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n url: window.location.href,\n userAgent: navigator.userAgent,\n viewportHeight: window.innerHeight,\n viewportWidth: window.innerWidth,\n };\n}\n\nexport {\n formatAdjectives,\n fromBase64,\n getBrowserContext,\n stringifyAdjectives,\n toBase64,\n underscoreToCamelCase\n};","import { toBase64 } from './utils/utils.js';\n\nclass CollecionesBaseEvent {\n\n constructor() {\n this.eventName = '';\n this.data = {};\n this.data.meta = {\n eventFormat: 'CollecionesBaseEvent',\n eventFormatVersion: '1'\n };\n const now = new Date();\n this.data.timestamps = {};\n this.data.timestamps.clientDatetimeUtc = now.toISOString();\n if (typeof window !== 'undefined' && typeof navigator !== 'undefined' && navigator.language) {\n this.data.timestamps.clientDatetimeLocal = now.toLocaleString(navigator.language);\n this.data.timestamps.timeZone = navigator.language;\n } else {\n this.data.timestamps.clientDatetimeLocal = now.toISOString();\n this.data.timestamps.timeZone = 'UTC';\n }\n }\n\n setEventName(name) {\n this.eventName = name;\n }\n\n getEventName() {\n return this.eventName;\n }\n\n getEventFormat() {\n let v = this.data?.meta?.eventFormat;\n return (typeof v !== 'undefined') ? v : '1';\n }\n\n getEventFormatVersion() {\n let v = this.data?.meta?.eventFormatVersion;\n return (typeof v !== 'undefined') ? v : 'CollecionesBaseEvent';\n }\n\n getPostObject() {\n const now = new Date();\n if (typeof navigator !== 'undefined' && navigator.language) {\n this.data.timestamps.sentDatetime = now.toLocaleString(navigator.language);\n } else {\n this.data.timestamps.sentDatetime = now.toISOString();\n }\n return {\n eventname: this.getEventName(),\n eventFormat: this.getEventFormat(),\n eventFormatVersion: this.getEventFormatVersion(),\n payload: toBase64(this.getPayload())\n };\n }\n\n setData(data) {\n this.data = data;\n }\n\n addAttribute(name, value) {\n return this.addField(name, value);\n }\n\n addField(name, value) {\n if (typeof this.data.fields !== 'object' || this.data.fields === null) {\n this.data.fields = {};\n }\n this.data.fields[name] = value;\n }\n\n setTracker(name) {\n this.data.tracker = name;\n }\n\n setAppName(name) {\n this.data.appName = name;\n }\n\n convertParamIdentifiers(param) {\n if (typeof param === 'object' && param !== null && !Array.isArray(param)) {\n for (const [key, value] of Object.entries(param)) {\n this.addIdentifier(key, value);\n }\n }\n }\n\n addIdentifier(name, value) {\n if (typeof this.data.identifiers !== 'object' || this.data.identifiers === null) {\n this.data.identifiers = {};\n }\n this.data.identifiers[name] = value;\n }\n\n getPayload() {\n return JSON.stringify(this.data);\n }\n\n}\n\nexport default CollecionesBaseEvent;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\nimport {toBase64} from './utils/utils.js';\n\nclass CollecionesEmitter {\n\n constructor(endpoint = '/collect', flushSize = 10, flushInterval = false) {\n this.endpoint = endpoint;\n this.flushInterval = flushInterval;\n this.flushSize = flushSize;\n this.buffer = [];\n this.timer = null;\n }\n\n startTimer() {\n this.stopTimer();\n if (typeof this.flushInterval == 'number' && this.flushInterval > 0) {\n this.timer = setInterval(() => this.flush(), this.flushInterval);\n }\n }\n\n startTimerIfStopped() {\n if (!this.timer) {\n this.startTimer();\n }\n }\n\n stopTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n this.timer = null;\n }\n\n track(event) {\n if (!(event instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be an instance of CollecionesBaseEvent');\n }\n this.trackAsync(event);\n }\n\n async trackAsync(event) {\n if (!(event instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be an instance of CollecionesBaseEvent');\n }\n this.startTimerIfStopped();\n this.buffer.push(event);\n return (this.buffer.length >= this.flushSize) ? this.flush() : Promise.resolve();\n }\n\n async flush() {\n if (this.buffer.length === 0) return;\n const eventsToSend = [...this.buffer];\n this.buffer = [];\n let postPayload = [];\n eventsToSend.forEach((e) => {\n postPayload.push( e.getPostObject() );\n });\n this.stopTimer();\n try {\n const response = await fetch(this.endpoint, {\n method: 'POST',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(postPayload)\n });\n if (!response.ok) {\n console.log(`Failed to send events: ${response.statusText}`);\n }\n return true;\n } catch (error) {\n console.log(`Network error sending events: ${error.message}`);\n } \n }\n}\n\nexport default CollecionesEmitter;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesTracker {\n \n constructor(emitters, trackerName, appName) {\n this.emitters = emitters;\n this.trackerName = trackerName;\n this.appName = appName;\n this.identifiers = {};\n }\n\n addIdentifier(name, value) {\n this.identifiers[name] = value;\n }\n\n track(collecionesEvent) {\n if (!(collecionesEvent instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be of type CollecionesEvent');\n }\n for (const [key, value] of Object.entries(this.identifiers)) {\n collecionesEvent.addIdentifier(key, value);\n }\n collecionesEvent.setTracker(this.trackerName);\n collecionesEvent.setAppName(this.appName); \n this.emitters.forEach(element => {\n element.track(collecionesEvent, this.trackerName, this.appName);\n });\n \n }\n}\n\nexport default CollecionesTracker;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\nimport CollecionesTracker from './CollecionesTracker.js';\nimport { getBrowserContext } from './utils/utils.js';\n\nclass CollecionesWebTracker extends CollecionesTracker {\n \n constructor(emitters, trackerName, appName) {\n super(emitters, trackerName, appName);\n }\n\n track(collecionesEvent) {\n if (!(collecionesEvent instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be of type CollecionesEvent');\n }\n collecionesEvent.addField('browserContext', getBrowserContext());\n super.track(collecionesEvent); \n }\n}\n\nexport default CollecionesWebTracker;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesEvent extends CollecionesBaseEvent {\n\n constructor(name, data, identifiers) {\n super();\n this.setEventName(name);\n Object.assign(this.data, data);\n this.convertParamIdentifiers(identifiers);\n }\n\n}\n\nexport default CollecionesEvent;","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","import { v4 as uuidv4 } from 'uuid';\nimport {underscoreToCamelCase, formatAdjectives, stringifyAdjectives } from './utils/utils.js';\nimport CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesSemanticEvent extends CollecionesBaseEvent {\n\n constructor(entity, action, adjective, identifiers) {\n super();\n this.entity = underscoreToCamelCase(entity);\n this.action = underscoreToCamelCase(action);\n this.adjective = formatAdjectives(adjective);\n let adjectiveString = stringifyAdjectives(this.adjective);\n this.eventName = `${this.entity}${(adjectiveString !== undefined) ? adjectiveString : ''}__${this.action}`;\n this.convertParamIdentifiers(identifiers);\n this.data.entityIdentifiers = {};\n this.data.attributes = {};\n this.data.clientEventId = uuidv4();\n this.data.meta = {\n eventFormat: 'CollecionesSemanticEvent',\n eventFormatVersion: '1'\n };\n }\n\n setData() {\n throw new Error('setData deprecated in semantic events');\n }\n\n addEntityIdentifier(key, value) {\n if (typeof key !== 'string') {\n throw new Error('Entity identifier key must be a string');\n }\n if (typeof value !== 'string' && typeof value !== 'number') {\n throw new Error('Entity identifier value must be a string or number');\n }\n this.data.entityIdentifiers[key] = value;\n }\n\n}\n\nexport default CollecionesSemanticEvent;","import {underscoreToCamelCase, formatAdjectives, stringifyAdjectives } from './utils/utils.js';\nimport CollecionesSemanticEvent from './CollecionesSemanticEvent.js';\n\nclass CollecionesSemanticCollectionEvent extends CollecionesSemanticEvent {\n\n constructor(itemEntity, action, adjective, identifiers, collectionEntity) {\n if(typeof collectionEntity == 'undefined') {\n collectionEntity = `${itemEntity}Collection`;\n }\n super(collectionEntity, action, undefined, identifiers);\n this.data.meta = {\n eventFormat: 'CollecionesSemanticCollectionEvent',\n eventFormatVersion: '1'\n };\n this.adjective = formatAdjectives(adjective);\n let adjectiveString = stringifyAdjectives(this.adjective);\n itemEntity = underscoreToCamelCase(itemEntity);\n this.data.itemEntity = itemEntity;\n this.data.itemEventName = `${itemEntity}${(adjectiveString !== undefined) ? adjectiveString : ''}__${this.action}`;\n this.data.entityItemIdentifiers = {};\n }\n\n addEntityItemIdentifier(key, value) {\n if (typeof key !== 'string') {\n throw new Error('Entity identifier key must be a string');\n }\n if (typeof value !== 'string' && typeof value !== 'number' && !Array.isArray(value)) {\n throw new Error('Entity identifier value must be a string or number');\n }\n if(typeof this.data.entityItemIdentifiers[key] == 'undefined') {\n this.data.entityItemIdentifiers[key] = [];\n }\n if(Array.isArray(value)) {\n value.forEach((v)=> {\n this.data.entityItemIdentifiers[key].push(v);\n });\n } else {\n this.data.entityItemIdentifiers[key].push(value);\n }\n }\n\n \n}\n\nexport default CollecionesSemanticCollectionEvent;","import CollecionesEmitter from './CollecionesEmitter.js';\nimport CollecionesTracker from './CollecionesTracker.js';\nimport CollecionesWebTracker from './CollecionesWebTracker.js';\nimport CollecionesEvent from './CollecionesEvent.js';\nimport CollecionesSemanticEvent from './CollecionesSemanticEvent.js';\nimport CollecionesSemanticCollectionEvent from './CollecionesSemanticCollectionEvent.js';\n\n(function(global) {\n global.CollecionesEmitter = CollecionesEmitter;\n global.CollecionesTracker = CollecionesTracker;\n global.CollecionesWebTracker = CollecionesWebTracker;\n global.CollecionesEvent = CollecionesEvent;\n global.CollecionesSemanticEvent = CollecionesSemanticEvent;\n global.CollecionesSemanticCollectionEvent = CollecionesSemanticCollectionEvent;\n})(typeof window !== 'undefined' ? window : globalThis);"],"names":["uuidv4"],"mappings":"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","x_google_ignoreList":[6,7,8,9]}
|
|
1
|
+
{"version":3,"file":"collecionesClientos.iife.js","sources":["../src/utils/utils.js","../src/CollecionesBaseEvent.js","../src/CollecionesEmitter.js","../src/CollecionesTracker.js","../src/CollecionesWebTracker.js","../src/CollecionesEvent.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../src/CollecionesSemanticEvent.js","../src/CollecionesSemanticCollectionEvent.js","../src/collecionesClientos.js"],"sourcesContent":["// helper 'private' functions\nconst underscoreToCamelCase = function (str) {\n str = str.replace(/[^\\x00-\\x7F_]/g, '');\n return str\n .split('_')\n .map((word, index) => {\n if (index === 0) {\n return word;\n }\n return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();\n })\n .join('');\n}\n\nconst formatAdjectives = function (adjectiveParameter) {\n let errorMsg = new Error('Adjective must be a string, an array of strings, or undefined');\n if (typeof adjectiveParameter === 'undefined') {\n return undefined;\n }\n if (typeof adjectiveParameter === 'string') {\n return [underscoreToCamelCase(adjectiveParameter)];\n }\n if (Array.isArray(adjectiveParameter) && adjectiveParameter.every(item => typeof item === 'string')) {\n let returnValue = [];\n adjectiveParameter.forEach((adjectiveParameter) => {\n if (!typeof item === 'string') {\n throw errorMsg;\n }\n returnValue.push(underscoreToCamelCase(adjectiveParameter));\n });\n return returnValue;\n }\n throw errorMsg;\n}\n\nconst stringifyAdjectives = function (adjective) {\n if (!Array.isArray(adjective) || adjective.length === 0) {\n return undefined;\n }\n const uniqueSorted = [...new Set(adjective)].sort();\n return '.' + uniqueSorted.join('.');\n}\n\nconst toBase64 = function (str) {\n if (typeof window !== 'undefined' && window.btoa) {\n return window.btoa(unescape(encodeURIComponent(str)));\n } else {\n return Buffer.from(str, 'utf-8').toString('base64');\n }\n}\n\nconst fromBase64 = function (b64) {\n if (typeof window !== 'undefined' && window.atob) {\n return decodeURIComponent(escape(window.atob(b64)));\n } else {\n return Buffer.from(b64, 'base64').toString('utf-8');\n }\n}\n\nconst getBrowserContext = function() {\n if (typeof window === 'undefined' || typeof navigator === 'undefined') {\n return {};\n }\n return {\n hasFocus: document.hasFocus(),\n language: navigator.language,\n platform: navigator.platform,\n referrer: document.referrer,\n screenHeight: window.screen.height,\n screenWidth: window.screen.width,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n url: window.location.href,\n userAgent: navigator.userAgent,\n viewportHeight: window.innerHeight,\n viewportWidth: window.innerWidth,\n };\n}\n\nexport {\n formatAdjectives,\n fromBase64,\n getBrowserContext,\n stringifyAdjectives,\n toBase64,\n underscoreToCamelCase\n};","import { toBase64 } from './utils/utils.js';\n\nclass CollecionesBaseEvent {\n\n constructor() {\n this.eventName = '';\n this.data = {};\n this.data.meta = {\n eventFormat: 'CollecionesBaseEvent',\n eventFormatVersion: '1'\n };\n const now = new Date();\n this.data.timestamps = {};\n this.data.timestamps.clientDatetimeUtc = new Date().toISOString();\n if (typeof window !== 'undefined' && typeof navigator !== 'undefined' && navigator.language) {\n this.data.timestamps.clientDatetimeLocal = new Date(Date.now() - new Date().getTimezoneOffset() * 60000).toISOString();\n this.data.timestamps.timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n this.data.timestamps.timeZoneOffset = new Date().getTimezoneOffset()\n } else {\n this.data.timestamps.clientDatetimeLocal = new Date().toISOString();\n this.data.timestamps.timeZone = 'UTC';\n }\n }\n\n setEventName(name) {\n this.eventName = name;\n }\n\n getEventName() {\n return this.eventName;\n }\n\n getEventFormat() {\n let v = this.data?.meta?.eventFormat;\n return (typeof v !== 'undefined') ? v : '1';\n }\n\n getEventFormatVersion() {\n let v = this.data?.meta?.eventFormatVersion;\n return (typeof v !== 'undefined') ? v : 'CollecionesBaseEvent';\n }\n\n setData(data) {\n this.data = data;\n }\n\n addAttribute(name, value) {\n return this.addField(name, value);\n }\n\n addField(name, value) {\n if (typeof this.data.fields !== 'object' || this.data.fields === null) {\n this.data.fields = {};\n }\n this.data.fields[name] = value;\n }\n\n setTracker(name) {\n this.data.tracker = name;\n }\n\n setAppName(name) {\n this.data.appName = name;\n }\n\n convertParamIdentifiers(param) {\n if (typeof param === 'object' && param !== null && !Array.isArray(param)) {\n for (const [key, value] of Object.entries(param)) {\n this.addIdentifier(key, value);\n }\n }\n }\n\n addIdentifier(name, value) {\n if (typeof this.data.identifiers !== 'object' || this.data.identifiers === null) {\n this.data.identifiers = {};\n }\n this.data.identifiers[name] = value;\n }\n\n getPostObject() {\n this.data.timestamps.sendDatetimeUtc = new Date().toISOString();\n this.data.timestamps.sendDatetimeLocal = new Date(Date.now() - new Date().getTimezoneOffset() * 60000).toISOString();\n return {\n eventname: this.getEventName(),\n eventFormat: this.getEventFormat(),\n eventFormatVersion: this.getEventFormatVersion(),\n payload: toBase64(this.getPayload())\n };\n }\n\n overrideDatetime(dateTimeObject = {}) {\n for (const [key, value] of Object.entries(dateTimeObject)) {\n this.data.timestamps[key] = value;\n }\n }\n\n getPayload() {\n return JSON.stringify(this.data);\n }\n\n}\n\nexport default CollecionesBaseEvent;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\nimport {toBase64} from './utils/utils.js';\n\nclass CollecionesEmitter {\n\n constructor(endpoint = '/collect', flushSize = 10, flushInterval = false) {\n this.endpoint = endpoint;\n this.flushInterval = flushInterval;\n this.flushSize = flushSize;\n this.buffer = [];\n this.timer = null;\n }\n\n startTimer() {\n this.stopTimer();\n if (typeof this.flushInterval == 'number' && this.flushInterval > 0) {\n this.timer = setInterval(() => this.flush(), this.flushInterval);\n }\n }\n\n startTimerIfStopped() {\n if (!this.timer) {\n this.startTimer();\n }\n }\n\n stopTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n this.timer = null;\n }\n\n track(event) {\n if (!(event instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be an instance of CollecionesBaseEvent');\n }\n this.trackAsync(event);\n }\n\n async trackAsync(event) {\n if (!(event instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be an instance of CollecionesBaseEvent');\n }\n this.startTimerIfStopped();\n this.buffer.push(event);\n return (this.buffer.length >= this.flushSize) ? this.flush() : Promise.resolve();\n }\n\n async flush() {\n if (this.buffer.length === 0) return;\n const eventsToSend = [...this.buffer];\n this.buffer = [];\n let postPayload = [];\n eventsToSend.forEach((e) => {\n postPayload.push( e.getPostObject() );\n });\n this.stopTimer();\n try {\n const response = await fetch(this.endpoint, {\n method: 'POST',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(postPayload)\n });\n if (!response.ok) {\n console.log(`Failed to send events: ${response.statusText}`);\n }\n return true;\n } catch (error) {\n console.log(`Network error sending events: ${error.message}`);\n } \n }\n}\n\nexport default CollecionesEmitter;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesTracker {\n \n constructor(emitters, trackerName, appName) {\n this.emitters = emitters;\n this.trackerName = trackerName;\n this.appName = appName;\n this.identifiers = {};\n }\n\n addIdentifier(name, value) {\n this.identifiers[name] = value;\n }\n\n track(collecionesEvent) {\n if (!(collecionesEvent instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be of type CollecionesEvent');\n }\n for (const [key, value] of Object.entries(this.identifiers)) {\n collecionesEvent.addIdentifier(key, value);\n }\n collecionesEvent.setTracker(this.trackerName);\n collecionesEvent.setAppName(this.appName); \n this.emitters.forEach(element => {\n element.track(collecionesEvent, this.trackerName, this.appName);\n });\n \n }\n}\n\nexport default CollecionesTracker;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\nimport CollecionesTracker from './CollecionesTracker.js';\nimport { getBrowserContext } from './utils/utils.js';\n\nclass CollecionesWebTracker extends CollecionesTracker {\n \n constructor(emitters, trackerName, appName) {\n super(emitters, trackerName, appName);\n }\n\n track(collecionesEvent) {\n if (!(collecionesEvent instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be of type CollecionesEvent');\n }\n collecionesEvent.addField('browserContext', getBrowserContext());\n super.track(collecionesEvent); \n }\n}\n\nexport default CollecionesWebTracker;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesEvent extends CollecionesBaseEvent {\n\n constructor(name, data, identifiers) {\n super();\n this.setEventName(name);\n Object.assign(this.data, data);\n this.convertParamIdentifiers(identifiers);\n }\n\n}\n\nexport default CollecionesEvent;","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","import { v4 as uuidv4 } from 'uuid';\nimport {underscoreToCamelCase, formatAdjectives, stringifyAdjectives } from './utils/utils.js';\nimport CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesSemanticEvent extends CollecionesBaseEvent {\n\n constructor(entity, action, adjective, identifiers) {\n super();\n this.entity = underscoreToCamelCase(entity);\n this.action = underscoreToCamelCase(action);\n this.adjective = formatAdjectives(adjective);\n let adjectiveString = stringifyAdjectives(this.adjective);\n this.eventName = `${this.entity}${(adjectiveString !== undefined) ? adjectiveString : ''}__${this.action}`;\n this.convertParamIdentifiers(identifiers);\n this.data.entityIdentifiers = {};\n this.data.attributes = {};\n this.data.clientEventId = uuidv4();\n this.data.meta = {\n eventFormat: 'CollecionesSemanticEvent',\n eventFormatVersion: '1'\n };\n }\n\n setData() {\n throw new Error('setData deprecated in semantic events');\n }\n\n addEntityIdentifier(key, value) {\n if (typeof key !== 'string') {\n throw new Error('Entity identifier key must be a string');\n }\n if (typeof value !== 'string' && typeof value !== 'number') {\n throw new Error('Entity identifier value must be a string or number');\n }\n this.data.entityIdentifiers[key] = value;\n }\n\n}\n\nexport default CollecionesSemanticEvent;","import {underscoreToCamelCase, formatAdjectives, stringifyAdjectives } from './utils/utils.js';\nimport CollecionesSemanticEvent from './CollecionesSemanticEvent.js';\n\nclass CollecionesSemanticCollectionEvent extends CollecionesSemanticEvent {\n\n constructor(itemEntity, action, adjective, identifiers, collectionEntity) {\n if(typeof collectionEntity == 'undefined') {\n collectionEntity = `${itemEntity}Collection`;\n }\n super(collectionEntity, action, undefined, identifiers);\n this.data.meta = {\n eventFormat: 'CollecionesSemanticCollectionEvent',\n eventFormatVersion: '1'\n };\n this.adjective = formatAdjectives(adjective);\n let adjectiveString = stringifyAdjectives(this.adjective);\n itemEntity = underscoreToCamelCase(itemEntity);\n this.data.itemEntity = itemEntity;\n this.data.itemEventName = `${itemEntity}${(adjectiveString !== undefined) ? adjectiveString : ''}__${this.action}`;\n this.data.entityItemIdentifiers = {};\n }\n\n addEntityItemIdentifier(key, value) {\n if (typeof key !== 'string') {\n throw new Error('Entity identifier key must be a string');\n }\n if (typeof value !== 'string' && typeof value !== 'number' && !Array.isArray(value)) {\n throw new Error('Entity identifier value must be a string or number');\n }\n if(typeof this.data.entityItemIdentifiers[key] == 'undefined') {\n this.data.entityItemIdentifiers[key] = [];\n }\n if(Array.isArray(value)) {\n value.forEach((v)=> {\n this.data.entityItemIdentifiers[key].push(v);\n });\n } else {\n this.data.entityItemIdentifiers[key].push(value);\n }\n }\n\n \n}\n\nexport default CollecionesSemanticCollectionEvent;","import CollecionesEmitter from './CollecionesEmitter.js';\nimport CollecionesTracker from './CollecionesTracker.js';\nimport CollecionesWebTracker from './CollecionesWebTracker.js';\nimport CollecionesEvent from './CollecionesEvent.js';\nimport CollecionesSemanticEvent from './CollecionesSemanticEvent.js';\nimport CollecionesSemanticCollectionEvent from './CollecionesSemanticCollectionEvent.js';\n\n(function(global) {\n global.CollecionesEmitter = CollecionesEmitter;\n global.CollecionesTracker = CollecionesTracker;\n global.CollecionesWebTracker = CollecionesWebTracker;\n global.CollecionesEvent = CollecionesEvent;\n global.CollecionesSemanticEvent = CollecionesSemanticEvent;\n global.CollecionesSemanticCollectionEvent = CollecionesSemanticCollectionEvent;\n})(typeof window !== 'undefined' ? window : globalThis);"],"names":["uuidv4"],"mappings":"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","x_google_ignoreList":[6,7,8,9]}
|
package/dist/index.cjs
CHANGED
|
@@ -79,14 +79,14 @@ class CollecionesBaseEvent {
|
|
|
79
79
|
eventFormat: 'CollecionesBaseEvent',
|
|
80
80
|
eventFormatVersion: '1'
|
|
81
81
|
};
|
|
82
|
-
const now = new Date();
|
|
83
82
|
this.data.timestamps = {};
|
|
84
|
-
this.data.timestamps.clientDatetimeUtc =
|
|
83
|
+
this.data.timestamps.clientDatetimeUtc = new Date().toISOString();
|
|
85
84
|
if (typeof window !== 'undefined' && typeof navigator !== 'undefined' && navigator.language) {
|
|
86
|
-
this.data.timestamps.clientDatetimeLocal = now.
|
|
87
|
-
this.data.timestamps.timeZone =
|
|
85
|
+
this.data.timestamps.clientDatetimeLocal = new Date(Date.now() - new Date().getTimezoneOffset() * 60000).toISOString();
|
|
86
|
+
this.data.timestamps.timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
87
|
+
this.data.timestamps.timeZoneOffset = new Date().getTimezoneOffset();
|
|
88
88
|
} else {
|
|
89
|
-
this.data.timestamps.clientDatetimeLocal =
|
|
89
|
+
this.data.timestamps.clientDatetimeLocal = new Date().toISOString();
|
|
90
90
|
this.data.timestamps.timeZone = 'UTC';
|
|
91
91
|
}
|
|
92
92
|
}
|
|
@@ -109,21 +109,6 @@ class CollecionesBaseEvent {
|
|
|
109
109
|
return (typeof v !== 'undefined') ? v : 'CollecionesBaseEvent';
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
-
getPostObject() {
|
|
113
|
-
const now = new Date();
|
|
114
|
-
if (typeof navigator !== 'undefined' && navigator.language) {
|
|
115
|
-
this.data.timestamps.sentDatetime = now.toLocaleString(navigator.language);
|
|
116
|
-
} else {
|
|
117
|
-
this.data.timestamps.sentDatetime = now.toISOString();
|
|
118
|
-
}
|
|
119
|
-
return {
|
|
120
|
-
eventname: this.getEventName(),
|
|
121
|
-
eventFormat: this.getEventFormat(),
|
|
122
|
-
eventFormatVersion: this.getEventFormatVersion(),
|
|
123
|
-
payload: toBase64(this.getPayload())
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
|
|
127
112
|
setData(data) {
|
|
128
113
|
this.data = data;
|
|
129
114
|
}
|
|
@@ -162,6 +147,23 @@ class CollecionesBaseEvent {
|
|
|
162
147
|
this.data.identifiers[name] = value;
|
|
163
148
|
}
|
|
164
149
|
|
|
150
|
+
getPostObject() {
|
|
151
|
+
this.data.timestamps.sendDatetimeUtc = new Date().toISOString();
|
|
152
|
+
this.data.timestamps.sendDatetimeLocal = new Date(Date.now() - new Date().getTimezoneOffset() * 60000).toISOString();
|
|
153
|
+
return {
|
|
154
|
+
eventname: this.getEventName(),
|
|
155
|
+
eventFormat: this.getEventFormat(),
|
|
156
|
+
eventFormatVersion: this.getEventFormatVersion(),
|
|
157
|
+
payload: toBase64(this.getPayload())
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
overrideDatetime(dateTimeObject = {}) {
|
|
162
|
+
for (const [key, value] of Object.entries(dateTimeObject)) {
|
|
163
|
+
this.data.timestamps[key] = value;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
165
167
|
getPayload() {
|
|
166
168
|
return JSON.stringify(this.data);
|
|
167
169
|
}
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/utils/utils.js","../src/CollecionesBaseEvent.js","../src/CollecionesEmitter.js","../src/CollecionesTracker.js","../src/CollecionesWebTracker.js","../src/CollecionesEvent.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../src/CollecionesSemanticEvent.js","../src/CollecionesSemanticCollectionEvent.js"],"sourcesContent":["// helper 'private' functions\nconst underscoreToCamelCase = function (str) {\n str = str.replace(/[^\\x00-\\x7F_]/g, '');\n return str\n .split('_')\n .map((word, index) => {\n if (index === 0) {\n return word;\n }\n return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();\n })\n .join('');\n}\n\nconst formatAdjectives = function (adjectiveParameter) {\n let errorMsg = new Error('Adjective must be a string, an array of strings, or undefined');\n if (typeof adjectiveParameter === 'undefined') {\n return undefined;\n }\n if (typeof adjectiveParameter === 'string') {\n return [underscoreToCamelCase(adjectiveParameter)];\n }\n if (Array.isArray(adjectiveParameter) && adjectiveParameter.every(item => typeof item === 'string')) {\n let returnValue = [];\n adjectiveParameter.forEach((adjectiveParameter) => {\n if (!typeof item === 'string') {\n throw errorMsg;\n }\n returnValue.push(underscoreToCamelCase(adjectiveParameter));\n });\n return returnValue;\n }\n throw errorMsg;\n}\n\nconst stringifyAdjectives = function (adjective) {\n if (!Array.isArray(adjective) || adjective.length === 0) {\n return undefined;\n }\n const uniqueSorted = [...new Set(adjective)].sort();\n return '.' + uniqueSorted.join('.');\n}\n\nconst toBase64 = function (str) {\n if (typeof window !== 'undefined' && window.btoa) {\n return window.btoa(unescape(encodeURIComponent(str)));\n } else {\n return Buffer.from(str, 'utf-8').toString('base64');\n }\n}\n\nconst fromBase64 = function (b64) {\n if (typeof window !== 'undefined' && window.atob) {\n return decodeURIComponent(escape(window.atob(b64)));\n } else {\n return Buffer.from(b64, 'base64').toString('utf-8');\n }\n}\n\nconst getBrowserContext = function() {\n if (typeof window === 'undefined' || typeof navigator === 'undefined') {\n return {};\n }\n return {\n hasFocus: document.hasFocus(),\n language: navigator.language,\n platform: navigator.platform,\n referrer: document.referrer,\n screenHeight: window.screen.height,\n screenWidth: window.screen.width,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n url: window.location.href,\n userAgent: navigator.userAgent,\n viewportHeight: window.innerHeight,\n viewportWidth: window.innerWidth,\n };\n}\n\nexport {\n formatAdjectives,\n fromBase64,\n getBrowserContext,\n stringifyAdjectives,\n toBase64,\n underscoreToCamelCase\n};","import { toBase64 } from './utils/utils.js';\n\nclass CollecionesBaseEvent {\n\n constructor() {\n this.eventName = '';\n this.data = {};\n this.data.meta = {\n eventFormat: 'CollecionesBaseEvent',\n eventFormatVersion: '1'\n };\n const now = new Date();\n this.data.timestamps = {};\n this.data.timestamps.clientDatetimeUtc = now.toISOString();\n if (typeof window !== 'undefined' && typeof navigator !== 'undefined' && navigator.language) {\n this.data.timestamps.clientDatetimeLocal = now.toLocaleString(navigator.language);\n this.data.timestamps.timeZone = navigator.language;\n } else {\n this.data.timestamps.clientDatetimeLocal = now.toISOString();\n this.data.timestamps.timeZone = 'UTC';\n }\n }\n\n setEventName(name) {\n this.eventName = name;\n }\n\n getEventName() {\n return this.eventName;\n }\n\n getEventFormat() {\n let v = this.data?.meta?.eventFormat;\n return (typeof v !== 'undefined') ? v : '1';\n }\n\n getEventFormatVersion() {\n let v = this.data?.meta?.eventFormatVersion;\n return (typeof v !== 'undefined') ? v : 'CollecionesBaseEvent';\n }\n\n getPostObject() {\n const now = new Date();\n if (typeof navigator !== 'undefined' && navigator.language) {\n this.data.timestamps.sentDatetime = now.toLocaleString(navigator.language);\n } else {\n this.data.timestamps.sentDatetime = now.toISOString();\n }\n return {\n eventname: this.getEventName(),\n eventFormat: this.getEventFormat(),\n eventFormatVersion: this.getEventFormatVersion(),\n payload: toBase64(this.getPayload())\n };\n }\n\n setData(data) {\n this.data = data;\n }\n\n addAttribute(name, value) {\n return this.addField(name, value);\n }\n\n addField(name, value) {\n if (typeof this.data.fields !== 'object' || this.data.fields === null) {\n this.data.fields = {};\n }\n this.data.fields[name] = value;\n }\n\n setTracker(name) {\n this.data.tracker = name;\n }\n\n setAppName(name) {\n this.data.appName = name;\n }\n\n convertParamIdentifiers(param) {\n if (typeof param === 'object' && param !== null && !Array.isArray(param)) {\n for (const [key, value] of Object.entries(param)) {\n this.addIdentifier(key, value);\n }\n }\n }\n\n addIdentifier(name, value) {\n if (typeof this.data.identifiers !== 'object' || this.data.identifiers === null) {\n this.data.identifiers = {};\n }\n this.data.identifiers[name] = value;\n }\n\n getPayload() {\n return JSON.stringify(this.data);\n }\n\n}\n\nexport default CollecionesBaseEvent;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\nimport {toBase64} from './utils/utils.js';\n\nclass CollecionesEmitter {\n\n constructor(endpoint = '/collect', flushSize = 10, flushInterval = false) {\n this.endpoint = endpoint;\n this.flushInterval = flushInterval;\n this.flushSize = flushSize;\n this.buffer = [];\n this.timer = null;\n }\n\n startTimer() {\n this.stopTimer();\n if (typeof this.flushInterval == 'number' && this.flushInterval > 0) {\n this.timer = setInterval(() => this.flush(), this.flushInterval);\n }\n }\n\n startTimerIfStopped() {\n if (!this.timer) {\n this.startTimer();\n }\n }\n\n stopTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n this.timer = null;\n }\n\n track(event) {\n if (!(event instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be an instance of CollecionesBaseEvent');\n }\n this.trackAsync(event);\n }\n\n async trackAsync(event) {\n if (!(event instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be an instance of CollecionesBaseEvent');\n }\n this.startTimerIfStopped();\n this.buffer.push(event);\n return (this.buffer.length >= this.flushSize) ? this.flush() : Promise.resolve();\n }\n\n async flush() {\n if (this.buffer.length === 0) return;\n const eventsToSend = [...this.buffer];\n this.buffer = [];\n let postPayload = [];\n eventsToSend.forEach((e) => {\n postPayload.push( e.getPostObject() );\n });\n this.stopTimer();\n try {\n const response = await fetch(this.endpoint, {\n method: 'POST',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(postPayload)\n });\n if (!response.ok) {\n console.log(`Failed to send events: ${response.statusText}`);\n }\n return true;\n } catch (error) {\n console.log(`Network error sending events: ${error.message}`);\n } \n }\n}\n\nexport default CollecionesEmitter;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesTracker {\n \n constructor(emitters, trackerName, appName) {\n this.emitters = emitters;\n this.trackerName = trackerName;\n this.appName = appName;\n this.identifiers = {};\n }\n\n addIdentifier(name, value) {\n this.identifiers[name] = value;\n }\n\n track(collecionesEvent) {\n if (!(collecionesEvent instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be of type CollecionesEvent');\n }\n for (const [key, value] of Object.entries(this.identifiers)) {\n collecionesEvent.addIdentifier(key, value);\n }\n collecionesEvent.setTracker(this.trackerName);\n collecionesEvent.setAppName(this.appName); \n this.emitters.forEach(element => {\n element.track(collecionesEvent, this.trackerName, this.appName);\n });\n \n }\n}\n\nexport default CollecionesTracker;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\nimport CollecionesTracker from './CollecionesTracker.js';\nimport { getBrowserContext } from './utils/utils.js';\n\nclass CollecionesWebTracker extends CollecionesTracker {\n \n constructor(emitters, trackerName, appName) {\n super(emitters, trackerName, appName);\n }\n\n track(collecionesEvent) {\n if (!(collecionesEvent instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be of type CollecionesEvent');\n }\n collecionesEvent.addField('browserContext', getBrowserContext());\n super.track(collecionesEvent); \n }\n}\n\nexport default CollecionesWebTracker;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesEvent extends CollecionesBaseEvent {\n\n constructor(name, data, identifiers) {\n super();\n this.setEventName(name);\n Object.assign(this.data, data);\n this.convertParamIdentifiers(identifiers);\n }\n\n}\n\nexport default CollecionesEvent;","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","import { v4 as uuidv4 } from 'uuid';\nimport {underscoreToCamelCase, formatAdjectives, stringifyAdjectives } from './utils/utils.js';\nimport CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesSemanticEvent extends CollecionesBaseEvent {\n\n constructor(entity, action, adjective, identifiers) {\n super();\n this.entity = underscoreToCamelCase(entity);\n this.action = underscoreToCamelCase(action);\n this.adjective = formatAdjectives(adjective);\n let adjectiveString = stringifyAdjectives(this.adjective);\n this.eventName = `${this.entity}${(adjectiveString !== undefined) ? adjectiveString : ''}__${this.action}`;\n this.convertParamIdentifiers(identifiers);\n this.data.entityIdentifiers = {};\n this.data.attributes = {};\n this.data.clientEventId = uuidv4();\n this.data.meta = {\n eventFormat: 'CollecionesSemanticEvent',\n eventFormatVersion: '1'\n };\n }\n\n setData() {\n throw new Error('setData deprecated in semantic events');\n }\n\n addEntityIdentifier(key, value) {\n if (typeof key !== 'string') {\n throw new Error('Entity identifier key must be a string');\n }\n if (typeof value !== 'string' && typeof value !== 'number') {\n throw new Error('Entity identifier value must be a string or number');\n }\n this.data.entityIdentifiers[key] = value;\n }\n\n}\n\nexport default CollecionesSemanticEvent;","import {underscoreToCamelCase, formatAdjectives, stringifyAdjectives } from './utils/utils.js';\nimport CollecionesSemanticEvent from './CollecionesSemanticEvent.js';\n\nclass CollecionesSemanticCollectionEvent extends CollecionesSemanticEvent {\n\n constructor(itemEntity, action, adjective, identifiers, collectionEntity) {\n if(typeof collectionEntity == 'undefined') {\n collectionEntity = `${itemEntity}Collection`;\n }\n super(collectionEntity, action, undefined, identifiers);\n this.data.meta = {\n eventFormat: 'CollecionesSemanticCollectionEvent',\n eventFormatVersion: '1'\n };\n this.adjective = formatAdjectives(adjective);\n let adjectiveString = stringifyAdjectives(this.adjective);\n itemEntity = underscoreToCamelCase(itemEntity);\n this.data.itemEntity = itemEntity;\n this.data.itemEventName = `${itemEntity}${(adjectiveString !== undefined) ? adjectiveString : ''}__${this.action}`;\n this.data.entityItemIdentifiers = {};\n }\n\n addEntityItemIdentifier(key, value) {\n if (typeof key !== 'string') {\n throw new Error('Entity identifier key must be a string');\n }\n if (typeof value !== 'string' && typeof value !== 'number' && !Array.isArray(value)) {\n throw new Error('Entity identifier value must be a string or number');\n }\n if(typeof this.data.entityItemIdentifiers[key] == 'undefined') {\n this.data.entityItemIdentifiers[key] = [];\n }\n if(Array.isArray(value)) {\n value.forEach((v)=> {\n this.data.entityItemIdentifiers[key].push(v);\n });\n } else {\n this.data.entityItemIdentifiers[key].push(value);\n }\n }\n\n \n}\n\nexport default CollecionesSemanticCollectionEvent;"],"names":["uuidv4"],"mappings":"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","x_google_ignoreList":[6,7,8,9]}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/utils/utils.js","../src/CollecionesBaseEvent.js","../src/CollecionesEmitter.js","../src/CollecionesTracker.js","../src/CollecionesWebTracker.js","../src/CollecionesEvent.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../src/CollecionesSemanticEvent.js","../src/CollecionesSemanticCollectionEvent.js"],"sourcesContent":["// helper 'private' functions\nconst underscoreToCamelCase = function (str) {\n str = str.replace(/[^\\x00-\\x7F_]/g, '');\n return str\n .split('_')\n .map((word, index) => {\n if (index === 0) {\n return word;\n }\n return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();\n })\n .join('');\n}\n\nconst formatAdjectives = function (adjectiveParameter) {\n let errorMsg = new Error('Adjective must be a string, an array of strings, or undefined');\n if (typeof adjectiveParameter === 'undefined') {\n return undefined;\n }\n if (typeof adjectiveParameter === 'string') {\n return [underscoreToCamelCase(adjectiveParameter)];\n }\n if (Array.isArray(adjectiveParameter) && adjectiveParameter.every(item => typeof item === 'string')) {\n let returnValue = [];\n adjectiveParameter.forEach((adjectiveParameter) => {\n if (!typeof item === 'string') {\n throw errorMsg;\n }\n returnValue.push(underscoreToCamelCase(adjectiveParameter));\n });\n return returnValue;\n }\n throw errorMsg;\n}\n\nconst stringifyAdjectives = function (adjective) {\n if (!Array.isArray(adjective) || adjective.length === 0) {\n return undefined;\n }\n const uniqueSorted = [...new Set(adjective)].sort();\n return '.' + uniqueSorted.join('.');\n}\n\nconst toBase64 = function (str) {\n if (typeof window !== 'undefined' && window.btoa) {\n return window.btoa(unescape(encodeURIComponent(str)));\n } else {\n return Buffer.from(str, 'utf-8').toString('base64');\n }\n}\n\nconst fromBase64 = function (b64) {\n if (typeof window !== 'undefined' && window.atob) {\n return decodeURIComponent(escape(window.atob(b64)));\n } else {\n return Buffer.from(b64, 'base64').toString('utf-8');\n }\n}\n\nconst getBrowserContext = function() {\n if (typeof window === 'undefined' || typeof navigator === 'undefined') {\n return {};\n }\n return {\n hasFocus: document.hasFocus(),\n language: navigator.language,\n platform: navigator.platform,\n referrer: document.referrer,\n screenHeight: window.screen.height,\n screenWidth: window.screen.width,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n url: window.location.href,\n userAgent: navigator.userAgent,\n viewportHeight: window.innerHeight,\n viewportWidth: window.innerWidth,\n };\n}\n\nexport {\n formatAdjectives,\n fromBase64,\n getBrowserContext,\n stringifyAdjectives,\n toBase64,\n underscoreToCamelCase\n};","import { toBase64 } from './utils/utils.js';\n\nclass CollecionesBaseEvent {\n\n constructor() {\n this.eventName = '';\n this.data = {};\n this.data.meta = {\n eventFormat: 'CollecionesBaseEvent',\n eventFormatVersion: '1'\n };\n const now = new Date();\n this.data.timestamps = {};\n this.data.timestamps.clientDatetimeUtc = new Date().toISOString();\n if (typeof window !== 'undefined' && typeof navigator !== 'undefined' && navigator.language) {\n this.data.timestamps.clientDatetimeLocal = new Date(Date.now() - new Date().getTimezoneOffset() * 60000).toISOString();\n this.data.timestamps.timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n this.data.timestamps.timeZoneOffset = new Date().getTimezoneOffset()\n } else {\n this.data.timestamps.clientDatetimeLocal = new Date().toISOString();\n this.data.timestamps.timeZone = 'UTC';\n }\n }\n\n setEventName(name) {\n this.eventName = name;\n }\n\n getEventName() {\n return this.eventName;\n }\n\n getEventFormat() {\n let v = this.data?.meta?.eventFormat;\n return (typeof v !== 'undefined') ? v : '1';\n }\n\n getEventFormatVersion() {\n let v = this.data?.meta?.eventFormatVersion;\n return (typeof v !== 'undefined') ? v : 'CollecionesBaseEvent';\n }\n\n setData(data) {\n this.data = data;\n }\n\n addAttribute(name, value) {\n return this.addField(name, value);\n }\n\n addField(name, value) {\n if (typeof this.data.fields !== 'object' || this.data.fields === null) {\n this.data.fields = {};\n }\n this.data.fields[name] = value;\n }\n\n setTracker(name) {\n this.data.tracker = name;\n }\n\n setAppName(name) {\n this.data.appName = name;\n }\n\n convertParamIdentifiers(param) {\n if (typeof param === 'object' && param !== null && !Array.isArray(param)) {\n for (const [key, value] of Object.entries(param)) {\n this.addIdentifier(key, value);\n }\n }\n }\n\n addIdentifier(name, value) {\n if (typeof this.data.identifiers !== 'object' || this.data.identifiers === null) {\n this.data.identifiers = {};\n }\n this.data.identifiers[name] = value;\n }\n\n getPostObject() {\n this.data.timestamps.sendDatetimeUtc = new Date().toISOString();\n this.data.timestamps.sendDatetimeLocal = new Date(Date.now() - new Date().getTimezoneOffset() * 60000).toISOString();\n return {\n eventname: this.getEventName(),\n eventFormat: this.getEventFormat(),\n eventFormatVersion: this.getEventFormatVersion(),\n payload: toBase64(this.getPayload())\n };\n }\n\n overrideDatetime(dateTimeObject = {}) {\n for (const [key, value] of Object.entries(dateTimeObject)) {\n this.data.timestamps[key] = value;\n }\n }\n\n getPayload() {\n return JSON.stringify(this.data);\n }\n\n}\n\nexport default CollecionesBaseEvent;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\nimport {toBase64} from './utils/utils.js';\n\nclass CollecionesEmitter {\n\n constructor(endpoint = '/collect', flushSize = 10, flushInterval = false) {\n this.endpoint = endpoint;\n this.flushInterval = flushInterval;\n this.flushSize = flushSize;\n this.buffer = [];\n this.timer = null;\n }\n\n startTimer() {\n this.stopTimer();\n if (typeof this.flushInterval == 'number' && this.flushInterval > 0) {\n this.timer = setInterval(() => this.flush(), this.flushInterval);\n }\n }\n\n startTimerIfStopped() {\n if (!this.timer) {\n this.startTimer();\n }\n }\n\n stopTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n this.timer = null;\n }\n\n track(event) {\n if (!(event instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be an instance of CollecionesBaseEvent');\n }\n this.trackAsync(event);\n }\n\n async trackAsync(event) {\n if (!(event instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be an instance of CollecionesBaseEvent');\n }\n this.startTimerIfStopped();\n this.buffer.push(event);\n return (this.buffer.length >= this.flushSize) ? this.flush() : Promise.resolve();\n }\n\n async flush() {\n if (this.buffer.length === 0) return;\n const eventsToSend = [...this.buffer];\n this.buffer = [];\n let postPayload = [];\n eventsToSend.forEach((e) => {\n postPayload.push( e.getPostObject() );\n });\n this.stopTimer();\n try {\n const response = await fetch(this.endpoint, {\n method: 'POST',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(postPayload)\n });\n if (!response.ok) {\n console.log(`Failed to send events: ${response.statusText}`);\n }\n return true;\n } catch (error) {\n console.log(`Network error sending events: ${error.message}`);\n } \n }\n}\n\nexport default CollecionesEmitter;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesTracker {\n \n constructor(emitters, trackerName, appName) {\n this.emitters = emitters;\n this.trackerName = trackerName;\n this.appName = appName;\n this.identifiers = {};\n }\n\n addIdentifier(name, value) {\n this.identifiers[name] = value;\n }\n\n track(collecionesEvent) {\n if (!(collecionesEvent instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be of type CollecionesEvent');\n }\n for (const [key, value] of Object.entries(this.identifiers)) {\n collecionesEvent.addIdentifier(key, value);\n }\n collecionesEvent.setTracker(this.trackerName);\n collecionesEvent.setAppName(this.appName); \n this.emitters.forEach(element => {\n element.track(collecionesEvent, this.trackerName, this.appName);\n });\n \n }\n}\n\nexport default CollecionesTracker;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\nimport CollecionesTracker from './CollecionesTracker.js';\nimport { getBrowserContext } from './utils/utils.js';\n\nclass CollecionesWebTracker extends CollecionesTracker {\n \n constructor(emitters, trackerName, appName) {\n super(emitters, trackerName, appName);\n }\n\n track(collecionesEvent) {\n if (!(collecionesEvent instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be of type CollecionesEvent');\n }\n collecionesEvent.addField('browserContext', getBrowserContext());\n super.track(collecionesEvent); \n }\n}\n\nexport default CollecionesWebTracker;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesEvent extends CollecionesBaseEvent {\n\n constructor(name, data, identifiers) {\n super();\n this.setEventName(name);\n Object.assign(this.data, data);\n this.convertParamIdentifiers(identifiers);\n }\n\n}\n\nexport default CollecionesEvent;","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","import { v4 as uuidv4 } from 'uuid';\nimport {underscoreToCamelCase, formatAdjectives, stringifyAdjectives } from './utils/utils.js';\nimport CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesSemanticEvent extends CollecionesBaseEvent {\n\n constructor(entity, action, adjective, identifiers) {\n super();\n this.entity = underscoreToCamelCase(entity);\n this.action = underscoreToCamelCase(action);\n this.adjective = formatAdjectives(adjective);\n let adjectiveString = stringifyAdjectives(this.adjective);\n this.eventName = `${this.entity}${(adjectiveString !== undefined) ? adjectiveString : ''}__${this.action}`;\n this.convertParamIdentifiers(identifiers);\n this.data.entityIdentifiers = {};\n this.data.attributes = {};\n this.data.clientEventId = uuidv4();\n this.data.meta = {\n eventFormat: 'CollecionesSemanticEvent',\n eventFormatVersion: '1'\n };\n }\n\n setData() {\n throw new Error('setData deprecated in semantic events');\n }\n\n addEntityIdentifier(key, value) {\n if (typeof key !== 'string') {\n throw new Error('Entity identifier key must be a string');\n }\n if (typeof value !== 'string' && typeof value !== 'number') {\n throw new Error('Entity identifier value must be a string or number');\n }\n this.data.entityIdentifiers[key] = value;\n }\n\n}\n\nexport default CollecionesSemanticEvent;","import {underscoreToCamelCase, formatAdjectives, stringifyAdjectives } from './utils/utils.js';\nimport CollecionesSemanticEvent from './CollecionesSemanticEvent.js';\n\nclass CollecionesSemanticCollectionEvent extends CollecionesSemanticEvent {\n\n constructor(itemEntity, action, adjective, identifiers, collectionEntity) {\n if(typeof collectionEntity == 'undefined') {\n collectionEntity = `${itemEntity}Collection`;\n }\n super(collectionEntity, action, undefined, identifiers);\n this.data.meta = {\n eventFormat: 'CollecionesSemanticCollectionEvent',\n eventFormatVersion: '1'\n };\n this.adjective = formatAdjectives(adjective);\n let adjectiveString = stringifyAdjectives(this.adjective);\n itemEntity = underscoreToCamelCase(itemEntity);\n this.data.itemEntity = itemEntity;\n this.data.itemEventName = `${itemEntity}${(adjectiveString !== undefined) ? adjectiveString : ''}__${this.action}`;\n this.data.entityItemIdentifiers = {};\n }\n\n addEntityItemIdentifier(key, value) {\n if (typeof key !== 'string') {\n throw new Error('Entity identifier key must be a string');\n }\n if (typeof value !== 'string' && typeof value !== 'number' && !Array.isArray(value)) {\n throw new Error('Entity identifier value must be a string or number');\n }\n if(typeof this.data.entityItemIdentifiers[key] == 'undefined') {\n this.data.entityItemIdentifiers[key] = [];\n }\n if(Array.isArray(value)) {\n value.forEach((v)=> {\n this.data.entityItemIdentifiers[key].push(v);\n });\n } else {\n this.data.entityItemIdentifiers[key].push(value);\n }\n }\n\n \n}\n\nexport default CollecionesSemanticCollectionEvent;"],"names":["uuidv4"],"mappings":"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","x_google_ignoreList":[6,7,8,9]}
|
package/dist/index.mjs
CHANGED
|
@@ -77,14 +77,14 @@ class CollecionesBaseEvent {
|
|
|
77
77
|
eventFormat: 'CollecionesBaseEvent',
|
|
78
78
|
eventFormatVersion: '1'
|
|
79
79
|
};
|
|
80
|
-
const now = new Date();
|
|
81
80
|
this.data.timestamps = {};
|
|
82
|
-
this.data.timestamps.clientDatetimeUtc =
|
|
81
|
+
this.data.timestamps.clientDatetimeUtc = new Date().toISOString();
|
|
83
82
|
if (typeof window !== 'undefined' && typeof navigator !== 'undefined' && navigator.language) {
|
|
84
|
-
this.data.timestamps.clientDatetimeLocal = now.
|
|
85
|
-
this.data.timestamps.timeZone =
|
|
83
|
+
this.data.timestamps.clientDatetimeLocal = new Date(Date.now() - new Date().getTimezoneOffset() * 60000).toISOString();
|
|
84
|
+
this.data.timestamps.timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
85
|
+
this.data.timestamps.timeZoneOffset = new Date().getTimezoneOffset();
|
|
86
86
|
} else {
|
|
87
|
-
this.data.timestamps.clientDatetimeLocal =
|
|
87
|
+
this.data.timestamps.clientDatetimeLocal = new Date().toISOString();
|
|
88
88
|
this.data.timestamps.timeZone = 'UTC';
|
|
89
89
|
}
|
|
90
90
|
}
|
|
@@ -107,21 +107,6 @@ class CollecionesBaseEvent {
|
|
|
107
107
|
return (typeof v !== 'undefined') ? v : 'CollecionesBaseEvent';
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
getPostObject() {
|
|
111
|
-
const now = new Date();
|
|
112
|
-
if (typeof navigator !== 'undefined' && navigator.language) {
|
|
113
|
-
this.data.timestamps.sentDatetime = now.toLocaleString(navigator.language);
|
|
114
|
-
} else {
|
|
115
|
-
this.data.timestamps.sentDatetime = now.toISOString();
|
|
116
|
-
}
|
|
117
|
-
return {
|
|
118
|
-
eventname: this.getEventName(),
|
|
119
|
-
eventFormat: this.getEventFormat(),
|
|
120
|
-
eventFormatVersion: this.getEventFormatVersion(),
|
|
121
|
-
payload: toBase64(this.getPayload())
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
|
|
125
110
|
setData(data) {
|
|
126
111
|
this.data = data;
|
|
127
112
|
}
|
|
@@ -160,6 +145,23 @@ class CollecionesBaseEvent {
|
|
|
160
145
|
this.data.identifiers[name] = value;
|
|
161
146
|
}
|
|
162
147
|
|
|
148
|
+
getPostObject() {
|
|
149
|
+
this.data.timestamps.sendDatetimeUtc = new Date().toISOString();
|
|
150
|
+
this.data.timestamps.sendDatetimeLocal = new Date(Date.now() - new Date().getTimezoneOffset() * 60000).toISOString();
|
|
151
|
+
return {
|
|
152
|
+
eventname: this.getEventName(),
|
|
153
|
+
eventFormat: this.getEventFormat(),
|
|
154
|
+
eventFormatVersion: this.getEventFormatVersion(),
|
|
155
|
+
payload: toBase64(this.getPayload())
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
overrideDatetime(dateTimeObject = {}) {
|
|
160
|
+
for (const [key, value] of Object.entries(dateTimeObject)) {
|
|
161
|
+
this.data.timestamps[key] = value;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
163
165
|
getPayload() {
|
|
164
166
|
return JSON.stringify(this.data);
|
|
165
167
|
}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/utils/utils.js","../src/CollecionesBaseEvent.js","../src/CollecionesEmitter.js","../src/CollecionesTracker.js","../src/CollecionesWebTracker.js","../src/CollecionesEvent.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../src/CollecionesSemanticEvent.js","../src/CollecionesSemanticCollectionEvent.js"],"sourcesContent":["// helper 'private' functions\nconst underscoreToCamelCase = function (str) {\n str = str.replace(/[^\\x00-\\x7F_]/g, '');\n return str\n .split('_')\n .map((word, index) => {\n if (index === 0) {\n return word;\n }\n return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();\n })\n .join('');\n}\n\nconst formatAdjectives = function (adjectiveParameter) {\n let errorMsg = new Error('Adjective must be a string, an array of strings, or undefined');\n if (typeof adjectiveParameter === 'undefined') {\n return undefined;\n }\n if (typeof adjectiveParameter === 'string') {\n return [underscoreToCamelCase(adjectiveParameter)];\n }\n if (Array.isArray(adjectiveParameter) && adjectiveParameter.every(item => typeof item === 'string')) {\n let returnValue = [];\n adjectiveParameter.forEach((adjectiveParameter) => {\n if (!typeof item === 'string') {\n throw errorMsg;\n }\n returnValue.push(underscoreToCamelCase(adjectiveParameter));\n });\n return returnValue;\n }\n throw errorMsg;\n}\n\nconst stringifyAdjectives = function (adjective) {\n if (!Array.isArray(adjective) || adjective.length === 0) {\n return undefined;\n }\n const uniqueSorted = [...new Set(adjective)].sort();\n return '.' + uniqueSorted.join('.');\n}\n\nconst toBase64 = function (str) {\n if (typeof window !== 'undefined' && window.btoa) {\n return window.btoa(unescape(encodeURIComponent(str)));\n } else {\n return Buffer.from(str, 'utf-8').toString('base64');\n }\n}\n\nconst fromBase64 = function (b64) {\n if (typeof window !== 'undefined' && window.atob) {\n return decodeURIComponent(escape(window.atob(b64)));\n } else {\n return Buffer.from(b64, 'base64').toString('utf-8');\n }\n}\n\nconst getBrowserContext = function() {\n if (typeof window === 'undefined' || typeof navigator === 'undefined') {\n return {};\n }\n return {\n hasFocus: document.hasFocus(),\n language: navigator.language,\n platform: navigator.platform,\n referrer: document.referrer,\n screenHeight: window.screen.height,\n screenWidth: window.screen.width,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n url: window.location.href,\n userAgent: navigator.userAgent,\n viewportHeight: window.innerHeight,\n viewportWidth: window.innerWidth,\n };\n}\n\nexport {\n formatAdjectives,\n fromBase64,\n getBrowserContext,\n stringifyAdjectives,\n toBase64,\n underscoreToCamelCase\n};","import { toBase64 } from './utils/utils.js';\n\nclass CollecionesBaseEvent {\n\n constructor() {\n this.eventName = '';\n this.data = {};\n this.data.meta = {\n eventFormat: 'CollecionesBaseEvent',\n eventFormatVersion: '1'\n };\n const now = new Date();\n this.data.timestamps = {};\n this.data.timestamps.clientDatetimeUtc = now.toISOString();\n if (typeof window !== 'undefined' && typeof navigator !== 'undefined' && navigator.language) {\n this.data.timestamps.clientDatetimeLocal = now.toLocaleString(navigator.language);\n this.data.timestamps.timeZone = navigator.language;\n } else {\n this.data.timestamps.clientDatetimeLocal = now.toISOString();\n this.data.timestamps.timeZone = 'UTC';\n }\n }\n\n setEventName(name) {\n this.eventName = name;\n }\n\n getEventName() {\n return this.eventName;\n }\n\n getEventFormat() {\n let v = this.data?.meta?.eventFormat;\n return (typeof v !== 'undefined') ? v : '1';\n }\n\n getEventFormatVersion() {\n let v = this.data?.meta?.eventFormatVersion;\n return (typeof v !== 'undefined') ? v : 'CollecionesBaseEvent';\n }\n\n getPostObject() {\n const now = new Date();\n if (typeof navigator !== 'undefined' && navigator.language) {\n this.data.timestamps.sentDatetime = now.toLocaleString(navigator.language);\n } else {\n this.data.timestamps.sentDatetime = now.toISOString();\n }\n return {\n eventname: this.getEventName(),\n eventFormat: this.getEventFormat(),\n eventFormatVersion: this.getEventFormatVersion(),\n payload: toBase64(this.getPayload())\n };\n }\n\n setData(data) {\n this.data = data;\n }\n\n addAttribute(name, value) {\n return this.addField(name, value);\n }\n\n addField(name, value) {\n if (typeof this.data.fields !== 'object' || this.data.fields === null) {\n this.data.fields = {};\n }\n this.data.fields[name] = value;\n }\n\n setTracker(name) {\n this.data.tracker = name;\n }\n\n setAppName(name) {\n this.data.appName = name;\n }\n\n convertParamIdentifiers(param) {\n if (typeof param === 'object' && param !== null && !Array.isArray(param)) {\n for (const [key, value] of Object.entries(param)) {\n this.addIdentifier(key, value);\n }\n }\n }\n\n addIdentifier(name, value) {\n if (typeof this.data.identifiers !== 'object' || this.data.identifiers === null) {\n this.data.identifiers = {};\n }\n this.data.identifiers[name] = value;\n }\n\n getPayload() {\n return JSON.stringify(this.data);\n }\n\n}\n\nexport default CollecionesBaseEvent;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\nimport {toBase64} from './utils/utils.js';\n\nclass CollecionesEmitter {\n\n constructor(endpoint = '/collect', flushSize = 10, flushInterval = false) {\n this.endpoint = endpoint;\n this.flushInterval = flushInterval;\n this.flushSize = flushSize;\n this.buffer = [];\n this.timer = null;\n }\n\n startTimer() {\n this.stopTimer();\n if (typeof this.flushInterval == 'number' && this.flushInterval > 0) {\n this.timer = setInterval(() => this.flush(), this.flushInterval);\n }\n }\n\n startTimerIfStopped() {\n if (!this.timer) {\n this.startTimer();\n }\n }\n\n stopTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n this.timer = null;\n }\n\n track(event) {\n if (!(event instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be an instance of CollecionesBaseEvent');\n }\n this.trackAsync(event);\n }\n\n async trackAsync(event) {\n if (!(event instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be an instance of CollecionesBaseEvent');\n }\n this.startTimerIfStopped();\n this.buffer.push(event);\n return (this.buffer.length >= this.flushSize) ? this.flush() : Promise.resolve();\n }\n\n async flush() {\n if (this.buffer.length === 0) return;\n const eventsToSend = [...this.buffer];\n this.buffer = [];\n let postPayload = [];\n eventsToSend.forEach((e) => {\n postPayload.push( e.getPostObject() );\n });\n this.stopTimer();\n try {\n const response = await fetch(this.endpoint, {\n method: 'POST',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(postPayload)\n });\n if (!response.ok) {\n console.log(`Failed to send events: ${response.statusText}`);\n }\n return true;\n } catch (error) {\n console.log(`Network error sending events: ${error.message}`);\n } \n }\n}\n\nexport default CollecionesEmitter;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesTracker {\n \n constructor(emitters, trackerName, appName) {\n this.emitters = emitters;\n this.trackerName = trackerName;\n this.appName = appName;\n this.identifiers = {};\n }\n\n addIdentifier(name, value) {\n this.identifiers[name] = value;\n }\n\n track(collecionesEvent) {\n if (!(collecionesEvent instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be of type CollecionesEvent');\n }\n for (const [key, value] of Object.entries(this.identifiers)) {\n collecionesEvent.addIdentifier(key, value);\n }\n collecionesEvent.setTracker(this.trackerName);\n collecionesEvent.setAppName(this.appName); \n this.emitters.forEach(element => {\n element.track(collecionesEvent, this.trackerName, this.appName);\n });\n \n }\n}\n\nexport default CollecionesTracker;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\nimport CollecionesTracker from './CollecionesTracker.js';\nimport { getBrowserContext } from './utils/utils.js';\n\nclass CollecionesWebTracker extends CollecionesTracker {\n \n constructor(emitters, trackerName, appName) {\n super(emitters, trackerName, appName);\n }\n\n track(collecionesEvent) {\n if (!(collecionesEvent instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be of type CollecionesEvent');\n }\n collecionesEvent.addField('browserContext', getBrowserContext());\n super.track(collecionesEvent); \n }\n}\n\nexport default CollecionesWebTracker;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesEvent extends CollecionesBaseEvent {\n\n constructor(name, data, identifiers) {\n super();\n this.setEventName(name);\n Object.assign(this.data, data);\n this.convertParamIdentifiers(identifiers);\n }\n\n}\n\nexport default CollecionesEvent;","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","import { v4 as uuidv4 } from 'uuid';\nimport {underscoreToCamelCase, formatAdjectives, stringifyAdjectives } from './utils/utils.js';\nimport CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesSemanticEvent extends CollecionesBaseEvent {\n\n constructor(entity, action, adjective, identifiers) {\n super();\n this.entity = underscoreToCamelCase(entity);\n this.action = underscoreToCamelCase(action);\n this.adjective = formatAdjectives(adjective);\n let adjectiveString = stringifyAdjectives(this.adjective);\n this.eventName = `${this.entity}${(adjectiveString !== undefined) ? adjectiveString : ''}__${this.action}`;\n this.convertParamIdentifiers(identifiers);\n this.data.entityIdentifiers = {};\n this.data.attributes = {};\n this.data.clientEventId = uuidv4();\n this.data.meta = {\n eventFormat: 'CollecionesSemanticEvent',\n eventFormatVersion: '1'\n };\n }\n\n setData() {\n throw new Error('setData deprecated in semantic events');\n }\n\n addEntityIdentifier(key, value) {\n if (typeof key !== 'string') {\n throw new Error('Entity identifier key must be a string');\n }\n if (typeof value !== 'string' && typeof value !== 'number') {\n throw new Error('Entity identifier value must be a string or number');\n }\n this.data.entityIdentifiers[key] = value;\n }\n\n}\n\nexport default CollecionesSemanticEvent;","import {underscoreToCamelCase, formatAdjectives, stringifyAdjectives } from './utils/utils.js';\nimport CollecionesSemanticEvent from './CollecionesSemanticEvent.js';\n\nclass CollecionesSemanticCollectionEvent extends CollecionesSemanticEvent {\n\n constructor(itemEntity, action, adjective, identifiers, collectionEntity) {\n if(typeof collectionEntity == 'undefined') {\n collectionEntity = `${itemEntity}Collection`;\n }\n super(collectionEntity, action, undefined, identifiers);\n this.data.meta = {\n eventFormat: 'CollecionesSemanticCollectionEvent',\n eventFormatVersion: '1'\n };\n this.adjective = formatAdjectives(adjective);\n let adjectiveString = stringifyAdjectives(this.adjective);\n itemEntity = underscoreToCamelCase(itemEntity);\n this.data.itemEntity = itemEntity;\n this.data.itemEventName = `${itemEntity}${(adjectiveString !== undefined) ? adjectiveString : ''}__${this.action}`;\n this.data.entityItemIdentifiers = {};\n }\n\n addEntityItemIdentifier(key, value) {\n if (typeof key !== 'string') {\n throw new Error('Entity identifier key must be a string');\n }\n if (typeof value !== 'string' && typeof value !== 'number' && !Array.isArray(value)) {\n throw new Error('Entity identifier value must be a string or number');\n }\n if(typeof this.data.entityItemIdentifiers[key] == 'undefined') {\n this.data.entityItemIdentifiers[key] = [];\n }\n if(Array.isArray(value)) {\n value.forEach((v)=> {\n this.data.entityItemIdentifiers[key].push(v);\n });\n } else {\n this.data.entityItemIdentifiers[key].push(value);\n }\n }\n\n \n}\n\nexport default CollecionesSemanticCollectionEvent;"],"names":["uuidv4"],"mappings":"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","x_google_ignoreList":[6,7,8,9]}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/utils/utils.js","../src/CollecionesBaseEvent.js","../src/CollecionesEmitter.js","../src/CollecionesTracker.js","../src/CollecionesWebTracker.js","../src/CollecionesEvent.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../src/CollecionesSemanticEvent.js","../src/CollecionesSemanticCollectionEvent.js"],"sourcesContent":["// helper 'private' functions\nconst underscoreToCamelCase = function (str) {\n str = str.replace(/[^\\x00-\\x7F_]/g, '');\n return str\n .split('_')\n .map((word, index) => {\n if (index === 0) {\n return word;\n }\n return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();\n })\n .join('');\n}\n\nconst formatAdjectives = function (adjectiveParameter) {\n let errorMsg = new Error('Adjective must be a string, an array of strings, or undefined');\n if (typeof adjectiveParameter === 'undefined') {\n return undefined;\n }\n if (typeof adjectiveParameter === 'string') {\n return [underscoreToCamelCase(adjectiveParameter)];\n }\n if (Array.isArray(adjectiveParameter) && adjectiveParameter.every(item => typeof item === 'string')) {\n let returnValue = [];\n adjectiveParameter.forEach((adjectiveParameter) => {\n if (!typeof item === 'string') {\n throw errorMsg;\n }\n returnValue.push(underscoreToCamelCase(adjectiveParameter));\n });\n return returnValue;\n }\n throw errorMsg;\n}\n\nconst stringifyAdjectives = function (adjective) {\n if (!Array.isArray(adjective) || adjective.length === 0) {\n return undefined;\n }\n const uniqueSorted = [...new Set(adjective)].sort();\n return '.' + uniqueSorted.join('.');\n}\n\nconst toBase64 = function (str) {\n if (typeof window !== 'undefined' && window.btoa) {\n return window.btoa(unescape(encodeURIComponent(str)));\n } else {\n return Buffer.from(str, 'utf-8').toString('base64');\n }\n}\n\nconst fromBase64 = function (b64) {\n if (typeof window !== 'undefined' && window.atob) {\n return decodeURIComponent(escape(window.atob(b64)));\n } else {\n return Buffer.from(b64, 'base64').toString('utf-8');\n }\n}\n\nconst getBrowserContext = function() {\n if (typeof window === 'undefined' || typeof navigator === 'undefined') {\n return {};\n }\n return {\n hasFocus: document.hasFocus(),\n language: navigator.language,\n platform: navigator.platform,\n referrer: document.referrer,\n screenHeight: window.screen.height,\n screenWidth: window.screen.width,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n url: window.location.href,\n userAgent: navigator.userAgent,\n viewportHeight: window.innerHeight,\n viewportWidth: window.innerWidth,\n };\n}\n\nexport {\n formatAdjectives,\n fromBase64,\n getBrowserContext,\n stringifyAdjectives,\n toBase64,\n underscoreToCamelCase\n};","import { toBase64 } from './utils/utils.js';\n\nclass CollecionesBaseEvent {\n\n constructor() {\n this.eventName = '';\n this.data = {};\n this.data.meta = {\n eventFormat: 'CollecionesBaseEvent',\n eventFormatVersion: '1'\n };\n const now = new Date();\n this.data.timestamps = {};\n this.data.timestamps.clientDatetimeUtc = new Date().toISOString();\n if (typeof window !== 'undefined' && typeof navigator !== 'undefined' && navigator.language) {\n this.data.timestamps.clientDatetimeLocal = new Date(Date.now() - new Date().getTimezoneOffset() * 60000).toISOString();\n this.data.timestamps.timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n this.data.timestamps.timeZoneOffset = new Date().getTimezoneOffset()\n } else {\n this.data.timestamps.clientDatetimeLocal = new Date().toISOString();\n this.data.timestamps.timeZone = 'UTC';\n }\n }\n\n setEventName(name) {\n this.eventName = name;\n }\n\n getEventName() {\n return this.eventName;\n }\n\n getEventFormat() {\n let v = this.data?.meta?.eventFormat;\n return (typeof v !== 'undefined') ? v : '1';\n }\n\n getEventFormatVersion() {\n let v = this.data?.meta?.eventFormatVersion;\n return (typeof v !== 'undefined') ? v : 'CollecionesBaseEvent';\n }\n\n setData(data) {\n this.data = data;\n }\n\n addAttribute(name, value) {\n return this.addField(name, value);\n }\n\n addField(name, value) {\n if (typeof this.data.fields !== 'object' || this.data.fields === null) {\n this.data.fields = {};\n }\n this.data.fields[name] = value;\n }\n\n setTracker(name) {\n this.data.tracker = name;\n }\n\n setAppName(name) {\n this.data.appName = name;\n }\n\n convertParamIdentifiers(param) {\n if (typeof param === 'object' && param !== null && !Array.isArray(param)) {\n for (const [key, value] of Object.entries(param)) {\n this.addIdentifier(key, value);\n }\n }\n }\n\n addIdentifier(name, value) {\n if (typeof this.data.identifiers !== 'object' || this.data.identifiers === null) {\n this.data.identifiers = {};\n }\n this.data.identifiers[name] = value;\n }\n\n getPostObject() {\n this.data.timestamps.sendDatetimeUtc = new Date().toISOString();\n this.data.timestamps.sendDatetimeLocal = new Date(Date.now() - new Date().getTimezoneOffset() * 60000).toISOString();\n return {\n eventname: this.getEventName(),\n eventFormat: this.getEventFormat(),\n eventFormatVersion: this.getEventFormatVersion(),\n payload: toBase64(this.getPayload())\n };\n }\n\n overrideDatetime(dateTimeObject = {}) {\n for (const [key, value] of Object.entries(dateTimeObject)) {\n this.data.timestamps[key] = value;\n }\n }\n\n getPayload() {\n return JSON.stringify(this.data);\n }\n\n}\n\nexport default CollecionesBaseEvent;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\nimport {toBase64} from './utils/utils.js';\n\nclass CollecionesEmitter {\n\n constructor(endpoint = '/collect', flushSize = 10, flushInterval = false) {\n this.endpoint = endpoint;\n this.flushInterval = flushInterval;\n this.flushSize = flushSize;\n this.buffer = [];\n this.timer = null;\n }\n\n startTimer() {\n this.stopTimer();\n if (typeof this.flushInterval == 'number' && this.flushInterval > 0) {\n this.timer = setInterval(() => this.flush(), this.flushInterval);\n }\n }\n\n startTimerIfStopped() {\n if (!this.timer) {\n this.startTimer();\n }\n }\n\n stopTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n this.timer = null;\n }\n\n track(event) {\n if (!(event instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be an instance of CollecionesBaseEvent');\n }\n this.trackAsync(event);\n }\n\n async trackAsync(event) {\n if (!(event instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be an instance of CollecionesBaseEvent');\n }\n this.startTimerIfStopped();\n this.buffer.push(event);\n return (this.buffer.length >= this.flushSize) ? this.flush() : Promise.resolve();\n }\n\n async flush() {\n if (this.buffer.length === 0) return;\n const eventsToSend = [...this.buffer];\n this.buffer = [];\n let postPayload = [];\n eventsToSend.forEach((e) => {\n postPayload.push( e.getPostObject() );\n });\n this.stopTimer();\n try {\n const response = await fetch(this.endpoint, {\n method: 'POST',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(postPayload)\n });\n if (!response.ok) {\n console.log(`Failed to send events: ${response.statusText}`);\n }\n return true;\n } catch (error) {\n console.log(`Network error sending events: ${error.message}`);\n } \n }\n}\n\nexport default CollecionesEmitter;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesTracker {\n \n constructor(emitters, trackerName, appName) {\n this.emitters = emitters;\n this.trackerName = trackerName;\n this.appName = appName;\n this.identifiers = {};\n }\n\n addIdentifier(name, value) {\n this.identifiers[name] = value;\n }\n\n track(collecionesEvent) {\n if (!(collecionesEvent instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be of type CollecionesEvent');\n }\n for (const [key, value] of Object.entries(this.identifiers)) {\n collecionesEvent.addIdentifier(key, value);\n }\n collecionesEvent.setTracker(this.trackerName);\n collecionesEvent.setAppName(this.appName); \n this.emitters.forEach(element => {\n element.track(collecionesEvent, this.trackerName, this.appName);\n });\n \n }\n}\n\nexport default CollecionesTracker;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\nimport CollecionesTracker from './CollecionesTracker.js';\nimport { getBrowserContext } from './utils/utils.js';\n\nclass CollecionesWebTracker extends CollecionesTracker {\n \n constructor(emitters, trackerName, appName) {\n super(emitters, trackerName, appName);\n }\n\n track(collecionesEvent) {\n if (!(collecionesEvent instanceof CollecionesBaseEvent)) {\n throw new Error('Event must be of type CollecionesEvent');\n }\n collecionesEvent.addField('browserContext', getBrowserContext());\n super.track(collecionesEvent); \n }\n}\n\nexport default CollecionesWebTracker;","import CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesEvent extends CollecionesBaseEvent {\n\n constructor(name, data, identifiers) {\n super();\n this.setEventName(name);\n Object.assign(this.data, data);\n this.convertParamIdentifiers(identifiers);\n }\n\n}\n\nexport default CollecionesEvent;","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","import { v4 as uuidv4 } from 'uuid';\nimport {underscoreToCamelCase, formatAdjectives, stringifyAdjectives } from './utils/utils.js';\nimport CollecionesBaseEvent from './CollecionesBaseEvent.js';\n\nclass CollecionesSemanticEvent extends CollecionesBaseEvent {\n\n constructor(entity, action, adjective, identifiers) {\n super();\n this.entity = underscoreToCamelCase(entity);\n this.action = underscoreToCamelCase(action);\n this.adjective = formatAdjectives(adjective);\n let adjectiveString = stringifyAdjectives(this.adjective);\n this.eventName = `${this.entity}${(adjectiveString !== undefined) ? adjectiveString : ''}__${this.action}`;\n this.convertParamIdentifiers(identifiers);\n this.data.entityIdentifiers = {};\n this.data.attributes = {};\n this.data.clientEventId = uuidv4();\n this.data.meta = {\n eventFormat: 'CollecionesSemanticEvent',\n eventFormatVersion: '1'\n };\n }\n\n setData() {\n throw new Error('setData deprecated in semantic events');\n }\n\n addEntityIdentifier(key, value) {\n if (typeof key !== 'string') {\n throw new Error('Entity identifier key must be a string');\n }\n if (typeof value !== 'string' && typeof value !== 'number') {\n throw new Error('Entity identifier value must be a string or number');\n }\n this.data.entityIdentifiers[key] = value;\n }\n\n}\n\nexport default CollecionesSemanticEvent;","import {underscoreToCamelCase, formatAdjectives, stringifyAdjectives } from './utils/utils.js';\nimport CollecionesSemanticEvent from './CollecionesSemanticEvent.js';\n\nclass CollecionesSemanticCollectionEvent extends CollecionesSemanticEvent {\n\n constructor(itemEntity, action, adjective, identifiers, collectionEntity) {\n if(typeof collectionEntity == 'undefined') {\n collectionEntity = `${itemEntity}Collection`;\n }\n super(collectionEntity, action, undefined, identifiers);\n this.data.meta = {\n eventFormat: 'CollecionesSemanticCollectionEvent',\n eventFormatVersion: '1'\n };\n this.adjective = formatAdjectives(adjective);\n let adjectiveString = stringifyAdjectives(this.adjective);\n itemEntity = underscoreToCamelCase(itemEntity);\n this.data.itemEntity = itemEntity;\n this.data.itemEventName = `${itemEntity}${(adjectiveString !== undefined) ? adjectiveString : ''}__${this.action}`;\n this.data.entityItemIdentifiers = {};\n }\n\n addEntityItemIdentifier(key, value) {\n if (typeof key !== 'string') {\n throw new Error('Entity identifier key must be a string');\n }\n if (typeof value !== 'string' && typeof value !== 'number' && !Array.isArray(value)) {\n throw new Error('Entity identifier value must be a string or number');\n }\n if(typeof this.data.entityItemIdentifiers[key] == 'undefined') {\n this.data.entityItemIdentifiers[key] = [];\n }\n if(Array.isArray(value)) {\n value.forEach((v)=> {\n this.data.entityItemIdentifiers[key].push(v);\n });\n } else {\n this.data.entityItemIdentifiers[key].push(value);\n }\n }\n\n \n}\n\nexport default CollecionesSemanticCollectionEvent;"],"names":["uuidv4"],"mappings":"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","x_google_ignoreList":[6,7,8,9]}
|