dede7f08a7
This avoids churn in the dataspace for no-op DOM updates, but at the cost of losing the identity of multiple pieces of asserted DOM when they end up being textually identical. The fix is, generally, to make sure your DOM fragments are different in some (perhaps invisible when rendered) way. Next commit updates the IoT demo to avoid duplicate fragments. |
||
---|---|---|
.. | ||
bin | ||
compiler | ||
dist | ||
examples | ||
src | ||
test | ||
third-party | ||
.gitignore | ||
Makefile | ||
README.md | ||
package.json |
README.md
Syndicate-JS: Syndicate for Javascript environments
A walk through the code
Source files in src/
, from most general to most specific:
-
reflect.js
: Reflection on function formal parameter lists. -
util.js
: Functionsextend
andkwApply
. -
randomid.js
: Generation of (cryptographically) random base64 strings. -
trie.js
: Implementation of dataspace trie structure. -
patch.js
: Implementation of patches over dataspace tries. -
mux.js
: Use of tries plus patches to build a (de)multiplexing routing structure. -
dataspace.js
: Implementation of core leaf actors and dataspaces. -
ground.js
: Pseudo-dataspace acting as the global outermost context for Syndicate actors. -
ack.js
: Utility for detecting when a previous state change has taken effect. -
seal.js
: Immutable container for data, used to hide structure from dataspace tries. -
demand-matcher.js
: Tracking and responding to demand and supply expressed as assertions. -
dom-driver.js
: Syndicate driver for displaying DOM fragments on a webpage. -
jquery-driver.js
: Syndicate driver for soliciting jQuery-based DOM events. -
main.js
: Main package entry point.