@faurya/core
v0.1.0
Published
Runtime-agnostic analytics core for Faurya SDK
Readme
@faurya/core
Runtime-agnostic analytics core for the Faurya SDK.
Overview
@faurya/core provides the analytics client, event queue, transport interface, storage adapter interface, and session management — all without browser-specific assumptions. It can be used in Node.js, edge runtimes, or any JavaScript environment.
The core client keeps a bounded in-memory queue. Events are created, enriched, queued, and flushed asynchronously through the configured transport.
Install
npm install @faurya/coreUsage
import {
createFauryaClient,
createMemoryStorageAdapter,
createFetchTransportAdapter,
createLogger,
} from '@faurya/core'
const storage = createMemoryStorageAdapter()
const logger = createLogger(true)
const transport = createFetchTransportAdapter('https://your-api.com/v1', logger)
const client = createFauryaClient({
config: { websiteId: 'my-site', debug: true },
storage,
transport,
})
client.track('signup', { plan: 'free' })
await client.flush()track('signup', { plan: 'free' }) queues a custom request body where extraData.eventName === 'signup'.
API
createFauryaClient(options)— create a new client instancecreateMemoryStorageAdapter()— in-memory storage (non-persistent)createFetchTransportAdapter(apiUrl, logger)— fetch-based HTTP transportcreateSessionManager(storage)— visitor/session ID manager
License
MIT
