@coveo/relay 0.6.12 → 0.7.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/lib/cdn/relay.min.js +1 -1
- package/lib/cdn/relay.min.js.map +1 -1
- package/lib/cdn/types/emit/emit.d.ts +1 -1
- package/lib/cdn/types/emit/emit.d.ts.map +1 -1
- package/lib/cdn/types/environment/environment.d.ts +1 -1
- package/lib/cdn/types/environment/environment.d.ts.map +1 -1
- package/lib/cdn/types/relay.d.ts +2 -2
- package/lib/cdn/types/relay.d.ts.map +1 -1
- package/lib/docs/relay-docs.json +44 -55
- package/lib/relay.cjs +4 -4
- package/lib/relay.js +4 -4
- package/lib/relay.mjs +4 -4
- package/lib/types/emit/emit.d.ts +1 -1
- package/lib/types/emit/emit.d.ts.map +1 -1
- package/lib/types/environment/environment.d.ts +1 -1
- package/lib/types/environment/environment.d.ts.map +1 -1
- package/lib/types/relay.d.ts +2 -2
- package/lib/types/relay.d.ts.map +1 -1
- package/package.json +1 -1
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(
|
|
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(i=c)&&e.test(i))?c:r.generateUUID();var i;return o.setItem(n,a),a},clear:()=>{t.get().storage.removeItem(n)}}}const n="0.7.0";function r(e){return(e.source||[]).concat([`relay@${n}`])}function o(e,t,n,o){const{getReferrer:c,getLocation:a,getUserAgent:i}=n,s=function(e){const{trackingId:t}=e;return{trackingId:t}}(t),u=o.getClientId();return Object.freeze({type:e,config:s,ts:Date.now(),source:r(t),clientId:u,userAgent:i(),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 i({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 s=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=>s.getItem(e)||localStorage.getItem(e),removeItem(e){s.removeItem(e),localStorage.removeItem(e)},setItem(e,t){localStorage.setItem(e,t),s.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=i(e);return{get:()=>t,update:e=>{t=i({...t,...e})}}}(e),c=a(),s=function(e){return{get:()=>Object.freeze(l(e))}}(r),u=t(s);return{emit:(e,t)=>{const n=r.get(),a=s.get(),i=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:i,listenerManager:c})},getMeta:e=>o(e,r.get(),s.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 } 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 * 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 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 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: async (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: async () => 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 {Promise<void>}\n */\n emit: (type: string, payload: Record<string, any>) => Promise<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 async 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","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","async","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 } 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 * 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 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 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","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]}
|
|
@@ -8,5 +8,5 @@ export interface EmitParams {
|
|
|
8
8
|
event: RelayEvent;
|
|
9
9
|
listenerManager: ListenerManager;
|
|
10
10
|
}
|
|
11
|
-
export declare function emit({ config, environment, event, listenerManager, }: EmitParams):
|
|
11
|
+
export declare function emit({ config, environment, event, listenerManager, }: EmitParams): void;
|
|
12
12
|
//# sourceMappingURL=emit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../../src/emit/emit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,
|
|
1
|
+
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../../src/emit/emit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,wBAAgB,IAAI,CAAC,EACnB,MAAM,EACN,WAAW,EACX,KAAK,EACL,eAAe,GAChB,EAAE,UAAU,QAQZ"}
|
|
@@ -2,7 +2,7 @@ import { RelayEvent } from "../event/relay-event";
|
|
|
2
2
|
import { Storage } from "./storage";
|
|
3
3
|
export interface Environment {
|
|
4
4
|
runtime: "browser" | "null";
|
|
5
|
-
send: (url: string, token: string, event: RelayEvent) =>
|
|
5
|
+
send: (url: string, token: string, event: RelayEvent) => void;
|
|
6
6
|
getReferrer: () => string | null;
|
|
7
7
|
getLocation: () => string | null;
|
|
8
8
|
getUserAgent: () => string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../src/environment/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../src/environment/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9D,WAAW,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB"}
|
package/lib/cdn/types/relay.d.ts
CHANGED
|
@@ -11,9 +11,9 @@ interface Relay {
|
|
|
11
11
|
* Sends an event to the Event API.
|
|
12
12
|
* @param {string} type - event's type to be emitted.
|
|
13
13
|
* @param {Record<string,any>} payload - payload to include within the event.
|
|
14
|
-
* @returns {
|
|
14
|
+
* @returns {void}
|
|
15
15
|
*/
|
|
16
|
-
emit: (type: string, payload: Record<string, any>) =>
|
|
16
|
+
emit: (type: string, payload: Record<string, any>) => void;
|
|
17
17
|
/**
|
|
18
18
|
* Gets the client-side generated meta object.
|
|
19
19
|
* @param {string} type - event's type that will be included in the meta object.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../../src/relay.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,IAAI,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAyB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAuB,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnE,KAAK,GAAG,GAAG,MAAM,IAAI,CAAC;AAEtB;;;GAGG;AACH,UAAU,KAAK;IACb;;;;;OAKG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../../src/relay.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,IAAI,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAyB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAuB,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnE,KAAK,GAAG,GAAG,MAAM,IAAI,CAAC;AAEtB;;;GAGG;AACH,UAAU,KAAK;IACb;;;;;OAKG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAE3D;;;;OAIG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhC;;;;;;;;OAQG;IACH,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,KAAK,GAAG,CAAC;IAEnD;;;;;;OAMG;IACH,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAEtD;;;;OAIG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAErD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,WAAW,GAAG,KAAK,CA4C7D;AAED,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC"}
|
package/lib/docs/relay-docs.json
CHANGED
|
@@ -47,7 +47,7 @@
|
|
|
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/8be9457/packages/relay/src/event/meta/meta.ts#L13"
|
|
51
51
|
}
|
|
52
52
|
],
|
|
53
53
|
"type": {
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"fileName": "event/meta/meta.ts",
|
|
70
70
|
"line": 9,
|
|
71
71
|
"character": 17,
|
|
72
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
72
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/event/meta/meta.ts#L9"
|
|
73
73
|
}
|
|
74
74
|
]
|
|
75
75
|
},
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
"fileName": "event/meta/meta.ts",
|
|
116
116
|
"line": 43,
|
|
117
117
|
"character": 2,
|
|
118
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
118
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/event/meta/meta.ts#L43"
|
|
119
119
|
}
|
|
120
120
|
],
|
|
121
121
|
"type": {
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
"fileName": "event/meta/meta.ts",
|
|
143
143
|
"line": 28,
|
|
144
144
|
"character": 2,
|
|
145
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
145
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/event/meta/meta.ts#L28"
|
|
146
146
|
}
|
|
147
147
|
],
|
|
148
148
|
"type": {
|
|
@@ -171,7 +171,7 @@
|
|
|
171
171
|
"fileName": "event/meta/meta.ts",
|
|
172
172
|
"line": 58,
|
|
173
173
|
"character": 2,
|
|
174
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
174
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/event/meta/meta.ts#L58"
|
|
175
175
|
}
|
|
176
176
|
],
|
|
177
177
|
"type": {
|
|
@@ -207,7 +207,7 @@
|
|
|
207
207
|
"fileName": "event/meta/meta.ts",
|
|
208
208
|
"line": 53,
|
|
209
209
|
"character": 2,
|
|
210
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
210
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/event/meta/meta.ts#L53"
|
|
211
211
|
}
|
|
212
212
|
],
|
|
213
213
|
"type": {
|
|
@@ -243,7 +243,7 @@
|
|
|
243
243
|
"fileName": "event/meta/meta.ts",
|
|
244
244
|
"line": 38,
|
|
245
245
|
"character": 2,
|
|
246
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
246
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/event/meta/meta.ts#L38"
|
|
247
247
|
}
|
|
248
248
|
],
|
|
249
249
|
"type": {
|
|
@@ -273,7 +273,7 @@
|
|
|
273
273
|
"fileName": "event/meta/meta.ts",
|
|
274
274
|
"line": 33,
|
|
275
275
|
"character": 2,
|
|
276
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
276
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/event/meta/meta.ts#L33"
|
|
277
277
|
}
|
|
278
278
|
],
|
|
279
279
|
"type": {
|
|
@@ -300,7 +300,7 @@
|
|
|
300
300
|
"fileName": "event/meta/meta.ts",
|
|
301
301
|
"line": 23,
|
|
302
302
|
"character": 2,
|
|
303
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
303
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/event/meta/meta.ts#L23"
|
|
304
304
|
}
|
|
305
305
|
],
|
|
306
306
|
"type": {
|
|
@@ -327,7 +327,7 @@
|
|
|
327
327
|
"fileName": "event/meta/meta.ts",
|
|
328
328
|
"line": 48,
|
|
329
329
|
"character": 2,
|
|
330
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
330
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/event/meta/meta.ts#L48"
|
|
331
331
|
}
|
|
332
332
|
],
|
|
333
333
|
"type": {
|
|
@@ -365,7 +365,7 @@
|
|
|
365
365
|
"fileName": "event/meta/meta.ts",
|
|
366
366
|
"line": 19,
|
|
367
367
|
"character": 17,
|
|
368
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
368
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/event/meta/meta.ts#L19"
|
|
369
369
|
}
|
|
370
370
|
]
|
|
371
371
|
},
|
|
@@ -395,7 +395,7 @@
|
|
|
395
395
|
"fileName": "relay.ts",
|
|
396
396
|
"line": 68,
|
|
397
397
|
"character": 2,
|
|
398
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
398
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L68"
|
|
399
399
|
}
|
|
400
400
|
],
|
|
401
401
|
"type": {
|
|
@@ -411,7 +411,7 @@
|
|
|
411
411
|
"fileName": "relay.ts",
|
|
412
412
|
"line": 68,
|
|
413
413
|
"character": 16,
|
|
414
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
414
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L68"
|
|
415
415
|
}
|
|
416
416
|
],
|
|
417
417
|
"signatures": [
|
|
@@ -440,7 +440,7 @@
|
|
|
440
440
|
"fileName": "relay.ts",
|
|
441
441
|
"line": 68,
|
|
442
442
|
"character": 16,
|
|
443
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
443
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L68"
|
|
444
444
|
}
|
|
445
445
|
],
|
|
446
446
|
"type": {
|
|
@@ -463,7 +463,7 @@
|
|
|
463
463
|
"fileName": "relay.ts",
|
|
464
464
|
"line": 23,
|
|
465
465
|
"character": 2,
|
|
466
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
466
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L23"
|
|
467
467
|
}
|
|
468
468
|
],
|
|
469
469
|
"type": {
|
|
@@ -479,7 +479,7 @@
|
|
|
479
479
|
"fileName": "relay.ts",
|
|
480
480
|
"line": 23,
|
|
481
481
|
"character": 8,
|
|
482
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
482
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L23"
|
|
483
483
|
}
|
|
484
484
|
],
|
|
485
485
|
"signatures": [
|
|
@@ -508,7 +508,7 @@
|
|
|
508
508
|
"fileName": "relay.ts",
|
|
509
509
|
"line": 23,
|
|
510
510
|
"character": 8,
|
|
511
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
511
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L23"
|
|
512
512
|
}
|
|
513
513
|
],
|
|
514
514
|
"parameters": [
|
|
@@ -567,19 +567,8 @@
|
|
|
567
567
|
}
|
|
568
568
|
],
|
|
569
569
|
"type": {
|
|
570
|
-
"type": "
|
|
571
|
-
"
|
|
572
|
-
"sourceFileName": "../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es5.d.ts",
|
|
573
|
-
"qualifiedName": "Promise"
|
|
574
|
-
},
|
|
575
|
-
"typeArguments": [
|
|
576
|
-
{
|
|
577
|
-
"type": "intrinsic",
|
|
578
|
-
"name": "void"
|
|
579
|
-
}
|
|
580
|
-
],
|
|
581
|
-
"name": "Promise",
|
|
582
|
-
"package": "typescript"
|
|
570
|
+
"type": "intrinsic",
|
|
571
|
+
"name": "void"
|
|
583
572
|
}
|
|
584
573
|
}
|
|
585
574
|
]
|
|
@@ -597,7 +586,7 @@
|
|
|
597
586
|
"fileName": "relay.ts",
|
|
598
587
|
"line": 30,
|
|
599
588
|
"character": 2,
|
|
600
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
589
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L30"
|
|
601
590
|
}
|
|
602
591
|
],
|
|
603
592
|
"type": {
|
|
@@ -613,7 +602,7 @@
|
|
|
613
602
|
"fileName": "relay.ts",
|
|
614
603
|
"line": 30,
|
|
615
604
|
"character": 11,
|
|
616
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
605
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L30"
|
|
617
606
|
}
|
|
618
607
|
],
|
|
619
608
|
"signatures": [
|
|
@@ -642,7 +631,7 @@
|
|
|
642
631
|
"fileName": "relay.ts",
|
|
643
632
|
"line": 30,
|
|
644
633
|
"character": 11,
|
|
645
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
634
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L30"
|
|
646
635
|
}
|
|
647
636
|
],
|
|
648
637
|
"parameters": [
|
|
@@ -688,7 +677,7 @@
|
|
|
688
677
|
"fileName": "relay.ts",
|
|
689
678
|
"line": 50,
|
|
690
679
|
"character": 2,
|
|
691
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
680
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L50"
|
|
692
681
|
}
|
|
693
682
|
],
|
|
694
683
|
"type": {
|
|
@@ -704,7 +693,7 @@
|
|
|
704
693
|
"fileName": "relay.ts",
|
|
705
694
|
"line": 50,
|
|
706
695
|
"character": 7,
|
|
707
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
696
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L50"
|
|
708
697
|
}
|
|
709
698
|
],
|
|
710
699
|
"signatures": [
|
|
@@ -733,7 +722,7 @@
|
|
|
733
722
|
"fileName": "relay.ts",
|
|
734
723
|
"line": 50,
|
|
735
724
|
"character": 7,
|
|
736
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
725
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L50"
|
|
737
726
|
}
|
|
738
727
|
],
|
|
739
728
|
"parameters": [
|
|
@@ -800,7 +789,7 @@
|
|
|
800
789
|
"fileName": "relay.ts",
|
|
801
790
|
"line": 41,
|
|
802
791
|
"character": 2,
|
|
803
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
792
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L41"
|
|
804
793
|
}
|
|
805
794
|
],
|
|
806
795
|
"type": {
|
|
@@ -816,7 +805,7 @@
|
|
|
816
805
|
"fileName": "relay.ts",
|
|
817
806
|
"line": 41,
|
|
818
807
|
"character": 6,
|
|
819
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
808
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L41"
|
|
820
809
|
}
|
|
821
810
|
],
|
|
822
811
|
"signatures": [
|
|
@@ -845,7 +834,7 @@
|
|
|
845
834
|
"fileName": "relay.ts",
|
|
846
835
|
"line": 41,
|
|
847
836
|
"character": 6,
|
|
848
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
837
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L41"
|
|
849
838
|
}
|
|
850
839
|
],
|
|
851
840
|
"parameters": [
|
|
@@ -907,7 +896,7 @@
|
|
|
907
896
|
"fileName": "relay.ts",
|
|
908
897
|
"line": 57,
|
|
909
898
|
"character": 2,
|
|
910
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
899
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L57"
|
|
911
900
|
}
|
|
912
901
|
],
|
|
913
902
|
"type": {
|
|
@@ -923,7 +912,7 @@
|
|
|
923
912
|
"fileName": "relay.ts",
|
|
924
913
|
"line": 57,
|
|
925
914
|
"character": 16,
|
|
926
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
915
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L57"
|
|
927
916
|
}
|
|
928
917
|
],
|
|
929
918
|
"signatures": [
|
|
@@ -952,7 +941,7 @@
|
|
|
952
941
|
"fileName": "relay.ts",
|
|
953
942
|
"line": 57,
|
|
954
943
|
"character": 16,
|
|
955
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
944
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L57"
|
|
956
945
|
}
|
|
957
946
|
],
|
|
958
947
|
"parameters": [
|
|
@@ -1017,7 +1006,7 @@
|
|
|
1017
1006
|
"fileName": "relay.ts",
|
|
1018
1007
|
"line": 62,
|
|
1019
1008
|
"character": 2,
|
|
1020
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1009
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L62"
|
|
1021
1010
|
}
|
|
1022
1011
|
],
|
|
1023
1012
|
"type": {
|
|
@@ -1045,7 +1034,7 @@
|
|
|
1045
1034
|
"fileName": "relay.ts",
|
|
1046
1035
|
"line": 16,
|
|
1047
1036
|
"character": 10,
|
|
1048
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1037
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L16"
|
|
1049
1038
|
}
|
|
1050
1039
|
]
|
|
1051
1040
|
},
|
|
@@ -1104,7 +1093,7 @@
|
|
|
1104
1093
|
"fileName": "config/config.ts",
|
|
1105
1094
|
"line": 28,
|
|
1106
1095
|
"character": 2,
|
|
1107
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1096
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/config/config.ts#L28"
|
|
1108
1097
|
}
|
|
1109
1098
|
],
|
|
1110
1099
|
"type": {
|
|
@@ -1138,7 +1127,7 @@
|
|
|
1138
1127
|
"fileName": "config/config.ts",
|
|
1139
1128
|
"line": 35,
|
|
1140
1129
|
"character": 2,
|
|
1141
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1130
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/config/config.ts#L35"
|
|
1142
1131
|
}
|
|
1143
1132
|
],
|
|
1144
1133
|
"type": {
|
|
@@ -1168,7 +1157,7 @@
|
|
|
1168
1157
|
"fileName": "config/config.ts",
|
|
1169
1158
|
"line": 15,
|
|
1170
1159
|
"character": 2,
|
|
1171
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1160
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/config/config.ts#L15"
|
|
1172
1161
|
}
|
|
1173
1162
|
],
|
|
1174
1163
|
"type": {
|
|
@@ -1195,7 +1184,7 @@
|
|
|
1195
1184
|
"fileName": "config/config.ts",
|
|
1196
1185
|
"line": 20,
|
|
1197
1186
|
"character": 2,
|
|
1198
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1187
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/config/config.ts#L20"
|
|
1199
1188
|
}
|
|
1200
1189
|
],
|
|
1201
1190
|
"type": {
|
|
@@ -1222,7 +1211,7 @@
|
|
|
1222
1211
|
"fileName": "config/config.ts",
|
|
1223
1212
|
"line": 10,
|
|
1224
1213
|
"character": 2,
|
|
1225
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1214
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/config/config.ts#L10"
|
|
1226
1215
|
}
|
|
1227
1216
|
],
|
|
1228
1217
|
"type": {
|
|
@@ -1248,7 +1237,7 @@
|
|
|
1248
1237
|
"fileName": "config/config.ts",
|
|
1249
1238
|
"line": 6,
|
|
1250
1239
|
"character": 17,
|
|
1251
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1240
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/config/config.ts#L6"
|
|
1252
1241
|
}
|
|
1253
1242
|
]
|
|
1254
1243
|
},
|
|
@@ -1263,7 +1252,7 @@
|
|
|
1263
1252
|
"fileName": "listener/listener.ts",
|
|
1264
1253
|
"line": 11,
|
|
1265
1254
|
"character": 12,
|
|
1266
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1255
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/listener/listener.ts#L11"
|
|
1267
1256
|
}
|
|
1268
1257
|
],
|
|
1269
1258
|
"type": {
|
|
@@ -1279,7 +1268,7 @@
|
|
|
1279
1268
|
"fileName": "listener/listener.ts",
|
|
1280
1269
|
"line": 11,
|
|
1281
1270
|
"character": 28,
|
|
1282
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1271
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/listener/listener.ts#L11"
|
|
1283
1272
|
}
|
|
1284
1273
|
],
|
|
1285
1274
|
"signatures": [
|
|
@@ -1341,7 +1330,7 @@
|
|
|
1341
1330
|
"fileName": "relay.ts",
|
|
1342
1331
|
"line": 76,
|
|
1343
1332
|
"character": 16,
|
|
1344
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1333
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L76"
|
|
1345
1334
|
}
|
|
1346
1335
|
],
|
|
1347
1336
|
"signatures": [
|
|
@@ -1370,7 +1359,7 @@
|
|
|
1370
1359
|
"fileName": "relay.ts",
|
|
1371
1360
|
"line": 76,
|
|
1372
1361
|
"character": 16,
|
|
1373
|
-
"url": "https://github.com/coveo/relay/blob/
|
|
1362
|
+
"url": "https://github.com/coveo/relay/blob/8be9457/packages/relay/src/relay.ts#L76"
|
|
1374
1363
|
}
|
|
1375
1364
|
],
|
|
1376
1365
|
"parameters": [
|
|
@@ -1422,7 +1411,7 @@
|
|
|
1422
1411
|
}
|
|
1423
1412
|
],
|
|
1424
1413
|
"packageName": "@coveo/relay",
|
|
1425
|
-
"packageVersion": "0.
|
|
1414
|
+
"packageVersion": "0.7.0",
|
|
1426
1415
|
"readme": [
|
|
1427
1416
|
{
|
|
1428
1417
|
"kind": "text",
|
package/lib/relay.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
function emit({ config, environment, event, listenerManager, }) {
|
|
4
4
|
const { url, token, mode } = config;
|
|
5
5
|
const isEnabled = mode !== "disabled";
|
|
6
6
|
if (isEnabled) {
|
|
@@ -34,7 +34,7 @@ function createClientIdManager(environmentManager) {
|
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
const version = "0.
|
|
37
|
+
const version = "0.7.0";
|
|
38
38
|
|
|
39
39
|
function getEventConfig(config) {
|
|
40
40
|
const { trackingId } = config;
|
|
@@ -204,7 +204,7 @@ function getReferrer() {
|
|
|
204
204
|
function buildBrowserEnvironment() {
|
|
205
205
|
return {
|
|
206
206
|
runtime: "browser",
|
|
207
|
-
send:
|
|
207
|
+
send: (url, token, event) => {
|
|
208
208
|
const response = navigator.sendBeacon(`${url}?access_token=${token}`, new Blob([JSON.stringify([event])], {
|
|
209
209
|
type: "application/json",
|
|
210
210
|
}));
|
|
@@ -239,7 +239,7 @@ function createNullStorage() {
|
|
|
239
239
|
function buildNullEnvironment() {
|
|
240
240
|
return {
|
|
241
241
|
runtime: "null",
|
|
242
|
-
send:
|
|
242
|
+
send: () => undefined,
|
|
243
243
|
getReferrer: () => null,
|
|
244
244
|
getLocation: () => null,
|
|
245
245
|
getUserAgent: () => null,
|
package/lib/relay.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
function emit({ config, environment, event, listenerManager, }) {
|
|
2
2
|
const { url, token, mode } = config;
|
|
3
3
|
const isEnabled = mode !== "disabled";
|
|
4
4
|
if (isEnabled) {
|
|
@@ -32,7 +32,7 @@ function createClientIdManager(environmentManager) {
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
const version = "0.
|
|
35
|
+
const version = "0.7.0";
|
|
36
36
|
|
|
37
37
|
function getEventConfig(config) {
|
|
38
38
|
const { trackingId } = config;
|
|
@@ -202,7 +202,7 @@ function getReferrer() {
|
|
|
202
202
|
function buildBrowserEnvironment() {
|
|
203
203
|
return {
|
|
204
204
|
runtime: "browser",
|
|
205
|
-
send:
|
|
205
|
+
send: (url, token, event) => {
|
|
206
206
|
const response = navigator.sendBeacon(`${url}?access_token=${token}`, new Blob([JSON.stringify([event])], {
|
|
207
207
|
type: "application/json",
|
|
208
208
|
}));
|
|
@@ -237,7 +237,7 @@ function createNullStorage() {
|
|
|
237
237
|
function buildNullEnvironment() {
|
|
238
238
|
return {
|
|
239
239
|
runtime: "null",
|
|
240
|
-
send:
|
|
240
|
+
send: () => undefined,
|
|
241
241
|
getReferrer: () => null,
|
|
242
242
|
getLocation: () => null,
|
|
243
243
|
getUserAgent: () => null,
|
package/lib/relay.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
function emit({ config, environment, event, listenerManager, }) {
|
|
2
2
|
const { url, token, mode } = config;
|
|
3
3
|
const isEnabled = mode !== "disabled";
|
|
4
4
|
if (isEnabled) {
|
|
@@ -32,7 +32,7 @@ function createClientIdManager(environmentManager) {
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
const version = "0.
|
|
35
|
+
const version = "0.7.0";
|
|
36
36
|
|
|
37
37
|
function getEventConfig(config) {
|
|
38
38
|
const { trackingId } = config;
|
|
@@ -202,7 +202,7 @@ function getReferrer() {
|
|
|
202
202
|
function buildBrowserEnvironment() {
|
|
203
203
|
return {
|
|
204
204
|
runtime: "browser",
|
|
205
|
-
send:
|
|
205
|
+
send: (url, token, event) => {
|
|
206
206
|
const response = navigator.sendBeacon(`${url}?access_token=${token}`, new Blob([JSON.stringify([event])], {
|
|
207
207
|
type: "application/json",
|
|
208
208
|
}));
|
|
@@ -237,7 +237,7 @@ function createNullStorage() {
|
|
|
237
237
|
function buildNullEnvironment() {
|
|
238
238
|
return {
|
|
239
239
|
runtime: "null",
|
|
240
|
-
send:
|
|
240
|
+
send: () => undefined,
|
|
241
241
|
getReferrer: () => null,
|
|
242
242
|
getLocation: () => null,
|
|
243
243
|
getUserAgent: () => null,
|
package/lib/types/emit/emit.d.ts
CHANGED
|
@@ -8,5 +8,5 @@ export interface EmitParams {
|
|
|
8
8
|
event: RelayEvent;
|
|
9
9
|
listenerManager: ListenerManager;
|
|
10
10
|
}
|
|
11
|
-
export declare function emit({ config, environment, event, listenerManager, }: EmitParams):
|
|
11
|
+
export declare function emit({ config, environment, event, listenerManager, }: EmitParams): void;
|
|
12
12
|
//# sourceMappingURL=emit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../../src/emit/emit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,
|
|
1
|
+
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../../src/emit/emit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,wBAAgB,IAAI,CAAC,EACnB,MAAM,EACN,WAAW,EACX,KAAK,EACL,eAAe,GAChB,EAAE,UAAU,QAQZ"}
|
|
@@ -2,7 +2,7 @@ import { RelayEvent } from "../event/relay-event";
|
|
|
2
2
|
import { Storage } from "./storage";
|
|
3
3
|
export interface Environment {
|
|
4
4
|
runtime: "browser" | "null";
|
|
5
|
-
send: (url: string, token: string, event: RelayEvent) =>
|
|
5
|
+
send: (url: string, token: string, event: RelayEvent) => void;
|
|
6
6
|
getReferrer: () => string | null;
|
|
7
7
|
getLocation: () => string | null;
|
|
8
8
|
getUserAgent: () => string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../src/environment/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../src/environment/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9D,WAAW,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB"}
|
package/lib/types/relay.d.ts
CHANGED
|
@@ -11,9 +11,9 @@ interface Relay {
|
|
|
11
11
|
* Sends an event to the Event API.
|
|
12
12
|
* @param {string} type - event's type to be emitted.
|
|
13
13
|
* @param {Record<string,any>} payload - payload to include within the event.
|
|
14
|
-
* @returns {
|
|
14
|
+
* @returns {void}
|
|
15
15
|
*/
|
|
16
|
-
emit: (type: string, payload: Record<string, any>) =>
|
|
16
|
+
emit: (type: string, payload: Record<string, any>) => void;
|
|
17
17
|
/**
|
|
18
18
|
* Gets the client-side generated meta object.
|
|
19
19
|
* @param {string} type - event's type that will be included in the meta object.
|
package/lib/types/relay.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../../src/relay.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,IAAI,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAyB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAuB,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnE,KAAK,GAAG,GAAG,MAAM,IAAI,CAAC;AAEtB;;;GAGG;AACH,UAAU,KAAK;IACb;;;;;OAKG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../../src/relay.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,IAAI,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAyB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAuB,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnE,KAAK,GAAG,GAAG,MAAM,IAAI,CAAC;AAEtB;;;GAGG;AACH,UAAU,KAAK;IACb;;;;;OAKG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAE3D;;;;OAIG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhC;;;;;;;;OAQG;IACH,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,KAAK,GAAG,CAAC;IAEnD;;;;;;OAMG;IACH,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAEtD;;;;OAIG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAErD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,WAAW,GAAG,KAAK,CA4C7D;AAED,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC"}
|