diff --git a/js/examples/chat/index.html b/js/examples/chat/index.html index f8632af..794b27e 100644 --- a/js/examples/chat/index.html +++ b/js/examples/chat/index.html @@ -5,12 +5,9 @@ - - - diff --git a/js/examples/chat/index.js b/js/examples/chat/index.js index 0c95747..2c03433 100644 --- a/js/examples/chat/index.js +++ b/js/examples/chat/index.js @@ -4,6 +4,12 @@ assertion type says(who, message); var DOM = Syndicate.DOM.DOM; var jQueryEvent = Syndicate.JQuery.jQueryEvent; +var brokerConnected = Syndicate.Broker.brokerConnected; +var brokerConnection = Syndicate.Broker.brokerConnection; +var toBroker = Syndicate.Broker.toBroker; +var fromBroker = Syndicate.Broker.fromBroker; +var forceBrokerDisconnect = Syndicate.Broker.forceBrokerDisconnect; + /////////////////////////////////////////////////////////////////////////// // Application @@ -105,7 +111,7 @@ $(document).ready(function () { Syndicate.JQuery.spawnJQueryDriver(); Syndicate.DOM.spawnDOMDriver(); Syndicate.WakeDetector.spawnWakeDetector(); - spawnBrokerClientDriver(); + Syndicate.Broker.spawnBrokerClientDriver(); spawnInputChangeMonitor(); spawnChatApp(); } diff --git a/js/examples/chat/broker-client.js b/js/src/broker.js similarity index 90% rename from js/examples/chat/broker-client.js rename to js/src/broker.js index eafd665..4f2e30e 100644 --- a/js/examples/chat/broker-client.js +++ b/js/src/broker.js @@ -1,13 +1,17 @@ "use strict"; // WebSocket-based Syndicate broker client -var Trie = Syndicate.Trie; -var Patch = Syndicate.Patch; -var Dataspace = Syndicate.Dataspace; -var Struct = Syndicate.Struct; -var DemandMatcher = Syndicate.DemandMatcher; -var __ = Syndicate.__; -var _$ = Syndicate._$; +var Immutable = require('immutable'); +var Trie = require('./trie.js'); +var Patch = require('./patch.js'); +var Struct = require('./struct.js'); +var DemandMatcher = require('./demand-matcher.js').DemandMatcher; +var Codec = require('./codec'); + +var Dataspace_ = require("./dataspace.js"); +var Dataspace = Dataspace_.Dataspace; +var __ = Dataspace_.__; +var _$ = Dataspace_._$; var DEFAULT_RECONNECT_DELAY = 100; // ms var MAX_RECONNECT_DELAY = 30000; // ms @@ -235,3 +239,14 @@ BrokerClientConnection.prototype.onclose = function (e) { ? MAX_RECONNECT_DELAY + (Math.random() * 1000) : this.reconnectDelay; }; + +/////////////////////////////////////////////////////////////////////////// + +module.exports.toBroker = toBroker; +module.exports.fromBroker = fromBroker; +module.exports.brokerConnection = brokerConnection; +module.exports.brokerConnected = brokerConnected; +module.exports.forceBrokerDisconnect = forceBrokerDisconnect; + +module.exports.spawnBrokerClientDriver = spawnBrokerClientDriver; +module.exports.BrokerClientConnection = BrokerClientConnection; diff --git a/js/examples/chat/codec.js b/js/src/codec.js similarity index 63% rename from js/examples/chat/codec.js rename to js/src/codec.js index 43489ec..088064e 100644 --- a/js/examples/chat/codec.js +++ b/js/src/codec.js @@ -1,8 +1,9 @@ "use strict"; // Wire protocol representation of events and actions -var Trie = Syndicate.Trie; -var Struct = Syndicate.Struct; +var Trie = require('./trie.js'); +var Patch = require('./patch.js'); +var Struct = require('./struct.js'); function _encode(e) { switch (e.type) { @@ -28,14 +29,7 @@ function _decode(what) { /////////////////////////////////////////////////////////////////////////// -// module.exports.encodeEvent = _encode; -// module.exports.decodeEvent = _decode("event"); -// module.exports.encodeAction = _encode; -// module.exports.decodeAction = _decode("action"); - -var Codec = { - encodeEvent: _encode, - decodeEvent: _decode("event"), - encodeAction: _encode, - decodeAction: _decode("action") -}; +module.exports.encodeEvent = _encode; +module.exports.decodeEvent = _decode("event"); +module.exports.encodeAction = _encode; +module.exports.decodeAction = _decode("action"); diff --git a/js/src/main.js b/js/src/main.js index f2130ee..0925f29 100644 --- a/js/src/main.js +++ b/js/src/main.js @@ -29,8 +29,10 @@ module.exports.Ack = require('./ack.js').Ack; module.exports.RandomID = require('./randomid.js'); module.exports.DOM = require("./dom-driver.js"); module.exports.JQuery = require("./jquery-driver.js"); -module.exports.WakeDetector = require("./wake-detector-driver.js"); module.exports.Reflect = require("./reflect.js"); +module.exports.WakeDetector = require("./wake-detector-driver.js"); +module.exports.Codec = require("./codec.js"); +module.exports.Broker = require("./broker.js"); module.exports.Patch = require("./patch.js"); copyKeys(['emptyPatch',