@neanic/io
v9.0.1
Published
The Neanic IO library
Downloads
131
Readme
Neanic IO Library
This TypeScript library provides a client for communication with Neanic IO services, including authentication, command execution, and query operations. It also offers cache management through LocalStorage and SessionStorage.
Features
- Authentication management with automatic token refresh.
- Command execution with built-in support for cancellation via AbortSignal.
- Query operations with support for multiple queries.
- Local and session storage caching with prefix support.
- Signal management for event-driven programming.
Installation
You can install the package via npm:
npm install @neanic/ioOr using yarn:
yarn add @neanic/ioUsage
To get started, import and initialize the Neanic client with your configuration:
import { createIO, LocalStorageCache, SessionStorageCache } from '@neanic/io';
const client = createIO({
apiKey: 'your-api-key',
baseUrl: 'https://auth.yourdomain.com',
cache: {
defaultEngine: 'l',
engines: {
'l': new LocalStorageCache('prefix'),
's': new SessionStorageCache('prefix')
}
}
});Executing Commands
To execute a command:
const response = await client.executeAsync({
identifier: 'your-command-identifier',
payload: {
// Your payload here
}
});Querying Data
To perform a query:
const response = await client.queryAsync({
identifier: 'your-query-identifier',
payload: {
// Your query parameters here
}
});Cache Management
To interact with the cache:
// Set a value in the cache
client.cache.set('key', 'value');
// Retrieve a value from the cache
const value = client.cache.get('key');
// Remove a value from the cache
client.cache.del('key');
// Reset the cache
client.cache.reset();Signal Management
To subscribe to signals:
client.signal.on('event', (payload) => {
// Handle the event
});To emit a signal:
client.signal.emit('event', payload);API Reference
For more detailed information on the available methods and options, please refer to the src/types.ts and src/client.ts files in the source code.
License
This project is licensed under the ISC License – see the LICENSE file for details. Developed by Neanic.
