New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

use-offline-queue

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

use-offline-queue - npm Package Compare versions

Comparing version 0.2.0-beta.2 to 0.2.0-beta.3

8

lib/useOfflineQueue.d.ts

@@ -6,9 +6,9 @@ export interface Config {

export declare const useOfflineQueue: (config?: Partial<Config> | undefined) => {
dequeue: () => void;
dequeueAsync: () => Promise<void>;
dequeueSync: () => Promise<void>;
dequeueAll: () => void;
dequeueAllAsync: () => Promise<void>;
enqueue: (callback: Function) => any;
getQueue: () => Function[];
isEmpty: () => boolean;
queue: Function[];
isOnline: boolean;
peek: () => Function;
};

@@ -56,4 +56,8 @@ "use strict";

};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = require("react");
var use_force_update_1 = __importDefault(require("use-force-update"));
var initialConfig = {

@@ -69,2 +73,3 @@ isQueueAsync: false,

var queueRef = react_1.useRef([]);
var forceUpdate = use_force_update_1.default();
react_1.useEffect(function () {

@@ -79,3 +84,4 @@ addEventListener('online', onOnline);

var clearQueue = function () {
queueRef.current = [];
queueRef.current.length = 0;
forceUpdate();
};

@@ -85,24 +91,28 @@ var createOfflineTimeout = function () {

};
var dequeue = function () {
var dequeueAll = function () {
if (isQueueAsync) {
dequeueAsync();
dequeueAllAsync();
}
else {
dequeueSync();
queueRef.current.forEach(function (callback) { return callback(); });
clearQueue();
}
};
var dequeueAsync = function () { return __awaiter(void 0, void 0, void 0, function () {
var _i, _a, callback;
return __generator(this, function (_b) {
switch (_b.label) {
var dequeueAllAsync = function () { return __awaiter(void 0, void 0, void 0, function () {
var callbacks, _i, callbacks_1, callback;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
_i = 0, _a = queueRef.current;
_b.label = 1;
callbacks = __spreadArrays(queueRef.current);
_i = 0, callbacks_1 = callbacks;
_a.label = 1;
case 1:
if (!(_i < _a.length)) return [3 /*break*/, 4];
callback = _a[_i];
if (!(_i < callbacks_1.length)) return [3 /*break*/, 4];
callback = callbacks_1[_i];
return [4 /*yield*/, callback()];
case 2:
_b.sent();
_b.label = 3;
_a.sent();
queueRef.current.shift();
forceUpdate();
_a.label = 3;
case 3:

@@ -117,9 +127,2 @@ _i++;

}); };
var dequeueSync = function () { return __awaiter(void 0, void 0, void 0, function () {
return __generator(this, function (_a) {
queueRef.current.forEach(function (callback) { return callback(); });
clearQueue();
return [2 /*return*/];
});
}); };
var enqueue = function (callback) {

@@ -131,5 +134,5 @@ if (isOnline) {

timeoutInMS && createOfflineTimeout();
queueRef.current = __spreadArrays(queueRef.current, [callback]);
queueRef.current.push(callback);
};
var getQueue = function () { return queueRef.current; };
var isEmpty = function () { return queueRef.current.length === 0; };
var onOffline = function () {

@@ -145,11 +148,11 @@ setIsOnline(false);

offlineTimeoutRef.current && clearTimeout(offlineTimeoutRef.current);
queueRef.current.length > 0 && dequeue();
queueRef.current.length > 0 && dequeueAll();
};
var peek = function () { return queueRef.current[0]; };
return {
dequeue: dequeue,
dequeueAsync: dequeueAsync,
dequeueSync: dequeueSync,
dequeueAll: dequeueAll,
dequeueAllAsync: dequeueAllAsync,
enqueue: enqueue,
getQueue: getQueue,
isEmpty: isEmpty,
queue: queueRef.current,
isOnline: isOnline,

@@ -156,0 +159,0 @@ peek: peek,

{
"name": "use-offline-queue",
"version": "0.2.0-beta.2",
"version": "0.2.0-beta.3",
"description": "React hook which allows to put functions in a queue in offline mode",

@@ -49,3 +49,6 @@ "main": "./lib/index.js",

},
"typings": "./lib/index.d.ts"
"typings": "./lib/index.d.ts",
"dependencies": {
"use-force-update": "^1.0.7"
}
}
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