README
🔒 Secure ❄️ Synchronized ⚡️ Realtime ☁️ Cloud 🌈 Native JavaScript Variables & Events
V extends your in-memory variables to also be saved/persisted instantly. Variables are instantly synchronized between all running instances of V in a room. When you (re)start in a room, variables and constants are reloaded/rehydrated automatically.
Current Features
- Keep your variables in the cloud
- Sync variables between instances
- Automatic reloaded/rehydrated on start-up
Requires ES6 Proxy (Node 6+ and new browsers)
Coming Soon:
- Web GUI
- History - Time machine
- Events pub/sub
Install
Node
npm install --save v
or
npm i -S v
Browser
Unpkg CDN:
<script src="https://unpkg.com/v/v.min.js"></script>
More CDNs coming soon
API
Constructor (3 Ways to do it)
If no roomId is passed, a new one will be assigned automatically and printed in the console.
NodeJS only with deasync support
const V = require('v')
const v = new V([roomId])
Callback
const V = require('v')
V([roomId,] v => {
})
Promise
const V = require('v')
V([roomId]).then(v => {
}).catch(e => {
})
Custom Opts
The opts
object has the following options and their default options listed
myOpts = {
roomId: '',
server: 'wss://api.online.vars'
}
Use it:
const v = new V(myOpts)
Debug logs
V comes with extensive debugging logs. Each V instance and constructor-call has it own debug namespace.
In node, enable debug logs by setting the DEBUG
environment variable to *
DEBUG=* node myProgram.js
In the browser, enable debug logs by running this in the developer console:
localStorage.debug = '*'
Disable by running this:
localStorage.removeItem('debug')
License
GPL-3.0 Copyright © Diego Rodríguez Baquero