@orbit-stream/core
v1.0.3
Published
Shared interfaces, base adapters, and utilities for Orbit Stream Valkey and Redpanda streaming transports.
Downloads
714
Maintainers
Readme
@orbit-stream/core
Shared interfaces, base adapters, and utilities for Orbit Stream Valkey and Redpanda streaming transports.
This package contains the common abstractions used by Orbit Stream transport adapters.
Features
- Base stream adapter
- EventEmitter support
- Retry utility
- Serialization helpers
- Shared error classes
- Lightweight runtime
- JavaScript implementation
- TypeScript typings support
Installation
npm install @orbit-stream/coreUsage
const { BaseAdapter } = require("@orbit-stream/core");
class CustomAdapter extends BaseAdapter {
async connect() {
console.log("connected");
}
async disconnect() {
console.log("disconnected");
}
async publish(topic, message) {
console.log(topic, message);
}
async subscribe(topic, handler) {
console.log(topic);
}
}Events
adapter.on("connected", () => {
console.log("connected");
});
adapter.on("error", (error) => {
console.error(error);
});Included Utilities
retry
const { retry } = require("@orbit-stream/core");
await retry(
async () => {
await connect();
},
5,
1000,
);serializer
const { serializer } = require("@orbit-stream/core");
const encoded = serializer.serialize(data);
const decoded = serializer.deserialize(encoded);logger
const { logger } = require("@orbit-stream/core");
logger.info("hello");Packages
- @orbit-stream/core
- @orbit-stream/valkey
- @orbit-stream/redpanda
License
MIT
