Skip to content

logux/core

main
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
log
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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