Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

fh-wfm-mediator

Package Overview
Dependencies
Maintainers
1
Versions
45
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fh-wfm-mediator - npm Package Compare versions

Comparing version 0.0.5 to 0.0.6

47

mediator.js

@@ -17,2 +17,49 @@ 'use strict';

mediator.request = function(topic, parameter, options) {
var topics = {}, subs = {}, complete = false, timeout;
var deferred = q.defer();
options = options || {};
topics.request = topic;
topics.done = options.doneTopic || 'done:' + topic;
topics.error = options.errorTopic || 'error:' + topic;
if (parameter) {
topics.done += ':' + parameter;
topics.error += ':' + parameter;
}
if (!options.timeout) {
options.timeout = 2000;
};
var cleanUp = function() {
complete = true;
clearTimeout(timeout);
mediator.remove(topics.done, subs.done.id);
mediator.remove(topics.error, subs.error.id);
};
subs.done = mediator.subscribe(topics.done, function(result) {
cleanUp();
deferred.resolve(result);
});
subs.error = mediator.subscribe(topics.error, function(error) {
cleanUp();
deferred.reject(error);
});
mediator.publish(topics.request, parameter);
timeout = setTimeout(function() {
if (!complete) {
cleanUp();
deferred.reject(new Error('Mediator request timeout for topic ' + topic));
}
}, options.timeout);
return deferred.promise;
};
module.exports = mediator;

1

ng-module.js
'use strict';
var angular = require('angular');
var mediator = require('./mediator');

@@ -5,0 +4,0 @@

{
"name": "fh-wfm-mediator",
"version": "0.0.5",
"version": "0.0.6",
"description": "An implementation of the mediator pattern for use with WFM",

@@ -5,0 +5,0 @@ "main": "ng-module.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc