@sitecore-cloudsdk/events
Advanced tools
| { | ||
| "name": "@sitecore-cloudsdk/events", | ||
| "version": "0.2.4", | ||
| "version": "0.3.0", | ||
| "license": "Apache-2.0", | ||
| "homepage": "https://doc.sitecore.com/xmc/en/developers/xm-cloud/sitecore-cloud-sdk.html", | ||
| "homepage": "https://doc.sitecore.com/xmc/en/developers/sdk/latest/cloud-sdk/index.html", | ||
| "exports": { | ||
@@ -19,4 +19,4 @@ "./server": { | ||
| "dependencies": { | ||
| "@sitecore-cloudsdk/core": "^0.2.4", | ||
| "@sitecore-cloudsdk/utils": "^0.2.4" | ||
| "@sitecore-cloudsdk/core": "^0.3.0", | ||
| "@sitecore-cloudsdk/utils": "^0.3.0" | ||
| }, | ||
@@ -39,5 +39,4 @@ "scripts": { | ||
| "engines": { | ||
| "node": ">=18", | ||
| "npm": ">=9" | ||
| "node": ">=18" | ||
| } | ||
| } |
| export { getBrowserId } from '@sitecore-cloudsdk/core'; | ||
| export { init } from './lib/initializer/browser/initializer'; | ||
| export type { PageViewEventInput, CustomEventInput, IdentityEventAttributesInput } from './lib/events'; | ||
| export type { PageViewData, EventData, IdentityData } from './lib/events'; | ||
| export { addToEventQueue } from './lib/eventStorage/addToEventQueue'; | ||
@@ -5,0 +5,0 @@ export { processEventQueue } from './lib/eventStorage/processEventQueue'; |
@@ -12,5 +12,5 @@ /** | ||
| IV_0004 = "[IV-0004] Incorrect value for \"expiryDate\". Format the value according to ISO 8601.", | ||
| IV_0005 = "[IV-0005] This event supports maximum 50 attributes. Reduce the number of attributes.", | ||
| IV_0005 = "[IV-0005] \"extensionData\" supports maximum 50 attributes. Reduce the number of attributes.", | ||
| MV_0003 = "[MV-0003] \"identifiers\" is required." | ||
| } | ||
| export declare const EVENTS_NAMESPACE = "sitecore-cloudsdk:events"; |
@@ -23,5 +23,5 @@ "use strict"; | ||
| ErrorMessages["IV_0004"] = "[IV-0004] Incorrect value for \"expiryDate\". Format the value according to ISO 8601."; | ||
| ErrorMessages["IV_0005"] = "[IV-0005] This event supports maximum 50 attributes. Reduce the number of attributes."; | ||
| ErrorMessages["IV_0005"] = "[IV-0005] \"extensionData\" supports maximum 50 attributes. Reduce the number of attributes."; | ||
| ErrorMessages["MV_0003"] = "[MV-0003] \"identifiers\" is required."; | ||
| })(ErrorMessages || (exports.ErrorMessages = ErrorMessages = {})); | ||
| exports.EVENTS_NAMESPACE = 'sitecore-cloudsdk:events'; |
@@ -33,3 +33,3 @@ import { EventAttributesInput } from './common-interfaces'; | ||
| } | ||
| type BaseEventData = Partial<EventAttributesInput>; | ||
| type BaseEventData = EventAttributesInput; | ||
| export {}; |
| import { NestedObject } from '@sitecore-cloudsdk/utils'; | ||
| /** | ||
| * Event data received as input to be sent to Sitecore EP | ||
| */ | ||
| interface MandatoryInput { | ||
| channel: string; | ||
| currency: string; | ||
| } | ||
| type MandatoryEventInput = MandatoryInput; | ||
| /** | ||
| * Event data that is sent to Sitecore EP | ||
| */ | ||
| interface InferrableInput { | ||
| /** | ||
| * To be restored back to MandatoryEventInput Interface | ||
| * as mandatory input parameter in version 1.0.0 | ||
| */ | ||
| export interface EventAttributesInput { | ||
| language?: string; | ||
| page?: string; | ||
| channel?: string; | ||
| currency?: string; | ||
| } | ||
| type InferrableEventInput = InferrableInput; | ||
| /** | ||
| * Interface to hold the base event attributes | ||
| */ | ||
| export interface EventAttributesInput extends MandatoryEventInput, InferrableEventInput { | ||
| } | ||
| /** | ||
| * Type of the extension data that the developer can pass to events | ||
| */ | ||
| export type ExtensionData = NestedObject; | ||
| export {}; |
| import { BaseEvent } from '../base-event'; | ||
| import { EventAttributesInput } from '../common-interfaces'; | ||
| import { EventAttributesInput, ExtensionData } from '../common-interfaces'; | ||
| import { SendEvent } from '../send-event/sendEvent'; | ||
@@ -27,7 +27,5 @@ import { EPResponse, Settings } from '@sitecore-cloudsdk/core'; | ||
| sendEvent: SendEvent; | ||
| eventData: CustomEventData; | ||
| eventData: EventData; | ||
| id: string; | ||
| extensionData?: NestedObject; | ||
| settings: Settings; | ||
| type: string; | ||
| } | ||
@@ -45,9 +43,5 @@ /** | ||
| */ | ||
| export interface CustomEventInput extends EventAttributesInput, NestedObject { | ||
| export interface EventData extends EventAttributesInput, NestedObject { | ||
| type: string; | ||
| extensionData?: ExtensionData; | ||
| } | ||
| /** | ||
| * Internal interface with the required/optional attributes in order to send a custom event to SitecoreCloud API | ||
| */ | ||
| interface CustomEventData extends Partial<EventAttributesInput>, NestedObject { | ||
| } | ||
| export {}; |
@@ -15,3 +15,3 @@ "use strict"; | ||
| constructor(args) { | ||
| const { channel, currency, language, page, ...rest } = args.eventData; | ||
| const { channel, currency, language, page, type, extensionData, ...rest } = args.eventData; | ||
| super({ channel, currency, language, page }, args.id); | ||
@@ -22,7 +22,7 @@ this.extensionData = {}; | ||
| this.customEventPayload = { | ||
| type: args.type, | ||
| type, | ||
| ...rest, | ||
| }; | ||
| if (args.extensionData) | ||
| this.extensionData = (0, utils_1.flattenObject)({ object: args.extensionData }); | ||
| if (extensionData) | ||
| this.extensionData = (0, utils_1.flattenObject)({ object: extensionData }); | ||
| const numberOfExtensionDataProperties = Object.entries(this.extensionData).length; | ||
@@ -29,0 +29,0 @@ if (numberOfExtensionDataProperties > consts_1.MAX_EXT_ATTRIBUTES) |
| import { EPResponse } from '@sitecore-cloudsdk/core'; | ||
| import { ExtensionData } from '../common-interfaces'; | ||
| import { CustomEventInput } from './custom-event'; | ||
| import { EventData } from './custom-event'; | ||
| /** | ||
| * A function that sends an event to SitecoreCloud API with the specified type | ||
| * @param type - The required type of the event | ||
| * | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export declare function event(type: string, eventData: CustomEventInput, extensionData?: ExtensionData): Promise<EPResponse | null>; | ||
| export declare function event(eventData: EventData): Promise<EPResponse | null>; |
@@ -12,9 +12,7 @@ "use strict"; | ||
| * A function that sends an event to SitecoreCloud API with the specified type | ||
| * @param type - The required type of the event | ||
| * | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| async function event(type, eventData, extensionData) { | ||
| async function event(eventData) { | ||
| await (0, initializer_1.awaitInit)(); | ||
@@ -25,9 +23,7 @@ const settings = (0, core_1.handleGetSettingsError)(core_1.getSettings, consts_1.ErrorMessages.IE_0004); | ||
| eventData, | ||
| extensionData, | ||
| id, | ||
| sendEvent: sendEvent_1.sendEvent, | ||
| settings, | ||
| type, | ||
| }).send(); | ||
| } | ||
| exports.event = event; |
| import { EPResponse } from '@sitecore-cloudsdk/core'; | ||
| import { ExtensionData } from '../common-interfaces'; | ||
| import { CustomEventInput } from './custom-event'; | ||
| import { EventData } from './custom-event'; | ||
| import { Request } from '@sitecore-cloudsdk/utils'; | ||
| /** | ||
| * A function that sends an event to SitecoreCloud API with the specified type | ||
| * @param type - The required type of the event | ||
| * | ||
| * @param request - Interface with constraint for extending request | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param request - Interface with constraint for extending request | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export declare function eventServer<T extends Request>(type: string, eventData: CustomEventInput, request: T, extensionData?: ExtensionData): Promise<EPResponse | null>; | ||
| export declare function eventServer<T extends Request>(request: T, eventData: EventData): Promise<EPResponse | null>; |
@@ -11,9 +11,8 @@ "use strict"; | ||
| * A function that sends an event to SitecoreCloud API with the specified type | ||
| * @param type - The required type of the event | ||
| * | ||
| * @param request - Interface with constraint for extending request | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param request - Interface with constraint for extending request | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| function eventServer(type, eventData, request, extensionData) { | ||
| function eventServer(request, eventData) { | ||
| const settings = (0, core_1.handleGetSettingsError)(core_1.getSettingsServer, consts_1.ErrorMessages.IE_0005); | ||
@@ -23,9 +22,7 @@ const id = (0, core_1.getBrowserIdFromRequest)(request, settings.cookieSettings.cookieName); | ||
| eventData, | ||
| extensionData, | ||
| id, | ||
| sendEvent: sendEvent_1.sendEvent, | ||
| settings, | ||
| type, | ||
| }).send(); | ||
| } | ||
| exports.eventServer = eventServer; |
| import { EPResponse } from '@sitecore-cloudsdk/core'; | ||
| /** | ||
| * A function that sends a form event to SitecoreCloud API | ||
| * | ||
| * @param formId - The required form ID string | ||
@@ -5,0 +6,0 @@ * @param interactionType - The required interaction type string. Possible values: "VIEWED", "SUBMITTED" |
@@ -12,2 +12,3 @@ "use strict"; | ||
| * A function that sends a form event to SitecoreCloud API | ||
| * | ||
| * @param formId - The required form ID string | ||
@@ -23,6 +24,8 @@ * @param interactionType - The required interaction type string. Possible values: "VIEWED", "SUBMITTED" | ||
| const formEvent = new custom_event_1.CustomEvent({ | ||
| eventData: {}, | ||
| extensionData: { | ||
| formId, | ||
| interactionType: interactionType.toUpperCase(), | ||
| eventData: { | ||
| extensionData: { | ||
| formId, | ||
| interactionType: interactionType.toUpperCase(), | ||
| }, | ||
| type: 'FORM', | ||
| }, | ||
@@ -32,3 +35,2 @@ id, | ||
| settings, | ||
| type: 'FORM', | ||
| }); | ||
@@ -35,0 +37,0 @@ formEvent.page = undefined; |
@@ -7,3 +7,3 @@ import { BaseEvent } from '../base-event'; | ||
| export declare class IdentityEvent extends BaseEvent { | ||
| private eventData; | ||
| private identityData; | ||
| private sendEvent; | ||
@@ -15,2 +15,3 @@ private extensionData; | ||
| * A class that extends from {@link BaseEvent} and has all the required functionality to send a VIEW event | ||
| * | ||
| * @param args - Unified object containing the required properties | ||
@@ -21,3 +22,3 @@ */ | ||
| * Function that validates the identifiers object, email and date attributes for CDN users | ||
| * * @param eventData - The data to be validated | ||
| * * @param identityData - The data to be validated | ||
| */ | ||
@@ -47,3 +48,3 @@ private validateAttributes; | ||
| */ | ||
| export interface IdentityEventAttributesInput extends EventAttributesInput { | ||
| export interface IdentityData extends EventAttributesInput { | ||
| city?: string; | ||
@@ -63,2 +64,3 @@ country?: string; | ||
| title?: string; | ||
| extensionData?: ExtensionData; | ||
| } | ||
@@ -99,4 +101,3 @@ /** | ||
| sendEvent: SendEvent; | ||
| eventData: IdentityEventAttributesInput; | ||
| extensionData?: ExtensionData; | ||
| identityData: IdentityData; | ||
| id: string; | ||
@@ -103,0 +104,0 @@ settings: Settings; |
@@ -12,15 +12,16 @@ "use strict"; | ||
| * A class that extends from {@link BaseEvent} and has all the required functionality to send a VIEW event | ||
| * | ||
| * @param args - Unified object containing the required properties | ||
| */ | ||
| constructor(args) { | ||
| const { channel, currency, language, page } = args.eventData; | ||
| const { channel, currency, language, page, extensionData } = args.identityData; | ||
| super({ channel, currency, language, page }, args.id); | ||
| this.extensionData = {}; | ||
| this.numberOfExtensionDataProperties = 0; | ||
| this.validateAttributes(args.eventData); | ||
| this.eventData = args.eventData; | ||
| this.validateAttributes(args.identityData); | ||
| this.identityData = args.identityData; | ||
| this.sendEvent = args.sendEvent; | ||
| this.settings = args.settings; | ||
| if (args.extensionData) | ||
| this.extensionData = (0, utils_1.flattenObject)({ object: args.extensionData }); | ||
| if (extensionData) | ||
| this.extensionData = (0, utils_1.flattenObject)({ object: extensionData }); | ||
| this.numberOfExtensionDataProperties = Object.entries(this.extensionData).length; | ||
@@ -32,14 +33,14 @@ if (this.numberOfExtensionDataProperties > consts_1.MAX_EXT_ATTRIBUTES) | ||
| * Function that validates the identifiers object, email and date attributes for CDN users | ||
| * * @param eventData - The data to be validated | ||
| * * @param identityData - The data to be validated | ||
| */ | ||
| validateAttributes(eventData) { | ||
| if (eventData.identifiers.length === 0) | ||
| validateAttributes(identityData) { | ||
| if (identityData.identifiers.length === 0) | ||
| throw new Error(consts_2.ErrorMessages.MV_0003); | ||
| if (eventData.dob !== undefined && !(0, utils_1.isShortISODateString)(eventData.dob)) | ||
| if (identityData.dob !== undefined && !(0, utils_1.isShortISODateString)(identityData.dob)) | ||
| throw new Error(consts_2.ErrorMessages.IV_0002); | ||
| eventData.identifiers.forEach((identifier) => { | ||
| identityData.identifiers.forEach((identifier) => { | ||
| if (identifier.expiryDate && !(0, utils_1.isShortISODateString)(identifier.expiryDate)) | ||
| throw new Error(consts_2.ErrorMessages.IV_0004); | ||
| }); | ||
| if (eventData.email && !(0, utils_1.isValidEmail)(eventData.email)) | ||
| if (identityData.email && !(0, utils_1.isValidEmail)(identityData.email)) | ||
| throw new Error(consts_2.ErrorMessages.IV_0003); | ||
@@ -53,9 +54,9 @@ } | ||
| const identityPayload = { | ||
| city: this.eventData.city, | ||
| country: this.eventData.country, | ||
| dob: this.eventData.dob, | ||
| email: this.eventData.email, | ||
| firstname: this.eventData.firstName, | ||
| gender: this.eventData.gender, | ||
| identifiers: this.eventData.identifiers.map((value) => { | ||
| city: this.identityData.city, | ||
| country: this.identityData.country, | ||
| dob: this.identityData.dob, | ||
| email: this.identityData.email, | ||
| firstname: this.identityData.firstName, | ||
| gender: this.identityData.gender, | ||
| identifiers: this.identityData.identifiers.map((value) => { | ||
| return { | ||
@@ -68,10 +69,10 @@ // eslint-disable-next-line @typescript-eslint/naming-convention | ||
| }), | ||
| lastname: this.eventData.lastName, | ||
| mobile: this.eventData.mobile, | ||
| phone: this.eventData.phone, | ||
| lastname: this.identityData.lastName, | ||
| mobile: this.identityData.mobile, | ||
| phone: this.identityData.phone, | ||
| // eslint-disable-next-line @typescript-eslint/naming-convention | ||
| postal_code: this.eventData.postalCode, | ||
| state: this.eventData.state, | ||
| street: this.eventData.street, | ||
| title: this.eventData.title, | ||
| postal_code: this.identityData.postalCode, | ||
| state: this.identityData.state, | ||
| street: this.identityData.street, | ||
| title: this.identityData.title, | ||
| type: 'IDENTITY', | ||
@@ -78,0 +79,0 @@ }; |
@@ -1,11 +0,9 @@ | ||
| import { ExtensionData } from '../common-interfaces'; | ||
| import { EPResponse } from '@sitecore-cloudsdk/core'; | ||
| import { IdentityEventAttributesInput } from './identity-event'; | ||
| import { IdentityData } from './identity-event'; | ||
| /** | ||
| * A function that sends an IDENTITY event to SitecoreCloud API | ||
| * | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export declare function identity(eventData: IdentityEventAttributesInput, extensionData?: ExtensionData): Promise<EPResponse | null>; | ||
| export declare function identity(identityData: IdentityData): Promise<EPResponse | null>; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.identity = void 0; | ||
| // © Sitecore Corporation A/S. All rights reserved. Sitecore® is a registered trademark of Sitecore Corporation A/S. | ||
| const core_1 = require("@sitecore-cloudsdk/core"); | ||
@@ -11,8 +12,7 @@ const identity_event_1 = require("./identity-event"); | ||
| * A function that sends an IDENTITY event to SitecoreCloud API | ||
| * | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| async function identity(eventData, extensionData) { | ||
| async function identity(identityData) { | ||
| await (0, initializer_1.awaitInit)(); | ||
@@ -22,5 +22,4 @@ const settings = (0, core_1.handleGetSettingsError)(core_1.getSettings, consts_1.ErrorMessages.IE_0004); | ||
| return new identity_event_1.IdentityEvent({ | ||
| eventData, | ||
| extensionData, | ||
| id, | ||
| identityData, | ||
| sendEvent: sendEvent_1.sendEvent, | ||
@@ -27,0 +26,0 @@ settings, |
@@ -1,13 +0,11 @@ | ||
| import { ExtensionData } from '../common-interfaces'; | ||
| import { Request } from '@sitecore-cloudsdk/utils'; | ||
| import { EPResponse } from '@sitecore-cloudsdk/core'; | ||
| import { IdentityEventAttributesInput } from './identity-event'; | ||
| import { IdentityData } from './identity-event'; | ||
| /** | ||
| * A function that sends an IDENTITY event to SitecoreCloud API | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * | ||
| * @param request - Interface with constraint for extending request | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @param identityData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export declare function identityServer(eventData: IdentityEventAttributesInput, request: Request, extensionData?: ExtensionData): Promise<EPResponse | null>; | ||
| export declare function identityServer(request: Request, identityData: IdentityData): Promise<EPResponse | null>; |
@@ -11,15 +11,13 @@ "use strict"; | ||
| * A function that sends an IDENTITY event to SitecoreCloud API | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * | ||
| * @param request - Interface with constraint for extending request | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @param identityData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| function identityServer(eventData, request, extensionData) { | ||
| function identityServer(request, identityData) { | ||
| const settings = (0, core_1.handleGetSettingsError)(core_1.getSettingsServer, consts_1.ErrorMessages.IE_0005); | ||
| const id = (0, core_1.getBrowserIdFromRequest)(request, settings.cookieSettings.cookieName); | ||
| return new identity_event_1.IdentityEvent({ | ||
| eventData, | ||
| extensionData, | ||
| id, | ||
| identityData, | ||
| sendEvent: sendEvent_1.sendEvent, | ||
@@ -26,0 +24,0 @@ settings: settings, |
| export { BaseEvent } from './base-event'; | ||
| export type { BasePayload } from './base-event'; | ||
| export { PageViewEvent } from './page-view/page-view-event'; | ||
| export type { PageViewEventInput, PageViewEventPayload } from './page-view/page-view-event'; | ||
| export type { PageViewData, PageViewEventPayload } from './page-view/page-view-event'; | ||
| export { CustomEvent } from './custom-event/custom-event'; | ||
| export type { CustomEventInput, CustomEventPayload, CustomEventArguments } from './custom-event/custom-event'; | ||
| export type { EventData, CustomEventPayload, CustomEventArguments } from './custom-event/custom-event'; | ||
| export { IdentityEvent } from './identity/identity-event'; | ||
| export type { IdentityEventAttributesInput, IdentityEventPayload } from './identity/identity-event'; | ||
| export type { IdentityData, IdentityEventPayload } from './identity/identity-event'; | ||
| export type { ExtensionData } from './common-interfaces'; |
| import { EPResponse, Infer, Settings } from '@sitecore-cloudsdk/core'; | ||
| import { FlattenedObject, NestedObject } from '@sitecore-cloudsdk/utils'; | ||
| import { BaseEvent } from '../base-event'; | ||
| import { EventAttributesInput } from '../common-interfaces'; | ||
| import { EventAttributesInput, ExtensionData } from '../common-interfaces'; | ||
| import { SendEvent } from '../send-event/sendEvent'; | ||
@@ -9,3 +9,3 @@ export declare class PageViewEvent extends BaseEvent { | ||
| private sendEvent; | ||
| private eventData; | ||
| private pageViewData; | ||
| private extensionData; | ||
@@ -53,3 +53,3 @@ private urlSearchParams; | ||
| sendEvent: SendEvent; | ||
| eventData: PageViewEventInput; | ||
| pageViewData: PageViewData; | ||
| id: string; | ||
@@ -64,6 +64,7 @@ settings: Settings; | ||
| */ | ||
| export interface PageViewEventInput extends EventAttributesInput { | ||
| export interface PageViewData extends EventAttributesInput { | ||
| pageVariantId?: string; | ||
| referrer?: string; | ||
| includeUTMParameters?: boolean; | ||
| extensionData?: ExtensionData; | ||
| } | ||
@@ -70,0 +71,0 @@ /** |
@@ -14,3 +14,3 @@ "use strict"; | ||
| constructor(args) { | ||
| const { channel, currency, language, page } = args.eventData; | ||
| const { channel, currency, language, page, extensionData } = args.pageViewData; | ||
| super({ | ||
@@ -23,8 +23,8 @@ channel, | ||
| this.extensionData = {}; | ||
| this.eventData = args.eventData; | ||
| this.pageViewData = args.pageViewData; | ||
| this.sendEvent = args.sendEvent; | ||
| this.settings = args.settings; | ||
| this.urlSearchParams = new URLSearchParams(decodeURI(args.searchParams)); | ||
| if (args.extensionData) | ||
| this.extensionData = (0, utils_1.flattenObject)({ object: args.extensionData }); | ||
| if (extensionData) | ||
| this.extensionData = (0, utils_1.flattenObject)({ object: extensionData }); | ||
| const numberOfExtensionDataProperties = Object.entries(this.extensionData).length; | ||
@@ -34,3 +34,3 @@ if (numberOfExtensionDataProperties > consts_1.MAX_EXT_ATTRIBUTES) | ||
| this.includeUTMParameters = | ||
| args.eventData.includeUTMParameters === undefined ? true : args.eventData.includeUTMParameters; | ||
| args.pageViewData.includeUTMParameters === undefined ? true : args.pageViewData.includeUTMParameters; | ||
| } | ||
@@ -42,5 +42,5 @@ /** | ||
| */ | ||
| getPageVariantId(pageVariantIdFromEventData, pageVariantIdFromExt) { | ||
| if (pageVariantIdFromEventData) | ||
| return pageVariantIdFromEventData; | ||
| getPageVariantId(pageVariantIdFromPageViewData, pageVariantIdFromExt) { | ||
| if (pageVariantIdFromPageViewData) | ||
| return pageVariantIdFromPageViewData; | ||
| const pageVariantIdFromURL = this.urlSearchParams.get('variantid'); | ||
@@ -59,4 +59,4 @@ if (pageVariantIdFromURL) | ||
| getReferrer() { | ||
| if (this.eventData.referrer) | ||
| return this.eventData.referrer; | ||
| if (this.pageViewData.referrer) | ||
| return this.pageViewData.referrer; | ||
| if (typeof window === 'undefined') | ||
@@ -77,3 +77,3 @@ return null; | ||
| }; | ||
| const pageVariantId = this.getPageVariantId(this.eventData.pageVariantId, this.extensionData['pageVariantId']); | ||
| const pageVariantId = this.getPageVariantId(this.pageViewData.pageVariantId, this.extensionData['pageVariantId']); | ||
| if (pageVariantId !== null) | ||
@@ -80,0 +80,0 @@ viewPayload.ext = { ...viewPayload.ext, pageVariantId }; |
| import { EPResponse } from '@sitecore-cloudsdk/core'; | ||
| import { NestedObject, Request } from '@sitecore-cloudsdk/utils'; | ||
| import { PageViewEventInput } from './page-view-event'; | ||
| import { Request } from '@sitecore-cloudsdk/utils'; | ||
| import { PageViewData } from './page-view-event'; | ||
| /** | ||
| * A function that sends a VIEW event to SitecoreCloud API | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * | ||
| * @param request - Interface with constraint for extending request | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @param pageViewData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export declare function pageViewServer<T extends Request>(eventData: PageViewEventInput, request: T, extensionData?: NestedObject): Promise<EPResponse | null>; | ||
| export declare function pageViewServer<T extends Request>(request: T, pageViewData: PageViewData): Promise<EPResponse | null>; |
@@ -11,9 +11,8 @@ "use strict"; | ||
| * A function that sends a VIEW event to SitecoreCloud API | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * | ||
| * @param request - Interface with constraint for extending request | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @param pageViewData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| function pageViewServer(eventData, request, extensionData) { | ||
| function pageViewServer(request, pageViewData) { | ||
| const settings = (0, core_1.handleGetSettingsError)(core_1.getSettingsServer, consts_1.ErrorMessages.IE_0005); | ||
@@ -24,5 +23,4 @@ const id = (0, core_1.getBrowserIdFromRequest)(request, settings.cookieSettings.cookieName); | ||
| return new page_view_event_1.PageViewEvent({ | ||
| eventData, | ||
| extensionData, | ||
| id, | ||
| pageViewData, | ||
| searchParams: requestUrl.search, | ||
@@ -29,0 +27,0 @@ sendEvent: sendEvent_1.sendEvent, |
| import { EPResponse } from '@sitecore-cloudsdk/core'; | ||
| import { NestedObject } from '@sitecore-cloudsdk/utils'; | ||
| import { PageViewEventInput } from './page-view-event'; | ||
| import { PageViewData } from './page-view-event'; | ||
| /** | ||
| * A function that sends a VIEW event to SitecoreCloud API | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * | ||
| * @param pageViewData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export declare function pageView(eventData: PageViewEventInput, extensionData?: NestedObject): Promise<EPResponse | null>; | ||
| export declare function pageView(pageViewData: PageViewData): Promise<EPResponse | null>; |
@@ -12,8 +12,8 @@ "use strict"; | ||
| * A function that sends a VIEW event to SitecoreCloud API | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * | ||
| * @param pageViewData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| async function pageView(eventData, extensionData) { | ||
| async function pageView(pageViewData) { | ||
| await (0, initializer_1.awaitInit)(); | ||
@@ -23,5 +23,4 @@ const settings = (0, core_1.handleGetSettingsError)(core_1.getSettings, consts_1.ErrorMessages.IE_0004); | ||
| return new page_view_event_1.PageViewEvent({ | ||
| eventData, | ||
| extensionData, | ||
| id, | ||
| pageViewData, | ||
| searchParams: window.location.search, | ||
@@ -28,0 +27,0 @@ sendEvent: sendEvent_1.sendEvent, |
@@ -1,9 +0,7 @@ | ||
| import { CustomEventInput, ExtensionData } from '../events'; | ||
| import { EventData } from '../events'; | ||
| /** | ||
| * A function that adds event to the queue | ||
| * @param type - The required type of the event | ||
| * | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| */ | ||
| export declare function addToEventQueue(type: string, eventData: CustomEventInput, extensionData?: ExtensionData): Promise<void>; | ||
| export declare function addToEventQueue(eventData: EventData): Promise<void>; |
@@ -11,8 +11,6 @@ "use strict"; | ||
| * A function that adds event to the queue | ||
| * @param type - The required type of the event | ||
| * | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| */ | ||
| async function addToEventQueue(type, eventData, extensionData) { | ||
| async function addToEventQueue(eventData) { | ||
| await (0, initializer_1.awaitInit)(); | ||
@@ -23,6 +21,4 @@ const settings = (0, core_1.handleGetSettingsError)(core_1.getSettings, consts_1.ErrorMessages.IE_0004); | ||
| eventData, | ||
| extensionData, | ||
| id, | ||
| settings, | ||
| type, | ||
| }; | ||
@@ -29,0 +25,0 @@ eventStorage_1.eventQueue.enqueueEvent(queueEventPayload); |
@@ -33,4 +33,4 @@ import { CustomEventArguments } from '../events'; | ||
| } | ||
| export type QueueEventPayload = Pick<CustomEventArguments, 'eventData' | 'extensionData' | 'type' | 'settings' | 'id'>; | ||
| export type QueueEventPayload = Pick<CustomEventArguments, 'eventData' | 'settings' | 'id'>; | ||
| export declare const eventQueue: EventQueue; | ||
| export {}; |
@@ -52,7 +52,5 @@ "use strict"; | ||
| eventData: queueEventPayload.eventData, | ||
| extensionData: queueEventPayload.extensionData, | ||
| id: queueEventPayload.id, | ||
| sendEvent: sendEvent_1.sendEvent, | ||
| settings: queueEventPayload.settings, | ||
| type: queueEventPayload.type, | ||
| }).send(); | ||
@@ -59,0 +57,0 @@ } |
@@ -1,9 +0,9 @@ | ||
| import { SettingsParamsBrowser } from '@sitecore-cloudsdk/core'; | ||
| import { BrowserSettings } from '@sitecore-cloudsdk/core'; | ||
| export declare let initPromise: Promise<void> | null; | ||
| /** | ||
| * Initiates the Events library using the global settings added by the developer | ||
| * @param settingsInput - Global settings added by the developer | ||
| * @param settings - Global settings added by the developer | ||
| * @returns A promise that resolves with an object that handles the library functionality | ||
| */ | ||
| export declare function init(settingsInput: SettingsParamsBrowser): Promise<void>; | ||
| export declare function init(settings: BrowserSettings): Promise<void>; | ||
| /** | ||
@@ -10,0 +10,0 @@ * A function that handles the async browser init logic. Throws an error or awaits the promise. |
@@ -10,10 +10,10 @@ "use strict"; | ||
| * Initiates the Events library using the global settings added by the developer | ||
| * @param settingsInput - Global settings added by the developer | ||
| * @param settings - Global settings added by the developer | ||
| * @returns A promise that resolves with an object that handles the library functionality | ||
| */ | ||
| async function init(settingsInput) { | ||
| async function init(settings) { | ||
| if (typeof window === 'undefined') | ||
| throw new Error(consts_1.ErrorMessages.IE_0001); | ||
| try { | ||
| exports.initPromise = (0, core_1.initCore)(settingsInput); | ||
| exports.initPromise = (0, core_1.initCore)(settings); | ||
| await exports.initPromise; | ||
@@ -20,0 +20,0 @@ (0, core_1.debug)(consts_1.EVENTS_NAMESPACE)('eventsClient library initialized'); |
@@ -1,8 +0,10 @@ | ||
| import { SettingsParamsServer } from '@sitecore-cloudsdk/core'; | ||
| import { ServerSettings } from '@sitecore-cloudsdk/core'; | ||
| import { HttpResponse, MiddlewareNextResponse, Request } from '@sitecore-cloudsdk/utils'; | ||
| /** | ||
| * Initiates the server Events library using the global settings added by the developer | ||
| * @param request - The request object, either a Middleware Request or an HTTP Request | ||
| * @param response - The response object, either a Middleware Next Response or an HTTP Response | ||
| * @param settings - Global settings added by the developer | ||
| * @returns A promise that resolves with an object that handles the library functionality | ||
| */ | ||
| export declare function initServer<Response extends MiddlewareNextResponse | HttpResponse>(settingsInput: SettingsParamsServer, request: Request, response: Response): Promise<void>; | ||
| export declare function initServer<Response extends MiddlewareNextResponse | HttpResponse>(request: Request, response: Response, settings: ServerSettings): Promise<void>; |
@@ -9,8 +9,10 @@ "use strict"; | ||
| * Initiates the server Events library using the global settings added by the developer | ||
| * @param request - The request object, either a Middleware Request or an HTTP Request | ||
| * @param response - The response object, either a Middleware Next Response or an HTTP Response | ||
| * @param settings - Global settings added by the developer | ||
| * @returns A promise that resolves with an object that handles the library functionality | ||
| */ | ||
| async function initServer(settingsInput, request, response) { | ||
| async function initServer(request, response, settings) { | ||
| try { | ||
| await (0, core_1.initCoreServer)(settingsInput, request, response); | ||
| await (0, core_1.initCoreServer)(settings, request, response); | ||
| (0, core_1.debug)(consts_1.EVENTS_NAMESPACE)('eventsServer library initialized'); | ||
@@ -17,0 +19,0 @@ } |
@@ -6,2 +6,2 @@ export { initServer as init } from './lib/initializer/server/initializer'; | ||
| export { LIBRARY_VERSION, EVENTS_NAMESPACE } from './lib/consts'; | ||
| export type { PageViewEventInput, CustomEventInput, IdentityEventAttributesInput } from './lib/events'; | ||
| export type { PageViewData, EventData, IdentityData } from './lib/events'; |
| { | ||
| "name": "@sitecore-cloudsdk/events", | ||
| "version": "0.2.4", | ||
| "version": "0.3.0", | ||
| "license": "Apache-2.0", | ||
| "homepage": "https://doc.sitecore.com/xmc/en/developers/xm-cloud/sitecore-cloud-sdk.html", | ||
| "homepage": "https://doc.sitecore.com/xmc/en/developers/sdk/latest/cloud-sdk/index.html", | ||
| "exports": { | ||
@@ -19,4 +19,4 @@ "./server": { | ||
| "dependencies": { | ||
| "@sitecore-cloudsdk/core": "^0.2.4", | ||
| "@sitecore-cloudsdk/utils": "^0.2.4" | ||
| "@sitecore-cloudsdk/core": "^0.3.0", | ||
| "@sitecore-cloudsdk/utils": "^0.3.0" | ||
| }, | ||
@@ -39,5 +39,4 @@ "scripts": { | ||
| "engines": { | ||
| "node": ">=18", | ||
| "npm": ">=9" | ||
| "node": ">=18" | ||
| } | ||
| } |
| export { getBrowserId } from '@sitecore-cloudsdk/core'; | ||
| export { init } from './lib/initializer/browser/initializer'; | ||
| export type { PageViewEventInput, CustomEventInput, IdentityEventAttributesInput } from './lib/events'; | ||
| export type { PageViewData, EventData, IdentityData } from './lib/events'; | ||
| export { addToEventQueue } from './lib/eventStorage/addToEventQueue'; | ||
@@ -5,0 +5,0 @@ export { processEventQueue } from './lib/eventStorage/processEventQueue'; |
@@ -12,5 +12,5 @@ /** | ||
| IV_0004 = "[IV-0004] Incorrect value for \"expiryDate\". Format the value according to ISO 8601.", | ||
| IV_0005 = "[IV-0005] This event supports maximum 50 attributes. Reduce the number of attributes.", | ||
| IV_0005 = "[IV-0005] \"extensionData\" supports maximum 50 attributes. Reduce the number of attributes.", | ||
| MV_0003 = "[MV-0003] \"identifiers\" is required." | ||
| } | ||
| export declare const EVENTS_NAMESPACE = "sitecore-cloudsdk:events"; |
@@ -17,5 +17,5 @@ // © Sitecore Corporation A/S. All rights reserved. Sitecore® is a registered trademark of Sitecore Corporation A/S. | ||
| ErrorMessages["IV_0004"] = "[IV-0004] Incorrect value for \"expiryDate\". Format the value according to ISO 8601."; | ||
| ErrorMessages["IV_0005"] = "[IV-0005] This event supports maximum 50 attributes. Reduce the number of attributes."; | ||
| ErrorMessages["IV_0005"] = "[IV-0005] \"extensionData\" supports maximum 50 attributes. Reduce the number of attributes."; | ||
| ErrorMessages["MV_0003"] = "[MV-0003] \"identifiers\" is required."; | ||
| })(ErrorMessages || (ErrorMessages = {})); | ||
| export const EVENTS_NAMESPACE = 'sitecore-cloudsdk:events'; |
@@ -33,3 +33,3 @@ import { EventAttributesInput } from './common-interfaces'; | ||
| } | ||
| type BaseEventData = Partial<EventAttributesInput>; | ||
| type BaseEventData = EventAttributesInput; | ||
| export {}; |
| import { NestedObject } from '@sitecore-cloudsdk/utils'; | ||
| /** | ||
| * Event data received as input to be sent to Sitecore EP | ||
| */ | ||
| interface MandatoryInput { | ||
| channel: string; | ||
| currency: string; | ||
| } | ||
| type MandatoryEventInput = MandatoryInput; | ||
| /** | ||
| * Event data that is sent to Sitecore EP | ||
| */ | ||
| interface InferrableInput { | ||
| /** | ||
| * To be restored back to MandatoryEventInput Interface | ||
| * as mandatory input parameter in version 1.0.0 | ||
| */ | ||
| export interface EventAttributesInput { | ||
| language?: string; | ||
| page?: string; | ||
| channel?: string; | ||
| currency?: string; | ||
| } | ||
| type InferrableEventInput = InferrableInput; | ||
| /** | ||
| * Interface to hold the base event attributes | ||
| */ | ||
| export interface EventAttributesInput extends MandatoryEventInput, InferrableEventInput { | ||
| } | ||
| /** | ||
| * Type of the extension data that the developer can pass to events | ||
| */ | ||
| export type ExtensionData = NestedObject; | ||
| export {}; |
| import { BaseEvent } from '../base-event'; | ||
| import { EventAttributesInput } from '../common-interfaces'; | ||
| import { EventAttributesInput, ExtensionData } from '../common-interfaces'; | ||
| import { SendEvent } from '../send-event/sendEvent'; | ||
@@ -27,7 +27,5 @@ import { EPResponse, Settings } from '@sitecore-cloudsdk/core'; | ||
| sendEvent: SendEvent; | ||
| eventData: CustomEventData; | ||
| eventData: EventData; | ||
| id: string; | ||
| extensionData?: NestedObject; | ||
| settings: Settings; | ||
| type: string; | ||
| } | ||
@@ -45,9 +43,5 @@ /** | ||
| */ | ||
| export interface CustomEventInput extends EventAttributesInput, NestedObject { | ||
| export interface EventData extends EventAttributesInput, NestedObject { | ||
| type: string; | ||
| extensionData?: ExtensionData; | ||
| } | ||
| /** | ||
| * Internal interface with the required/optional attributes in order to send a custom event to SitecoreCloud API | ||
| */ | ||
| interface CustomEventData extends Partial<EventAttributesInput>, NestedObject { | ||
| } | ||
| export {}; |
@@ -12,3 +12,3 @@ // © Sitecore Corporation A/S. All rights reserved. Sitecore® is a registered trademark of Sitecore Corporation A/S. | ||
| constructor(args) { | ||
| const { channel, currency, language, page, ...rest } = args.eventData; | ||
| const { channel, currency, language, page, type, extensionData, ...rest } = args.eventData; | ||
| super({ channel, currency, language, page }, args.id); | ||
@@ -19,7 +19,7 @@ this.extensionData = {}; | ||
| this.customEventPayload = { | ||
| type: args.type, | ||
| type, | ||
| ...rest, | ||
| }; | ||
| if (args.extensionData) | ||
| this.extensionData = flattenObject({ object: args.extensionData }); | ||
| if (extensionData) | ||
| this.extensionData = flattenObject({ object: extensionData }); | ||
| const numberOfExtensionDataProperties = Object.entries(this.extensionData).length; | ||
@@ -26,0 +26,0 @@ if (numberOfExtensionDataProperties > MAX_EXT_ATTRIBUTES) |
| import { EPResponse } from '@sitecore-cloudsdk/core'; | ||
| import { ExtensionData } from '../common-interfaces'; | ||
| import { CustomEventInput } from './custom-event'; | ||
| import { EventData } from './custom-event'; | ||
| /** | ||
| * A function that sends an event to SitecoreCloud API with the specified type | ||
| * @param type - The required type of the event | ||
| * | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export declare function event(type: string, eventData: CustomEventInput, extensionData?: ExtensionData): Promise<EPResponse | null>; | ||
| export declare function event(eventData: EventData): Promise<EPResponse | null>; |
@@ -9,9 +9,7 @@ // © Sitecore Corporation A/S. All rights reserved. Sitecore® is a registered trademark of Sitecore Corporation A/S. | ||
| * A function that sends an event to SitecoreCloud API with the specified type | ||
| * @param type - The required type of the event | ||
| * | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export async function event(type, eventData, extensionData) { | ||
| export async function event(eventData) { | ||
| await awaitInit(); | ||
@@ -22,8 +20,6 @@ const settings = handleGetSettingsError(getSettings, ErrorMessages.IE_0004); | ||
| eventData, | ||
| extensionData, | ||
| id, | ||
| sendEvent, | ||
| settings, | ||
| type, | ||
| }).send(); | ||
| } |
| import { EPResponse } from '@sitecore-cloudsdk/core'; | ||
| import { ExtensionData } from '../common-interfaces'; | ||
| import { CustomEventInput } from './custom-event'; | ||
| import { EventData } from './custom-event'; | ||
| import { Request } from '@sitecore-cloudsdk/utils'; | ||
| /** | ||
| * A function that sends an event to SitecoreCloud API with the specified type | ||
| * @param type - The required type of the event | ||
| * | ||
| * @param request - Interface with constraint for extending request | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param request - Interface with constraint for extending request | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export declare function eventServer<T extends Request>(type: string, eventData: CustomEventInput, request: T, extensionData?: ExtensionData): Promise<EPResponse | null>; | ||
| export declare function eventServer<T extends Request>(request: T, eventData: EventData): Promise<EPResponse | null>; |
@@ -8,9 +8,8 @@ // © Sitecore Corporation A/S. All rights reserved. Sitecore® is a registered trademark of Sitecore Corporation A/S. | ||
| * A function that sends an event to SitecoreCloud API with the specified type | ||
| * @param type - The required type of the event | ||
| * | ||
| * @param request - Interface with constraint for extending request | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param request - Interface with constraint for extending request | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export function eventServer(type, eventData, request, extensionData) { | ||
| export function eventServer(request, eventData) { | ||
| const settings = handleGetSettingsError(getSettingsServer, ErrorMessages.IE_0005); | ||
@@ -20,8 +19,6 @@ const id = getBrowserIdFromRequest(request, settings.cookieSettings.cookieName); | ||
| eventData, | ||
| extensionData, | ||
| id, | ||
| sendEvent, | ||
| settings, | ||
| type, | ||
| }).send(); | ||
| } |
| import { EPResponse } from '@sitecore-cloudsdk/core'; | ||
| /** | ||
| * A function that sends a form event to SitecoreCloud API | ||
| * | ||
| * @param formId - The required form ID string | ||
@@ -5,0 +6,0 @@ * @param interactionType - The required interaction type string. Possible values: "VIEWED", "SUBMITTED" |
@@ -9,2 +9,3 @@ // © Sitecore Corporation A/S. All rights reserved. Sitecore® is a registered trademark of Sitecore Corporation A/S. | ||
| * A function that sends a form event to SitecoreCloud API | ||
| * | ||
| * @param formId - The required form ID string | ||
@@ -20,6 +21,8 @@ * @param interactionType - The required interaction type string. Possible values: "VIEWED", "SUBMITTED" | ||
| const formEvent = new CustomEvent({ | ||
| eventData: {}, | ||
| extensionData: { | ||
| formId, | ||
| interactionType: interactionType.toUpperCase(), | ||
| eventData: { | ||
| extensionData: { | ||
| formId, | ||
| interactionType: interactionType.toUpperCase(), | ||
| }, | ||
| type: 'FORM', | ||
| }, | ||
@@ -29,3 +32,2 @@ id, | ||
| settings, | ||
| type: 'FORM', | ||
| }); | ||
@@ -32,0 +34,0 @@ formEvent.page = undefined; |
@@ -7,3 +7,3 @@ import { BaseEvent } from '../base-event'; | ||
| export declare class IdentityEvent extends BaseEvent { | ||
| private eventData; | ||
| private identityData; | ||
| private sendEvent; | ||
@@ -15,2 +15,3 @@ private extensionData; | ||
| * A class that extends from {@link BaseEvent} and has all the required functionality to send a VIEW event | ||
| * | ||
| * @param args - Unified object containing the required properties | ||
@@ -21,3 +22,3 @@ */ | ||
| * Function that validates the identifiers object, email and date attributes for CDN users | ||
| * * @param eventData - The data to be validated | ||
| * * @param identityData - The data to be validated | ||
| */ | ||
@@ -47,3 +48,3 @@ private validateAttributes; | ||
| */ | ||
| export interface IdentityEventAttributesInput extends EventAttributesInput { | ||
| export interface IdentityData extends EventAttributesInput { | ||
| city?: string; | ||
@@ -63,2 +64,3 @@ country?: string; | ||
| title?: string; | ||
| extensionData?: ExtensionData; | ||
| } | ||
@@ -99,4 +101,3 @@ /** | ||
| sendEvent: SendEvent; | ||
| eventData: IdentityEventAttributesInput; | ||
| extensionData?: ExtensionData; | ||
| identityData: IdentityData; | ||
| id: string; | ||
@@ -103,0 +104,0 @@ settings: Settings; |
@@ -9,15 +9,16 @@ // © Sitecore Corporation A/S. All rights reserved. Sitecore® is a registered trademark of Sitecore Corporation A/S. | ||
| * A class that extends from {@link BaseEvent} and has all the required functionality to send a VIEW event | ||
| * | ||
| * @param args - Unified object containing the required properties | ||
| */ | ||
| constructor(args) { | ||
| const { channel, currency, language, page } = args.eventData; | ||
| const { channel, currency, language, page, extensionData } = args.identityData; | ||
| super({ channel, currency, language, page }, args.id); | ||
| this.extensionData = {}; | ||
| this.numberOfExtensionDataProperties = 0; | ||
| this.validateAttributes(args.eventData); | ||
| this.eventData = args.eventData; | ||
| this.validateAttributes(args.identityData); | ||
| this.identityData = args.identityData; | ||
| this.sendEvent = args.sendEvent; | ||
| this.settings = args.settings; | ||
| if (args.extensionData) | ||
| this.extensionData = flattenObject({ object: args.extensionData }); | ||
| if (extensionData) | ||
| this.extensionData = flattenObject({ object: extensionData }); | ||
| this.numberOfExtensionDataProperties = Object.entries(this.extensionData).length; | ||
@@ -29,14 +30,14 @@ if (this.numberOfExtensionDataProperties > MAX_EXT_ATTRIBUTES) | ||
| * Function that validates the identifiers object, email and date attributes for CDN users | ||
| * * @param eventData - The data to be validated | ||
| * * @param identityData - The data to be validated | ||
| */ | ||
| validateAttributes(eventData) { | ||
| if (eventData.identifiers.length === 0) | ||
| validateAttributes(identityData) { | ||
| if (identityData.identifiers.length === 0) | ||
| throw new Error(ErrorMessages.MV_0003); | ||
| if (eventData.dob !== undefined && !isShortISODateString(eventData.dob)) | ||
| if (identityData.dob !== undefined && !isShortISODateString(identityData.dob)) | ||
| throw new Error(ErrorMessages.IV_0002); | ||
| eventData.identifiers.forEach((identifier) => { | ||
| identityData.identifiers.forEach((identifier) => { | ||
| if (identifier.expiryDate && !isShortISODateString(identifier.expiryDate)) | ||
| throw new Error(ErrorMessages.IV_0004); | ||
| }); | ||
| if (eventData.email && !isValidEmail(eventData.email)) | ||
| if (identityData.email && !isValidEmail(identityData.email)) | ||
| throw new Error(ErrorMessages.IV_0003); | ||
@@ -50,9 +51,9 @@ } | ||
| const identityPayload = { | ||
| city: this.eventData.city, | ||
| country: this.eventData.country, | ||
| dob: this.eventData.dob, | ||
| email: this.eventData.email, | ||
| firstname: this.eventData.firstName, | ||
| gender: this.eventData.gender, | ||
| identifiers: this.eventData.identifiers.map((value) => { | ||
| city: this.identityData.city, | ||
| country: this.identityData.country, | ||
| dob: this.identityData.dob, | ||
| email: this.identityData.email, | ||
| firstname: this.identityData.firstName, | ||
| gender: this.identityData.gender, | ||
| identifiers: this.identityData.identifiers.map((value) => { | ||
| return { | ||
@@ -65,10 +66,10 @@ // eslint-disable-next-line @typescript-eslint/naming-convention | ||
| }), | ||
| lastname: this.eventData.lastName, | ||
| mobile: this.eventData.mobile, | ||
| phone: this.eventData.phone, | ||
| lastname: this.identityData.lastName, | ||
| mobile: this.identityData.mobile, | ||
| phone: this.identityData.phone, | ||
| // eslint-disable-next-line @typescript-eslint/naming-convention | ||
| postal_code: this.eventData.postalCode, | ||
| state: this.eventData.state, | ||
| street: this.eventData.street, | ||
| title: this.eventData.title, | ||
| postal_code: this.identityData.postalCode, | ||
| state: this.identityData.state, | ||
| street: this.identityData.street, | ||
| title: this.identityData.title, | ||
| type: 'IDENTITY', | ||
@@ -75,0 +76,0 @@ }; |
@@ -1,11 +0,9 @@ | ||
| import { ExtensionData } from '../common-interfaces'; | ||
| import { EPResponse } from '@sitecore-cloudsdk/core'; | ||
| import { IdentityEventAttributesInput } from './identity-event'; | ||
| import { IdentityData } from './identity-event'; | ||
| /** | ||
| * A function that sends an IDENTITY event to SitecoreCloud API | ||
| * | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export declare function identity(eventData: IdentityEventAttributesInput, extensionData?: ExtensionData): Promise<EPResponse | null>; | ||
| export declare function identity(identityData: IdentityData): Promise<EPResponse | null>; |
@@ -0,1 +1,2 @@ | ||
| // © Sitecore Corporation A/S. All rights reserved. Sitecore® is a registered trademark of Sitecore Corporation A/S. | ||
| import { getBrowserId, getSettings, handleGetSettingsError } from '@sitecore-cloudsdk/core'; | ||
@@ -8,8 +9,7 @@ import { IdentityEvent } from './identity-event'; | ||
| * A function that sends an IDENTITY event to SitecoreCloud API | ||
| * | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export async function identity(eventData, extensionData) { | ||
| export async function identity(identityData) { | ||
| await awaitInit(); | ||
@@ -19,5 +19,4 @@ const settings = handleGetSettingsError(getSettings, ErrorMessages.IE_0004); | ||
| return new IdentityEvent({ | ||
| eventData, | ||
| extensionData, | ||
| id, | ||
| identityData, | ||
| sendEvent, | ||
@@ -24,0 +23,0 @@ settings, |
@@ -1,13 +0,11 @@ | ||
| import { ExtensionData } from '../common-interfaces'; | ||
| import { Request } from '@sitecore-cloudsdk/utils'; | ||
| import { EPResponse } from '@sitecore-cloudsdk/core'; | ||
| import { IdentityEventAttributesInput } from './identity-event'; | ||
| import { IdentityData } from './identity-event'; | ||
| /** | ||
| * A function that sends an IDENTITY event to SitecoreCloud API | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * | ||
| * @param request - Interface with constraint for extending request | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @param identityData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export declare function identityServer(eventData: IdentityEventAttributesInput, request: Request, extensionData?: ExtensionData): Promise<EPResponse | null>; | ||
| export declare function identityServer(request: Request, identityData: IdentityData): Promise<EPResponse | null>; |
@@ -8,15 +8,13 @@ // © Sitecore Corporation A/S. All rights reserved. Sitecore® is a registered trademark of Sitecore Corporation A/S. | ||
| * A function that sends an IDENTITY event to SitecoreCloud API | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * | ||
| * @param request - Interface with constraint for extending request | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @param identityData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export function identityServer(eventData, request, extensionData) { | ||
| export function identityServer(request, identityData) { | ||
| const settings = handleGetSettingsError(getSettingsServer, ErrorMessages.IE_0005); | ||
| const id = getBrowserIdFromRequest(request, settings.cookieSettings.cookieName); | ||
| return new IdentityEvent({ | ||
| eventData, | ||
| extensionData, | ||
| id, | ||
| identityData, | ||
| sendEvent, | ||
@@ -23,0 +21,0 @@ settings: settings, |
| export { BaseEvent } from './base-event'; | ||
| export type { BasePayload } from './base-event'; | ||
| export { PageViewEvent } from './page-view/page-view-event'; | ||
| export type { PageViewEventInput, PageViewEventPayload } from './page-view/page-view-event'; | ||
| export type { PageViewData, PageViewEventPayload } from './page-view/page-view-event'; | ||
| export { CustomEvent } from './custom-event/custom-event'; | ||
| export type { CustomEventInput, CustomEventPayload, CustomEventArguments } from './custom-event/custom-event'; | ||
| export type { EventData, CustomEventPayload, CustomEventArguments } from './custom-event/custom-event'; | ||
| export { IdentityEvent } from './identity/identity-event'; | ||
| export type { IdentityEventAttributesInput, IdentityEventPayload } from './identity/identity-event'; | ||
| export type { IdentityData, IdentityEventPayload } from './identity/identity-event'; | ||
| export type { ExtensionData } from './common-interfaces'; |
| import { EPResponse, Infer, Settings } from '@sitecore-cloudsdk/core'; | ||
| import { FlattenedObject, NestedObject } from '@sitecore-cloudsdk/utils'; | ||
| import { BaseEvent } from '../base-event'; | ||
| import { EventAttributesInput } from '../common-interfaces'; | ||
| import { EventAttributesInput, ExtensionData } from '../common-interfaces'; | ||
| import { SendEvent } from '../send-event/sendEvent'; | ||
@@ -9,3 +9,3 @@ export declare class PageViewEvent extends BaseEvent { | ||
| private sendEvent; | ||
| private eventData; | ||
| private pageViewData; | ||
| private extensionData; | ||
@@ -53,3 +53,3 @@ private urlSearchParams; | ||
| sendEvent: SendEvent; | ||
| eventData: PageViewEventInput; | ||
| pageViewData: PageViewData; | ||
| id: string; | ||
@@ -64,6 +64,7 @@ settings: Settings; | ||
| */ | ||
| export interface PageViewEventInput extends EventAttributesInput { | ||
| export interface PageViewData extends EventAttributesInput { | ||
| pageVariantId?: string; | ||
| referrer?: string; | ||
| includeUTMParameters?: boolean; | ||
| extensionData?: ExtensionData; | ||
| } | ||
@@ -70,0 +71,0 @@ /** |
@@ -11,3 +11,3 @@ import { flattenObject } from '@sitecore-cloudsdk/utils'; | ||
| constructor(args) { | ||
| const { channel, currency, language, page } = args.eventData; | ||
| const { channel, currency, language, page, extensionData } = args.pageViewData; | ||
| super({ | ||
@@ -20,8 +20,8 @@ channel, | ||
| this.extensionData = {}; | ||
| this.eventData = args.eventData; | ||
| this.pageViewData = args.pageViewData; | ||
| this.sendEvent = args.sendEvent; | ||
| this.settings = args.settings; | ||
| this.urlSearchParams = new URLSearchParams(decodeURI(args.searchParams)); | ||
| if (args.extensionData) | ||
| this.extensionData = flattenObject({ object: args.extensionData }); | ||
| if (extensionData) | ||
| this.extensionData = flattenObject({ object: extensionData }); | ||
| const numberOfExtensionDataProperties = Object.entries(this.extensionData).length; | ||
@@ -31,3 +31,3 @@ if (numberOfExtensionDataProperties > MAX_EXT_ATTRIBUTES) | ||
| this.includeUTMParameters = | ||
| args.eventData.includeUTMParameters === undefined ? true : args.eventData.includeUTMParameters; | ||
| args.pageViewData.includeUTMParameters === undefined ? true : args.pageViewData.includeUTMParameters; | ||
| } | ||
@@ -39,5 +39,5 @@ /** | ||
| */ | ||
| getPageVariantId(pageVariantIdFromEventData, pageVariantIdFromExt) { | ||
| if (pageVariantIdFromEventData) | ||
| return pageVariantIdFromEventData; | ||
| getPageVariantId(pageVariantIdFromPageViewData, pageVariantIdFromExt) { | ||
| if (pageVariantIdFromPageViewData) | ||
| return pageVariantIdFromPageViewData; | ||
| const pageVariantIdFromURL = this.urlSearchParams.get('variantid'); | ||
@@ -56,4 +56,4 @@ if (pageVariantIdFromURL) | ||
| getReferrer() { | ||
| if (this.eventData.referrer) | ||
| return this.eventData.referrer; | ||
| if (this.pageViewData.referrer) | ||
| return this.pageViewData.referrer; | ||
| if (typeof window === 'undefined') | ||
@@ -74,3 +74,3 @@ return null; | ||
| }; | ||
| const pageVariantId = this.getPageVariantId(this.eventData.pageVariantId, this.extensionData['pageVariantId']); | ||
| const pageVariantId = this.getPageVariantId(this.pageViewData.pageVariantId, this.extensionData['pageVariantId']); | ||
| if (pageVariantId !== null) | ||
@@ -77,0 +77,0 @@ viewPayload.ext = { ...viewPayload.ext, pageVariantId }; |
| import { EPResponse } from '@sitecore-cloudsdk/core'; | ||
| import { NestedObject, Request } from '@sitecore-cloudsdk/utils'; | ||
| import { PageViewEventInput } from './page-view-event'; | ||
| import { Request } from '@sitecore-cloudsdk/utils'; | ||
| import { PageViewData } from './page-view-event'; | ||
| /** | ||
| * A function that sends a VIEW event to SitecoreCloud API | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * | ||
| * @param request - Interface with constraint for extending request | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @param pageViewData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export declare function pageViewServer<T extends Request>(eventData: PageViewEventInput, request: T, extensionData?: NestedObject): Promise<EPResponse | null>; | ||
| export declare function pageViewServer<T extends Request>(request: T, pageViewData: PageViewData): Promise<EPResponse | null>; |
@@ -8,9 +8,8 @@ // © Sitecore Corporation A/S. All rights reserved. Sitecore® is a registered trademark of Sitecore Corporation A/S. | ||
| * A function that sends a VIEW event to SitecoreCloud API | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * | ||
| * @param request - Interface with constraint for extending request | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @param pageViewData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export function pageViewServer(eventData, request, extensionData) { | ||
| export function pageViewServer(request, pageViewData) { | ||
| const settings = handleGetSettingsError(getSettingsServer, ErrorMessages.IE_0005); | ||
@@ -21,5 +20,4 @@ const id = getBrowserIdFromRequest(request, settings.cookieSettings.cookieName); | ||
| return new PageViewEvent({ | ||
| eventData, | ||
| extensionData, | ||
| id, | ||
| pageViewData, | ||
| searchParams: requestUrl.search, | ||
@@ -26,0 +24,0 @@ sendEvent, |
| import { EPResponse } from '@sitecore-cloudsdk/core'; | ||
| import { NestedObject } from '@sitecore-cloudsdk/utils'; | ||
| import { PageViewEventInput } from './page-view-event'; | ||
| import { PageViewData } from './page-view-event'; | ||
| /** | ||
| * A function that sends a VIEW event to SitecoreCloud API | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * | ||
| * @param pageViewData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export declare function pageView(eventData: PageViewEventInput, extensionData?: NestedObject): Promise<EPResponse | null>; | ||
| export declare function pageView(pageViewData: PageViewData): Promise<EPResponse | null>; |
@@ -9,8 +9,8 @@ // © Sitecore Corporation A/S. All rights reserved. Sitecore® is a registered trademark of Sitecore Corporation A/S. | ||
| * A function that sends a VIEW event to SitecoreCloud API | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * | ||
| * @param pageViewData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| * @returns The response object that Sitecore EP returns | ||
| */ | ||
| export async function pageView(eventData, extensionData) { | ||
| export async function pageView(pageViewData) { | ||
| await awaitInit(); | ||
@@ -20,5 +20,4 @@ const settings = handleGetSettingsError(getSettings, ErrorMessages.IE_0004); | ||
| return new PageViewEvent({ | ||
| eventData, | ||
| extensionData, | ||
| id, | ||
| pageViewData, | ||
| searchParams: window.location.search, | ||
@@ -25,0 +24,0 @@ sendEvent, |
@@ -1,9 +0,7 @@ | ||
| import { CustomEventInput, ExtensionData } from '../events'; | ||
| import { EventData } from '../events'; | ||
| /** | ||
| * A function that adds event to the queue | ||
| * @param type - The required type of the event | ||
| * | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| */ | ||
| export declare function addToEventQueue(type: string, eventData: CustomEventInput, extensionData?: ExtensionData): Promise<void>; | ||
| export declare function addToEventQueue(eventData: EventData): Promise<void>; |
@@ -8,8 +8,6 @@ // © Sitecore Corporation A/S. All rights reserved. Sitecore® is a registered trademark of Sitecore Corporation A/S. | ||
| * A function that adds event to the queue | ||
| * @param type - The required type of the event | ||
| * | ||
| * @param eventData - The required/optional attributes in order to be send to SitecoreCloud API | ||
| * @param extensionData - The optional extensionData attributes that will be sent to SitecoreCloud API. | ||
| * This object will be flattened and sent in the ext object of the payload | ||
| */ | ||
| export async function addToEventQueue(type, eventData, extensionData) { | ||
| export async function addToEventQueue(eventData) { | ||
| await awaitInit(); | ||
@@ -20,8 +18,6 @@ const settings = handleGetSettingsError(getSettings, ErrorMessages.IE_0004); | ||
| eventData, | ||
| extensionData, | ||
| id, | ||
| settings, | ||
| type, | ||
| }; | ||
| eventQueue.enqueueEvent(queueEventPayload); | ||
| } |
@@ -33,4 +33,4 @@ import { CustomEventArguments } from '../events'; | ||
| } | ||
| export type QueueEventPayload = Pick<CustomEventArguments, 'eventData' | 'extensionData' | 'type' | 'settings' | 'id'>; | ||
| export type QueueEventPayload = Pick<CustomEventArguments, 'eventData' | 'settings' | 'id'>; | ||
| export declare const eventQueue: EventQueue; | ||
| export {}; |
@@ -49,7 +49,5 @@ // © Sitecore Corporation A/S. All rights reserved. Sitecore® is a registered trademark of Sitecore Corporation A/S. | ||
| eventData: queueEventPayload.eventData, | ||
| extensionData: queueEventPayload.extensionData, | ||
| id: queueEventPayload.id, | ||
| sendEvent, | ||
| settings: queueEventPayload.settings, | ||
| type: queueEventPayload.type, | ||
| }).send(); | ||
@@ -56,0 +54,0 @@ } |
@@ -1,9 +0,9 @@ | ||
| import { SettingsParamsBrowser } from '@sitecore-cloudsdk/core'; | ||
| import { BrowserSettings } from '@sitecore-cloudsdk/core'; | ||
| export declare let initPromise: Promise<void> | null; | ||
| /** | ||
| * Initiates the Events library using the global settings added by the developer | ||
| * @param settingsInput - Global settings added by the developer | ||
| * @param settings - Global settings added by the developer | ||
| * @returns A promise that resolves with an object that handles the library functionality | ||
| */ | ||
| export declare function init(settingsInput: SettingsParamsBrowser): Promise<void>; | ||
| export declare function init(settings: BrowserSettings): Promise<void>; | ||
| /** | ||
@@ -10,0 +10,0 @@ * A function that handles the async browser init logic. Throws an error or awaits the promise. |
@@ -7,10 +7,10 @@ // © Sitecore Corporation A/S. All rights reserved. Sitecore® is a registered trademark of Sitecore Corporation A/S. | ||
| * Initiates the Events library using the global settings added by the developer | ||
| * @param settingsInput - Global settings added by the developer | ||
| * @param settings - Global settings added by the developer | ||
| * @returns A promise that resolves with an object that handles the library functionality | ||
| */ | ||
| export async function init(settingsInput) { | ||
| export async function init(settings) { | ||
| if (typeof window === 'undefined') | ||
| throw new Error(ErrorMessages.IE_0001); | ||
| try { | ||
| initPromise = initCore(settingsInput); | ||
| initPromise = initCore(settings); | ||
| await initPromise; | ||
@@ -17,0 +17,0 @@ debug(EVENTS_NAMESPACE)('eventsClient library initialized'); |
@@ -1,8 +0,10 @@ | ||
| import { SettingsParamsServer } from '@sitecore-cloudsdk/core'; | ||
| import { ServerSettings } from '@sitecore-cloudsdk/core'; | ||
| import { HttpResponse, MiddlewareNextResponse, Request } from '@sitecore-cloudsdk/utils'; | ||
| /** | ||
| * Initiates the server Events library using the global settings added by the developer | ||
| * @param request - The request object, either a Middleware Request or an HTTP Request | ||
| * @param response - The response object, either a Middleware Next Response or an HTTP Response | ||
| * @param settings - Global settings added by the developer | ||
| * @returns A promise that resolves with an object that handles the library functionality | ||
| */ | ||
| export declare function initServer<Response extends MiddlewareNextResponse | HttpResponse>(settingsInput: SettingsParamsServer, request: Request, response: Response): Promise<void>; | ||
| export declare function initServer<Response extends MiddlewareNextResponse | HttpResponse>(request: Request, response: Response, settings: ServerSettings): Promise<void>; |
@@ -6,8 +6,10 @@ // © Sitecore Corporation A/S. All rights reserved. Sitecore® is a registered trademark of Sitecore Corporation A/S. | ||
| * Initiates the server Events library using the global settings added by the developer | ||
| * @param request - The request object, either a Middleware Request or an HTTP Request | ||
| * @param response - The response object, either a Middleware Next Response or an HTTP Response | ||
| * @param settings - Global settings added by the developer | ||
| * @returns A promise that resolves with an object that handles the library functionality | ||
| */ | ||
| export async function initServer(settingsInput, request, response) { | ||
| export async function initServer(request, response, settings) { | ||
| try { | ||
| await initCoreServer(settingsInput, request, response); | ||
| await initCoreServer(settings, request, response); | ||
| debug(EVENTS_NAMESPACE)('eventsServer library initialized'); | ||
@@ -14,0 +16,0 @@ } |
@@ -6,2 +6,2 @@ export { initServer as init } from './lib/initializer/server/initializer'; | ||
| export { LIBRARY_VERSION, EVENTS_NAMESPACE } from './lib/consts'; | ||
| export type { PageViewEventInput, CustomEventInput, IdentityEventAttributesInput } from './lib/events'; | ||
| export type { PageViewData, EventData, IdentityData } from './lib/events'; |
+5
-6
| { | ||
| "name": "@sitecore-cloudsdk/events", | ||
| "version": "0.2.4", | ||
| "version": "0.3.0", | ||
| "license": "Apache-2.0", | ||
| "homepage": "https://doc.sitecore.com/xmc/en/developers/xm-cloud/sitecore-cloud-sdk.html", | ||
| "homepage": "https://doc.sitecore.com/xmc/en/developers/sdk/latest/cloud-sdk/index.html", | ||
| "exports": { | ||
@@ -19,4 +19,4 @@ "./server": { | ||
| "dependencies": { | ||
| "@sitecore-cloudsdk/core": "^0.2.4", | ||
| "@sitecore-cloudsdk/utils": "^0.2.4" | ||
| "@sitecore-cloudsdk/core": "^0.3.0", | ||
| "@sitecore-cloudsdk/utils": "^0.3.0" | ||
| }, | ||
@@ -39,5 +39,4 @@ "scripts": { | ||
| "engines": { | ||
| "node": ">=18", | ||
| "npm": ">=9" | ||
| "node": ">=18" | ||
| } | ||
| } |
+8
-30
@@ -59,13 +59,4 @@ # events | ||
| const sendPageViewEvent = async () => { | ||
| let eventData: any = { | ||
| channel: 'WEB', | ||
| currency: 'EUR', | ||
| }; | ||
| await pageView(); | ||
| let extensionData: any = { | ||
| customKey: 'customValue', | ||
| }; | ||
| await pageView(eventData, extensionData); | ||
| console.log('Sent VIEW event.'); | ||
@@ -92,25 +83,12 @@ }; | ||
| await init( | ||
| { | ||
| sitecoreEdgeContextId: process.env.NEXT_PUBLIC_SITECORE_EDGE_CONTEXT_ID || '', | ||
| siteName: process.env.NEXT_PUBLIC_SITENAME || '', | ||
| enableServerCookie: true, | ||
| }, | ||
| req, | ||
| res | ||
| ); | ||
| await init(req, res, { | ||
| sitecoreEdgeContextId: process.env.NEXT_PUBLIC_SITECORE_EDGE_CONTEXT_ID || '', | ||
| siteName: process.env.NEXT_PUBLIC_SITENAME || '', | ||
| enableServerCookie: true, | ||
| }); | ||
| console.log(`Initialized "@sitecore-cloudsdk/events/server".`); | ||
| let eventData: any = { | ||
| channel: 'WEB', | ||
| currency: 'EUR', | ||
| }; | ||
| const pageViewRes = await pageView(req); | ||
| let extensionData: any = { | ||
| customKey: 'customValue', | ||
| }; | ||
| const pageViewRes = await pageView(eventData, req, extensionData); | ||
| console.log('Sent VIEW event.'); | ||
@@ -124,2 +102,2 @@ | ||
| [Official Sitecore Cloud SDK documentation](https://doc.sitecore.com/xmc/en/developers/xm-cloud/sitecore-cloud-sdk.html) | ||
| [Official Sitecore Cloud SDK documentation](https://doc.sitecore.com/xmc/en/developers/sdk/latest/cloud-sdk/index.html) |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
182347
-3.5%2529
-3.44%101
-17.89%+ Added
+ Added
- Removed
- Removed