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.
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.type('RENAME', (action, meta) => {
if (isFirstOlder(lastRename, meta)) {
changeName(action.name)
lastRename = meta
}
})