Skip to content
/ core Public

Logux core components for JavaScript

License

Notifications You must be signed in to change notification settings

logux/core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logux Core Cult Of Martians

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.
Sponsored by Evil Martians

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
  }
})