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.
- Guide, recipes, and API
- Issues and roadmap
- Projects inside Logux ecosystem
This repository contains Logux core components for JavaScript:
Logto store node’s actions.MemoryStoreto store log in the memory.BaseNode,ClientNode, andServerNodeto synchronize actions from Log with other node.isFirstOlderto compare creation time of different actions.WsConnection,Reconnect, andServerConnectionto connect nodes via WebSocket.TestLog,TestPair,TestTime, andeachStoreCheckto test Logux application.
npm install @logux/coreSee 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
}
})