@journium/js 1.2.3 → 1.3.0
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/AutocaptureTracker.d.ts +2 -0
- package/dist/AutocaptureTracker.d.ts.map +1 -1
- package/dist/JourniumAnalytics.d.ts.map +1 -1
- package/dist/PageviewTracker.d.ts +2 -1
- package/dist/PageviewTracker.d.ts.map +1 -1
- package/dist/index.cjs +86 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.mjs +86 -15
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +86 -15
- package/dist/index.umd.js.map +1 -1
- package/dist/journium.js +86 -15
- package/dist/journium.js.map +1 -1
- package/dist/journium.min.js +1 -1
- package/dist/journium.min.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/package.json +2 -2
package/dist/index.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../../core/dist/index.mjs","../src/JourniumClient.ts","../src/PageviewTracker.ts","../src/AutocaptureTracker.ts","../src/JourniumAnalytics.ts"],"sourcesContent":["/**\n * uuidv7: A JavaScript implementation of UUID version 7\n *\n * Copyright 2021-2025 LiosK\n *\n * @license Apache-2.0\n * @packageDocumentation\n */\nconst DIGITS = \"0123456789abcdef\";\n/** Represents a UUID as a 16-byte byte array. */\nclass UUID {\n /** @param bytes - The 16-byte byte array representation. */\n constructor(bytes) {\n this.bytes = bytes;\n }\n /**\n * Creates an object from the internal representation, a 16-byte byte array\n * containing the binary UUID representation in the big-endian byte order.\n *\n * This method does NOT shallow-copy the argument, and thus the created object\n * holds the reference to the underlying buffer.\n *\n * @throws TypeError if the length of the argument is not 16.\n */\n static ofInner(bytes) {\n if (bytes.length !== 16) {\n throw new TypeError(\"not 128-bit length\");\n }\n else {\n return new UUID(bytes);\n }\n }\n /**\n * Builds a byte array from UUIDv7 field values.\n *\n * @param unixTsMs - A 48-bit `unix_ts_ms` field value.\n * @param randA - A 12-bit `rand_a` field value.\n * @param randBHi - The higher 30 bits of 62-bit `rand_b` field value.\n * @param randBLo - The lower 32 bits of 62-bit `rand_b` field value.\n * @throws RangeError if any field value is out of the specified range.\n */\n static fromFieldsV7(unixTsMs, randA, randBHi, randBLo) {\n if (!Number.isInteger(unixTsMs) ||\n !Number.isInteger(randA) ||\n !Number.isInteger(randBHi) ||\n !Number.isInteger(randBLo) ||\n unixTsMs < 0 ||\n randA < 0 ||\n randBHi < 0 ||\n randBLo < 0 ||\n unixTsMs > 281474976710655 ||\n randA > 0xfff ||\n randBHi > 1073741823 ||\n randBLo > 4294967295) {\n throw new RangeError(\"invalid field value\");\n }\n const bytes = new Uint8Array(16);\n bytes[0] = unixTsMs / 2 ** 40;\n bytes[1] = unixTsMs / 2 ** 32;\n bytes[2] = unixTsMs / 2 ** 24;\n bytes[3] = unixTsMs / 2 ** 16;\n bytes[4] = unixTsMs / 2 ** 8;\n bytes[5] = unixTsMs;\n bytes[6] = 0x70 | (randA >>> 8);\n bytes[7] = randA;\n bytes[8] = 0x80 | (randBHi >>> 24);\n bytes[9] = randBHi >>> 16;\n bytes[10] = randBHi >>> 8;\n bytes[11] = randBHi;\n bytes[12] = randBLo >>> 24;\n bytes[13] = randBLo >>> 16;\n bytes[14] = randBLo >>> 8;\n bytes[15] = randBLo;\n return new UUID(bytes);\n }\n /**\n * Builds a byte array from a string representation.\n *\n * This method accepts the following formats:\n *\n * - 32-digit hexadecimal format without hyphens: `0189dcd553117d408db09496a2eef37b`\n * - 8-4-4-4-12 hyphenated format: `0189dcd5-5311-7d40-8db0-9496a2eef37b`\n * - Hyphenated format with surrounding braces: `{0189dcd5-5311-7d40-8db0-9496a2eef37b}`\n * - RFC 9562 URN format: `urn:uuid:0189dcd5-5311-7d40-8db0-9496a2eef37b`\n *\n * Leading and trailing whitespaces represents an error.\n *\n * @throws SyntaxError if the argument could not parse as a valid UUID string.\n */\n static parse(uuid) {\n var _a, _b, _c, _d;\n let hex = undefined;\n switch (uuid.length) {\n case 32:\n hex = (_a = /^[0-9a-f]{32}$/i.exec(uuid)) === null || _a === void 0 ? void 0 : _a[0];\n break;\n case 36:\n hex =\n (_b = /^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i\n .exec(uuid)) === null || _b === void 0 ? void 0 : _b.slice(1, 6).join(\"\");\n break;\n case 38:\n hex =\n (_c = /^\\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\\}$/i\n .exec(uuid)) === null || _c === void 0 ? void 0 : _c.slice(1, 6).join(\"\");\n break;\n case 45:\n hex =\n (_d = /^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i\n .exec(uuid)) === null || _d === void 0 ? void 0 : _d.slice(1, 6).join(\"\");\n break;\n }\n if (hex) {\n const inner = new Uint8Array(16);\n for (let i = 0; i < 16; i += 4) {\n const n = parseInt(hex.substring(2 * i, 2 * i + 8), 16);\n inner[i + 0] = n >>> 24;\n inner[i + 1] = n >>> 16;\n inner[i + 2] = n >>> 8;\n inner[i + 3] = n;\n }\n return new UUID(inner);\n }\n else {\n throw new SyntaxError(\"could not parse UUID string\");\n }\n }\n /**\n * @returns The 8-4-4-4-12 canonical hexadecimal string representation\n * (`0189dcd5-5311-7d40-8db0-9496a2eef37b`).\n */\n toString() {\n let text = \"\";\n for (let i = 0; i < this.bytes.length; i++) {\n text += DIGITS.charAt(this.bytes[i] >>> 4);\n text += DIGITS.charAt(this.bytes[i] & 0xf);\n if (i === 3 || i === 5 || i === 7 || i === 9) {\n text += \"-\";\n }\n }\n return text;\n }\n /**\n * @returns The 32-digit hexadecimal representation without hyphens\n * (`0189dcd553117d408db09496a2eef37b`).\n */\n toHex() {\n let text = \"\";\n for (let i = 0; i < this.bytes.length; i++) {\n text += DIGITS.charAt(this.bytes[i] >>> 4);\n text += DIGITS.charAt(this.bytes[i] & 0xf);\n }\n return text;\n }\n /** @returns The 8-4-4-4-12 canonical hexadecimal string representation. */\n toJSON() {\n return this.toString();\n }\n /**\n * Reports the variant field value of the UUID or, if appropriate, \"NIL\" or\n * \"MAX\".\n *\n * For convenience, this method reports \"NIL\" or \"MAX\" if `this` represents\n * the Nil or Max UUID, although the Nil and Max UUIDs are technically\n * subsumed under the variants `0b0` and `0b111`, respectively.\n */\n getVariant() {\n const n = this.bytes[8] >>> 4;\n if (n < 0) {\n throw new Error(\"unreachable\");\n }\n else if (n <= 0b0111) {\n return this.bytes.every((e) => e === 0) ? \"NIL\" : \"VAR_0\";\n }\n else if (n <= 0b1011) {\n return \"VAR_10\";\n }\n else if (n <= 0b1101) {\n return \"VAR_110\";\n }\n else if (n <= 0b1111) {\n return this.bytes.every((e) => e === 0xff) ? \"MAX\" : \"VAR_RESERVED\";\n }\n else {\n throw new Error(\"unreachable\");\n }\n }\n /**\n * Returns the version field value of the UUID or `undefined` if the UUID does\n * not have the variant field value of `0b10`.\n */\n getVersion() {\n return this.getVariant() === \"VAR_10\" ? this.bytes[6] >>> 4 : undefined;\n }\n /** Creates an object from `this`. */\n clone() {\n return new UUID(this.bytes.slice(0));\n }\n /** Returns true if `this` is equivalent to `other`. */\n equals(other) {\n return this.compareTo(other) === 0;\n }\n /**\n * Returns a negative integer, zero, or positive integer if `this` is less\n * than, equal to, or greater than `other`, respectively.\n */\n compareTo(other) {\n for (let i = 0; i < 16; i++) {\n const diff = this.bytes[i] - other.bytes[i];\n if (diff !== 0) {\n return Math.sign(diff);\n }\n }\n return 0;\n }\n}\n/**\n * Encapsulates the monotonic counter state.\n *\n * This class provides APIs to utilize a separate counter state from that of the\n * global generator used by {@link uuidv7} and {@link uuidv7obj}. In addition to\n * the default {@link generate} method, this class has {@link generateOrAbort}\n * that is useful to absolutely guarantee the monotonically increasing order of\n * generated UUIDs. See their respective documentation for details.\n */\nclass V7Generator {\n /**\n * Creates a generator object with the default random number generator, or\n * with the specified one if passed as an argument. The specified random\n * number generator should be cryptographically strong and securely seeded.\n */\n constructor(randomNumberGenerator) {\n /**\n * Biased by one to distinguish zero (uninitialized) and zero (UNIX epoch).\n */\n this.timestamp_biased = 0;\n this.counter = 0;\n this.random = randomNumberGenerator !== null && randomNumberGenerator !== void 0 ? randomNumberGenerator : getDefaultRandom();\n }\n /**\n * Generates a new UUIDv7 object from the current timestamp, or resets the\n * generator upon significant timestamp rollback.\n *\n * This method returns a monotonically increasing UUID by reusing the previous\n * timestamp even if the up-to-date timestamp is smaller than the immediately\n * preceding UUID's. However, when such a clock rollback is considered\n * significant (i.e., by more than ten seconds), this method resets the\n * generator and returns a new UUID based on the given timestamp, breaking the\n * increasing order of UUIDs.\n *\n * See {@link generateOrAbort} for the other mode of generation and\n * {@link generateOrResetCore} for the low-level primitive.\n */\n generate() {\n return this.generateOrResetCore(Date.now(), 10000);\n }\n /**\n * Generates a new UUIDv7 object from the current timestamp, or returns\n * `undefined` upon significant timestamp rollback.\n *\n * This method returns a monotonically increasing UUID by reusing the previous\n * timestamp even if the up-to-date timestamp is smaller than the immediately\n * preceding UUID's. However, when such a clock rollback is considered\n * significant (i.e., by more than ten seconds), this method aborts and\n * returns `undefined` immediately.\n *\n * See {@link generate} for the other mode of generation and\n * {@link generateOrAbortCore} for the low-level primitive.\n */\n generateOrAbort() {\n return this.generateOrAbortCore(Date.now(), 10000);\n }\n /**\n * Generates a new UUIDv7 object from the `unixTsMs` passed, or resets the\n * generator upon significant timestamp rollback.\n *\n * This method is equivalent to {@link generate} except that it takes a custom\n * timestamp and clock rollback allowance.\n *\n * @param rollbackAllowance - The amount of `unixTsMs` rollback that is\n * considered significant. A suggested value is `10_000` (milliseconds).\n * @throws RangeError if `unixTsMs` is not a 48-bit unsigned integer.\n */\n generateOrResetCore(unixTsMs, rollbackAllowance) {\n let value = this.generateOrAbortCore(unixTsMs, rollbackAllowance);\n if (value === undefined) {\n // reset state and resume\n this.timestamp_biased = 0;\n value = this.generateOrAbortCore(unixTsMs, rollbackAllowance);\n }\n return value;\n }\n /**\n * Generates a new UUIDv7 object from the `unixTsMs` passed, or returns\n * `undefined` upon significant timestamp rollback.\n *\n * This method is equivalent to {@link generateOrAbort} except that it takes a\n * custom timestamp and clock rollback allowance.\n *\n * @param rollbackAllowance - The amount of `unixTsMs` rollback that is\n * considered significant. A suggested value is `10_000` (milliseconds).\n * @throws RangeError if `unixTsMs` is not a 48-bit unsigned integer.\n */\n generateOrAbortCore(unixTsMs, rollbackAllowance) {\n const MAX_COUNTER = 4398046511103;\n if (!Number.isInteger(unixTsMs) ||\n unixTsMs < 0 ||\n unixTsMs > 281474976710655) {\n throw new RangeError(\"`unixTsMs` must be a 48-bit unsigned integer\");\n }\n else if (rollbackAllowance < 0 || rollbackAllowance > 281474976710655) {\n throw new RangeError(\"`rollbackAllowance` out of reasonable range\");\n }\n unixTsMs++;\n if (unixTsMs > this.timestamp_biased) {\n this.timestamp_biased = unixTsMs;\n this.resetCounter();\n }\n else if (unixTsMs + rollbackAllowance >= this.timestamp_biased) {\n // go on with previous timestamp if new one is not much smaller\n this.counter++;\n if (this.counter > MAX_COUNTER) {\n // increment timestamp at counter overflow\n this.timestamp_biased++;\n this.resetCounter();\n }\n }\n else {\n // abort if clock went backwards to unbearable extent\n return undefined;\n }\n return UUID.fromFieldsV7(this.timestamp_biased - 1, Math.trunc(this.counter / 2 ** 30), this.counter & (2 ** 30 - 1), this.random.nextUint32());\n }\n /** Initializes the counter at a 42-bit random integer. */\n resetCounter() {\n this.counter =\n this.random.nextUint32() * 0x400 + (this.random.nextUint32() & 0x3ff);\n }\n /**\n * Generates a new UUIDv4 object utilizing the random number generator inside.\n *\n * @internal\n */\n generateV4() {\n const bytes = new Uint8Array(Uint32Array.of(this.random.nextUint32(), this.random.nextUint32(), this.random.nextUint32(), this.random.nextUint32()).buffer);\n bytes[6] = 0x40 | (bytes[6] >>> 4);\n bytes[8] = 0x80 | (bytes[8] >>> 2);\n return UUID.ofInner(bytes);\n }\n}\n/** Returns the default random number generator available in the environment. */\nconst getDefaultRandom = () => {\n // detect Web Crypto API\n if (typeof crypto !== \"undefined\" &&\n typeof crypto.getRandomValues !== \"undefined\") {\n return new BufferedCryptoRandom();\n }\n else {\n // fall back on Math.random() unless the flag is set to true\n if (typeof UUIDV7_DENY_WEAK_RNG !== \"undefined\" && UUIDV7_DENY_WEAK_RNG) {\n throw new Error(\"no cryptographically strong RNG available\");\n }\n return {\n nextUint32: () => Math.trunc(Math.random() * 65536) * 65536 +\n Math.trunc(Math.random() * 65536),\n };\n }\n};\n/**\n * Wraps `crypto.getRandomValues()` to enable buffering; this uses a small\n * buffer by default to avoid both unbearable throughput decline in some\n * environments and the waste of time and space for unused values.\n */\nclass BufferedCryptoRandom {\n constructor() {\n this.buffer = new Uint32Array(8);\n this.cursor = 0xffff;\n }\n nextUint32() {\n if (this.cursor >= this.buffer.length) {\n crypto.getRandomValues(this.buffer);\n this.cursor = 0;\n }\n return this.buffer[this.cursor++];\n }\n}\nlet defaultGenerator;\n/**\n * Generates a UUIDv7 string.\n *\n * @returns The 8-4-4-4-12 canonical hexadecimal string representation\n * (\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\").\n */\nconst uuidv7 = () => uuidv7obj().toString();\n/** Generates a UUIDv7 object. */\nconst uuidv7obj = () => (defaultGenerator || (defaultGenerator = new V7Generator())).generate();\n\nconst generateId = () => {\n return Math.random().toString(36).substring(2) + Date.now().toString(36);\n};\nconst generateUuidv7 = () => {\n return uuidv7();\n};\nconst getCurrentTimestamp = () => {\n return new Date().toISOString();\n};\nconst getCurrentUrl = () => {\n if (typeof window !== 'undefined') {\n return window.location.href;\n }\n return '';\n};\nconst getPageTitle = () => {\n if (typeof document !== 'undefined') {\n return document.title;\n }\n return '';\n};\nconst getReferrer = () => {\n if (typeof document !== 'undefined') {\n return document.referrer;\n }\n return '';\n};\nconst isBrowser = () => {\n return typeof window !== 'undefined';\n};\nconst isNode = () => {\n var _a;\n return typeof process !== 'undefined' && !!((_a = process.versions) === null || _a === void 0 ? void 0 : _a.node);\n};\nconst fetchRemoteOptions = async (apiHost, publishableKey, fetchFn) => {\n const endpoint = '/v1/configs';\n const url = `${apiHost}${endpoint}?ingestion_key=${encodeURIComponent(publishableKey)}`;\n try {\n let fetch = fetchFn;\n if (!fetch) {\n if (isNode()) {\n // For Node.js environments, expect fetch to be passed in\n throw new Error('Fetch function must be provided in Node.js environment');\n }\n else {\n // Use native fetch in browser\n fetch = window.fetch;\n }\n }\n const response = await fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n // if (!response.ok) {\n // throw new Error(`Options fetch failed: ${response.status} ${response.statusText}`);\n // }\n const data = await response.json();\n return data;\n }\n catch (error) {\n console.warn('Failed to fetch remote options:', error);\n return null;\n }\n};\nconst mergeOptions = (localOptions, remoteOptions) => {\n if (!remoteOptions && !localOptions) {\n return {};\n }\n if (!remoteOptions) {\n return localOptions;\n }\n if (!localOptions) {\n return remoteOptions;\n }\n // Deep merge local options into remote options\n // Local options takes precedence over remote options\n const merged = { ...remoteOptions };\n // Handle primitive values\n Object.keys(localOptions).forEach(key => {\n const localValue = localOptions[key];\n if (localValue !== undefined && localValue !== null) {\n if (typeof localValue === 'object' && !Array.isArray(localValue)) {\n // Deep merge objects - local options overrides remote\n merged[key] = {\n ...(merged[key] || {}),\n ...localValue\n };\n }\n else {\n // Override primitive values and arrays with local options\n merged[key] = localValue;\n }\n }\n });\n return merged;\n};\n\nconst DEFAULT_SESSION_TIMEOUT = 30 * 60 * 1000; // 30 minutes in ms\nclass BrowserIdentityManager {\n constructor(sessionTimeout, publishableKey) {\n this.identity = null;\n this.sessionTimeout = DEFAULT_SESSION_TIMEOUT;\n if (sessionTimeout) {\n this.sessionTimeout = sessionTimeout;\n }\n // Generate storage key with publishableKey pattern: jrnm_<publishableKey>_journium\n this.storageKey = publishableKey ? `jrnm_${publishableKey}_journium` : '__journium_identity';\n this.loadOrCreateIdentity();\n }\n loadOrCreateIdentity() {\n if (!this.isBrowser())\n return;\n try {\n const stored = localStorage.getItem(this.storageKey);\n if (stored) {\n const parsedIdentity = JSON.parse(stored);\n // Check if session is expired\n const now = Date.now();\n const sessionAge = now - parsedIdentity.session_timestamp;\n if (sessionAge > this.sessionTimeout) {\n // Session expired, create new session but keep device and distinct IDs\n this.identity = {\n distinct_id: parsedIdentity.distinct_id,\n $device_id: parsedIdentity.$device_id,\n $session_id: generateUuidv7(),\n session_timestamp: now,\n $user_state: parsedIdentity.$user_state || 'anonymous',\n };\n }\n else {\n // Session still valid\n this.identity = parsedIdentity;\n // Ensure $user_state exists for backward compatibility\n if (!this.identity.$user_state) {\n this.identity.$user_state = 'anonymous';\n }\n }\n }\n else {\n // First time, create all new IDs\n const newId = generateUuidv7();\n this.identity = {\n distinct_id: newId,\n $device_id: newId,\n $session_id: newId,\n session_timestamp: Date.now(),\n $user_state: 'anonymous',\n };\n }\n // Save to localStorage\n this.saveIdentity();\n }\n catch (error) {\n console.warn('Journium: Failed to load/create identity:', error);\n // Fallback: create temporary identity without localStorage\n const newId = generateUuidv7();\n this.identity = {\n distinct_id: newId,\n $device_id: newId,\n $session_id: newId,\n session_timestamp: Date.now(),\n $user_state: 'anonymous',\n };\n }\n }\n saveIdentity() {\n if (!this.isBrowser() || !this.identity)\n return;\n try {\n localStorage.setItem(this.storageKey, JSON.stringify(this.identity));\n }\n catch (error) {\n console.warn('Journium: Failed to save identity to localStorage:', error);\n }\n }\n isBrowser() {\n return typeof window !== 'undefined' && typeof localStorage !== 'undefined';\n }\n getIdentity() {\n return this.identity;\n }\n updateSessionTimeout(timeoutMs) {\n this.sessionTimeout = timeoutMs;\n }\n refreshSession() {\n if (!this.identity)\n return;\n this.identity = {\n ...this.identity,\n $session_id: generateUuidv7(),\n session_timestamp: Date.now(),\n };\n this.saveIdentity();\n }\n identify(distinctId, _attributes = {}) {\n if (!this.identity)\n return { previousDistinctId: null };\n const previousDistinctId = this.identity.distinct_id;\n // Update the distinct ID and mark user as identified\n this.identity = {\n ...this.identity,\n distinct_id: distinctId,\n $user_state: 'identified',\n };\n this.saveIdentity();\n return { previousDistinctId };\n }\n reset() {\n if (!this.identity)\n return;\n // Generate new distinct ID but keep device ID\n this.identity = {\n ...this.identity,\n distinct_id: generateUuidv7(),\n $user_state: 'anonymous',\n };\n this.saveIdentity();\n }\n getUserAgentInfo() {\n if (!this.isBrowser()) {\n return {\n $raw_user_agent: '',\n $browser: 'Unknown',\n $os: 'Unknown',\n $device_type: 'Unknown',\n };\n }\n const userAgent = navigator.userAgent;\n return {\n $raw_user_agent: userAgent,\n $browser: this.parseBrowser(userAgent),\n $os: this.parseOS(userAgent),\n $device_type: this.parseDeviceType(userAgent),\n };\n }\n parseBrowser(userAgent) {\n if (userAgent.includes('Chrome') && !userAgent.includes('Edg'))\n return 'Chrome';\n if (userAgent.includes('Firefox'))\n return 'Firefox';\n if (userAgent.includes('Safari') && !userAgent.includes('Chrome'))\n return 'Safari';\n if (userAgent.includes('Edg'))\n return 'Edge';\n if (userAgent.includes('Opera') || userAgent.includes('OPR'))\n return 'Opera';\n return 'Unknown';\n }\n parseOS(userAgent) {\n if (userAgent.includes('Windows'))\n return 'Windows';\n if (userAgent.includes('Macintosh') || userAgent.includes('Mac OS'))\n return 'Mac OS';\n if (userAgent.includes('Linux'))\n return 'Linux';\n if (userAgent.includes('Android'))\n return 'Android';\n if (userAgent.includes('iPhone') || userAgent.includes('iPad'))\n return 'iOS';\n return 'Unknown';\n }\n parseDeviceType(userAgent) {\n if (userAgent.includes('Mobile') || userAgent.includes('Android') || userAgent.includes('iPhone')) {\n return 'Mobile';\n }\n if (userAgent.includes('iPad') || userAgent.includes('Tablet')) {\n return 'Tablet';\n }\n return 'Desktop';\n }\n}\n\nclass Logger {\n static setDebug(enabled) {\n this.isDebugEnabled = enabled;\n }\n static isDebug() {\n return this.isDebugEnabled;\n }\n static log(...args) {\n if (this.isDebugEnabled) {\n console.log(...args);\n }\n }\n static warn(...args) {\n if (this.isDebugEnabled) {\n console.warn(...args);\n }\n }\n static error(...args) {\n if (this.isDebugEnabled) {\n console.error(...args);\n }\n }\n static info(...args) {\n if (this.isDebugEnabled) {\n console.info(...args);\n }\n }\n}\nLogger.isDebugEnabled = false;\n\nexport { BrowserIdentityManager, Logger, fetchRemoteOptions, generateId, generateUuidv7, getCurrentTimestamp, getCurrentUrl, getPageTitle, getReferrer, isBrowser, isNode, mergeOptions };\n//# sourceMappingURL=index.mjs.map\n",null,null,null,null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../src/version.ts","../../core/dist/index.mjs","../src/JourniumClient.ts","../src/PageviewTracker.ts","../src/AutocaptureTracker.ts","../src/JourniumAnalytics.ts"],"sourcesContent":[null,"/**\n * uuidv7: A JavaScript implementation of UUID version 7\n *\n * Copyright 2021-2025 LiosK\n *\n * @license Apache-2.0\n * @packageDocumentation\n */\nconst DIGITS = \"0123456789abcdef\";\n/** Represents a UUID as a 16-byte byte array. */\nclass UUID {\n /** @param bytes - The 16-byte byte array representation. */\n constructor(bytes) {\n this.bytes = bytes;\n }\n /**\n * Creates an object from the internal representation, a 16-byte byte array\n * containing the binary UUID representation in the big-endian byte order.\n *\n * This method does NOT shallow-copy the argument, and thus the created object\n * holds the reference to the underlying buffer.\n *\n * @throws TypeError if the length of the argument is not 16.\n */\n static ofInner(bytes) {\n if (bytes.length !== 16) {\n throw new TypeError(\"not 128-bit length\");\n }\n else {\n return new UUID(bytes);\n }\n }\n /**\n * Builds a byte array from UUIDv7 field values.\n *\n * @param unixTsMs - A 48-bit `unix_ts_ms` field value.\n * @param randA - A 12-bit `rand_a` field value.\n * @param randBHi - The higher 30 bits of 62-bit `rand_b` field value.\n * @param randBLo - The lower 32 bits of 62-bit `rand_b` field value.\n * @throws RangeError if any field value is out of the specified range.\n */\n static fromFieldsV7(unixTsMs, randA, randBHi, randBLo) {\n if (!Number.isInteger(unixTsMs) ||\n !Number.isInteger(randA) ||\n !Number.isInteger(randBHi) ||\n !Number.isInteger(randBLo) ||\n unixTsMs < 0 ||\n randA < 0 ||\n randBHi < 0 ||\n randBLo < 0 ||\n unixTsMs > 281474976710655 ||\n randA > 0xfff ||\n randBHi > 1073741823 ||\n randBLo > 4294967295) {\n throw new RangeError(\"invalid field value\");\n }\n const bytes = new Uint8Array(16);\n bytes[0] = unixTsMs / 2 ** 40;\n bytes[1] = unixTsMs / 2 ** 32;\n bytes[2] = unixTsMs / 2 ** 24;\n bytes[3] = unixTsMs / 2 ** 16;\n bytes[4] = unixTsMs / 2 ** 8;\n bytes[5] = unixTsMs;\n bytes[6] = 0x70 | (randA >>> 8);\n bytes[7] = randA;\n bytes[8] = 0x80 | (randBHi >>> 24);\n bytes[9] = randBHi >>> 16;\n bytes[10] = randBHi >>> 8;\n bytes[11] = randBHi;\n bytes[12] = randBLo >>> 24;\n bytes[13] = randBLo >>> 16;\n bytes[14] = randBLo >>> 8;\n bytes[15] = randBLo;\n return new UUID(bytes);\n }\n /**\n * Builds a byte array from a string representation.\n *\n * This method accepts the following formats:\n *\n * - 32-digit hexadecimal format without hyphens: `0189dcd553117d408db09496a2eef37b`\n * - 8-4-4-4-12 hyphenated format: `0189dcd5-5311-7d40-8db0-9496a2eef37b`\n * - Hyphenated format with surrounding braces: `{0189dcd5-5311-7d40-8db0-9496a2eef37b}`\n * - RFC 9562 URN format: `urn:uuid:0189dcd5-5311-7d40-8db0-9496a2eef37b`\n *\n * Leading and trailing whitespaces represents an error.\n *\n * @throws SyntaxError if the argument could not parse as a valid UUID string.\n */\n static parse(uuid) {\n var _a, _b, _c, _d;\n let hex = undefined;\n switch (uuid.length) {\n case 32:\n hex = (_a = /^[0-9a-f]{32}$/i.exec(uuid)) === null || _a === void 0 ? void 0 : _a[0];\n break;\n case 36:\n hex =\n (_b = /^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i\n .exec(uuid)) === null || _b === void 0 ? void 0 : _b.slice(1, 6).join(\"\");\n break;\n case 38:\n hex =\n (_c = /^\\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\\}$/i\n .exec(uuid)) === null || _c === void 0 ? void 0 : _c.slice(1, 6).join(\"\");\n break;\n case 45:\n hex =\n (_d = /^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i\n .exec(uuid)) === null || _d === void 0 ? void 0 : _d.slice(1, 6).join(\"\");\n break;\n }\n if (hex) {\n const inner = new Uint8Array(16);\n for (let i = 0; i < 16; i += 4) {\n const n = parseInt(hex.substring(2 * i, 2 * i + 8), 16);\n inner[i + 0] = n >>> 24;\n inner[i + 1] = n >>> 16;\n inner[i + 2] = n >>> 8;\n inner[i + 3] = n;\n }\n return new UUID(inner);\n }\n else {\n throw new SyntaxError(\"could not parse UUID string\");\n }\n }\n /**\n * @returns The 8-4-4-4-12 canonical hexadecimal string representation\n * (`0189dcd5-5311-7d40-8db0-9496a2eef37b`).\n */\n toString() {\n let text = \"\";\n for (let i = 0; i < this.bytes.length; i++) {\n text += DIGITS.charAt(this.bytes[i] >>> 4);\n text += DIGITS.charAt(this.bytes[i] & 0xf);\n if (i === 3 || i === 5 || i === 7 || i === 9) {\n text += \"-\";\n }\n }\n return text;\n }\n /**\n * @returns The 32-digit hexadecimal representation without hyphens\n * (`0189dcd553117d408db09496a2eef37b`).\n */\n toHex() {\n let text = \"\";\n for (let i = 0; i < this.bytes.length; i++) {\n text += DIGITS.charAt(this.bytes[i] >>> 4);\n text += DIGITS.charAt(this.bytes[i] & 0xf);\n }\n return text;\n }\n /** @returns The 8-4-4-4-12 canonical hexadecimal string representation. */\n toJSON() {\n return this.toString();\n }\n /**\n * Reports the variant field value of the UUID or, if appropriate, \"NIL\" or\n * \"MAX\".\n *\n * For convenience, this method reports \"NIL\" or \"MAX\" if `this` represents\n * the Nil or Max UUID, although the Nil and Max UUIDs are technically\n * subsumed under the variants `0b0` and `0b111`, respectively.\n */\n getVariant() {\n const n = this.bytes[8] >>> 4;\n if (n < 0) {\n throw new Error(\"unreachable\");\n }\n else if (n <= 0b0111) {\n return this.bytes.every((e) => e === 0) ? \"NIL\" : \"VAR_0\";\n }\n else if (n <= 0b1011) {\n return \"VAR_10\";\n }\n else if (n <= 0b1101) {\n return \"VAR_110\";\n }\n else if (n <= 0b1111) {\n return this.bytes.every((e) => e === 0xff) ? \"MAX\" : \"VAR_RESERVED\";\n }\n else {\n throw new Error(\"unreachable\");\n }\n }\n /**\n * Returns the version field value of the UUID or `undefined` if the UUID does\n * not have the variant field value of `0b10`.\n */\n getVersion() {\n return this.getVariant() === \"VAR_10\" ? this.bytes[6] >>> 4 : undefined;\n }\n /** Creates an object from `this`. */\n clone() {\n return new UUID(this.bytes.slice(0));\n }\n /** Returns true if `this` is equivalent to `other`. */\n equals(other) {\n return this.compareTo(other) === 0;\n }\n /**\n * Returns a negative integer, zero, or positive integer if `this` is less\n * than, equal to, or greater than `other`, respectively.\n */\n compareTo(other) {\n for (let i = 0; i < 16; i++) {\n const diff = this.bytes[i] - other.bytes[i];\n if (diff !== 0) {\n return Math.sign(diff);\n }\n }\n return 0;\n }\n}\n/**\n * Encapsulates the monotonic counter state.\n *\n * This class provides APIs to utilize a separate counter state from that of the\n * global generator used by {@link uuidv7} and {@link uuidv7obj}. In addition to\n * the default {@link generate} method, this class has {@link generateOrAbort}\n * that is useful to absolutely guarantee the monotonically increasing order of\n * generated UUIDs. See their respective documentation for details.\n */\nclass V7Generator {\n /**\n * Creates a generator object with the default random number generator, or\n * with the specified one if passed as an argument. The specified random\n * number generator should be cryptographically strong and securely seeded.\n */\n constructor(randomNumberGenerator) {\n /**\n * Biased by one to distinguish zero (uninitialized) and zero (UNIX epoch).\n */\n this.timestamp_biased = 0;\n this.counter = 0;\n this.random = randomNumberGenerator !== null && randomNumberGenerator !== void 0 ? randomNumberGenerator : getDefaultRandom();\n }\n /**\n * Generates a new UUIDv7 object from the current timestamp, or resets the\n * generator upon significant timestamp rollback.\n *\n * This method returns a monotonically increasing UUID by reusing the previous\n * timestamp even if the up-to-date timestamp is smaller than the immediately\n * preceding UUID's. However, when such a clock rollback is considered\n * significant (i.e., by more than ten seconds), this method resets the\n * generator and returns a new UUID based on the given timestamp, breaking the\n * increasing order of UUIDs.\n *\n * See {@link generateOrAbort} for the other mode of generation and\n * {@link generateOrResetCore} for the low-level primitive.\n */\n generate() {\n return this.generateOrResetCore(Date.now(), 10000);\n }\n /**\n * Generates a new UUIDv7 object from the current timestamp, or returns\n * `undefined` upon significant timestamp rollback.\n *\n * This method returns a monotonically increasing UUID by reusing the previous\n * timestamp even if the up-to-date timestamp is smaller than the immediately\n * preceding UUID's. However, when such a clock rollback is considered\n * significant (i.e., by more than ten seconds), this method aborts and\n * returns `undefined` immediately.\n *\n * See {@link generate} for the other mode of generation and\n * {@link generateOrAbortCore} for the low-level primitive.\n */\n generateOrAbort() {\n return this.generateOrAbortCore(Date.now(), 10000);\n }\n /**\n * Generates a new UUIDv7 object from the `unixTsMs` passed, or resets the\n * generator upon significant timestamp rollback.\n *\n * This method is equivalent to {@link generate} except that it takes a custom\n * timestamp and clock rollback allowance.\n *\n * @param rollbackAllowance - The amount of `unixTsMs` rollback that is\n * considered significant. A suggested value is `10_000` (milliseconds).\n * @throws RangeError if `unixTsMs` is not a 48-bit unsigned integer.\n */\n generateOrResetCore(unixTsMs, rollbackAllowance) {\n let value = this.generateOrAbortCore(unixTsMs, rollbackAllowance);\n if (value === undefined) {\n // reset state and resume\n this.timestamp_biased = 0;\n value = this.generateOrAbortCore(unixTsMs, rollbackAllowance);\n }\n return value;\n }\n /**\n * Generates a new UUIDv7 object from the `unixTsMs` passed, or returns\n * `undefined` upon significant timestamp rollback.\n *\n * This method is equivalent to {@link generateOrAbort} except that it takes a\n * custom timestamp and clock rollback allowance.\n *\n * @param rollbackAllowance - The amount of `unixTsMs` rollback that is\n * considered significant. A suggested value is `10_000` (milliseconds).\n * @throws RangeError if `unixTsMs` is not a 48-bit unsigned integer.\n */\n generateOrAbortCore(unixTsMs, rollbackAllowance) {\n const MAX_COUNTER = 4398046511103;\n if (!Number.isInteger(unixTsMs) ||\n unixTsMs < 0 ||\n unixTsMs > 281474976710655) {\n throw new RangeError(\"`unixTsMs` must be a 48-bit unsigned integer\");\n }\n else if (rollbackAllowance < 0 || rollbackAllowance > 281474976710655) {\n throw new RangeError(\"`rollbackAllowance` out of reasonable range\");\n }\n unixTsMs++;\n if (unixTsMs > this.timestamp_biased) {\n this.timestamp_biased = unixTsMs;\n this.resetCounter();\n }\n else if (unixTsMs + rollbackAllowance >= this.timestamp_biased) {\n // go on with previous timestamp if new one is not much smaller\n this.counter++;\n if (this.counter > MAX_COUNTER) {\n // increment timestamp at counter overflow\n this.timestamp_biased++;\n this.resetCounter();\n }\n }\n else {\n // abort if clock went backwards to unbearable extent\n return undefined;\n }\n return UUID.fromFieldsV7(this.timestamp_biased - 1, Math.trunc(this.counter / 2 ** 30), this.counter & (2 ** 30 - 1), this.random.nextUint32());\n }\n /** Initializes the counter at a 42-bit random integer. */\n resetCounter() {\n this.counter =\n this.random.nextUint32() * 0x400 + (this.random.nextUint32() & 0x3ff);\n }\n /**\n * Generates a new UUIDv4 object utilizing the random number generator inside.\n *\n * @internal\n */\n generateV4() {\n const bytes = new Uint8Array(Uint32Array.of(this.random.nextUint32(), this.random.nextUint32(), this.random.nextUint32(), this.random.nextUint32()).buffer);\n bytes[6] = 0x40 | (bytes[6] >>> 4);\n bytes[8] = 0x80 | (bytes[8] >>> 2);\n return UUID.ofInner(bytes);\n }\n}\n/** Returns the default random number generator available in the environment. */\nconst getDefaultRandom = () => {\n // detect Web Crypto API\n if (typeof crypto !== \"undefined\" &&\n typeof crypto.getRandomValues !== \"undefined\") {\n return new BufferedCryptoRandom();\n }\n else {\n // fall back on Math.random() unless the flag is set to true\n if (typeof UUIDV7_DENY_WEAK_RNG !== \"undefined\" && UUIDV7_DENY_WEAK_RNG) {\n throw new Error(\"no cryptographically strong RNG available\");\n }\n return {\n nextUint32: () => Math.trunc(Math.random() * 65536) * 65536 +\n Math.trunc(Math.random() * 65536),\n };\n }\n};\n/**\n * Wraps `crypto.getRandomValues()` to enable buffering; this uses a small\n * buffer by default to avoid both unbearable throughput decline in some\n * environments and the waste of time and space for unused values.\n */\nclass BufferedCryptoRandom {\n constructor() {\n this.buffer = new Uint32Array(8);\n this.cursor = 0xffff;\n }\n nextUint32() {\n if (this.cursor >= this.buffer.length) {\n crypto.getRandomValues(this.buffer);\n this.cursor = 0;\n }\n return this.buffer[this.cursor++];\n }\n}\nlet defaultGenerator;\n/**\n * Generates a UUIDv7 string.\n *\n * @returns The 8-4-4-4-12 canonical hexadecimal string representation\n * (\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\").\n */\nconst uuidv7 = () => uuidv7obj().toString();\n/** Generates a UUIDv7 object. */\nconst uuidv7obj = () => (defaultGenerator || (defaultGenerator = new V7Generator())).generate();\n\nconst generateId = () => {\n return Math.random().toString(36).substring(2) + Date.now().toString(36);\n};\nconst generateUuidv7 = () => {\n return uuidv7();\n};\nconst getCurrentTimestamp = () => {\n return new Date().toISOString();\n};\nconst getCurrentUrl = () => {\n if (typeof window !== 'undefined') {\n return window.location.href;\n }\n return '';\n};\nconst getPageTitle = () => {\n if (typeof document !== 'undefined') {\n return document.title;\n }\n return '';\n};\nconst getReferrer = () => {\n if (typeof document !== 'undefined') {\n return document.referrer;\n }\n return '';\n};\nconst isBrowser = () => {\n return typeof window !== 'undefined';\n};\nconst isNode = () => {\n var _a;\n return typeof process !== 'undefined' && !!((_a = process.versions) === null || _a === void 0 ? void 0 : _a.node);\n};\nconst fetchRemoteOptions = async (apiHost, publishableKey, fetchFn) => {\n const endpoint = '/v1/configs';\n const url = `${apiHost}${endpoint}?ingestion_key=${encodeURIComponent(publishableKey)}`;\n try {\n let fetch = fetchFn;\n if (!fetch) {\n if (isNode()) {\n // For Node.js environments, expect fetch to be passed in\n throw new Error('Fetch function must be provided in Node.js environment');\n }\n else {\n // Use native fetch in browser\n fetch = window.fetch;\n }\n }\n const response = await fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n // if (!response.ok) {\n // throw new Error(`Options fetch failed: ${response.status} ${response.statusText}`);\n // }\n const data = await response.json();\n return data;\n }\n catch (error) {\n console.warn('Failed to fetch remote options:', error);\n return null;\n }\n};\nconst mergeOptions = (localOptions, remoteOptions) => {\n if (!remoteOptions && !localOptions) {\n return {};\n }\n if (!remoteOptions) {\n return localOptions;\n }\n if (!localOptions) {\n return remoteOptions;\n }\n // Deep merge local options into remote options\n // Local options takes precedence over remote options\n const merged = { ...remoteOptions };\n // Handle primitive values\n Object.keys(localOptions).forEach(key => {\n const localValue = localOptions[key];\n if (localValue !== undefined && localValue !== null) {\n if (typeof localValue === 'object' && !Array.isArray(localValue)) {\n // Deep merge objects - local options overrides remote\n merged[key] = {\n ...(merged[key] || {}),\n ...localValue\n };\n }\n else {\n // Override primitive values and arrays with local options\n merged[key] = localValue;\n }\n }\n });\n return merged;\n};\n\nconst DEFAULT_SESSION_TIMEOUT = 30 * 60 * 1000; // 30 minutes in ms\nclass BrowserIdentityManager {\n constructor(sessionTimeout, publishableKey) {\n this.identity = null;\n this.sessionTimeout = DEFAULT_SESSION_TIMEOUT;\n if (sessionTimeout) {\n this.sessionTimeout = sessionTimeout;\n }\n // Generate storage key with publishableKey pattern: jrnm_<publishableKey>_journium\n this.storageKey = publishableKey ? `jrnm_${publishableKey}_journium` : '__journium_identity';\n this.loadOrCreateIdentity();\n }\n loadOrCreateIdentity() {\n if (!this.isBrowser())\n return;\n try {\n const stored = localStorage.getItem(this.storageKey);\n if (stored) {\n const parsedIdentity = JSON.parse(stored);\n // Check if session is expired\n const now = Date.now();\n const sessionAge = now - parsedIdentity.session_timestamp;\n if (sessionAge > this.sessionTimeout) {\n // Session expired, create new session but keep device and distinct IDs\n this.identity = {\n distinct_id: parsedIdentity.distinct_id,\n $device_id: parsedIdentity.$device_id,\n $session_id: generateUuidv7(),\n session_timestamp: now,\n $user_state: parsedIdentity.$user_state || 'anonymous',\n };\n }\n else {\n // Session still valid\n this.identity = parsedIdentity;\n // Ensure $user_state exists for backward compatibility\n if (!this.identity.$user_state) {\n this.identity.$user_state = 'anonymous';\n }\n }\n }\n else {\n // First time, create all new IDs\n const newId = generateUuidv7();\n this.identity = {\n distinct_id: newId,\n $device_id: newId,\n $session_id: newId,\n session_timestamp: Date.now(),\n $user_state: 'anonymous',\n };\n }\n // Save to localStorage\n this.saveIdentity();\n }\n catch (error) {\n console.warn('Journium: Failed to load/create identity:', error);\n // Fallback: create temporary identity without localStorage\n const newId = generateUuidv7();\n this.identity = {\n distinct_id: newId,\n $device_id: newId,\n $session_id: newId,\n session_timestamp: Date.now(),\n $user_state: 'anonymous',\n };\n }\n }\n saveIdentity() {\n if (!this.isBrowser() || !this.identity)\n return;\n try {\n localStorage.setItem(this.storageKey, JSON.stringify(this.identity));\n }\n catch (error) {\n console.warn('Journium: Failed to save identity to localStorage:', error);\n }\n }\n isBrowser() {\n return typeof window !== 'undefined' && typeof localStorage !== 'undefined';\n }\n getIdentity() {\n return this.identity;\n }\n updateSessionTimeout(timeoutMs) {\n this.sessionTimeout = timeoutMs;\n }\n refreshSession() {\n if (!this.identity)\n return;\n this.identity = {\n ...this.identity,\n $session_id: generateUuidv7(),\n session_timestamp: Date.now(),\n };\n this.saveIdentity();\n }\n identify(distinctId, _attributes = {}) {\n if (!this.identity)\n return { previousDistinctId: null };\n const previousDistinctId = this.identity.distinct_id;\n // Update the distinct ID and mark user as identified\n this.identity = {\n ...this.identity,\n distinct_id: distinctId,\n $user_state: 'identified',\n };\n this.saveIdentity();\n return { previousDistinctId };\n }\n reset() {\n if (!this.identity)\n return;\n // Generate new distinct ID but keep device ID\n this.identity = {\n ...this.identity,\n distinct_id: generateUuidv7(),\n $user_state: 'anonymous',\n };\n this.saveIdentity();\n }\n getUserAgentInfo() {\n if (!this.isBrowser()) {\n return {\n $raw_user_agent: '',\n $browser: 'Unknown',\n $os: 'Unknown',\n $device_type: 'Unknown',\n };\n }\n const userAgent = navigator.userAgent;\n return {\n $raw_user_agent: userAgent,\n $browser: this.parseBrowser(userAgent),\n $os: this.parseOS(userAgent),\n $device_type: this.parseDeviceType(userAgent),\n };\n }\n parseBrowser(userAgent) {\n if (userAgent.includes('Chrome') && !userAgent.includes('Edg'))\n return 'Chrome';\n if (userAgent.includes('Firefox'))\n return 'Firefox';\n if (userAgent.includes('Safari') && !userAgent.includes('Chrome'))\n return 'Safari';\n if (userAgent.includes('Edg'))\n return 'Edge';\n if (userAgent.includes('Opera') || userAgent.includes('OPR'))\n return 'Opera';\n return 'Unknown';\n }\n parseOS(userAgent) {\n if (userAgent.includes('Windows'))\n return 'Windows';\n if (userAgent.includes('Macintosh') || userAgent.includes('Mac OS'))\n return 'Mac OS';\n if (userAgent.includes('Linux'))\n return 'Linux';\n if (userAgent.includes('Android'))\n return 'Android';\n if (userAgent.includes('iPhone') || userAgent.includes('iPad'))\n return 'iOS';\n return 'Unknown';\n }\n parseDeviceType(userAgent) {\n if (userAgent.includes('Mobile') || userAgent.includes('Android') || userAgent.includes('iPhone')) {\n return 'Mobile';\n }\n if (userAgent.includes('iPad') || userAgent.includes('Tablet')) {\n return 'Tablet';\n }\n return 'Desktop';\n }\n}\n\nclass Logger {\n static setDebug(enabled) {\n this.isDebugEnabled = enabled;\n }\n static isDebug() {\n return this.isDebugEnabled;\n }\n static log(...args) {\n if (this.isDebugEnabled) {\n console.log(...args);\n }\n }\n static warn(...args) {\n if (this.isDebugEnabled) {\n console.warn(...args);\n }\n }\n static error(...args) {\n if (this.isDebugEnabled) {\n console.error(...args);\n }\n }\n static info(...args) {\n if (this.isDebugEnabled) {\n console.info(...args);\n }\n }\n}\nLogger.isDebugEnabled = false;\n\nexport { BrowserIdentityManager, Logger, fetchRemoteOptions, generateId, generateUuidv7, getCurrentTimestamp, getCurrentUrl, getPageTitle, getReferrer, isBrowser, isNode, mergeOptions };\n//# sourceMappingURL=index.mjs.map\n",null,null,null,null],"names":[],"mappings":"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"}
|
package/dist/journium.js
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
(function (exports) {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
5
|
+
// @journium/js@1.3.0 is replaced at build time by @rollup/plugin-replace
|
|
6
|
+
const SDK_VERSION = '@journium/js@1.3.0';
|
|
7
|
+
|
|
5
8
|
/**
|
|
6
9
|
* uuidv7: A JavaScript implementation of UUID version 7
|
|
7
10
|
*
|
|
@@ -938,6 +941,7 @@
|
|
|
938
941
|
Logger.setDebug((_a = this.effectiveOptions.debug) !== null && _a !== void 0 ? _a : false);
|
|
939
942
|
}
|
|
940
943
|
buildIdentityProperties(userProperties = {}) {
|
|
944
|
+
var _a, _b;
|
|
941
945
|
const identity = this.identityManager.getIdentity();
|
|
942
946
|
const userAgentInfo = this.identityManager.getUserAgentInfo();
|
|
943
947
|
return {
|
|
@@ -948,7 +952,7 @@
|
|
|
948
952
|
$current_url: typeof window !== 'undefined' ? window.location.href : '',
|
|
949
953
|
$pathname: typeof window !== 'undefined' ? window.location.pathname : '',
|
|
950
954
|
...userAgentInfo,
|
|
951
|
-
$
|
|
955
|
+
$sdk_version: (_b = (_a = this.config.options) === null || _a === void 0 ? void 0 : _a._sdkVersion) !== null && _b !== void 0 ? _b : 'unknown',
|
|
952
956
|
$platform: 'web',
|
|
953
957
|
...userProperties,
|
|
954
958
|
};
|
|
@@ -1089,7 +1093,7 @@
|
|
|
1089
1093
|
$host: url.host,
|
|
1090
1094
|
$pathname: url.pathname,
|
|
1091
1095
|
$search: url.search,
|
|
1092
|
-
$
|
|
1096
|
+
$page_title: getPageTitle(),
|
|
1093
1097
|
$referrer: getReferrer(),
|
|
1094
1098
|
...customProperties,
|
|
1095
1099
|
};
|
|
@@ -1165,6 +1169,8 @@
|
|
|
1165
1169
|
ignoreClasses: ['journium-ignore'],
|
|
1166
1170
|
ignoreElements: ['script', 'style', 'noscript'],
|
|
1167
1171
|
captureContentText: true,
|
|
1172
|
+
dataAttributePrefixes: ['jrnm-'],
|
|
1173
|
+
dataAttributeNames: ['data-testid', 'data-track'],
|
|
1168
1174
|
...options,
|
|
1169
1175
|
};
|
|
1170
1176
|
}
|
|
@@ -1186,6 +1192,8 @@
|
|
|
1186
1192
|
ignoreClasses: ['journium-ignore'],
|
|
1187
1193
|
ignoreElements: ['script', 'style', 'noscript'],
|
|
1188
1194
|
captureContentText: true,
|
|
1195
|
+
dataAttributePrefixes: ['jrnm-'],
|
|
1196
|
+
dataAttributeNames: ['data-testid', 'data-track'],
|
|
1189
1197
|
...options,
|
|
1190
1198
|
};
|
|
1191
1199
|
// Restart if it was active before
|
|
@@ -1228,10 +1236,7 @@
|
|
|
1228
1236
|
return;
|
|
1229
1237
|
}
|
|
1230
1238
|
const properties = this.getElementProperties(target, 'click');
|
|
1231
|
-
this.client.track('$autocapture',
|
|
1232
|
-
$event_type: 'click',
|
|
1233
|
-
...properties,
|
|
1234
|
-
});
|
|
1239
|
+
this.client.track('$autocapture', properties);
|
|
1235
1240
|
};
|
|
1236
1241
|
document.addEventListener('click', clickListener, true);
|
|
1237
1242
|
this.listeners.set('click', clickListener);
|
|
@@ -1243,10 +1248,7 @@
|
|
|
1243
1248
|
return;
|
|
1244
1249
|
}
|
|
1245
1250
|
const properties = this.getFormProperties(target, 'submit');
|
|
1246
|
-
this.client.track('$autocapture',
|
|
1247
|
-
$event_type: 'submit',
|
|
1248
|
-
...properties,
|
|
1249
|
-
});
|
|
1251
|
+
this.client.track('$autocapture', properties);
|
|
1250
1252
|
};
|
|
1251
1253
|
document.addEventListener('submit', submitListener, true);
|
|
1252
1254
|
this.listeners.set('submit', submitListener);
|
|
@@ -1258,10 +1260,7 @@
|
|
|
1258
1260
|
return;
|
|
1259
1261
|
}
|
|
1260
1262
|
const properties = this.getInputProperties(target, 'change');
|
|
1261
|
-
this.client.track('$autocapture',
|
|
1262
|
-
$event_type: 'change',
|
|
1263
|
-
...properties,
|
|
1264
|
-
});
|
|
1263
|
+
this.client.track('$autocapture', properties);
|
|
1265
1264
|
};
|
|
1266
1265
|
document.addEventListener('change', changeListener, true);
|
|
1267
1266
|
this.listeners.set('change', changeListener);
|
|
@@ -1314,6 +1313,7 @@
|
|
|
1314
1313
|
}
|
|
1315
1314
|
getElementProperties(element, eventType) {
|
|
1316
1315
|
const properties = {
|
|
1316
|
+
$event_type: eventType,
|
|
1317
1317
|
$element_tag: element.tagName.toLowerCase(),
|
|
1318
1318
|
$element_type: this.getElementType(element),
|
|
1319
1319
|
};
|
|
@@ -1323,6 +1323,7 @@
|
|
|
1323
1323
|
}
|
|
1324
1324
|
if (element.className) {
|
|
1325
1325
|
properties.$element_classes = Array.from(element.classList);
|
|
1326
|
+
properties.$element_semantic_classes = this.extractSemanticClasses(element.classList);
|
|
1326
1327
|
}
|
|
1327
1328
|
// Element attributes
|
|
1328
1329
|
const relevantAttributes = ['name', 'role', 'aria-label', 'data-testid', 'data-track'];
|
|
@@ -1332,6 +1333,33 @@
|
|
|
1332
1333
|
properties[`$element_${attr.replace('-', '_')}`] = value;
|
|
1333
1334
|
}
|
|
1334
1335
|
});
|
|
1336
|
+
// Configurable data-* attribute capture
|
|
1337
|
+
const prefixes = this.options.dataAttributePrefixes || ['jrnm-'];
|
|
1338
|
+
const exactNames = new Set(this.options.dataAttributeNames || ['data-testid', 'data-track']);
|
|
1339
|
+
const relevantSet = new Set(relevantAttributes);
|
|
1340
|
+
let dataAttrCount = 0;
|
|
1341
|
+
for (let i = 0; i < element.attributes.length && dataAttrCount < 10; i++) {
|
|
1342
|
+
const attr = element.attributes.item(i);
|
|
1343
|
+
if (!attr || !attr.name.startsWith('data-'))
|
|
1344
|
+
continue;
|
|
1345
|
+
if (relevantSet.has(attr.name))
|
|
1346
|
+
continue;
|
|
1347
|
+
const suffix = attr.name.slice(5); // strip 'data-'
|
|
1348
|
+
const matchesPrefix = prefixes.some(p => suffix.startsWith(p));
|
|
1349
|
+
const matchesName = exactNames.has(attr.name);
|
|
1350
|
+
if (matchesPrefix || matchesName) {
|
|
1351
|
+
const propName = `$attr_${attr.name.replace(/-/g, '_')}`;
|
|
1352
|
+
properties[propName] = attr.value;
|
|
1353
|
+
dataAttrCount++;
|
|
1354
|
+
}
|
|
1355
|
+
}
|
|
1356
|
+
// Link href as first-class property
|
|
1357
|
+
if (element.tagName.toLowerCase() === 'a') {
|
|
1358
|
+
const href = element.getAttribute('href');
|
|
1359
|
+
if (href) {
|
|
1360
|
+
properties.$element_href = href;
|
|
1361
|
+
}
|
|
1362
|
+
}
|
|
1335
1363
|
// Element content
|
|
1336
1364
|
if (this.options.captureContentText) {
|
|
1337
1365
|
const text = this.getElementText(element);
|
|
@@ -1361,10 +1389,13 @@
|
|
|
1361
1389
|
properties.$parent_id = element.parentElement.id;
|
|
1362
1390
|
}
|
|
1363
1391
|
}
|
|
1364
|
-
// URL
|
|
1392
|
+
// URL and page context
|
|
1365
1393
|
properties.$current_url = window.location.href;
|
|
1366
1394
|
properties.$host = window.location.host;
|
|
1367
1395
|
properties.$pathname = window.location.pathname;
|
|
1396
|
+
properties.$search = window.location.search;
|
|
1397
|
+
properties.$page_title = document.title;
|
|
1398
|
+
properties.$referrer = document.referrer;
|
|
1368
1399
|
return properties;
|
|
1369
1400
|
}
|
|
1370
1401
|
getFormProperties(form, eventType) {
|
|
@@ -1513,6 +1544,38 @@
|
|
|
1513
1544
|
ids: ids.reverse()
|
|
1514
1545
|
};
|
|
1515
1546
|
}
|
|
1547
|
+
extractSemanticClasses(classList) {
|
|
1548
|
+
const results = new Set();
|
|
1549
|
+
for (let i = 0; i < classList.length; i++) {
|
|
1550
|
+
const cls = classList.item(i);
|
|
1551
|
+
if (!cls)
|
|
1552
|
+
continue;
|
|
1553
|
+
const parts = cls.split('__');
|
|
1554
|
+
if (parts.length >= 3) {
|
|
1555
|
+
// CSS module pattern: Module__hash__name → take last segment
|
|
1556
|
+
const last = parts[parts.length - 1];
|
|
1557
|
+
if (last)
|
|
1558
|
+
results.add(last);
|
|
1559
|
+
}
|
|
1560
|
+
else if (parts.length === 2) {
|
|
1561
|
+
// 2-part __ class (e.g., Module__hash) → drop, no semantic name
|
|
1562
|
+
continue;
|
|
1563
|
+
}
|
|
1564
|
+
else {
|
|
1565
|
+
// Single-part class — keep unless it looks like a hash
|
|
1566
|
+
if (!this.isHashLike(cls)) {
|
|
1567
|
+
results.add(cls);
|
|
1568
|
+
}
|
|
1569
|
+
}
|
|
1570
|
+
}
|
|
1571
|
+
return Array.from(results);
|
|
1572
|
+
}
|
|
1573
|
+
isHashLike(value) {
|
|
1574
|
+
// Hash-like: alphanumeric, 5-10 chars, contains both letters and digits
|
|
1575
|
+
return /^[a-zA-Z0-9]{5,10}$/.test(value)
|
|
1576
|
+
&& /[a-zA-Z]/.test(value)
|
|
1577
|
+
&& /[0-9]/.test(value);
|
|
1578
|
+
}
|
|
1516
1579
|
isSafeInputType(type) {
|
|
1517
1580
|
// Don't capture values for sensitive input types
|
|
1518
1581
|
const sensitiveTypes = ['password', 'email', 'tel', 'credit-card-number'];
|
|
@@ -1699,6 +1762,14 @@
|
|
|
1699
1762
|
}
|
|
1700
1763
|
/** Create and return a new JourniumAnalytics instance for the given config. */
|
|
1701
1764
|
const init = (config) => {
|
|
1765
|
+
var _a;
|
|
1766
|
+
// Set SDK version if not already set by a framework SDK (React, Next.js, Angular)
|
|
1767
|
+
if (!((_a = config.options) === null || _a === void 0 ? void 0 : _a._sdkVersion)) {
|
|
1768
|
+
config = {
|
|
1769
|
+
...config,
|
|
1770
|
+
options: { ...config.options, _sdkVersion: SDK_VERSION },
|
|
1771
|
+
};
|
|
1772
|
+
}
|
|
1702
1773
|
return new JourniumAnalytics(config);
|
|
1703
1774
|
};
|
|
1704
1775
|
|