Palindrom
Library for two-way data binding between local and remote JSON models. It uses JSON-Patch for data updates and Operational Transformation for versioning and data consistency. It operates via HTTP or WebSocket or both.
Implements Server communication.
/** * Defines a connection to a remote PATCH server, gives an object that is persistent between browser and server */var palindrom = remoteUrl: windowlocationhref; // ...// use palindrom.objpalindromobjsomeProperty = "new value";// Your change gets propagated automatically to the remote, no glue code needed.
Documentation
Installation
bower and NPM:
You can install usingBower:
bower install Palindrom --save
Then add source to your HTML
<!-- include Palindrom bundle -->
See Dependencies section for more details.
NPM:
npm install palindrom --save
Then you can import it ES Modules style:
;;
Note: The NPM package uses an entry point without a default export. Depending on your environment (Node or browser), you should choose one of the two named exports available: Palindrom
and PalindromDOM
.
GitHub:
You can browse the source code on GitHub or download a ZIP archive from there.
Usage
After DOM is ready, initialize with the constructor:
/** * Defines a connection to a remote PATCH server, gives an object that is persistent between browser and server */var palindrom = remoteUrl: windowlocationhref; // ..// use palindrom.objpalindromobjsomeProperty = "new value";
- Note 1: Please make sure you pass the correct PATCH server URL.
- Note 2:
palindrom.obj
is only available afteroptions.onStateReset
is called.
Demo
Changelog
To see the list of recent changes, see Releases.
License
MIT