Socket
Socket
Sign inDemoInstall

@scoir/async-throttler

Package Overview
Dependencies
0
Maintainers
36
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.0.0 to 3.0.1

92

dist/index.js
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
exports.__esModule = true;
exports["default"] = void 0;
var Throttler = /*#__PURE__*/function () {
function Throttler(cb) {
(0, _classCallCheck2.default)(this, Throttler);
this.cb = cb;

@@ -25,53 +15,47 @@ this.cb({

}
(0, _createClass2.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,
var _proto = Throttler.prototype;
_proto.execute = function execute(promise, delay) {
var _this = this;
if (delay === void 0) {
delay = 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 = Promise.all([promise, new Promise(function (resolve) {
return setTimeout(resolve, delay);
})]).then(function () {
return _this.cb({
isProcessing: false,
isProcessed: true,
isComplete: true,
isError: false
}); // NOTE: this is exposed only for testing and should not be used outside of that context
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
});
});
}
}, {
key: "reset",
value: function reset() {
this.cb({
})["catch"](function () {
return _this.cb({
isProcessing: false,
isProcessed: false,
isComplete: false,
isError: false
isComplete: true,
isError: true
});
}
}]);
});
};
_proto.reset = function reset() {
this.cb({
isProcessing: false,
isProcessed: false,
isComplete: false,
isError: false
});
};
return Throttler;
}();
var _default = {
var _default = exports["default"] = {
create: function create(cb) {
return new Throttler(cb);
}
};
exports.default = _default;
};
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _index = _interopRequireDefault(require("./index"));
it('should create a throttler', function () {
var cb = jest.fn();
_index.default.create(cb);
_index["default"].create(cb);
expect(cb).toHaveBeenCalledWith({

@@ -28,79 +22,68 @@ isProcessing: false,

cb = jest.fn();
inst = _index.default.create(cb);
inst = _index["default"].create(cb);
cb.mockReset();
jest.useFakeTimers();
});
it('should allow promise execution', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
it('should allow promise execution', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
var promise;
return _regenerator.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
promise = Promise.resolve();
inst.execute(promise);
expect(cb).toHaveBeenCalledWith({
isProcessing: true,
isProcessed: false,
isComplete: false,
isError: false
});
case 3:
case "end":
return _context.stop();
}
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
promise = Promise.resolve();
inst.execute(promise);
expect(cb).toHaveBeenCalledWith({
isProcessing: true,
isProcessed: false,
isComplete: false,
isError: false
});
case 3:
case "end":
return _context.stop();
}
}, _callee);
})));
it('should wait for both promises to finish', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
return _regenerator.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
inst.execute(Promise.resolve('data'));
cb.mockReset();
expect(cb).not.toHaveBeenCalled();
jest.advanceTimersByTime(700);
_context2.next = 6;
return inst._executedPromise;
case 6:
expect(cb).toHaveBeenCalledWith({
isProcessing: false,
isProcessed: true,
isComplete: true,
isError: false
});
case 7:
case "end":
return _context2.stop();
}
it('should wait for both promises to finish', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
inst.execute(Promise.resolve('data'));
cb.mockReset();
expect(cb).not.toHaveBeenCalled();
jest.advanceTimersByTime(700);
_context2.next = 6;
return inst._executedPromise;
case 6:
expect(cb).toHaveBeenCalledWith({
isProcessing: false,
isProcessed: true,
isComplete: true,
isError: false
});
case 7:
case "end":
return _context2.stop();
}
}, _callee2);
})));
it('should notify on failed promises', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
return _regenerator.default.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
inst.execute(Promise.reject('data'));
cb.mockReset();
expect(cb).not.toHaveBeenCalled();
jest.advanceTimersByTime(700);
_context3.next = 6;
return inst._executedPromise;
case 6:
expect(cb).toHaveBeenCalledWith({
isProcessing: false,
isProcessed: false,
isComplete: true,
isError: true
});
case 7:
case "end":
return _context3.stop();
}
it('should notify on failed promises', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
inst.execute(Promise.reject('data'));
cb.mockReset();
expect(cb).not.toHaveBeenCalled();
jest.advanceTimersByTime(700);
_context3.next = 6;
return inst._executedPromise;
case 6:
expect(cb).toHaveBeenCalledWith({
isProcessing: false,
isProcessed: false,
isComplete: true,
isError: true
});
case 7:
case "end":
return _context3.stop();
}

@@ -113,5 +96,3 @@ }, _callee3);

var cb = jest.fn();
var inst = _index.default.create(cb);
var inst = _index["default"].create(cb);
cb.mockReset();

@@ -118,0 +99,0 @@ inst.reset();

{
"name": "@scoir/async-throttler",
"version": "3.0.0",
"version": "3.0.1",
"description": "",

@@ -9,8 +9,9 @@ "author": "@scoir",

"scripts": {
"watch": "../../bundle.sh -w",
"prepublish": "../../bundle.sh"
"build": "../../bundle.sh",
"watch": "../../bundle.sh -w"
},
"publishConfig": {
"access": "public"
}
},
"gitHead": "b9c0faecaf06c1f08200b84e3f21a433801a2c24"
}
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