Socket
Socket
Sign inDemoInstall

@scoir/async-throttler

Package Overview
Dependencies
0
Maintainers
29
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.0.1 to 3.0.0-beta.b0e6db42

babel.config.json

132

dist/index.js
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
value: true
});
exports.default = void 0;
var _promise = require("babel-runtime/core-js/promise");
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _promise2 = _interopRequireDefault(_promise);
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
var Throttler = /*#__PURE__*/function () {
function Throttler(cb) {
(0, _classCallCheck2.default)(this, Throttler);
this.cb = cb;
this.cb({
isProcessing: false,
isProcessed: false,
isComplete: false,
isError: false
});
}
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
(0, _createClass2.default)(Throttler, [{
key: "execute",
value: function execute(promise) {
var _this = this;
var _createClass2 = require("babel-runtime/helpers/createClass");
var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 700;
this.cb({
isProcessing: true,
isProcessed: false,
isComplete: false,
isError: false
}); // NOTE: this is exposed only for testing and should not be used outside of that context
var _createClass3 = _interopRequireDefault(_createClass2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Throttler = function () {
function Throttler(cb) {
(0, _classCallCheck3.default)(this, Throttler);
this.cb = cb;
this.cb({
isProcessing: false,
isProcessed: false,
isComplete: false,
isError: false
this._executedPromise = Promise.all([promise, new Promise(function (resolve) {
return setTimeout(resolve, delay);
})]).then(function () {
return _this.cb({
isProcessing: false,
isProcessed: true,
isComplete: true,
isError: false
});
}).catch(function () {
return _this.cb({
isProcessing: false,
isProcessed: false,
isComplete: true,
isError: true
});
});
}
(0, _createClass3.default)(Throttler, [{
key: "execute",
value: function execute(promise) {
var _this = this;
var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 700;
this.cb({
isProcessing: true,
isProcessed: false,
isComplete: false,
isError: false
});
// NOTE: this is exposed only for testing and should not be used outside of that context
this._executedPromise = _promise2.default.all([promise, new _promise2.default(function (resolve) {
return setTimeout(resolve, delay);
})]).then(function () {
return _this.cb({
isProcessing: false,
isProcessed: true,
isComplete: true,
isError: false
});
}).catch(function () {
return _this.cb({
isProcessing: false,
isProcessed: false,
isComplete: true,
isError: true
});
});
}
}, {
key: "reset",
value: function reset() {
this.cb({
isProcessing: false,
isProcessed: false,
isComplete: false,
isError: false
});
}
}]);
return Throttler;
}, {
key: "reset",
value: function reset() {
this.cb({
isProcessing: false,
isProcessed: false,
isComplete: false,
isError: false
});
}
}]);
return Throttler;
}();
exports.default = {
create: function create(cb) {
return new Throttler(cb);
}
};
var _default = {
create: function create(cb) {
return new Throttler(cb);
}
};
exports.default = _default;

@@ -1,6 +0,3 @@

import bluebird from 'bluebird';
import throttler from './index';
it('should create a throttler', () => {

@@ -29,3 +26,3 @@ const cb = jest.fn();

it('should allow promise execution', async () => {
const promise = bluebird.resolve();
const promise = Promise.resolve();
inst.execute(promise)

@@ -45,3 +42,3 @@ expect(cb).toHaveBeenCalledWith({

jest.runTimersToTime(700);
jest.advanceTimersByTime(700);

@@ -64,3 +61,3 @@ await inst._executedPromise;

jest.runTimersToTime(700);
jest.advanceTimersByTime(700);

@@ -67,0 +64,0 @@ await inst._executedPromise;

{
"name": "@scoir/async-throttler",
"version": "2.0.1",
"version": "3.0.0-beta.b0e6db42",
"description": "",

@@ -5,0 +5,0 @@ "author": "@scoir",

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc