UNPKG

humanbehavior-js

Version:

SDK for HumanBehavior session and event recording

112 lines 2.87 kB
/** * Property Manager for HumanBehavior SDK * Handles automatic properties, session properties, and user properties */ export interface Properties { [key: string]: any; } export interface PropertyManagerConfig { enableAutomaticProperties?: boolean; enableSessionProperties?: boolean; enableUserProperties?: boolean; propertyDenylist?: string[]; } export declare class PropertyManager { private config; private automaticProperties; private sessionProperties; private userProperties; private initialProperties; private isInitialized; constructor(config?: PropertyManagerConfig); /** * Initialize the property manager */ private initialize; /** * Get all properties for an event */ getEventProperties(eventProperties?: Properties): Properties; /** * Get automatic properties */ getAutomaticProperties(): Properties; /** * Get automatic properties with GeoIP data merged in */ getAutomaticPropertiesWithGeoIP(geoIPProperties?: Record<string, any>): Properties; /** * Set a session property */ setSessionProperty(key: string, value: any): void; /** * Set multiple session properties */ setSessionProperties(properties: Properties): void; /** * Get a session property */ getSessionProperty(key: string): any; /** * Remove a session property */ removeSessionProperty(key: string): void; /** * Set a user property */ setUserProperty(key: string, value: any): void; /** * Set multiple user properties */ setUserProperties(properties: Properties): void; /** * Get a user property */ getUserProperty(key: string): any; /** * Remove a user property */ removeUserProperty(key: string): void; /** * Set a property only if it hasn't been set before */ setOnce(key: string, value: any, scope?: 'session' | 'user'): void; /** * Clear all session properties */ clearSessionProperties(): void; /** * Clear all user properties */ clearUserProperties(): void; /** * Reset all properties */ reset(): void; /** * Load session properties from sessionStorage */ private loadSessionProperties; /** * Save session properties to sessionStorage */ private saveSessionProperties; /** * Apply property denylist */ private applyDenylist; /** * Update automatic properties (call when page changes) */ updateAutomaticProperties(): void; /** * Get all properties for debugging */ getAllProperties(): { automatic: Properties; session: Properties; user: Properties; initial: Properties; }; } //# sourceMappingURL=property-manager.d.ts.map