@coveo/relay 0.7.1 → 0.7.2
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/lib/cdn/relay.min.js +1 -1
- package/lib/cdn/relay.min.js.map +1 -1
- package/lib/cdn/types/event/meta/meta.d.ts +4 -4
- package/lib/cdn/types/event/meta/meta.d.ts.map +1 -1
- package/lib/docs/relay-docs.json +104 -104
- package/lib/relay.cjs +2 -3
- package/lib/relay.js +2 -3
- package/lib/relay.mjs +2 -3
- package/lib/types/event/meta/meta.d.ts +4 -4
- package/lib/types/event/meta/meta.d.ts.map +1 -1
- package/package.json +3 -3
package/lib/cdn/relay.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function t(t){const n="visitorId";return{getClientId:()=>{const r=t.get(),o=r.storage,c=o.getItem(n),a=c&&("string"==typeof(s=c)&&e.test(s))?c:r.generateUUID();var s;return o.setItem(n,a),a},clear:()=>{t.get().storage.removeItem(n)}}}const n="0.7.
|
|
1
|
+
var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function t(t){const n="visitorId";return{getClientId:()=>{const r=t.get(),o=r.storage,c=o.getItem(n),a=c&&("string"==typeof(s=c)&&e.test(s))?c:r.generateUUID();var s;return o.setItem(n,a),a},clear:()=>{t.get().storage.removeItem(n)}}}const n="0.7.2";function r(e){return(e.source||[]).concat([`relay@${n}`])}function o(e,t,n,o){const{getReferrer:c,getLocation:a,getUserAgent:s}=n,i=function(e){const{trackingId:t}=e;return{trackingId:t,user:null}}(t),u=o.getClientId();return Object.freeze({type:e,config:i,ts:Date.now(),source:r(t),clientId:u,userAgent:s(),referrer:c(),location:a()})}const c="*";function a(){const e=[];function t({type:t,callback:n}){return e.findIndex((e=>e.type===t&&e.callback===n))}function n(n,r){r?function(n){const r=t(n);r>=0&&e.splice(r,1)}({type:n,callback:r}):function(t){if(t===c)e.length=0;else for(let n=e.length-1;n>=0;n--)e[n].type===t&&e.splice(n,1)}(n)}return{add:function(r){return t(r)<0&&e.push(r),()=>n(r.type,r.callback)},call:function(t){e.forEach((e=>{if(function(e,t){return"*"===e.type||t===e.type}(e,t.meta.type))try{e.callback(t)}catch(e){console.error(e)}}))},remove:n}}function s({url:e,token:t,trackingId:n,...r}){return Object.freeze({url:e,token:t,trackingId:n,...!!r.mode&&{mode:r.mode},...!!r.source&&{source:r.source}})}const i=function(){const e="coveo_";return{getItem(t){const n=`${e}${t}=`,r=document.cookie.split(";");for(const e of r){const t=e.replace(/^\s+/,"");if(0===t.lastIndexOf(n,0))return t.substring(n.length,t.length)}return null},setItem(t,n,r){const o=(e=>{const t=e.split(".").slice(-2);return 2==t.length?t.join("."):""})(window.location.hostname),c=`;expires=${new Date((new Date).getTime()+r).toUTCString()}`,a=o?`;domain=${o}`:"";document.cookie=`${e}${t}=${n}${c}${a};path=/;SameSite=Lax`},removeItem(e){this.setItem(e,"",-1)}}}();function u(){return{runtime:"browser",send:(e,t,n)=>{const r=navigator.sendBeacon(`${e}?access_token=${t}`,new Blob([JSON.stringify([n])],{type:"application/json"})),o=function(){const e="undefined"!=typeof window;return{sendMessage(t){e&&window.postMessage(t,"*")}}}();if(o.sendMessage({kind:"EVENT_PROTOCOL",event:n,url:e,token:t}),!r)throw new Error("Failed to send the event(s) because the payload size exceeded the maximum allowed size (32 KB). Please contact support if the problem persists.")},getReferrer:()=>function(){const e=document.referrer;return""===e?null:e}(),getLocation:()=>window.location.href,getUserAgent:()=>navigator.userAgent,generateUUID:()=>crypto.randomUUID(),storage:{getItem:e=>i.getItem(e)||localStorage.getItem(e),removeItem(e){i.removeItem(e),localStorage.removeItem(e)},setItem(e,t){localStorage.setItem(e,t),i.setItem(e,t,31556952e3)}}}}function l(e){return"disabled"!==e.get().mode&&function(){try{return"object"==typeof window}catch(e){return!1}}()?u():{runtime:"null",send:()=>{},getReferrer:()=>null,getLocation:()=>null,getUserAgent:()=>null,generateUUID:()=>"",storage:{getItem:()=>null,removeItem(){},setItem(){}}}}function g(e){const r=function(e){let t=s(e);return{get:()=>t,update:e=>{t=s({...t,...e})}}}(e),c=a(),i=function(e){return{get:()=>Object.freeze(l(e))}}(r),u=t(i);return{emit:(e,t)=>{const n=r.get(),a=i.get(),s=function(e,t,n,r,c){return{...t,meta:o(e,n,r,c)}}(e,t,n,a,u);return function({config:e,environment:t,event:n,listenerManager:r}){const{url:o,token:c,mode:a}=e;"disabled"!==a&&(r.call(n),t.send(o,c,n))}({config:n,environment:a,event:s,listenerManager:c})},getMeta:e=>o(e,r.get(),i.get(),u),on:(e,t)=>c.add({type:e,callback:t}),off:(e,t)=>c.remove(e,t),updateConfig:e=>r.update(e),version:n,clearStorage:()=>{u.clear()}}}export{g as createRelay};
|
|
2
2
|
//# sourceMappingURL=relay.min.js.map
|
package/lib/cdn/relay.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay.min.js","sources":["../../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-browser/regex.js","../../src/client-id/client-id.ts","../../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-browser/validate.js","../../src/version.ts","../../src/event/meta/meta.ts","../../src/listener/listener.ts","../../src/config/config.ts","../../src/environment/browser/storage/cookie.ts","../../src/environment/browser/browser.ts","../../../../node_modules/.pnpm/@coveo+explorer-messenger@0.1.1/node_modules/@coveo/explorer-messenger/dist/messenger.js","../../src/environment/browser/storage/storage.ts","../../src/environment/manager/manager.ts","../../src/environment/null/null.ts","../../src/environment/storage.ts","../../src/relay.ts","../../src/event/relay-event.ts","../../src/emit/emit.ts"],"sourcesContent":["export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import { validate } from \"uuid\";\nimport { EnvironmentManager } from \"../environment/manager/manager\";\n\nexport interface ClientIdManager {\n getClientId: () => string;\n clear: () => void;\n}\n\nexport function createClientIdManager(\n environmentManager: EnvironmentManager\n): ClientIdManager {\n const key = \"visitorId\";\n\n return {\n getClientId: () => {\n const environment = environmentManager.get();\n const storage = environment.storage;\n\n const existingClientId = storage.getItem(key);\n const clientId =\n existingClientId && validate(existingClientId)\n ? existingClientId\n : environment.generateUUID();\n storage.setItem(key, clientId);\n return clientId;\n },\n clear: () => {\n environmentManager.get().storage.removeItem(key);\n },\n };\n}\n","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","export const version = \"process.env.VERSION\";\n","import { ClientIdManager } from \"../../client-id/client-id\";\nimport { Environment } from \"../../environment/environment\";\nimport { RelayConfig, User } from \"../../config/config\";\nimport { version } from \"../../version\";\n\n/**\n * The `EventConfig` object provides additonal information for the configuration associated with the event.\n */\nexport interface EventConfig {\n /**\n * The unique identifier of a web property. See [Tracking ID](https://docs.coveo.com/en/n8tg0567/).\n */\n trackingId: string;\n}\n\n/**\n * The `Meta` object provides a structured representation of metadata associated with an emitted event.\n */\nexport interface Meta {\n /**\n * Event's type that was emitted.\n */\n type: string;\n\n /**\n * Configuration associated with the event.\n */\n config: EventConfig;\n\n /**\n * Timestamp when the event was emitted.\n */\n ts: number;\n\n /**\n * Names and versions of the client side libraries which built and emitted this event.\n */\n source: string[];\n\n /**\n * Persistent unique identifier of a device.\n */\n clientId: string;\n\n /**\n * Named user identity which logged this event.\n */\n user: User | null;\n\n /**\n * Browser Navigator's [user agent](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/userAgent) property if set.\n */\n userAgent: string | null;\n\n /**\n * Browser Document's [referrer](https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer) property if set.\n */\n referrer: string | null;\n\n /**\n * Browser Location's [href](https://developer.mozilla.org/en-US/docs/Web/API/Location/href) property if set.\n */\n location: string | null;\n}\n\nfunction getEventConfig(config: RelayConfig): EventConfig {\n const { trackingId } = config;\n return { trackingId };\n}\n\nfunction getSource(config: RelayConfig): string[] {\n return (config.source || []).concat([`relay@${version}`]);\n}\n\nexport function createMeta(\n type: string,\n config: RelayConfig,\n environment: Environment,\n clientIdManager: ClientIdManager\n): Readonly<Meta> {\n const { getReferrer, getLocation, getUserAgent } = environment;\n const eventConfig = getEventConfig(config);\n const clientId = clientIdManager.getClientId();\n\n return Object.freeze({\n type,\n config: eventConfig,\n ts: Date.now(),\n source: getSource(config),\n clientId,\n user: null,\n userAgent: getUserAgent(),\n referrer: getReferrer(),\n location: getLocation(),\n });\n}\n","import { RelayEvent } from \"../event/relay-event\";\n\nconst ANY_EVENT_TYPE = \"*\";\n\n/**\n * Callback to perform an action when a specified event is emitted.\n * @typedef {function} EventCallback\n * @param {RelayEvent} event\n * @returns {void}\n */\nexport type EventCallback = (event: RelayEvent) => void;\n\ninterface Listener {\n type: string;\n callback: EventCallback;\n}\n\nexport interface ListenerManager {\n add: (listener: Listener) => () => void;\n call: (event: RelayEvent) => void;\n remove: (type: string, callback?: EventCallback) => void;\n}\n\nexport function createListenerManager(): ListenerManager {\n const listeners: Listener[] = [];\n\n function getListenerIndex({ type, callback }: Listener): number {\n return listeners.findIndex(\n (listener) => listener.type === type && listener.callback === callback\n );\n }\n\n function isMatchesType(listener: Listener, type: string): boolean {\n return listener.type === \"*\" || type === listener.type;\n }\n\n function add(listener: Listener): () => void {\n if (getListenerIndex(listener) < 0) {\n listeners.push(listener);\n }\n return () => remove(listener.type, listener.callback);\n }\n\n function call(event: RelayEvent) {\n listeners.forEach((listener) => {\n if (isMatchesType(listener, event.meta.type)) {\n try {\n listener.callback(event);\n } catch (e) {\n console.error(e);\n }\n }\n });\n }\n\n function removeMultiple(type: string) {\n if (type === ANY_EVENT_TYPE) {\n listeners.length = 0;\n } else {\n for (let i = listeners.length - 1; i >= 0; i--) {\n if (listeners[i].type === type) {\n listeners.splice(i, 1);\n }\n }\n }\n }\n\n function removeOne(listener: Listener) {\n const index = getListenerIndex(listener);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n }\n\n function remove(type: string, callback?: EventCallback) {\n !!callback ? removeOne({ type, callback }) : removeMultiple(type);\n }\n\n return {\n add,\n call,\n remove,\n };\n}\n","export type RelayMode = \"emit\" | \"disabled\";\n\n/**\n * The `RelayConfig` object defines the configuration options for initializing a Relay instance.\n */\nexport interface RelayConfig {\n /**\n * Endpoint defined to communicate with the Event API.\n */\n url: string;\n\n /**\n * Token to authorize the access to the Event API endpoint.\n */\n token: string;\n\n /**\n * The unique identifier of a web property. See [Tracking ID](https://docs.coveo.com/en/n8tg0567/).\n */\n trackingId: string;\n\n /**\n * Defines the library mode. The possible values are:\n * \"emit\": Sends analytics events to Coveo to be stored.\n * \"disabled\": Prevents the emission of events and does not trigger callbacks.\n * @default emit\n */\n mode?: RelayMode;\n\n /**\n * Optionally allows a Relay integration to specify the name(s) of software package(s) relay is\n * being called from. These names will be transmitted with each event, along with Relay's own\n * version. The recommendation is to specify them using a 'softwarename@softwareversion' string.\n */\n source?: string[];\n}\n\nexport interface User {\n /**\n * The application's user identifier.\n */\n id: string;\n}\n\nexport interface ConfigManager {\n get: () => Readonly<RelayConfig>;\n update: (updatedConfig: Partial<RelayConfig>) => void;\n}\n\nfunction pick({\n url,\n token,\n trackingId,\n ...rest\n}: RelayConfig): Readonly<RelayConfig> {\n return Object.freeze({\n url,\n token,\n trackingId,\n ...(!!rest.mode && { mode: rest.mode }),\n ...(!!rest.source && { source: rest.source }),\n });\n}\n\nexport function createConfigManager(\n initialConfig: RelayConfig\n): Readonly<ConfigManager> {\n let _config: Readonly<RelayConfig> = pick(initialConfig);\n\n return {\n get: () => _config,\n update: (updatedConfig: Partial<RelayConfig>) => {\n _config = pick({ ..._config, ...updatedConfig });\n },\n };\n}\n","export interface CookieManager {\n getItem: (key: string) => string | null;\n removeItem: (key: string) => void;\n setItem: (key: string, data: string, expire: number) => void;\n}\n\nexport const cookieManager: CookieManager = createCookieManager();\n\nfunction createCookieManager(): CookieManager {\n const prefix = \"coveo_\";\n const getDomain = (host: string) => {\n const parts = host.split(\".\").slice(-2);\n return parts.length == 2 ? parts.join(\".\") : \"\";\n };\n\n return {\n getItem(key: string): string | null {\n const cookiePrefix = `${prefix}${key}=`;\n const cookieArray = document.cookie.split(\";\");\n for (const cookie of cookieArray) {\n const prettifyCookie = cookie.replace(/^\\s+/, \"\");\n if (prettifyCookie.lastIndexOf(cookiePrefix, 0) === 0) {\n return prettifyCookie.substring(\n cookiePrefix.length,\n prettifyCookie.length\n );\n }\n }\n return null;\n },\n setItem(key: string, data: string, expire: number): void {\n const domain = getDomain(window.location.hostname);\n const expireSection = `;expires=${new Date(\n new Date().getTime() + expire\n ).toUTCString()}`;\n const domainSection = domain ? `;domain=${domain}` : \"\";\n document.cookie = `${prefix}${key}=${data}${expireSection}${domainSection};path=/;SameSite=Lax`;\n },\n\n removeItem(key: string): void {\n this.setItem(key, \"\", -1);\n },\n };\n}\n","import { createExplorerMessenger } from \"@coveo/explorer-messenger\";\nimport { Environment } from \"../environment\";\nimport { createBrowserStorage } from \"./storage/storage\";\nimport { RelayEvent } from \"../../event/relay-event\";\n\nfunction getReferrer() {\n const referrer = document.referrer;\n\n return referrer === \"\" ? null : referrer;\n}\n\nexport function buildBrowserEnvironment(): Environment {\n return {\n runtime: \"browser\",\n send: (url: string, token: string, event: RelayEvent) => {\n const response = navigator.sendBeacon(\n `${url}?access_token=${token}`,\n new Blob([JSON.stringify([event])], {\n type: \"application/json\",\n })\n );\n\n const messenger = createExplorerMessenger();\n messenger.sendMessage({ kind: \"EVENT_PROTOCOL\", event, url, token });\n\n if (!response) {\n throw new Error(\n `Failed to send the event(s) because the payload size exceeded the maximum allowed size (32 KB). Please contact support if the problem persists.`\n );\n }\n },\n getReferrer: () => getReferrer(),\n getLocation: () => window.location.href,\n getUserAgent: () => navigator.userAgent,\n generateUUID: () => crypto.randomUUID(),\n storage: createBrowserStorage(),\n };\n}\n","function createExplorerMessenger() {\n const isBrowser = typeof window !== \"undefined\";\n return {\n sendMessage(message) {\n isBrowser && window.postMessage(message, \"*\");\n }\n };\n}\nexport {\n createExplorerMessenger\n};\n","import { Storage } from \"../../storage\";\nimport { cookieManager } from \"./cookie\";\n\nexport function createBrowserStorage(): Storage {\n return {\n getItem(key: string): string | null {\n return cookieManager.getItem(key) || localStorage.getItem(key);\n },\n\n removeItem(key: string): void {\n cookieManager.removeItem(key);\n localStorage.removeItem(key);\n },\n\n setItem(key: string, data: string): void {\n const oneYear = 31556952000;\n localStorage.setItem(key, data);\n cookieManager.setItem(key, data, oneYear);\n },\n };\n}\n","import { ConfigManager } from \"../../config/config\";\nimport { buildBrowserEnvironment } from \"../browser/browser\";\nimport { Environment } from \"../environment\";\nimport { buildNullEnvironment } from \"../null/null\";\n\nexport interface EnvironmentManager {\n get: () => Readonly<Environment>;\n}\n\nfunction buildEnvironment(configManager: ConfigManager) {\n const active = configManager.get().mode !== \"disabled\";\n\n if (active && isBrowser()) {\n return buildBrowserEnvironment();\n }\n\n return buildNullEnvironment();\n}\n\nfunction isBrowser() {\n try {\n return typeof window === \"object\";\n } catch (e) {\n return false;\n }\n}\n\nexport function createEnvironmentManager(\n configManager: ConfigManager\n): Readonly<EnvironmentManager> {\n return {\n get: () => Object.freeze(buildEnvironment(configManager)),\n };\n}\n","import { Environment } from \"../environment\";\nimport { createNullStorage } from \"../storage\";\n\nexport function buildNullEnvironment(): Environment {\n return {\n runtime: \"null\",\n send: () => undefined,\n getReferrer: () => null,\n getLocation: () => null,\n getUserAgent: () => null,\n generateUUID: () => \"\",\n storage: createNullStorage(),\n };\n}\n","export interface Storage {\n getItem: (key: string) => string | null;\n removeItem: (key: string) => void;\n setItem: (key: string, data: string) => void;\n}\n\nexport function createNullStorage(): Storage {\n return {\n getItem(): string | null {\n return null;\n },\n removeItem(): void {\n return;\n },\n setItem(): void {\n return;\n },\n };\n}\n","import { emit } from \"./emit/emit\";\nimport { createClientIdManager } from \"./client-id/client-id\";\nimport { createRelayEvent } from \"./event/relay-event\";\nimport { version } from \"./version\";\nimport { createMeta, Meta, EventConfig } from \"./event/meta/meta\";\nimport { createListenerManager, EventCallback } from \"./listener/listener\";\nimport { createConfigManager, RelayConfig } from \"./config/config\";\nimport { createEnvironmentManager } from \"./environment/manager/manager\";\n\ntype Off = () => void;\n\n/**\n * Relay instance.\n * This object provides a comprehensive set of variables and methods for interacting with the Event API.\n */\ninterface Relay {\n /**\n * Sends an event to the Event API.\n * @param {string} type - event's type to be emitted.\n * @param {Record<string,any>} payload - payload to include within the event.\n * @returns {void}\n */\n emit: (type: string, payload: Record<string, any>) => void;\n\n /**\n * Gets the client-side generated meta object.\n * @param {string} type - event's type that will be included in the meta object.\n * @returns {Meta}\n */\n getMeta: (type: string) => Meta;\n\n /**\n * Attaches an event callback to either all event types or a specific one.\n * The callback set will be called when an event with the specified type is emitted.\n * Setting type as \"*\" will trigger the callback for all event types.\n * Returns the \"off\" function to detach the event callback.\n * @param {string} type - event's type.\n * @param {EventCallback} callback\n * @returns {Off}\n */\n on: (type: string, callback: EventCallback) => Off;\n\n /**\n * Detach callback(s) from events.\n * If only the \"type\" parameter is set, all callbacks for the specified type will be removed.\n * @param {string} type - event's type.\n * @param {EventCallback} callback - callback that should be removed.\n * @returns {void}\n */\n off: (type: string, callback?: EventCallback) => void;\n\n /**\n * Updates Relay's configuration after its initialization.\n * @param {Partial<RelayConfig>} config - configuration that should be updated.\n * @returns {void}\n */\n updateConfig: (config: Partial<RelayConfig>) => void;\n\n /**\n * Current version of the Relay library.\n */\n version: string;\n\n /**\n * Removes the visitorId cookie and localStorage key.\n * @returns {void}\n */\n clearStorage: () => void;\n}\n\n/**\n * Initializes the Relay library object.\n * @param {RelayConfig} initialConfig\n * @returns {Relay}\n */\nexport function createRelay(initialConfig: RelayConfig): Relay {\n const configManager = createConfigManager(initialConfig);\n const listenerManager = createListenerManager();\n const environmentManager = createEnvironmentManager(configManager);\n const clientIdManager = createClientIdManager(environmentManager);\n\n return {\n emit: (type: string, payload: Record<string, any>) => {\n const config = configManager.get();\n const environment = environmentManager.get();\n\n const event = createRelayEvent(\n type,\n payload,\n config,\n environment,\n clientIdManager\n );\n\n return emit({\n config,\n environment,\n event,\n listenerManager,\n });\n },\n getMeta: (type: string) =>\n createMeta(\n type,\n configManager.get(),\n environmentManager.get(),\n clientIdManager\n ),\n on: (type: string, callback: EventCallback) =>\n listenerManager.add({ type, callback }),\n off: (type: string, callback?: EventCallback) =>\n listenerManager.remove(type, callback),\n updateConfig: (config: Partial<RelayConfig>) =>\n configManager.update(config),\n version,\n clearStorage: () => {\n clientIdManager.clear();\n },\n };\n}\n\nexport type { Relay, Meta, EventConfig, EventCallback, RelayConfig };\n","import { ClientIdManager } from \"../client-id/client-id\";\nimport { Environment } from \"../environment/environment\";\nimport { RelayPayload } from \"../internal-types\";\nimport { RelayConfig } from \"../relay\";\nimport { createMeta, Meta } from \"./meta/meta\";\n\nexport interface RelayEvent extends RelayPayload {\n meta: Readonly<Meta>;\n}\n\nexport function createRelayEvent(\n type: string,\n payload: RelayPayload,\n config: RelayConfig,\n environment: Environment,\n clientIdManager: ClientIdManager\n): Readonly<RelayEvent> {\n return {\n ...payload,\n meta: createMeta(type, config, environment, clientIdManager),\n };\n}\n","import { Environment } from \"../environment/environment\";\nimport { ListenerManager } from \"../listener/listener\";\nimport { RelayEvent } from \"../event/relay-event\";\nimport { RelayConfig } from \"../relay\";\n\nexport interface EmitParams {\n config: RelayConfig;\n environment: Environment;\n event: RelayEvent;\n listenerManager: ListenerManager;\n}\n\nexport function emit({\n config,\n environment,\n event,\n listenerManager,\n}: EmitParams) {\n const { url, token, mode } = config;\n const isEnabled = mode !== \"disabled\";\n\n if (isEnabled) {\n listenerManager.call(event);\n environment.send(url, token, event);\n }\n}\n"],"names":["REGEX","createClientIdManager","environmentManager","key","getClientId","environment","get","storage","existingClientId","getItem","clientId","uuid","test","generateUUID","setItem","clear","removeItem","version","getSource","config","source","concat","createMeta","type","clientIdManager","getReferrer","getLocation","getUserAgent","eventConfig","trackingId","getEventConfig","Object","freeze","ts","Date","now","user","userAgent","referrer","location","ANY_EVENT_TYPE","createListenerManager","listeners","getListenerIndex","callback","findIndex","listener","remove","index","splice","removeOne","length","i","removeMultiple","add","push","call","event","forEach","isMatchesType","meta","e","console","error","pick","url","token","rest","mode","cookieManager","prefix","cookiePrefix","cookieArray","document","cookie","split","prettifyCookie","replace","lastIndexOf","substring","data","expire","domain","host","parts","slice","join","getDomain","window","hostname","expireSection","getTime","toUTCString","domainSection","this","createCookieManager","buildBrowserEnvironment","runtime","send","response","navigator","sendBeacon","Blob","JSON","stringify","messenger","isBrowser","sendMessage","message","postMessage","createExplorerMessenger","kind","Error","href","crypto","randomUUID","localStorage","buildEnvironment","configManager","createRelay","initialConfig","_config","update","updatedConfig","createConfigManager","listenerManager","createEnvironmentManager","emit","payload","createRelayEvent","getMeta","on","off","updateConfig","clearStorage"],"mappings":"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","x_google_ignoreList":[0,2,9]}
|
|
1
|
+
{"version":3,"file":"relay.min.js","sources":["../../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-browser/regex.js","../../src/client-id/client-id.ts","../../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-browser/validate.js","../../src/version.ts","../../src/event/meta/meta.ts","../../src/listener/listener.ts","../../src/config/config.ts","../../src/environment/browser/storage/cookie.ts","../../src/environment/browser/browser.ts","../../../../node_modules/.pnpm/@coveo+explorer-messenger@0.1.1/node_modules/@coveo/explorer-messenger/dist/messenger.js","../../src/environment/browser/storage/storage.ts","../../src/environment/manager/manager.ts","../../src/environment/null/null.ts","../../src/environment/storage.ts","../../src/relay.ts","../../src/event/relay-event.ts","../../src/emit/emit.ts"],"sourcesContent":["export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import { validate } from \"uuid\";\nimport { EnvironmentManager } from \"../environment/manager/manager\";\n\nexport interface ClientIdManager {\n getClientId: () => string;\n clear: () => void;\n}\n\nexport function createClientIdManager(\n environmentManager: EnvironmentManager\n): ClientIdManager {\n const key = \"visitorId\";\n\n return {\n getClientId: () => {\n const environment = environmentManager.get();\n const storage = environment.storage;\n\n const existingClientId = storage.getItem(key);\n const clientId =\n existingClientId && validate(existingClientId)\n ? existingClientId\n : environment.generateUUID();\n storage.setItem(key, clientId);\n return clientId;\n },\n clear: () => {\n environmentManager.get().storage.removeItem(key);\n },\n };\n}\n","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","export const version = \"process.env.VERSION\";\n","import { ClientIdManager } from \"../../client-id/client-id\";\nimport { Environment } from \"../../environment/environment\";\nimport { RelayConfig, User } from \"../../config/config\";\nimport { version } from \"../../version\";\n\n/**\n * The `EventConfig` object provides additonal information for the configuration associated with the event.\n */\nexport interface EventConfig {\n /**\n * The unique identifier of a web property. See [Tracking ID](https://docs.coveo.com/en/n8tg0567/).\n */\n trackingId: string;\n\n /**\n * Named user identity which logged this event.\n */\n user: User | null;\n}\n\n/**\n * The `Meta` object provides a structured representation of metadata associated with an emitted event.\n */\nexport interface Meta {\n /**\n * Event's type that was emitted.\n */\n type: string;\n\n /**\n * Configuration associated with the event.\n */\n config: EventConfig;\n\n /**\n * Timestamp when the event was emitted.\n */\n ts: number;\n\n /**\n * Names and versions of the client side libraries which built and emitted this event.\n */\n source: string[];\n\n /**\n * Persistent unique identifier of a device.\n */\n clientId: string;\n\n /**\n * Browser Navigator's [user agent](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/userAgent) property if set.\n */\n userAgent: string | null;\n\n /**\n * Browser Document's [referrer](https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer) property if set.\n */\n referrer: string | null;\n\n /**\n * Browser Location's [href](https://developer.mozilla.org/en-US/docs/Web/API/Location/href) property if set.\n */\n location: string | null;\n}\n\nfunction getEventConfig(config: RelayConfig): EventConfig {\n const { trackingId } = config;\n return { trackingId, user: null };\n}\n\nfunction getSource(config: RelayConfig): string[] {\n return (config.source || []).concat([`relay@${version}`]);\n}\n\nexport function createMeta(\n type: string,\n config: RelayConfig,\n environment: Environment,\n clientIdManager: ClientIdManager\n): Readonly<Meta> {\n const { getReferrer, getLocation, getUserAgent } = environment;\n const eventConfig = getEventConfig(config);\n const clientId = clientIdManager.getClientId();\n\n return Object.freeze<Meta>({\n type,\n config: eventConfig,\n ts: Date.now(),\n source: getSource(config),\n clientId,\n userAgent: getUserAgent(),\n referrer: getReferrer(),\n location: getLocation(),\n });\n}\n","import { RelayEvent } from \"../event/relay-event\";\n\nconst ANY_EVENT_TYPE = \"*\";\n\n/**\n * Callback to perform an action when a specified event is emitted.\n * @typedef {function} EventCallback\n * @param {RelayEvent} event\n * @returns {void}\n */\nexport type EventCallback = (event: RelayEvent) => void;\n\ninterface Listener {\n type: string;\n callback: EventCallback;\n}\n\nexport interface ListenerManager {\n add: (listener: Listener) => () => void;\n call: (event: RelayEvent) => void;\n remove: (type: string, callback?: EventCallback) => void;\n}\n\nexport function createListenerManager(): ListenerManager {\n const listeners: Listener[] = [];\n\n function getListenerIndex({ type, callback }: Listener): number {\n return listeners.findIndex(\n (listener) => listener.type === type && listener.callback === callback\n );\n }\n\n function isMatchesType(listener: Listener, type: string): boolean {\n return listener.type === \"*\" || type === listener.type;\n }\n\n function add(listener: Listener): () => void {\n if (getListenerIndex(listener) < 0) {\n listeners.push(listener);\n }\n return () => remove(listener.type, listener.callback);\n }\n\n function call(event: RelayEvent) {\n listeners.forEach((listener) => {\n if (isMatchesType(listener, event.meta.type)) {\n try {\n listener.callback(event);\n } catch (e) {\n console.error(e);\n }\n }\n });\n }\n\n function removeMultiple(type: string) {\n if (type === ANY_EVENT_TYPE) {\n listeners.length = 0;\n } else {\n for (let i = listeners.length - 1; i >= 0; i--) {\n if (listeners[i].type === type) {\n listeners.splice(i, 1);\n }\n }\n }\n }\n\n function removeOne(listener: Listener) {\n const index = getListenerIndex(listener);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n }\n\n function remove(type: string, callback?: EventCallback) {\n !!callback ? removeOne({ type, callback }) : removeMultiple(type);\n }\n\n return {\n add,\n call,\n remove,\n };\n}\n","export type RelayMode = \"emit\" | \"disabled\";\n\n/**\n * The `RelayConfig` object defines the configuration options for initializing a Relay instance.\n */\nexport interface RelayConfig {\n /**\n * Endpoint defined to communicate with the Event API.\n */\n url: string;\n\n /**\n * Token to authorize the access to the Event API endpoint.\n */\n token: string;\n\n /**\n * The unique identifier of a web property. See [Tracking ID](https://docs.coveo.com/en/n8tg0567/).\n */\n trackingId: string;\n\n /**\n * Defines the library mode. The possible values are:\n * \"emit\": Sends analytics events to Coveo to be stored.\n * \"disabled\": Prevents the emission of events and does not trigger callbacks.\n * @default emit\n */\n mode?: RelayMode;\n\n /**\n * Optionally allows a Relay integration to specify the name(s) of software package(s) relay is\n * being called from. These names will be transmitted with each event, along with Relay's own\n * version. The recommendation is to specify them using a 'softwarename@softwareversion' string.\n */\n source?: string[];\n}\n\nexport interface User {\n /**\n * The application's user identifier.\n */\n id: string;\n}\n\nexport interface ConfigManager {\n get: () => Readonly<RelayConfig>;\n update: (updatedConfig: Partial<RelayConfig>) => void;\n}\n\nfunction pick({\n url,\n token,\n trackingId,\n ...rest\n}: RelayConfig): Readonly<RelayConfig> {\n return Object.freeze({\n url,\n token,\n trackingId,\n ...(!!rest.mode && { mode: rest.mode }),\n ...(!!rest.source && { source: rest.source }),\n });\n}\n\nexport function createConfigManager(\n initialConfig: RelayConfig\n): Readonly<ConfigManager> {\n let _config: Readonly<RelayConfig> = pick(initialConfig);\n\n return {\n get: () => _config,\n update: (updatedConfig: Partial<RelayConfig>) => {\n _config = pick({ ..._config, ...updatedConfig });\n },\n };\n}\n","export interface CookieManager {\n getItem: (key: string) => string | null;\n removeItem: (key: string) => void;\n setItem: (key: string, data: string, expire: number) => void;\n}\n\nexport const cookieManager: CookieManager = createCookieManager();\n\nfunction createCookieManager(): CookieManager {\n const prefix = \"coveo_\";\n const getDomain = (host: string) => {\n const parts = host.split(\".\").slice(-2);\n return parts.length == 2 ? parts.join(\".\") : \"\";\n };\n\n return {\n getItem(key: string): string | null {\n const cookiePrefix = `${prefix}${key}=`;\n const cookieArray = document.cookie.split(\";\");\n for (const cookie of cookieArray) {\n const prettifyCookie = cookie.replace(/^\\s+/, \"\");\n if (prettifyCookie.lastIndexOf(cookiePrefix, 0) === 0) {\n return prettifyCookie.substring(\n cookiePrefix.length,\n prettifyCookie.length\n );\n }\n }\n return null;\n },\n setItem(key: string, data: string, expire: number): void {\n const domain = getDomain(window.location.hostname);\n const expireSection = `;expires=${new Date(\n new Date().getTime() + expire\n ).toUTCString()}`;\n const domainSection = domain ? `;domain=${domain}` : \"\";\n document.cookie = `${prefix}${key}=${data}${expireSection}${domainSection};path=/;SameSite=Lax`;\n },\n\n removeItem(key: string): void {\n this.setItem(key, \"\", -1);\n },\n };\n}\n","import { createExplorerMessenger } from \"@coveo/explorer-messenger\";\nimport { Environment } from \"../environment\";\nimport { createBrowserStorage } from \"./storage/storage\";\nimport { RelayEvent } from \"../../event/relay-event\";\n\nfunction getReferrer() {\n const referrer = document.referrer;\n\n return referrer === \"\" ? null : referrer;\n}\n\nexport function buildBrowserEnvironment(): Environment {\n return {\n runtime: \"browser\",\n send: (url: string, token: string, event: RelayEvent) => {\n const response = navigator.sendBeacon(\n `${url}?access_token=${token}`,\n new Blob([JSON.stringify([event])], {\n type: \"application/json\",\n })\n );\n\n const messenger = createExplorerMessenger();\n messenger.sendMessage({ kind: \"EVENT_PROTOCOL\", event, url, token });\n\n if (!response) {\n throw new Error(\n `Failed to send the event(s) because the payload size exceeded the maximum allowed size (32 KB). Please contact support if the problem persists.`\n );\n }\n },\n getReferrer: () => getReferrer(),\n getLocation: () => window.location.href,\n getUserAgent: () => navigator.userAgent,\n generateUUID: () => crypto.randomUUID(),\n storage: createBrowserStorage(),\n };\n}\n","function createExplorerMessenger() {\n const isBrowser = typeof window !== \"undefined\";\n return {\n sendMessage(message) {\n isBrowser && window.postMessage(message, \"*\");\n }\n };\n}\nexport {\n createExplorerMessenger\n};\n","import { Storage } from \"../../storage\";\nimport { cookieManager } from \"./cookie\";\n\nexport function createBrowserStorage(): Storage {\n return {\n getItem(key: string): string | null {\n return cookieManager.getItem(key) || localStorage.getItem(key);\n },\n\n removeItem(key: string): void {\n cookieManager.removeItem(key);\n localStorage.removeItem(key);\n },\n\n setItem(key: string, data: string): void {\n const oneYear = 31556952000;\n localStorage.setItem(key, data);\n cookieManager.setItem(key, data, oneYear);\n },\n };\n}\n","import { ConfigManager } from \"../../config/config\";\nimport { buildBrowserEnvironment } from \"../browser/browser\";\nimport { Environment } from \"../environment\";\nimport { buildNullEnvironment } from \"../null/null\";\n\nexport interface EnvironmentManager {\n get: () => Readonly<Environment>;\n}\n\nfunction buildEnvironment(configManager: ConfigManager) {\n const active = configManager.get().mode !== \"disabled\";\n\n if (active && isBrowser()) {\n return buildBrowserEnvironment();\n }\n\n return buildNullEnvironment();\n}\n\nfunction isBrowser() {\n try {\n return typeof window === \"object\";\n } catch (e) {\n return false;\n }\n}\n\nexport function createEnvironmentManager(\n configManager: ConfigManager\n): Readonly<EnvironmentManager> {\n return {\n get: () => Object.freeze(buildEnvironment(configManager)),\n };\n}\n","import { Environment } from \"../environment\";\nimport { createNullStorage } from \"../storage\";\n\nexport function buildNullEnvironment(): Environment {\n return {\n runtime: \"null\",\n send: () => undefined,\n getReferrer: () => null,\n getLocation: () => null,\n getUserAgent: () => null,\n generateUUID: () => \"\",\n storage: createNullStorage(),\n };\n}\n","export interface Storage {\n getItem: (key: string) => string | null;\n removeItem: (key: string) => void;\n setItem: (key: string, data: string) => void;\n}\n\nexport function createNullStorage(): Storage {\n return {\n getItem(): string | null {\n return null;\n },\n removeItem(): void {\n return;\n },\n setItem(): void {\n return;\n },\n };\n}\n","import { emit } from \"./emit/emit\";\nimport { createClientIdManager } from \"./client-id/client-id\";\nimport { createRelayEvent } from \"./event/relay-event\";\nimport { version } from \"./version\";\nimport { createMeta, Meta, EventConfig } from \"./event/meta/meta\";\nimport { createListenerManager, EventCallback } from \"./listener/listener\";\nimport { createConfigManager, RelayConfig } from \"./config/config\";\nimport { createEnvironmentManager } from \"./environment/manager/manager\";\n\ntype Off = () => void;\n\n/**\n * Relay instance.\n * This object provides a comprehensive set of variables and methods for interacting with the Event API.\n */\ninterface Relay {\n /**\n * Sends an event to the Event API.\n * @param {string} type - event's type to be emitted.\n * @param {Record<string,any>} payload - payload to include within the event.\n * @returns {void}\n */\n emit: (type: string, payload: Record<string, any>) => void;\n\n /**\n * Gets the client-side generated meta object.\n * @param {string} type - event's type that will be included in the meta object.\n * @returns {Meta}\n */\n getMeta: (type: string) => Meta;\n\n /**\n * Attaches an event callback to either all event types or a specific one.\n * The callback set will be called when an event with the specified type is emitted.\n * Setting type as \"*\" will trigger the callback for all event types.\n * Returns the \"off\" function to detach the event callback.\n * @param {string} type - event's type.\n * @param {EventCallback} callback\n * @returns {Off}\n */\n on: (type: string, callback: EventCallback) => Off;\n\n /**\n * Detach callback(s) from events.\n * If only the \"type\" parameter is set, all callbacks for the specified type will be removed.\n * @param {string} type - event's type.\n * @param {EventCallback} callback - callback that should be removed.\n * @returns {void}\n */\n off: (type: string, callback?: EventCallback) => void;\n\n /**\n * Updates Relay's configuration after its initialization.\n * @param {Partial<RelayConfig>} config - configuration that should be updated.\n * @returns {void}\n */\n updateConfig: (config: Partial<RelayConfig>) => void;\n\n /**\n * Current version of the Relay library.\n */\n version: string;\n\n /**\n * Removes the visitorId cookie and localStorage key.\n * @returns {void}\n */\n clearStorage: () => void;\n}\n\n/**\n * Initializes the Relay library object.\n * @param {RelayConfig} initialConfig\n * @returns {Relay}\n */\nexport function createRelay(initialConfig: RelayConfig): Relay {\n const configManager = createConfigManager(initialConfig);\n const listenerManager = createListenerManager();\n const environmentManager = createEnvironmentManager(configManager);\n const clientIdManager = createClientIdManager(environmentManager);\n\n return {\n emit: (type: string, payload: Record<string, any>) => {\n const config = configManager.get();\n const environment = environmentManager.get();\n\n const event = createRelayEvent(\n type,\n payload,\n config,\n environment,\n clientIdManager\n );\n\n return emit({\n config,\n environment,\n event,\n listenerManager,\n });\n },\n getMeta: (type: string) =>\n createMeta(\n type,\n configManager.get(),\n environmentManager.get(),\n clientIdManager\n ),\n on: (type: string, callback: EventCallback) =>\n listenerManager.add({ type, callback }),\n off: (type: string, callback?: EventCallback) =>\n listenerManager.remove(type, callback),\n updateConfig: (config: Partial<RelayConfig>) =>\n configManager.update(config),\n version,\n clearStorage: () => {\n clientIdManager.clear();\n },\n };\n}\n\nexport type { Relay, Meta, EventConfig, EventCallback, RelayConfig };\n","import { ClientIdManager } from \"../client-id/client-id\";\nimport { Environment } from \"../environment/environment\";\nimport { RelayPayload } from \"../internal-types\";\nimport { RelayConfig } from \"../relay\";\nimport { createMeta, Meta } from \"./meta/meta\";\n\nexport interface RelayEvent extends RelayPayload {\n meta: Readonly<Meta>;\n}\n\nexport function createRelayEvent(\n type: string,\n payload: RelayPayload,\n config: RelayConfig,\n environment: Environment,\n clientIdManager: ClientIdManager\n): Readonly<RelayEvent> {\n return {\n ...payload,\n meta: createMeta(type, config, environment, clientIdManager),\n };\n}\n","import { Environment } from \"../environment/environment\";\nimport { ListenerManager } from \"../listener/listener\";\nimport { RelayEvent } from \"../event/relay-event\";\nimport { RelayConfig } from \"../relay\";\n\nexport interface EmitParams {\n config: RelayConfig;\n environment: Environment;\n event: RelayEvent;\n listenerManager: ListenerManager;\n}\n\nexport function emit({\n config,\n environment,\n event,\n listenerManager,\n}: EmitParams) {\n const { url, token, mode } = config;\n const isEnabled = mode !== \"disabled\";\n\n if (isEnabled) {\n listenerManager.call(event);\n environment.send(url, token, event);\n }\n}\n"],"names":["REGEX","createClientIdManager","environmentManager","key","getClientId","environment","get","storage","existingClientId","getItem","clientId","uuid","test","generateUUID","setItem","clear","removeItem","version","getSource","config","source","concat","createMeta","type","clientIdManager","getReferrer","getLocation","getUserAgent","eventConfig","trackingId","user","getEventConfig","Object","freeze","ts","Date","now","userAgent","referrer","location","ANY_EVENT_TYPE","createListenerManager","listeners","getListenerIndex","callback","findIndex","listener","remove","index","splice","removeOne","length","i","removeMultiple","add","push","call","event","forEach","isMatchesType","meta","e","console","error","pick","url","token","rest","mode","cookieManager","prefix","cookiePrefix","cookieArray","document","cookie","split","prettifyCookie","replace","lastIndexOf","substring","data","expire","domain","host","parts","slice","join","getDomain","window","hostname","expireSection","getTime","toUTCString","domainSection","this","createCookieManager","buildBrowserEnvironment","runtime","send","response","navigator","sendBeacon","Blob","JSON","stringify","messenger","isBrowser","sendMessage","message","postMessage","createExplorerMessenger","kind","Error","href","crypto","randomUUID","localStorage","buildEnvironment","configManager","createRelay","initialConfig","_config","update","updatedConfig","createConfigManager","listenerManager","createEnvironmentManager","emit","payload","createRelayEvent","getMeta","on","off","updateConfig","clearStorage"],"mappings":"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","x_google_ignoreList":[0,2,9]}
|
|
@@ -9,6 +9,10 @@ export interface EventConfig {
|
|
|
9
9
|
* The unique identifier of a web property. See [Tracking ID](https://docs.coveo.com/en/n8tg0567/).
|
|
10
10
|
*/
|
|
11
11
|
trackingId: string;
|
|
12
|
+
/**
|
|
13
|
+
* Named user identity which logged this event.
|
|
14
|
+
*/
|
|
15
|
+
user: User | null;
|
|
12
16
|
}
|
|
13
17
|
/**
|
|
14
18
|
* The `Meta` object provides a structured representation of metadata associated with an emitted event.
|
|
@@ -34,10 +38,6 @@ export interface Meta {
|
|
|
34
38
|
* Persistent unique identifier of a device.
|
|
35
39
|
*/
|
|
36
40
|
clientId: string;
|
|
37
|
-
/**
|
|
38
|
-
* Named user identity which logged this event.
|
|
39
|
-
*/
|
|
40
|
-
user: User | null;
|
|
41
41
|
/**
|
|
42
42
|
* Browser Navigator's [user agent](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/userAgent) property if set.
|
|
43
43
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../src/event/meta/meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../src/event/meta/meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC;IAEpB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAWD,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,GAC/B,QAAQ,CAAC,IAAI,CAAC,CAehB"}
|
package/lib/docs/relay-docs.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"flags": {},
|
|
7
7
|
"children": [
|
|
8
8
|
{
|
|
9
|
-
"id":
|
|
9
|
+
"id": 41,
|
|
10
10
|
"name": "EventConfig",
|
|
11
11
|
"variant": "declaration",
|
|
12
12
|
"kind": 256,
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
},
|
|
30
30
|
"children": [
|
|
31
31
|
{
|
|
32
|
-
"id":
|
|
32
|
+
"id": 42,
|
|
33
33
|
"name": "trackingId",
|
|
34
34
|
"variant": "declaration",
|
|
35
35
|
"kind": 1024,
|
|
@@ -47,19 +47,61 @@
|
|
|
47
47
|
"fileName": "event/meta/meta.ts",
|
|
48
48
|
"line": 13,
|
|
49
49
|
"character": 2,
|
|
50
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
50
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/event/meta/meta.ts#L13"
|
|
51
51
|
}
|
|
52
52
|
],
|
|
53
53
|
"type": {
|
|
54
54
|
"type": "intrinsic",
|
|
55
55
|
"name": "string"
|
|
56
56
|
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": 43,
|
|
60
|
+
"name": "user",
|
|
61
|
+
"variant": "declaration",
|
|
62
|
+
"kind": 1024,
|
|
63
|
+
"flags": {},
|
|
64
|
+
"comment": {
|
|
65
|
+
"summary": [
|
|
66
|
+
{
|
|
67
|
+
"kind": "text",
|
|
68
|
+
"text": "Named user identity which logged this event."
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
"sources": [
|
|
73
|
+
{
|
|
74
|
+
"fileName": "event/meta/meta.ts",
|
|
75
|
+
"line": 18,
|
|
76
|
+
"character": 2,
|
|
77
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/event/meta/meta.ts#L18"
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
"type": {
|
|
81
|
+
"type": "union",
|
|
82
|
+
"types": [
|
|
83
|
+
{
|
|
84
|
+
"type": "literal",
|
|
85
|
+
"value": null
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"type": "reference",
|
|
89
|
+
"target": {
|
|
90
|
+
"sourceFileName": "src/config/config.ts",
|
|
91
|
+
"qualifiedName": "User"
|
|
92
|
+
},
|
|
93
|
+
"name": "User",
|
|
94
|
+
"package": "@coveo/relay"
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
}
|
|
57
98
|
}
|
|
58
99
|
],
|
|
59
100
|
"groups": [
|
|
60
101
|
{
|
|
61
102
|
"title": "Properties",
|
|
62
103
|
"children": [
|
|
104
|
+
42,
|
|
63
105
|
43
|
|
64
106
|
]
|
|
65
107
|
}
|
|
@@ -69,7 +111,7 @@
|
|
|
69
111
|
"fileName": "event/meta/meta.ts",
|
|
70
112
|
"line": 9,
|
|
71
113
|
"character": 17,
|
|
72
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
114
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/event/meta/meta.ts#L9"
|
|
73
115
|
}
|
|
74
116
|
]
|
|
75
117
|
},
|
|
@@ -113,9 +155,9 @@
|
|
|
113
155
|
"sources": [
|
|
114
156
|
{
|
|
115
157
|
"fileName": "event/meta/meta.ts",
|
|
116
|
-
"line":
|
|
158
|
+
"line": 48,
|
|
117
159
|
"character": 2,
|
|
118
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
160
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/event/meta/meta.ts#L48"
|
|
119
161
|
}
|
|
120
162
|
],
|
|
121
163
|
"type": {
|
|
@@ -140,20 +182,20 @@
|
|
|
140
182
|
"sources": [
|
|
141
183
|
{
|
|
142
184
|
"fileName": "event/meta/meta.ts",
|
|
143
|
-
"line":
|
|
185
|
+
"line": 33,
|
|
144
186
|
"character": 2,
|
|
145
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
187
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/event/meta/meta.ts#L33"
|
|
146
188
|
}
|
|
147
189
|
],
|
|
148
190
|
"type": {
|
|
149
191
|
"type": "reference",
|
|
150
|
-
"target":
|
|
192
|
+
"target": 41,
|
|
151
193
|
"name": "EventConfig",
|
|
152
194
|
"package": "@coveo/relay"
|
|
153
195
|
}
|
|
154
196
|
},
|
|
155
197
|
{
|
|
156
|
-
"id":
|
|
198
|
+
"id": 40,
|
|
157
199
|
"name": "location",
|
|
158
200
|
"variant": "declaration",
|
|
159
201
|
"kind": 1024,
|
|
@@ -171,7 +213,7 @@
|
|
|
171
213
|
"fileName": "event/meta/meta.ts",
|
|
172
214
|
"line": 63,
|
|
173
215
|
"character": 2,
|
|
174
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
216
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/event/meta/meta.ts#L63"
|
|
175
217
|
}
|
|
176
218
|
],
|
|
177
219
|
"type": {
|
|
@@ -189,7 +231,7 @@
|
|
|
189
231
|
}
|
|
190
232
|
},
|
|
191
233
|
{
|
|
192
|
-
"id":
|
|
234
|
+
"id": 39,
|
|
193
235
|
"name": "referrer",
|
|
194
236
|
"variant": "declaration",
|
|
195
237
|
"kind": 1024,
|
|
@@ -207,7 +249,7 @@
|
|
|
207
249
|
"fileName": "event/meta/meta.ts",
|
|
208
250
|
"line": 58,
|
|
209
251
|
"character": 2,
|
|
210
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
252
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/event/meta/meta.ts#L58"
|
|
211
253
|
}
|
|
212
254
|
],
|
|
213
255
|
"type": {
|
|
@@ -241,9 +283,9 @@
|
|
|
241
283
|
"sources": [
|
|
242
284
|
{
|
|
243
285
|
"fileName": "event/meta/meta.ts",
|
|
244
|
-
"line":
|
|
286
|
+
"line": 43,
|
|
245
287
|
"character": 2,
|
|
246
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
288
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/event/meta/meta.ts#L43"
|
|
247
289
|
}
|
|
248
290
|
],
|
|
249
291
|
"type": {
|
|
@@ -271,9 +313,9 @@
|
|
|
271
313
|
"sources": [
|
|
272
314
|
{
|
|
273
315
|
"fileName": "event/meta/meta.ts",
|
|
274
|
-
"line":
|
|
316
|
+
"line": 38,
|
|
275
317
|
"character": 2,
|
|
276
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
318
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/event/meta/meta.ts#L38"
|
|
277
319
|
}
|
|
278
320
|
],
|
|
279
321
|
"type": {
|
|
@@ -298,9 +340,9 @@
|
|
|
298
340
|
"sources": [
|
|
299
341
|
{
|
|
300
342
|
"fileName": "event/meta/meta.ts",
|
|
301
|
-
"line":
|
|
343
|
+
"line": 28,
|
|
302
344
|
"character": 2,
|
|
303
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
345
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/event/meta/meta.ts#L28"
|
|
304
346
|
}
|
|
305
347
|
],
|
|
306
348
|
"type": {
|
|
@@ -310,47 +352,6 @@
|
|
|
310
352
|
},
|
|
311
353
|
{
|
|
312
354
|
"id": 38,
|
|
313
|
-
"name": "user",
|
|
314
|
-
"variant": "declaration",
|
|
315
|
-
"kind": 1024,
|
|
316
|
-
"flags": {},
|
|
317
|
-
"comment": {
|
|
318
|
-
"summary": [
|
|
319
|
-
{
|
|
320
|
-
"kind": "text",
|
|
321
|
-
"text": "Named user identity which logged this event."
|
|
322
|
-
}
|
|
323
|
-
]
|
|
324
|
-
},
|
|
325
|
-
"sources": [
|
|
326
|
-
{
|
|
327
|
-
"fileName": "event/meta/meta.ts",
|
|
328
|
-
"line": 48,
|
|
329
|
-
"character": 2,
|
|
330
|
-
"url": "https://github.com/coveo/relay/blob/540ceec/packages/relay/src/event/meta/meta.ts#L48"
|
|
331
|
-
}
|
|
332
|
-
],
|
|
333
|
-
"type": {
|
|
334
|
-
"type": "union",
|
|
335
|
-
"types": [
|
|
336
|
-
{
|
|
337
|
-
"type": "literal",
|
|
338
|
-
"value": null
|
|
339
|
-
},
|
|
340
|
-
{
|
|
341
|
-
"type": "reference",
|
|
342
|
-
"target": {
|
|
343
|
-
"sourceFileName": "src/config/config.ts",
|
|
344
|
-
"qualifiedName": "User"
|
|
345
|
-
},
|
|
346
|
-
"name": "User",
|
|
347
|
-
"package": "@coveo/relay"
|
|
348
|
-
}
|
|
349
|
-
]
|
|
350
|
-
}
|
|
351
|
-
},
|
|
352
|
-
{
|
|
353
|
-
"id": 39,
|
|
354
355
|
"name": "userAgent",
|
|
355
356
|
"variant": "declaration",
|
|
356
357
|
"kind": 1024,
|
|
@@ -368,7 +369,7 @@
|
|
|
368
369
|
"fileName": "event/meta/meta.ts",
|
|
369
370
|
"line": 53,
|
|
370
371
|
"character": 2,
|
|
371
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
372
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/event/meta/meta.ts#L53"
|
|
372
373
|
}
|
|
373
374
|
],
|
|
374
375
|
"type": {
|
|
@@ -392,22 +393,21 @@
|
|
|
392
393
|
"children": [
|
|
393
394
|
37,
|
|
394
395
|
34,
|
|
395
|
-
41,
|
|
396
396
|
40,
|
|
397
|
+
39,
|
|
397
398
|
36,
|
|
398
399
|
35,
|
|
399
400
|
33,
|
|
400
|
-
38
|
|
401
|
-
39
|
|
401
|
+
38
|
|
402
402
|
]
|
|
403
403
|
}
|
|
404
404
|
],
|
|
405
405
|
"sources": [
|
|
406
406
|
{
|
|
407
407
|
"fileName": "event/meta/meta.ts",
|
|
408
|
-
"line":
|
|
408
|
+
"line": 24,
|
|
409
409
|
"character": 17,
|
|
410
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
410
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/event/meta/meta.ts#L24"
|
|
411
411
|
}
|
|
412
412
|
]
|
|
413
413
|
},
|
|
@@ -437,7 +437,7 @@
|
|
|
437
437
|
"fileName": "relay.ts",
|
|
438
438
|
"line": 68,
|
|
439
439
|
"character": 2,
|
|
440
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
440
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L68"
|
|
441
441
|
}
|
|
442
442
|
],
|
|
443
443
|
"type": {
|
|
@@ -453,7 +453,7 @@
|
|
|
453
453
|
"fileName": "relay.ts",
|
|
454
454
|
"line": 68,
|
|
455
455
|
"character": 16,
|
|
456
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
456
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L68"
|
|
457
457
|
}
|
|
458
458
|
],
|
|
459
459
|
"signatures": [
|
|
@@ -482,7 +482,7 @@
|
|
|
482
482
|
"fileName": "relay.ts",
|
|
483
483
|
"line": 68,
|
|
484
484
|
"character": 16,
|
|
485
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
485
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L68"
|
|
486
486
|
}
|
|
487
487
|
],
|
|
488
488
|
"type": {
|
|
@@ -505,7 +505,7 @@
|
|
|
505
505
|
"fileName": "relay.ts",
|
|
506
506
|
"line": 23,
|
|
507
507
|
"character": 2,
|
|
508
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
508
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L23"
|
|
509
509
|
}
|
|
510
510
|
],
|
|
511
511
|
"type": {
|
|
@@ -521,7 +521,7 @@
|
|
|
521
521
|
"fileName": "relay.ts",
|
|
522
522
|
"line": 23,
|
|
523
523
|
"character": 8,
|
|
524
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
524
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L23"
|
|
525
525
|
}
|
|
526
526
|
],
|
|
527
527
|
"signatures": [
|
|
@@ -550,7 +550,7 @@
|
|
|
550
550
|
"fileName": "relay.ts",
|
|
551
551
|
"line": 23,
|
|
552
552
|
"character": 8,
|
|
553
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
553
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L23"
|
|
554
554
|
}
|
|
555
555
|
],
|
|
556
556
|
"parameters": [
|
|
@@ -628,7 +628,7 @@
|
|
|
628
628
|
"fileName": "relay.ts",
|
|
629
629
|
"line": 30,
|
|
630
630
|
"character": 2,
|
|
631
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
631
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L30"
|
|
632
632
|
}
|
|
633
633
|
],
|
|
634
634
|
"type": {
|
|
@@ -644,7 +644,7 @@
|
|
|
644
644
|
"fileName": "relay.ts",
|
|
645
645
|
"line": 30,
|
|
646
646
|
"character": 11,
|
|
647
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
647
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L30"
|
|
648
648
|
}
|
|
649
649
|
],
|
|
650
650
|
"signatures": [
|
|
@@ -673,7 +673,7 @@
|
|
|
673
673
|
"fileName": "relay.ts",
|
|
674
674
|
"line": 30,
|
|
675
675
|
"character": 11,
|
|
676
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
676
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L30"
|
|
677
677
|
}
|
|
678
678
|
],
|
|
679
679
|
"parameters": [
|
|
@@ -719,7 +719,7 @@
|
|
|
719
719
|
"fileName": "relay.ts",
|
|
720
720
|
"line": 50,
|
|
721
721
|
"character": 2,
|
|
722
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
722
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L50"
|
|
723
723
|
}
|
|
724
724
|
],
|
|
725
725
|
"type": {
|
|
@@ -735,7 +735,7 @@
|
|
|
735
735
|
"fileName": "relay.ts",
|
|
736
736
|
"line": 50,
|
|
737
737
|
"character": 7,
|
|
738
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
738
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L50"
|
|
739
739
|
}
|
|
740
740
|
],
|
|
741
741
|
"signatures": [
|
|
@@ -764,7 +764,7 @@
|
|
|
764
764
|
"fileName": "relay.ts",
|
|
765
765
|
"line": 50,
|
|
766
766
|
"character": 7,
|
|
767
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
767
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L50"
|
|
768
768
|
}
|
|
769
769
|
],
|
|
770
770
|
"parameters": [
|
|
@@ -831,7 +831,7 @@
|
|
|
831
831
|
"fileName": "relay.ts",
|
|
832
832
|
"line": 41,
|
|
833
833
|
"character": 2,
|
|
834
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
834
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L41"
|
|
835
835
|
}
|
|
836
836
|
],
|
|
837
837
|
"type": {
|
|
@@ -847,7 +847,7 @@
|
|
|
847
847
|
"fileName": "relay.ts",
|
|
848
848
|
"line": 41,
|
|
849
849
|
"character": 6,
|
|
850
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
850
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L41"
|
|
851
851
|
}
|
|
852
852
|
],
|
|
853
853
|
"signatures": [
|
|
@@ -876,7 +876,7 @@
|
|
|
876
876
|
"fileName": "relay.ts",
|
|
877
877
|
"line": 41,
|
|
878
878
|
"character": 6,
|
|
879
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
879
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L41"
|
|
880
880
|
}
|
|
881
881
|
],
|
|
882
882
|
"parameters": [
|
|
@@ -938,7 +938,7 @@
|
|
|
938
938
|
"fileName": "relay.ts",
|
|
939
939
|
"line": 57,
|
|
940
940
|
"character": 2,
|
|
941
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
941
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L57"
|
|
942
942
|
}
|
|
943
943
|
],
|
|
944
944
|
"type": {
|
|
@@ -954,7 +954,7 @@
|
|
|
954
954
|
"fileName": "relay.ts",
|
|
955
955
|
"line": 57,
|
|
956
956
|
"character": 16,
|
|
957
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
957
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L57"
|
|
958
958
|
}
|
|
959
959
|
],
|
|
960
960
|
"signatures": [
|
|
@@ -983,7 +983,7 @@
|
|
|
983
983
|
"fileName": "relay.ts",
|
|
984
984
|
"line": 57,
|
|
985
985
|
"character": 16,
|
|
986
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
986
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L57"
|
|
987
987
|
}
|
|
988
988
|
],
|
|
989
989
|
"parameters": [
|
|
@@ -1048,7 +1048,7 @@
|
|
|
1048
1048
|
"fileName": "relay.ts",
|
|
1049
1049
|
"line": 62,
|
|
1050
1050
|
"character": 2,
|
|
1051
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1051
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L62"
|
|
1052
1052
|
}
|
|
1053
1053
|
],
|
|
1054
1054
|
"type": {
|
|
@@ -1076,7 +1076,7 @@
|
|
|
1076
1076
|
"fileName": "relay.ts",
|
|
1077
1077
|
"line": 16,
|
|
1078
1078
|
"character": 10,
|
|
1079
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1079
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L16"
|
|
1080
1080
|
}
|
|
1081
1081
|
]
|
|
1082
1082
|
},
|
|
@@ -1135,7 +1135,7 @@
|
|
|
1135
1135
|
"fileName": "config/config.ts",
|
|
1136
1136
|
"line": 28,
|
|
1137
1137
|
"character": 2,
|
|
1138
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1138
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/config/config.ts#L28"
|
|
1139
1139
|
}
|
|
1140
1140
|
],
|
|
1141
1141
|
"type": {
|
|
@@ -1169,7 +1169,7 @@
|
|
|
1169
1169
|
"fileName": "config/config.ts",
|
|
1170
1170
|
"line": 35,
|
|
1171
1171
|
"character": 2,
|
|
1172
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1172
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/config/config.ts#L35"
|
|
1173
1173
|
}
|
|
1174
1174
|
],
|
|
1175
1175
|
"type": {
|
|
@@ -1199,7 +1199,7 @@
|
|
|
1199
1199
|
"fileName": "config/config.ts",
|
|
1200
1200
|
"line": 15,
|
|
1201
1201
|
"character": 2,
|
|
1202
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1202
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/config/config.ts#L15"
|
|
1203
1203
|
}
|
|
1204
1204
|
],
|
|
1205
1205
|
"type": {
|
|
@@ -1226,7 +1226,7 @@
|
|
|
1226
1226
|
"fileName": "config/config.ts",
|
|
1227
1227
|
"line": 20,
|
|
1228
1228
|
"character": 2,
|
|
1229
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1229
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/config/config.ts#L20"
|
|
1230
1230
|
}
|
|
1231
1231
|
],
|
|
1232
1232
|
"type": {
|
|
@@ -1253,7 +1253,7 @@
|
|
|
1253
1253
|
"fileName": "config/config.ts",
|
|
1254
1254
|
"line": 10,
|
|
1255
1255
|
"character": 2,
|
|
1256
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1256
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/config/config.ts#L10"
|
|
1257
1257
|
}
|
|
1258
1258
|
],
|
|
1259
1259
|
"type": {
|
|
@@ -1279,7 +1279,7 @@
|
|
|
1279
1279
|
"fileName": "config/config.ts",
|
|
1280
1280
|
"line": 6,
|
|
1281
1281
|
"character": 17,
|
|
1282
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1282
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/config/config.ts#L6"
|
|
1283
1283
|
}
|
|
1284
1284
|
]
|
|
1285
1285
|
},
|
|
@@ -1294,7 +1294,7 @@
|
|
|
1294
1294
|
"fileName": "listener/listener.ts",
|
|
1295
1295
|
"line": 11,
|
|
1296
1296
|
"character": 12,
|
|
1297
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1297
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/listener/listener.ts#L11"
|
|
1298
1298
|
}
|
|
1299
1299
|
],
|
|
1300
1300
|
"type": {
|
|
@@ -1310,7 +1310,7 @@
|
|
|
1310
1310
|
"fileName": "listener/listener.ts",
|
|
1311
1311
|
"line": 11,
|
|
1312
1312
|
"character": 28,
|
|
1313
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1313
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/listener/listener.ts#L11"
|
|
1314
1314
|
}
|
|
1315
1315
|
],
|
|
1316
1316
|
"signatures": [
|
|
@@ -1372,7 +1372,7 @@
|
|
|
1372
1372
|
"fileName": "relay.ts",
|
|
1373
1373
|
"line": 76,
|
|
1374
1374
|
"character": 16,
|
|
1375
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1375
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L76"
|
|
1376
1376
|
}
|
|
1377
1377
|
],
|
|
1378
1378
|
"signatures": [
|
|
@@ -1401,7 +1401,7 @@
|
|
|
1401
1401
|
"fileName": "relay.ts",
|
|
1402
1402
|
"line": 76,
|
|
1403
1403
|
"character": 16,
|
|
1404
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1404
|
+
"url": "https://github.com/coveo/relay/blob/d9c8da6/packages/relay/src/relay.ts#L76"
|
|
1405
1405
|
}
|
|
1406
1406
|
],
|
|
1407
1407
|
"parameters": [
|
|
@@ -1433,7 +1433,7 @@
|
|
|
1433
1433
|
{
|
|
1434
1434
|
"title": "Interfaces",
|
|
1435
1435
|
"children": [
|
|
1436
|
-
|
|
1436
|
+
41,
|
|
1437
1437
|
32,
|
|
1438
1438
|
4,
|
|
1439
1439
|
48
|
|
@@ -1453,7 +1453,7 @@
|
|
|
1453
1453
|
}
|
|
1454
1454
|
],
|
|
1455
1455
|
"packageName": "@coveo/relay",
|
|
1456
|
-
"packageVersion": "0.7.
|
|
1456
|
+
"packageVersion": "0.7.2",
|
|
1457
1457
|
"readme": [
|
|
1458
1458
|
{
|
|
1459
1459
|
"kind": "text",
|
|
@@ -1655,27 +1655,27 @@
|
|
|
1655
1655
|
},
|
|
1656
1656
|
"38": {
|
|
1657
1657
|
"sourceFileName": "src/event/meta/meta.ts",
|
|
1658
|
-
"qualifiedName": "Meta.
|
|
1658
|
+
"qualifiedName": "Meta.userAgent"
|
|
1659
1659
|
},
|
|
1660
1660
|
"39": {
|
|
1661
1661
|
"sourceFileName": "src/event/meta/meta.ts",
|
|
1662
|
-
"qualifiedName": "Meta.
|
|
1662
|
+
"qualifiedName": "Meta.referrer"
|
|
1663
1663
|
},
|
|
1664
1664
|
"40": {
|
|
1665
1665
|
"sourceFileName": "src/event/meta/meta.ts",
|
|
1666
|
-
"qualifiedName": "Meta.
|
|
1666
|
+
"qualifiedName": "Meta.location"
|
|
1667
1667
|
},
|
|
1668
1668
|
"41": {
|
|
1669
1669
|
"sourceFileName": "src/event/meta/meta.ts",
|
|
1670
|
-
"qualifiedName": "
|
|
1670
|
+
"qualifiedName": "EventConfig"
|
|
1671
1671
|
},
|
|
1672
1672
|
"42": {
|
|
1673
1673
|
"sourceFileName": "src/event/meta/meta.ts",
|
|
1674
|
-
"qualifiedName": "EventConfig"
|
|
1674
|
+
"qualifiedName": "EventConfig.trackingId"
|
|
1675
1675
|
},
|
|
1676
1676
|
"43": {
|
|
1677
1677
|
"sourceFileName": "src/event/meta/meta.ts",
|
|
1678
|
-
"qualifiedName": "EventConfig.
|
|
1678
|
+
"qualifiedName": "EventConfig.user"
|
|
1679
1679
|
},
|
|
1680
1680
|
"44": {
|
|
1681
1681
|
"sourceFileName": "src/listener/listener.ts",
|
package/lib/relay.cjs
CHANGED
|
@@ -34,11 +34,11 @@ function createClientIdManager(environmentManager) {
|
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
const version = "0.7.
|
|
37
|
+
const version = "0.7.2";
|
|
38
38
|
|
|
39
39
|
function getEventConfig(config) {
|
|
40
40
|
const { trackingId } = config;
|
|
41
|
-
return { trackingId };
|
|
41
|
+
return { trackingId, user: null };
|
|
42
42
|
}
|
|
43
43
|
function getSource(config) {
|
|
44
44
|
return (config.source || []).concat([`relay@${version}`]);
|
|
@@ -53,7 +53,6 @@ function createMeta(type, config, environment, clientIdManager) {
|
|
|
53
53
|
ts: Date.now(),
|
|
54
54
|
source: getSource(config),
|
|
55
55
|
clientId,
|
|
56
|
-
user: null,
|
|
57
56
|
userAgent: getUserAgent(),
|
|
58
57
|
referrer: getReferrer(),
|
|
59
58
|
location: getLocation(),
|
package/lib/relay.js
CHANGED
|
@@ -32,11 +32,11 @@ function createClientIdManager(environmentManager) {
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
const version = "0.7.
|
|
35
|
+
const version = "0.7.2";
|
|
36
36
|
|
|
37
37
|
function getEventConfig(config) {
|
|
38
38
|
const { trackingId } = config;
|
|
39
|
-
return { trackingId };
|
|
39
|
+
return { trackingId, user: null };
|
|
40
40
|
}
|
|
41
41
|
function getSource(config) {
|
|
42
42
|
return (config.source || []).concat([`relay@${version}`]);
|
|
@@ -51,7 +51,6 @@ function createMeta(type, config, environment, clientIdManager) {
|
|
|
51
51
|
ts: Date.now(),
|
|
52
52
|
source: getSource(config),
|
|
53
53
|
clientId,
|
|
54
|
-
user: null,
|
|
55
54
|
userAgent: getUserAgent(),
|
|
56
55
|
referrer: getReferrer(),
|
|
57
56
|
location: getLocation(),
|
package/lib/relay.mjs
CHANGED
|
@@ -32,11 +32,11 @@ function createClientIdManager(environmentManager) {
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
const version = "0.7.
|
|
35
|
+
const version = "0.7.2";
|
|
36
36
|
|
|
37
37
|
function getEventConfig(config) {
|
|
38
38
|
const { trackingId } = config;
|
|
39
|
-
return { trackingId };
|
|
39
|
+
return { trackingId, user: null };
|
|
40
40
|
}
|
|
41
41
|
function getSource(config) {
|
|
42
42
|
return (config.source || []).concat([`relay@${version}`]);
|
|
@@ -51,7 +51,6 @@ function createMeta(type, config, environment, clientIdManager) {
|
|
|
51
51
|
ts: Date.now(),
|
|
52
52
|
source: getSource(config),
|
|
53
53
|
clientId,
|
|
54
|
-
user: null,
|
|
55
54
|
userAgent: getUserAgent(),
|
|
56
55
|
referrer: getReferrer(),
|
|
57
56
|
location: getLocation(),
|
|
@@ -9,6 +9,10 @@ export interface EventConfig {
|
|
|
9
9
|
* The unique identifier of a web property. See [Tracking ID](https://docs.coveo.com/en/n8tg0567/).
|
|
10
10
|
*/
|
|
11
11
|
trackingId: string;
|
|
12
|
+
/**
|
|
13
|
+
* Named user identity which logged this event.
|
|
14
|
+
*/
|
|
15
|
+
user: User | null;
|
|
12
16
|
}
|
|
13
17
|
/**
|
|
14
18
|
* The `Meta` object provides a structured representation of metadata associated with an emitted event.
|
|
@@ -34,10 +38,6 @@ export interface Meta {
|
|
|
34
38
|
* Persistent unique identifier of a device.
|
|
35
39
|
*/
|
|
36
40
|
clientId: string;
|
|
37
|
-
/**
|
|
38
|
-
* Named user identity which logged this event.
|
|
39
|
-
*/
|
|
40
|
-
user: User | null;
|
|
41
41
|
/**
|
|
42
42
|
* Browser Navigator's [user agent](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/userAgent) property if set.
|
|
43
43
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../src/event/meta/meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../src/event/meta/meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC;IAEpB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAWD,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,GAC/B,QAAQ,CAAC,IAAI,CAAC,CAehB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coveo/relay",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.2",
|
|
4
4
|
"description": "A library for sending analytics events using Coveo's Event protocol.",
|
|
5
5
|
"files": [
|
|
6
6
|
"lib/**/*"
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
"ts-jest": "^29.1.1",
|
|
54
54
|
"typedoc": "^0.25.3",
|
|
55
55
|
"typescript": "^5.1.6",
|
|
56
|
-
"
|
|
57
|
-
"
|
|
56
|
+
"tsconfig": "0.0.0",
|
|
57
|
+
"eslint-config-custom": "0.0.0"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"@coveo/explorer-messenger": "^0.1.1",
|