@userboost/core
v1.1.10
Published
UserBoost core logic - platform agnostic
Readme
@userboost/core
Platform-agnostic core logic for UserBoost analytics SDKs.
Overview
This package contains shared utilities, types, and business logic used by all UserBoost SDK implementations. It provides a common foundation for web, React Native, and Flutter SDKs.
Installation
npm install @userboost/coreUsage
This package is primarily intended as a dependency for other UserBoost SDKs. Advanced users can use it to build custom platform adapters.
import { validatePayload, generateIdempotencyKey, EventQueue } from '@userboost/core';
// Validate event data
const sanitizedData = validatePayload(eventData);
// Generate unique keys
const key = generateIdempotencyKey();
// Create event queue with custom adapter
const queue = new EventQueue(config, apiClient, logger);Features
- Zero Dependencies: No external runtime dependencies
- TypeScript: Full type definitions included
- Platform Agnostic: Works in any JavaScript environment
- Event Validation: Robust data sanitization and validation
- Queue Management: Event batching and retry logic
- Utilities: ID generation, logging, error handling
Architecture
types.ts- Core type definitionsutils.ts- Validation and utility functionsqueue.ts- Event batching and queue managementplatform.ts- Platform abstraction interfacessdk-base.ts- Base SDK implementation
Integration
Most users should install a platform-specific SDK instead:
- Web/Node.js:
@userboost/sdk - React Native:
@userboost/react-native - Flutter:
userboost_flutter
Documentation
License
MIT
