@ninetailed/experience.js 7.5.0 → 7.6.0-beta.1
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/index.cjs +435 -132
- package/index.js +436 -134
- package/package.json +3 -2
- package/src/lib/Ninetailed.d.ts +15 -3
- package/src/lib/constants.d.ts +1 -0
- package/src/lib/experience/makeExperienceSelectMiddleware.d.ts +8 -8
- package/src/lib/guards/hasExperienceSelectionMiddleware.d.ts +1 -1
- package/src/lib/plugins/selectPluginsHavingExperienceSelectionMiddleware.d.ts +1 -1
- package/src/lib/types/OnSelectVariant.d.ts +51 -0
- package/src/lib/types/index.d.ts +8 -2
- package/src/lib/types/interfaces/HasExperienceSelectionMiddleware.d.ts +10 -10
- package/src/lib/utils/EventBuilder.d.ts +221 -0
- package/src/lib/utils/noop.d.ts +1 -0
package/src/lib/Ninetailed.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/// <reference types="analytics" />
|
|
2
|
-
import { Locale, Traits, OnLogHandler, OnErrorHandler, Logger, PageviewProperties, Properties, NinetailedApiClient, NinetailedApiClientOptions, NinetailedRequestContext } from '@ninetailed/experience.js-shared';
|
|
2
|
+
import { Locale, Traits, OnLogHandler, OnErrorHandler, Logger, PageviewProperties, Properties, NinetailedApiClient, NinetailedApiClientOptions, NinetailedRequestContext, Reference, Event } from '@ninetailed/experience.js-shared';
|
|
3
3
|
import { OnInitProfileId } from './ninetailedCorePlugin';
|
|
4
4
|
import { EventFunctionOptions, NinetailedInstance, NinetailedPlugin, OnIsInitializedCallback, OnProfileChangeCallback, ProfileState, TrackHasSeenComponent, ElementSeenPayload, TrackComponentView } from './types';
|
|
5
5
|
import { ObserveOptions } from './ElementSeenObserver';
|
|
6
|
+
import { OnSelectVariantArgs, OnSelectVariantCallback } from './types/OnSelectVariant';
|
|
7
|
+
import { EventBuilder } from './utils/EventBuilder';
|
|
6
8
|
declare global {
|
|
7
9
|
interface Window {
|
|
8
10
|
ninetailed?: {
|
|
@@ -32,6 +34,7 @@ type Options = {
|
|
|
32
34
|
onInitProfileId?: OnInitProfileId;
|
|
33
35
|
buildClientContext?: () => NinetailedRequestContext;
|
|
34
36
|
storageImpl?: Storage;
|
|
37
|
+
useClientSideEvaluation?: boolean;
|
|
35
38
|
};
|
|
36
39
|
type NinetailedApiClientInstanceOrOptions = NinetailedApiClient | NinetailedApiClientOptions;
|
|
37
40
|
export declare class Ninetailed implements NinetailedInstance {
|
|
@@ -47,9 +50,18 @@ export declare class Ninetailed implements NinetailedInstance {
|
|
|
47
50
|
readonly plugins: NinetailedPlugin[];
|
|
48
51
|
readonly logger: Logger;
|
|
49
52
|
private readonly componentViewTrackingThreshold;
|
|
50
|
-
|
|
53
|
+
private readonly useClientSideEvaluation;
|
|
54
|
+
readonly eventBuilder: EventBuilder;
|
|
55
|
+
constructor(ninetailedApiClientInstanceOrOptions: NinetailedApiClientInstanceOrOptions, { plugins, url, locale, requestTimeout, onLog, onError, buildClientContext, onInitProfileId, componentViewTrackingThreshold, storageImpl, useClientSideEvaluation, }?: Options);
|
|
51
56
|
page: (data?: Partial<PageviewProperties>, options?: EventFunctionOptions) => Promise<import("./types").FlushResult>;
|
|
52
57
|
track: (event: string, properties?: Properties, options?: EventFunctionOptions) => Promise<import("./types").FlushResult>;
|
|
58
|
+
identify: (uid: string, traits?: Traits, options?: EventFunctionOptions) => Promise<import("./types").FlushResult>;
|
|
59
|
+
batch: (events: Event[]) => Promise<import("./types").FlushResult>;
|
|
60
|
+
trackStickyComponentView: ({ experienceId, componentId, variantIndex, }: {
|
|
61
|
+
experienceId: string;
|
|
62
|
+
componentId: string;
|
|
63
|
+
variantIndex: number;
|
|
64
|
+
}) => Promise<import("./types").FlushResult>;
|
|
53
65
|
/**
|
|
54
66
|
* @deprecated The legacy datamodel is not recommended anymore
|
|
55
67
|
* Will be removed in the next version of the SDK
|
|
@@ -59,10 +71,10 @@ export declare class Ninetailed implements NinetailedInstance {
|
|
|
59
71
|
observeElement: (payload: ElementSeenPayload, options?: ObserveOptions) => void;
|
|
60
72
|
unobserveElement: (element: Element) => void;
|
|
61
73
|
private onElementSeen;
|
|
62
|
-
identify: (uid: string, traits?: Traits, options?: EventFunctionOptions) => Promise<import("./types").FlushResult>;
|
|
63
74
|
reset: () => Promise<void>;
|
|
64
75
|
debug: (enabled: boolean) => Promise<void>;
|
|
65
76
|
onProfileChange: (cb: OnProfileChangeCallback) => import("analytics").DetachListeners;
|
|
77
|
+
onSelectVariant: <Baseline extends Reference, Variant extends Reference>({ baseline, experiences }: OnSelectVariantArgs<Baseline, Variant>, cb: OnSelectVariantCallback<Baseline, Variant>) => () => void;
|
|
66
78
|
onIsInitialized: (onIsInitialized: OnIsInitializedCallback) => void;
|
|
67
79
|
private waitUntilInitialized;
|
|
68
80
|
get profileState(): ProfileState;
|
package/src/lib/constants.d.ts
CHANGED
|
@@ -3,3 +3,4 @@ export declare const HAS_SEEN_ELEMENT = "has_seen_element";
|
|
|
3
3
|
export declare const COMPONENT = "component";
|
|
4
4
|
export declare const COMPONENT_START = "componentStart";
|
|
5
5
|
export declare const PAGE_HIDDEN = "page_hidden";
|
|
6
|
+
export declare const HAS_SEEN_STICKY_COMPONENT = "sticky_component_view";
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { ExperienceConfiguration, Profile, Reference
|
|
1
|
+
import { ExperienceConfiguration, Profile, Reference } from '@ninetailed/experience.js-shared';
|
|
2
2
|
import { NinetailedPlugin } from '../types/NinetailedPlugin';
|
|
3
|
-
import {
|
|
4
|
-
type MakeExperienceSelectMiddlewareArg<Variant extends Reference> = {
|
|
3
|
+
import { ExperienceSelectionMiddleware, ExperienceSelectionMiddlewareArg } from '../types/interfaces/HasExperienceSelectionMiddleware';
|
|
4
|
+
type MakeExperienceSelectMiddlewareArg<Baseline extends Reference, Variant extends Reference> = {
|
|
5
5
|
plugins: NinetailedPlugin[];
|
|
6
6
|
experiences: ExperienceConfiguration<Variant>[];
|
|
7
7
|
baseline: Reference;
|
|
8
8
|
profile: Profile | null;
|
|
9
|
-
onChange: () => void;
|
|
9
|
+
onChange: (middleware: ExperienceSelectionMiddleware<Baseline, Variant>) => void;
|
|
10
10
|
};
|
|
11
|
-
export declare const makeExperienceSelectMiddleware: <
|
|
11
|
+
export declare const makeExperienceSelectMiddleware: <TBaseline extends Reference, TVariant extends Reference>({ plugins, onChange, experiences, baseline, profile, }: MakeExperienceSelectMiddlewareArg<TBaseline, TVariant>) => {
|
|
12
12
|
addListeners: () => void;
|
|
13
13
|
removeListeners: () => void;
|
|
14
|
-
middleware: ({ experience, variant, variantIndex, }:
|
|
15
|
-
experience: ExperienceConfiguration<
|
|
16
|
-
variant:
|
|
14
|
+
middleware: ({ experience, variant, variantIndex, }: ExperienceSelectionMiddlewareArg<TBaseline, TVariant>) => {
|
|
15
|
+
experience: ExperienceConfiguration<TVariant> | null;
|
|
16
|
+
variant: TBaseline | TVariant | import("@ninetailed/experience.js-shared").VariantRef;
|
|
17
17
|
variantIndex: number;
|
|
18
18
|
};
|
|
19
19
|
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Reference } from '@ninetailed/experience.js-shared';
|
|
2
2
|
import { HasExperienceSelectionMiddleware } from '../types/interfaces/HasExperienceSelectionMiddleware';
|
|
3
|
-
export declare const hasExperienceSelectionMiddleware: <
|
|
3
|
+
export declare const hasExperienceSelectionMiddleware: <TBaseline extends Reference, TVariant extends Reference>(arg: unknown) => arg is HasExperienceSelectionMiddleware<TBaseline, TVariant>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Reference } from '@ninetailed/experience.js-shared';
|
|
2
2
|
import { HasExperienceSelectionMiddleware } from '../types/interfaces/HasExperienceSelectionMiddleware';
|
|
3
3
|
import { NinetailedPlugin } from '../types/NinetailedPlugin';
|
|
4
|
-
export declare const selectPluginsHavingExperienceSelectionMiddleware: <Variant extends Reference>(plugins: NinetailedPlugin[]) => HasExperienceSelectionMiddleware<Variant>[];
|
|
4
|
+
export declare const selectPluginsHavingExperienceSelectionMiddleware: <Baseline extends Reference, Variant extends Reference>(plugins: NinetailedPlugin[]) => HasExperienceSelectionMiddleware<Baseline, Variant>[];
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Profile, ExperienceConfiguration, Reference, VariantRef } from '@ninetailed/experience.js-shared';
|
|
2
|
+
import type { DetachListeners } from 'analytics';
|
|
3
|
+
type Loading<TBaseline extends Reference> = {
|
|
4
|
+
status: 'loading';
|
|
5
|
+
loading: boolean;
|
|
6
|
+
hasVariants: boolean;
|
|
7
|
+
baseline: TBaseline;
|
|
8
|
+
experience: null;
|
|
9
|
+
variant: TBaseline;
|
|
10
|
+
variantIndex: number;
|
|
11
|
+
audience: null;
|
|
12
|
+
isPersonalized: boolean;
|
|
13
|
+
profile: null;
|
|
14
|
+
error: null;
|
|
15
|
+
};
|
|
16
|
+
type Success<TBaseline extends Reference, TVariant extends Reference> = {
|
|
17
|
+
status: 'success';
|
|
18
|
+
loading: boolean;
|
|
19
|
+
hasVariants: boolean;
|
|
20
|
+
baseline: TBaseline;
|
|
21
|
+
experience: ExperienceConfiguration<TVariant> | null;
|
|
22
|
+
variant: TBaseline | TVariant | VariantRef;
|
|
23
|
+
variantIndex: number;
|
|
24
|
+
audience: {
|
|
25
|
+
id: string;
|
|
26
|
+
} | null;
|
|
27
|
+
isPersonalized: boolean;
|
|
28
|
+
profile: Profile;
|
|
29
|
+
error: null;
|
|
30
|
+
};
|
|
31
|
+
type Fail<TBaseline extends Reference> = {
|
|
32
|
+
status: 'error';
|
|
33
|
+
loading: boolean;
|
|
34
|
+
hasVariants: boolean;
|
|
35
|
+
baseline: TBaseline;
|
|
36
|
+
experience: null;
|
|
37
|
+
variant: TBaseline;
|
|
38
|
+
variantIndex: number;
|
|
39
|
+
audience: null;
|
|
40
|
+
isPersonalized: boolean;
|
|
41
|
+
profile: null;
|
|
42
|
+
error: Error;
|
|
43
|
+
};
|
|
44
|
+
export type OnSelectVariantArgs<TBaseline extends Reference, TVariant extends Reference> = {
|
|
45
|
+
baseline: TBaseline;
|
|
46
|
+
experiences: ExperienceConfiguration<TVariant>[];
|
|
47
|
+
};
|
|
48
|
+
export type OnSelectVariantCallbackArgs<TBaseline extends Reference, TVariant extends Reference> = Loading<TBaseline> | Success<TBaseline, TVariant> | Fail<TBaseline>;
|
|
49
|
+
export type OnSelectVariantCallback<TBaseline extends Reference, TVariant extends Reference> = (state: OnSelectVariantCallbackArgs<TBaseline, TVariant>) => void;
|
|
50
|
+
export type OnSelectVariant<TBaseline extends Reference = Reference, TVariant extends Reference = Reference> = (args: OnSelectVariantArgs<TBaseline, TVariant>, cb: OnSelectVariantCallback<TBaseline, TVariant>) => DetachListeners;
|
|
51
|
+
export {};
|
package/src/lib/types/index.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { Logger, PageviewProperties, Profile, Properties, Traits, SelectedVariantInfo } from '@ninetailed/experience.js-shared';
|
|
1
|
+
import { Logger, PageviewProperties, Profile, Properties, Traits, SelectedVariantInfo, Reference, Event } from '@ninetailed/experience.js-shared';
|
|
2
2
|
import { DetachListeners } from 'analytics';
|
|
3
3
|
import { TrackComponentProperties } from './TrackingProperties';
|
|
4
4
|
import { NinetailedPlugin } from './NinetailedPlugin';
|
|
5
5
|
import { type Ninetailed } from '../Ninetailed';
|
|
6
6
|
import { ElementSeenPayload } from './ElementSeenPayload';
|
|
7
|
+
import { OnSelectVariant } from './OnSelectVariant';
|
|
8
|
+
import { EventBuilder } from '../utils/EventBuilder';
|
|
7
9
|
type Loading = {
|
|
8
10
|
status: 'loading';
|
|
9
11
|
profile: null;
|
|
@@ -42,12 +44,13 @@ export type Track = (event: string, properties?: Properties, options?: EventFunc
|
|
|
42
44
|
export type TrackHasSeenComponent = (properties: TrackComponentProperties) => Promise<void>;
|
|
43
45
|
export type TrackComponentView = (properties: ElementSeenPayload) => Promise<void>;
|
|
44
46
|
export type Identify = (uid: string, traits?: Traits, options?: EventFunctionOptions) => Promise<FlushResult>;
|
|
47
|
+
export type Batch = (events: Event[]) => Promise<FlushResult>;
|
|
45
48
|
export type Reset = () => void;
|
|
46
49
|
export type Debug = (enable: boolean) => void;
|
|
47
50
|
export type OnProfileChange = (cb: OnProfileChangeCallback) => DetachListeners;
|
|
48
51
|
type ObserveElement = Ninetailed['observeElement'];
|
|
49
52
|
type UnObserveElement = Ninetailed['unobserveElement'];
|
|
50
|
-
export interface NinetailedInstance {
|
|
53
|
+
export interface NinetailedInstance<TBaseline extends Reference = Reference, TVariant extends Reference = Reference> {
|
|
51
54
|
page: Page;
|
|
52
55
|
track: Track;
|
|
53
56
|
/**
|
|
@@ -56,15 +59,18 @@ export interface NinetailedInstance {
|
|
|
56
59
|
trackHasSeenComponent: TrackHasSeenComponent;
|
|
57
60
|
trackComponentView: TrackComponentView;
|
|
58
61
|
identify: Identify;
|
|
62
|
+
batch: Batch;
|
|
59
63
|
reset: Reset;
|
|
60
64
|
debug: Debug;
|
|
61
65
|
profileState: ProfileState;
|
|
62
66
|
onProfileChange: OnProfileChange;
|
|
63
67
|
plugins: NinetailedPlugin[];
|
|
64
68
|
logger: Logger;
|
|
69
|
+
eventBuilder: EventBuilder;
|
|
65
70
|
onIsInitialized: OnIsInitialized;
|
|
66
71
|
observeElement: ObserveElement;
|
|
67
72
|
unobserveElement: UnObserveElement;
|
|
73
|
+
onSelectVariant: OnSelectVariant<TBaseline, TVariant>;
|
|
68
74
|
}
|
|
69
75
|
export { NinetailedPlugin, TrackComponentProperties };
|
|
70
76
|
export type { EventHandler } from './EventHandler';
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { ExperienceConfiguration, Reference } from '@ninetailed/experience.js-shared';
|
|
2
|
-
export type
|
|
3
|
-
experience: ExperienceConfiguration<
|
|
4
|
-
variant:
|
|
1
|
+
import { ExperienceConfiguration, Reference, VariantRef } from '@ninetailed/experience.js-shared';
|
|
2
|
+
export type ExperienceSelectionMiddlewareArg<TBaseline extends Reference, TVariant extends Reference> = {
|
|
3
|
+
experience: ExperienceConfiguration<TVariant> | null;
|
|
4
|
+
variant: TBaseline | TVariant | VariantRef;
|
|
5
5
|
variantIndex: number;
|
|
6
6
|
};
|
|
7
|
-
type
|
|
8
|
-
type
|
|
9
|
-
experiences: ExperienceConfiguration<
|
|
7
|
+
export type ExperienceSelectionMiddleware<TBaseline extends Reference, TVariant extends Reference> = (arg: ExperienceSelectionMiddlewareArg<TBaseline, TVariant>) => ExperienceSelectionMiddlewareArg<TBaseline, TVariant>;
|
|
8
|
+
type BuildExperienceSelectionMiddlewareArg<TVariant extends Reference> = {
|
|
9
|
+
experiences: ExperienceConfiguration<TVariant>[];
|
|
10
10
|
baseline: Reference;
|
|
11
11
|
};
|
|
12
|
-
export type
|
|
13
|
-
export interface HasExperienceSelectionMiddleware<
|
|
14
|
-
getExperienceSelectionMiddleware:
|
|
12
|
+
export type BuildExperienceSelectionMiddleware<TBaseline extends Reference, TVariant extends Reference> = (arg: BuildExperienceSelectionMiddlewareArg<TVariant>) => ExperienceSelectionMiddleware<TBaseline, TVariant>;
|
|
13
|
+
export interface HasExperienceSelectionMiddleware<TBaseline extends Reference, TVariant extends Reference> {
|
|
14
|
+
getExperienceSelectionMiddleware: BuildExperienceSelectionMiddleware<TBaseline, TVariant>;
|
|
15
15
|
}
|
|
16
16
|
export {};
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { BuildPageEventArgs, BuildTrackEventArgs, IdentifyEventArgs, NinetailedRequestContext, Properties } from '@ninetailed/experience.js-shared';
|
|
2
|
+
export declare class EventBuilder {
|
|
3
|
+
private readonly buildRequestContext;
|
|
4
|
+
constructor(buildRequestContext?: () => NinetailedRequestContext);
|
|
5
|
+
page(properties?: Properties, data?: Partial<Omit<BuildPageEventArgs, 'ctx' | 'properties'>>): {
|
|
6
|
+
channel: import("@ninetailed/experience.js-shared").EventChanel;
|
|
7
|
+
context: {
|
|
8
|
+
app?: {
|
|
9
|
+
name: string;
|
|
10
|
+
version: string;
|
|
11
|
+
} | undefined;
|
|
12
|
+
campaign: {
|
|
13
|
+
name?: string | undefined;
|
|
14
|
+
source?: string | undefined;
|
|
15
|
+
medium?: string | undefined;
|
|
16
|
+
term?: string | undefined;
|
|
17
|
+
content?: string | undefined;
|
|
18
|
+
};
|
|
19
|
+
library: {
|
|
20
|
+
name: string;
|
|
21
|
+
version: string;
|
|
22
|
+
};
|
|
23
|
+
locale: string;
|
|
24
|
+
page: {
|
|
25
|
+
path: string;
|
|
26
|
+
url: string;
|
|
27
|
+
query: Record<string, string>;
|
|
28
|
+
referrer: string;
|
|
29
|
+
search: string;
|
|
30
|
+
};
|
|
31
|
+
userAgent?: string | undefined;
|
|
32
|
+
gdpr: {
|
|
33
|
+
isConsentGiven: boolean;
|
|
34
|
+
};
|
|
35
|
+
location?: {
|
|
36
|
+
coordinates?: {
|
|
37
|
+
latitude: number;
|
|
38
|
+
longitude: number;
|
|
39
|
+
} | undefined;
|
|
40
|
+
city?: string | undefined;
|
|
41
|
+
postalCode?: string | undefined;
|
|
42
|
+
region?: string | undefined;
|
|
43
|
+
regionCode?: string | undefined;
|
|
44
|
+
country?: string | undefined;
|
|
45
|
+
countryCode?: string | undefined;
|
|
46
|
+
continent?: string | undefined;
|
|
47
|
+
timezone?: string | undefined;
|
|
48
|
+
} | undefined;
|
|
49
|
+
};
|
|
50
|
+
messageId: string;
|
|
51
|
+
originalTimestamp: string;
|
|
52
|
+
timestamp: string;
|
|
53
|
+
sentAt: string;
|
|
54
|
+
type: import("@ninetailed/experience.js-shared").EventType;
|
|
55
|
+
userId?: string | undefined;
|
|
56
|
+
name?: string | undefined;
|
|
57
|
+
properties: import("@ninetailed/experience.js-shared").PageviewProperties;
|
|
58
|
+
};
|
|
59
|
+
track(event: string, properties?: Properties, data?: Partial<Omit<BuildTrackEventArgs, 'ctx' | 'event' | 'properties'>>): {
|
|
60
|
+
channel: import("@ninetailed/experience.js-shared").EventChanel;
|
|
61
|
+
context: {
|
|
62
|
+
app?: {
|
|
63
|
+
name: string;
|
|
64
|
+
version: string;
|
|
65
|
+
} | undefined;
|
|
66
|
+
campaign: {
|
|
67
|
+
name?: string | undefined;
|
|
68
|
+
source?: string | undefined;
|
|
69
|
+
medium?: string | undefined;
|
|
70
|
+
term?: string | undefined;
|
|
71
|
+
content?: string | undefined;
|
|
72
|
+
};
|
|
73
|
+
library: {
|
|
74
|
+
name: string;
|
|
75
|
+
version: string;
|
|
76
|
+
};
|
|
77
|
+
locale: string;
|
|
78
|
+
page: {
|
|
79
|
+
path: string;
|
|
80
|
+
url: string;
|
|
81
|
+
query: Record<string, string>;
|
|
82
|
+
referrer: string;
|
|
83
|
+
search: string;
|
|
84
|
+
};
|
|
85
|
+
userAgent?: string | undefined;
|
|
86
|
+
gdpr: {
|
|
87
|
+
isConsentGiven: boolean;
|
|
88
|
+
};
|
|
89
|
+
location?: {
|
|
90
|
+
coordinates?: {
|
|
91
|
+
latitude: number;
|
|
92
|
+
longitude: number;
|
|
93
|
+
} | undefined;
|
|
94
|
+
city?: string | undefined;
|
|
95
|
+
postalCode?: string | undefined;
|
|
96
|
+
region?: string | undefined;
|
|
97
|
+
regionCode?: string | undefined;
|
|
98
|
+
country?: string | undefined;
|
|
99
|
+
countryCode?: string | undefined;
|
|
100
|
+
continent?: string | undefined;
|
|
101
|
+
timezone?: string | undefined;
|
|
102
|
+
} | undefined;
|
|
103
|
+
};
|
|
104
|
+
messageId: string;
|
|
105
|
+
originalTimestamp: string;
|
|
106
|
+
timestamp: string;
|
|
107
|
+
sentAt: string;
|
|
108
|
+
type: import("@ninetailed/experience.js-shared").EventType;
|
|
109
|
+
userId?: string | undefined;
|
|
110
|
+
event: string;
|
|
111
|
+
properties: Properties;
|
|
112
|
+
};
|
|
113
|
+
identify(userId: string, traits?: Properties, data?: Partial<Omit<IdentifyEventArgs, 'ctx' | 'userId' | 'traits'>>): {
|
|
114
|
+
channel: import("@ninetailed/experience.js-shared").EventChanel;
|
|
115
|
+
context: {
|
|
116
|
+
app?: {
|
|
117
|
+
name: string;
|
|
118
|
+
version: string;
|
|
119
|
+
} | undefined;
|
|
120
|
+
campaign: {
|
|
121
|
+
name?: string | undefined;
|
|
122
|
+
source?: string | undefined;
|
|
123
|
+
medium?: string | undefined;
|
|
124
|
+
term?: string | undefined;
|
|
125
|
+
content?: string | undefined;
|
|
126
|
+
};
|
|
127
|
+
library: {
|
|
128
|
+
name: string;
|
|
129
|
+
version: string;
|
|
130
|
+
};
|
|
131
|
+
locale: string;
|
|
132
|
+
page: {
|
|
133
|
+
path: string;
|
|
134
|
+
url: string;
|
|
135
|
+
query: Record<string, string>;
|
|
136
|
+
referrer: string;
|
|
137
|
+
search: string;
|
|
138
|
+
};
|
|
139
|
+
userAgent?: string | undefined;
|
|
140
|
+
gdpr: {
|
|
141
|
+
isConsentGiven: boolean;
|
|
142
|
+
};
|
|
143
|
+
location?: {
|
|
144
|
+
coordinates?: {
|
|
145
|
+
latitude: number;
|
|
146
|
+
longitude: number;
|
|
147
|
+
} | undefined;
|
|
148
|
+
city?: string | undefined;
|
|
149
|
+
postalCode?: string | undefined;
|
|
150
|
+
region?: string | undefined;
|
|
151
|
+
regionCode?: string | undefined;
|
|
152
|
+
country?: string | undefined;
|
|
153
|
+
countryCode?: string | undefined;
|
|
154
|
+
continent?: string | undefined;
|
|
155
|
+
timezone?: string | undefined;
|
|
156
|
+
} | undefined;
|
|
157
|
+
};
|
|
158
|
+
messageId: string;
|
|
159
|
+
originalTimestamp: string;
|
|
160
|
+
timestamp: string;
|
|
161
|
+
sentAt: string;
|
|
162
|
+
type: import("@ninetailed/experience.js-shared").EventType;
|
|
163
|
+
userId?: string | undefined;
|
|
164
|
+
traits: Properties;
|
|
165
|
+
};
|
|
166
|
+
component(componentId: string, experienceId?: string, variantIndex?: number, data?: Partial<Omit<BuildPageEventArgs, 'ctx' | 'componentId' | 'experienceId' | 'variantIndex'>>): {
|
|
167
|
+
channel: import("@ninetailed/experience.js-shared").EventChanel;
|
|
168
|
+
context: {
|
|
169
|
+
app?: {
|
|
170
|
+
name: string;
|
|
171
|
+
version: string;
|
|
172
|
+
} | undefined;
|
|
173
|
+
campaign: {
|
|
174
|
+
name?: string | undefined;
|
|
175
|
+
source?: string | undefined;
|
|
176
|
+
medium?: string | undefined;
|
|
177
|
+
term?: string | undefined;
|
|
178
|
+
content?: string | undefined;
|
|
179
|
+
};
|
|
180
|
+
library: {
|
|
181
|
+
name: string;
|
|
182
|
+
version: string;
|
|
183
|
+
};
|
|
184
|
+
locale: string;
|
|
185
|
+
page: {
|
|
186
|
+
path: string;
|
|
187
|
+
url: string;
|
|
188
|
+
query: Record<string, string>;
|
|
189
|
+
referrer: string;
|
|
190
|
+
search: string;
|
|
191
|
+
};
|
|
192
|
+
userAgent?: string | undefined;
|
|
193
|
+
gdpr: {
|
|
194
|
+
isConsentGiven: boolean;
|
|
195
|
+
};
|
|
196
|
+
location?: {
|
|
197
|
+
coordinates?: {
|
|
198
|
+
latitude: number;
|
|
199
|
+
longitude: number;
|
|
200
|
+
} | undefined;
|
|
201
|
+
city?: string | undefined;
|
|
202
|
+
postalCode?: string | undefined;
|
|
203
|
+
region?: string | undefined;
|
|
204
|
+
regionCode?: string | undefined;
|
|
205
|
+
country?: string | undefined;
|
|
206
|
+
countryCode?: string | undefined;
|
|
207
|
+
continent?: string | undefined;
|
|
208
|
+
timezone?: string | undefined;
|
|
209
|
+
} | undefined;
|
|
210
|
+
};
|
|
211
|
+
messageId: string;
|
|
212
|
+
originalTimestamp: string;
|
|
213
|
+
timestamp: string;
|
|
214
|
+
sentAt: string;
|
|
215
|
+
type: import("@ninetailed/experience.js-shared").EventType;
|
|
216
|
+
userId?: string | undefined;
|
|
217
|
+
componentId: string;
|
|
218
|
+
experienceId?: string | undefined;
|
|
219
|
+
variantIndex?: number | undefined;
|
|
220
|
+
};
|
|
221
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const noop: () => void;
|