UNPKG

jcc_rpc

Version:
59 lines 1.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var url = require("url"); exports.pendingTasks = (function () { var tasks = []; var remove = function (config) { var pathname = exports.getPath(config); if (pathname) { tasks = tasks.filter(function (task) { return task.pathname !== pathname; }); } }; var cancel = function (config) { var pathname = exports.getPath(config); if (pathname) { var pendings = tasks.filter(function (task) { return task.pathname === pathname; }); for (var _i = 0, pendings_1 = pendings; _i < pendings_1.length; _i++) { var pendingTask = pendings_1[_i]; pendingTask.cancel(); } tasks = tasks.filter(function (task) { return task.pathname !== pathname; }); } }; var add = function (task) { tasks.push(task); }; var clear = function () { tasks = []; }; var get = function () { return tasks; }; return { add: add, cancel: cancel, clear: clear, get: get, remove: remove }; })(); var string2hex = function (input) { var str = unescape(encodeURIComponent(input)); var ouput = ""; for (var i = 0, len = str.length; i < len; i++) { ouput += str.charCodeAt(i).toString(16); } return ouput.toUpperCase(); }; exports.getPath = function (config) { var pathname; try { var parsedUrl = new url.URL(config.url); pathname = string2hex(parsedUrl.pathname + config.method); } catch (error) { pathname = null; } return pathname; }; //# sourceMappingURL=index.js.map