Logux Core
Logux is a new way to connect client and server. Instead of sending
HTTP requests (e.g., AJAX and GraphQL) it synchronizes log of operations
between client, server, and other clients.
Documentation: logux.io
This repository contains Logux core components for JavaScript:
Log
to store node’s actions.MemoryStore
to store log in the memory.BaseNode
, ClientNode
, and ServerNode
to synchronize actions
from Log with other node.isFirstOlder
to compare creation time of different actions.WsConnection
, Reconnect
, and ServerConnection
to connect nodes
via WebSocket.TestLog
, TestPair
, TestTime
, and eachStoreCheck
to test Logux application.
Install
npm install @logux/core
Usage
See documentation for Logux API.
import { ClientNode, TestTime, TestLog, TestPair } from '@logux/core'
let time = new TestTime()
let pair = new TestPair()
let node = new ClientNode('client:test', time.nextLog(), pair.left)
import { isFirstOlder } from '@logux/core'
let lastRename
log.on('add', (action, meta) => {
if (action.type === 'RENAME') {
if (isFirstOlder(lastRename, meta)) {
changeName(action.name)
lastRename = meta
}
}
})