@bangstack/core
v1.0.0
Published
Mesh event system with 3-part event pattern, mocking, and state management
Maintainers
Readme
@bangstack/core
Mesh event system with 3-part event pattern, mocking, and state management.
Installation
npm install @bangstack/coreQuick Start
import { createMesh, createObservableStore } from '@bangstack/core';
// Create a mesh instance
const mesh = createMesh({ name: 'my-app' });
// Emit events (must follow domain:entity:action pattern)
mesh.emit('user:session:started', { userId: '123' });
// Subscribe to events
mesh.subscribe('user:*', (event) => {
console.log('User event:', event.type, event.data);
});
// Query past events
const userEvents = mesh.query({ type: 'user:*' });
// Create observable store with auto-emitting CRUD
const store = createObservableStore(mesh, {
name: 'todos',
collections: { items: { idField: 'id' } }
});
await store.items.create({ id: '1', text: 'Learn mesh' });
// Auto-emits: todos:item:createdFeatures
- 3-part event pattern: All events follow
domain:entity:actionformat - Event mocking: Mock external dependencies for testing
- Observable store: Auto-emit events for state changes
- Event replay: Replay events for debugging and testing
- Compensation: Built-in undo/redo support
Documentation
See the main repository for full documentation.
License
MIT
