diff options
author | Marek Kotewicz <marek.kotewicz@gmail.com> | 2015-01-14 01:28:49 +0800 |
---|---|---|
committer | Marek Kotewicz <marek.kotewicz@gmail.com> | 2015-01-14 01:28:49 +0800 |
commit | 9a8f45ee30aafad9f40beb646cd0be846277e0ea (patch) | |
tree | 2f19c8258b748bea83df7ebd4a00c78fe5cd48e7 /lib/web3.js | |
parent | 8b7d4b0c9ed7113b685ecbae646b9d7df5a89aca (diff) | |
download | go-tangerine-9a8f45ee30aafad9f40beb646cd0be846277e0ea.tar.gz go-tangerine-9a8f45ee30aafad9f40beb646cd0be846277e0ea.tar.zst go-tangerine-9a8f45ee30aafad9f40beb646cd0be846277e0ea.zip |
Filter separated to filter.js file
Diffstat (limited to 'lib/web3.js')
-rw-r--r-- | lib/web3.js | 60 |
1 files changed, 3 insertions, 57 deletions
diff --git a/lib/web3.js b/lib/web3.js index a27940f84..527022c62 100644 --- a/lib/web3.js +++ b/lib/web3.js @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with ethereum.js. If not, see <http://www.gnu.org/licenses/>. */ -/** @file main.js +/** @file web3.js * @authors: * Jeffrey Wilcke <jeff@ethdev.com> * Marek Kotewicz <marek@ethdev.com> @@ -23,6 +23,8 @@ * @date 2014 */ +var Filter = require('./filter'); + /// Recursively resolves all promises in given object and replaces the resolved values with promises /// @param any object/array/promise/anything else.. /// @returns (resolves) object with replaced promises with their result @@ -467,63 +469,7 @@ web3.haveProvider = function() { return !!web3.provider.provider; }; -/// should be used when we want to watch something -/// it's using inner polling mechanism and is notified about changes -var Filter = function(options, impl) { - this.impl = impl; - this.callbacks = []; - - var self = this; - this.promise = impl.newFilter(options); - this.promise.then(function (id) { - self.id = id; - web3.on(impl.changed, id, self.trigger.bind(self)); - web3.provider.startPolling({call: impl.changed, args: [id]}, id); - }); -}; - -/// alias for changed* -Filter.prototype.arrived = function(callback) { - this.changed(callback); -}; - -/// gets called when there is new eth/shh message -Filter.prototype.changed = function(callback) { - var self = this; - this.promise.then(function(id) { - self.callbacks.push(callback); - }); -}; -/// trigger calling new message from people -Filter.prototype.trigger = function(messages) { - for(var i = 0; i < this.callbacks.length; i++) { - this.callbacks[i].call(this, messages); - } -}; - -/// should be called to uninstall current filter -Filter.prototype.uninstall = function() { - var self = this; - this.promise.then(function (id) { - self.impl.uninstallFilter(id); - web3.provider.stopPolling(id); - web3.off(impl.changed, id); - }); -}; - -/// should be called to manually trigger getting latest messages from the client -Filter.prototype.messages = function() { - var self = this; - return this.promise.then(function (id) { - return self.impl.getMessages(id); - }); -}; - -/// alias for messages -Filter.prototype.logs = function () { - return this.messages(); -}; /// callled when there is new incoming message function messageHandler(data) { |