1 |
- {"ast":null,"code":"var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = this && this.__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function () {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\nvar __read = this && this.__read || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n};\nvar __spread = this && this.__spread || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n};\nimport { getUpHosts } from '../api';\n/**\n * @description 解冻时间,key 是 host,value 为解冻时间\n */\nvar unfreezeTimeMap = new Map();\nvar Host = /** @class */function () {\n function Host(host, protocol) {\n this.host = host;\n this.protocol = protocol;\n }\n /**\n * @description 当前 host 是否为冻结状态\n */\n Host.prototype.isFrozen = function () {\n var currentTime = new Date().getTime();\n var unfreezeTime = unfreezeTimeMap.get(this.host);\n return unfreezeTime != null && unfreezeTime >= currentTime;\n };\n /**\n * @param {number} time 单位秒,默认 20s\n * @description 冻结该 host 对象,该 host 将在指定时间内不可用\n */\n Host.prototype.freeze = function (time) {\n if (time === void 0) {\n time = 20;\n }\n var unfreezeTime = new Date().getTime() + time * 1000;\n unfreezeTimeMap.set(this.host, unfreezeTime);\n };\n /**\n * @description 解冻该 host\n */\n Host.prototype.unfreeze = function () {\n unfreezeTimeMap[\"delete\"](this.host);\n };\n /**\n * @description 获取当前 host 的完整 url\n */\n Host.prototype.getUrl = function () {\n return this.protocol + \"://\" + this.host;\n };\n /**\n * @description 获取解冻时间\n */\n Host.prototype.getUnfreezeTime = function () {\n return unfreezeTimeMap.get(this.host);\n };\n return Host;\n}();\nexport { Host };\nvar HostPool = /** @class */function () {\n /**\n * @param {string[]} initHosts\n * @description 如果在构造时传入 initHosts,则该 host 池始终使用传入的 initHosts 做为可用的数据\n */\n function HostPool(initHosts) {\n if (initHosts === void 0) {\n initHosts = [];\n }\n this.initHosts = initHosts;\n /**\n * @description 缓存的 host 表,以 bucket 和 accessKey 作为 key\n */\n this.cachedHostsMap = new Map();\n }\n /**\n * @param {string} accessKey\n * @param {string} bucketName\n * @param {string[]} hosts\n * @param {InternalConfig['upprotocol']} protocol\n * @returns {void}\n * @description 注册可用 host\n */\n HostPool.prototype.register = function (accessKey, bucketName, hosts, protocol) {\n this.cachedHostsMap.set(accessKey + \"@\" + bucketName, hosts.map(function (host) {\n return new Host(host, protocol);\n }));\n };\n /**\n * @param {string} accessKey\n * @param {string} bucketName\n * @param {InternalConfig['upprotocol']} protocol\n * @returns {Promise<void>}\n * @description 刷新最新的 host 数据,如果用户在构造时该类时传入了 host 或者已经存在缓存则不会发起请求\n */\n HostPool.prototype.refresh = function (accessKey, bucketName, protocol) {\n var _a, _b, _c, _d;\n return __awaiter(this, void 0, void 0, function () {\n var cachedHostList, response, stashHosts;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n cachedHostList = this.cachedHostsMap.get(accessKey + \"@\" + bucketName) || [];\n if (cachedHostList.length > 0) return [2 /*return*/];\n if (this.initHosts.length > 0) {\n this.register(accessKey, bucketName, this.initHosts, protocol);\n return [2 /*return*/];\n }\n return [4 /*yield*/, getUpHosts(accessKey, bucketName, protocol)];\n case 1:\n response = _e.sent();\n if ((response === null || response === void 0 ? void 0 : response.data) != null) {\n stashHosts = __spread(((_b = (_a = response.data.up) === null || _a === void 0 ? void 0 : _a.acc) === null || _b === void 0 ? void 0 : _b.main) || [], ((_d = (_c = response.data.up) === null || _c === void 0 ? void 0 : _c.acc) === null || _d === void 0 ? void 0 : _d.backup) || []);\n this.register(accessKey, bucketName, stashHosts, protocol);\n }\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @param {string} accessKey\n * @param {string} bucketName\n * @param {InternalConfig['upprotocol']} protocol\n * @returns {Promise<Host | null>}\n * @description 获取一个可用的上传 Host,排除已冻结的\n */\n HostPool.prototype.getUp = function (accessKey, bucketName, protocol) {\n return __awaiter(this, void 0, void 0, function () {\n var cachedHostList, availableHostList, priorityQueue;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4 /*yield*/, this.refresh(accessKey, bucketName, protocol)];\n case 1:\n _a.sent();\n cachedHostList = this.cachedHostsMap.get(accessKey + \"@\" + bucketName) || [];\n if (cachedHostList.length === 0) return [2 /*return*/, null];\n availableHostList = cachedHostList.filter(function (host) {\n return !host.isFrozen();\n });\n if (availableHostList.length > 0) return [2 /*return*/, availableHostList[0]\n // 无可用的,去取离解冻最近的 host\n ];\n priorityQueue = cachedHostList.slice().sort(function (hostA, hostB) {\n return (hostA.getUnfreezeTime() || 0) - (hostB.getUnfreezeTime() || 0);\n });\n return [2 /*return*/, priorityQueue[0]];\n }\n });\n });\n };\n return HostPool;\n}();\nexport { HostPool };","map":{"version":3,"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","_","label","sent","t","trys","ops","f","y","g","verb","Symbol","iterator","n","v","op","TypeError","call","pop","length","push","__read","o","m","i","r","ar","error","__spread","arguments","concat","getUpHosts","unfreezeTimeMap","Map","Host","host","protocol","prototype","isFrozen","currentTime","Date","getTime","unfreezeTime","get","freeze","time","set","unfreeze","getUrl","getUnfreezeTime","HostPool","initHosts","cachedHostsMap","register","accessKey","bucketName","hosts","map","refresh","_a","_b","_c","_d","cachedHostList","response","stashHosts","_e","data","up","acc","main","backup","getUp","availableHostList","priorityQueue","filter","slice","sort","hostA","hostB"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/qiniu-js/esm/upload/hosts.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread = (this && this.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n};\nimport { getUpHosts } from '../api';\n/**\n * @description 解冻时间,key 是 host,value 为解冻时间\n */\nvar unfreezeTimeMap = new Map();\nvar Host = /** @class */ (function () {\n function Host(host, protocol) {\n this.host = host;\n this.protocol = protocol;\n }\n /**\n * @description 当前 host 是否为冻结状态\n */\n Host.prototype.isFrozen = function () {\n var currentTime = new Date().getTime();\n var unfreezeTime = unfreezeTimeMap.get(this.host);\n return unfreezeTime != null && unfreezeTime >= currentTime;\n };\n /**\n * @param {number} time 单位秒,默认 20s\n * @description 冻结该 host 对象,该 host 将在指定时间内不可用\n */\n Host.prototype.freeze = function (time) {\n if (time === void 0) { time = 20; }\n var unfreezeTime = new Date().getTime() + (time * 1000);\n unfreezeTimeMap.set(this.host, unfreezeTime);\n };\n /**\n * @description 解冻该 host\n */\n Host.prototype.unfreeze = function () {\n unfreezeTimeMap[\"delete\"](this.host);\n };\n /**\n * @description 获取当前 host 的完整 url\n */\n Host.prototype.getUrl = function () {\n return this.protocol + \"://\" + this.host;\n };\n /**\n * @description 获取解冻时间\n */\n Host.prototype.getUnfreezeTime = function () {\n return unfreezeTimeMap.get(this.host);\n };\n return Host;\n}());\nexport { Host };\nvar HostPool = /** @class */ (function () {\n /**\n * @param {string[]} initHosts\n * @description 如果在构造时传入 initHosts,则该 host 池始终使用传入的 initHosts 做为可用的数据\n */\n function HostPool(initHosts) {\n if (initHosts === void 0) { initHosts = []; }\n this.initHosts = initHosts;\n /**\n * @description 缓存的 host 表,以 bucket 和 accessKey 作为 key\n */\n this.cachedHostsMap = new Map();\n }\n /**\n * @param {string} accessKey\n * @param {string} bucketName\n * @param {string[]} hosts\n * @param {InternalConfig['upprotocol']} protocol\n * @returns {void}\n * @description 注册可用 host\n */\n HostPool.prototype.register = function (accessKey, bucketName, hosts, protocol) {\n this.cachedHostsMap.set(accessKey + \"@\" + bucketName, hosts.map(function (host) { return new Host(host, protocol); }));\n };\n /**\n * @param {string} accessKey\n * @param {string} bucketName\n * @param {InternalConfig['upprotocol']} protocol\n * @returns {Promise<void>}\n * @description 刷新最新的 host 数据,如果用户在构造时该类时传入了 host 或者已经存在缓存则不会发起请求\n */\n HostPool.prototype.refresh = function (accessKey, bucketName, protocol) {\n var _a, _b, _c, _d;\n return __awaiter(this, void 0, void 0, function () {\n var cachedHostList, response, stashHosts;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n cachedHostList = this.cachedHostsMap.get(accessKey + \"@\" + bucketName) || [];\n if (cachedHostList.length > 0)\n return [2 /*return*/];\n if (this.initHosts.length > 0) {\n this.register(accessKey, bucketName, this.initHosts, protocol);\n return [2 /*return*/];\n }\n return [4 /*yield*/, getUpHosts(accessKey, bucketName, protocol)];\n case 1:\n response = _e.sent();\n if ((response === null || response === void 0 ? void 0 : response.data) != null) {\n stashHosts = __spread((((_b = (_a = response.data.up) === null || _a === void 0 ? void 0 : _a.acc) === null || _b === void 0 ? void 0 : _b.main) || []), (((_d = (_c = response.data.up) === null || _c === void 0 ? void 0 : _c.acc) === null || _d === void 0 ? void 0 : _d.backup) || []));\n this.register(accessKey, bucketName, stashHosts, protocol);\n }\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @param {string} accessKey\n * @param {string} bucketName\n * @param {InternalConfig['upprotocol']} protocol\n * @returns {Promise<Host | null>}\n * @description 获取一个可用的上传 Host,排除已冻结的\n */\n HostPool.prototype.getUp = function (accessKey, bucketName, protocol) {\n return __awaiter(this, void 0, void 0, function () {\n var cachedHostList, availableHostList, priorityQueue;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.refresh(accessKey, bucketName, protocol)];\n case 1:\n _a.sent();\n cachedHostList = this.cachedHostsMap.get(accessKey + \"@\" + bucketName) || [];\n if (cachedHostList.length === 0)\n return [2 /*return*/, null];\n availableHostList = cachedHostList.filter(function (host) { return !host.isFrozen(); });\n if (availableHostList.length > 0)\n return [2 /*return*/, availableHostList[0]\n // 无可用的,去取离解冻最近的 host\n ];\n priorityQueue = cachedHostList\n .slice().sort(function (hostA, hostB) { return (hostA.getUnfreezeTime() || 0) - (hostB.getUnfreezeTime() || 0); });\n return [2 /*return*/, priorityQueue[0]];\n }\n });\n });\n };\n return HostPool;\n}());\nexport { HostPool };\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|