Package Exports
- @connectivity-js/core
- @connectivity-js/core/package.json
Readme
@connectivity-js/core ·

Type-safe, framework-agnostic connectivity detection and offline action queue.
Installation
npm install @connectivity-js/coreUsage
import {
getConnectivityClient,
browserOnlineDetector,
heartbeatDetector,
actionOptions,
} from '@connectivity-js/core';
// Initialize client
const client = getConnectivityClient({
detectors: [
browserOnlineDetector(),
heartbeatDetector({ url: '/api/health', intervalMs: 10_000 }),
],
gracePeriodMs: 3_000,
});
client.start();
// Subscribe to status changes
client.subscribe(() => {
const { status, quality } = client.getState();
console.log(status, quality);
});
// Register and execute an action
const saveAction = actionOptions({
actionKey: 'save',
request: (input: { id: string; data: string }) => api.save(input),
dedupeKey: (input) => input.id,
whenOffline: 'queue',
});
const result = await client.execute(saveAction, { id: '1', data: 'hello' });
if (result.enqueued) {
console.log('queued:', result.jobId);
} else {
console.log('executed:', result.result);
}