diff --git a/packages/plugins/privacy/src/NinetailedPrivacyPlugin.spec.ts b/packages/plugins/privacy/src/NinetailedPrivacyPlugin.spec.ts index a629446..c6c753a 100644 --- a/packages/plugins/privacy/src/NinetailedPrivacyPlugin.spec.ts +++ b/packages/plugins/privacy/src/NinetailedPrivacyPlugin.spec.ts @@ -1,10 +1,10 @@ /* eslint-disable @typescript-eslint/ban-ts-comment */ import { Analytics, AnalyticsInstance } from 'analytics'; -import { PLUGIN_NAME as NINETAILED_CORE_PLUGIN_NAME } from '@ninetailed/experience.js'; import { - FEATURES, + PLUGIN_NAME as NINETAILED_CORE_PLUGIN_NAME, SET_ENABLED_FEATURES, -} from '@ninetailed/experience.js-shared'; +} from '@ninetailed/experience.js'; +import { FEATURES } from '@ninetailed/experience.js-shared'; import { DEFAULT_ACCEPTED_CONSENT_CONFIG, DEFAULT_PRIVACY_CONFIG, diff --git a/packages/plugins/privacy/src/NinetailedPrivacyPlugin.ts b/packages/plugins/privacy/src/NinetailedPrivacyPlugin.ts index 6f632b7..39ecaf9 100644 --- a/packages/plugins/privacy/src/NinetailedPrivacyPlugin.ts +++ b/packages/plugins/privacy/src/NinetailedPrivacyPlugin.ts @@ -10,8 +10,8 @@ import { CONSENT, COMPONENT, COMPONENT_START, - SET_ENABLED_FEATURES, PLUGIN_NAME as NINETAILED_CORE_PLUGIN_NAME, + SET_ENABLED_FEATURES, } from '@ninetailed/experience.js'; import wildCardMatch from 'wildcard-match'; import { isEqual } from 'radash'; diff --git a/packages/sdks/javascript/src/lib/Ninetailed.ts b/packages/sdks/javascript/src/lib/Ninetailed.ts index 64a0537..99b03bc 100644 --- a/packages/sdks/javascript/src/lib/Ninetailed.ts +++ b/packages/sdks/javascript/src/lib/Ninetailed.ts @@ -177,6 +177,16 @@ export class Ninetailed implements NinetailedInstance { useSDKEvaluation = false, }: Options = {} ) { + if (typeof onLog === 'function') { + logger.addSink(new OnLogLogSink(onLog)); + } + + if (typeof onError === 'function') { + logger.addSink(new OnErrorLogSink(onError)); + } + + this.logger = logger; + this.useSDKEvaluation = useSDKEvaluation; if (ninetailedApiClientInstanceOrOptions instanceof NinetailedApiClient) { @@ -220,17 +230,8 @@ export class Ninetailed implements NinetailedInstance { from: 'api', }; - if (typeof onLog === 'function') { - logger.addSink(new OnLogLogSink(onLog)); - } - - if (typeof onError === 'function') { - logger.addSink(new OnErrorLogSink(onError)); - } - this.eventBuilder = new EventBuilder(buildClientContext); - this.logger = logger; this.ninetailedCorePlugin = new NinetailedCorePlugin({ apiClient: this.apiClient, locale, diff --git a/packages/sdks/javascript/src/lib/NinetailedCorePlugin/NinetailedCorePlugin.ts b/packages/sdks/javascript/src/lib/NinetailedCorePlugin/NinetailedCorePlugin.ts index f05a44a..4f5c335 100644 --- a/packages/sdks/javascript/src/lib/NinetailedCorePlugin/NinetailedCorePlugin.ts +++ b/packages/sdks/javascript/src/lib/NinetailedCorePlugin/NinetailedCorePlugin.ts @@ -143,16 +143,13 @@ export class NinetailedCorePlugin } } - instance.on( - SET_ENABLED_FEATURES, - ({ payload }: { payload: { features: Feature[] } }) => { - this.enabledFeatures = payload.features || []; - } - ); - logger.debug('Ninetailed Core plugin initialized.'); } + public [SET_ENABLED_FEATURES] = async ({ payload }: EventFn) => { + this.enabledFeatures = payload.features || []; + }; + public pageStart(params: AbortableFnParams) { return this.abortNonClientEvents(params); } diff --git a/packages/sdks/javascript/src/lib/NinetailedCorePlugin/constants.ts b/packages/sdks/javascript/src/lib/NinetailedCorePlugin/constants.ts index 563fc7a..6941083 100644 --- a/packages/sdks/javascript/src/lib/NinetailedCorePlugin/constants.ts +++ b/packages/sdks/javascript/src/lib/NinetailedCorePlugin/constants.ts @@ -10,6 +10,7 @@ export const PROFILE_CHANGE = 'profile-change'; export const PROFILE_RESET = 'profile-reset'; export const CONSENT = '__nt-consent__'; -export const SET_ENABLED_FEATURES = 'set-enabled-features'; + +export const SET_ENABLED_FEATURES = 'setEnabledFeatures'; export const EMPTY_MERGE_ID = 'nt:empty-merge-id'; diff --git a/packages/sdks/shared/src/lib/constants.ts b/packages/sdks/shared/src/lib/constants.ts index 592ac29..e2fda7c 100644 --- a/packages/sdks/shared/src/lib/constants.ts +++ b/packages/sdks/shared/src/lib/constants.ts @@ -10,7 +10,6 @@ export const PROFILE_CHANGE = 'profile-change'; export const PROFILE_RESET = 'profile-reset'; export const CONSENT = '__nt-consent__'; -export const SET_ENABLED_FEATURES = 'set-enabled-features'; export const EMPTY_MERGE_ID = 'nt:empty-merge-id';