4a2c8147aa
Previous commit changed DOM fragment representation to use strings instead of Seal'd quasi-sexprs, and so eliminated any distinction between textually-identical DOM fragments in the dataspace. This patch disables the "spawn" buttons for components in the IoT demo to avoid (mostly harmless) duplication of actor instances. It also demonstrates use of react{} outside a *lexically*-enclosing actor{}. |
||
---|---|---|
.. | ||
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.