icemilk
Version:
Shanghai jinbaozheng easy network technology Co.,Ltd sdk
1,440 lines (1,397 loc) • 85.1 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var axios = _interopDefault(require('axios'));
var moment = _interopDefault(require('moment'));
const __LhtFsgSwWaN__ = 'UnflQ!21.IEs7hF', __KrifbHpGqvR__ = '-50Gu+jdAg9ObeK', __OUYADeXlzEM__ = ' oHT8zX*i#3BMac', __VIynuBdCjTo__ = 'DCr~q_PVvNYWpym', __ckPQmJx__ = 'kSt64xLRZJw';
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
/* global Reflect, Promise */
var extendStatics = function(d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
function __extends(d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}
var __assign = function() {
__assign = Object.assign || function __assign(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
function __rest(s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
}
function __decorate(decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
}
function __param(paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
}
function __metadata(metadataKey, metadataValue) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
}
function __awaiter(thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
function __generator(thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
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;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
}
function __exportStar(m, exports) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
function __values(o) {
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
if (m) return m.call(o);
return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
}
function __read(o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
}
function __spread() {
for (var ar = [], i = 0; i < arguments.length; i++)
ar = ar.concat(__read(arguments[i]));
return ar;
}
function __spreadArrays() {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
}
function __await(v) {
return this instanceof __await ? (this.v = v, this) : new __await(v);
}
function __asyncGenerator(thisArg, _arguments, generator) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var g = generator.apply(thisArg, _arguments || []), i, q = [];
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
function fulfill(value) { resume("next", value); }
function reject(value) { resume("throw", value); }
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
}
function __asyncDelegator(o) {
var i, p;
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
}
function __asyncValues(o) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var m = o[Symbol.asyncIterator], i;
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
}
function __makeTemplateObject(cooked, raw) {
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
return cooked;
}
function __importStar(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result.default = mod;
return result;
}
function __importDefault(mod) {
return (mod && mod.__esModule) ? mod : { default: mod };
}
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
function commonjsRequire () {
throw new Error('Dynamic requires are not currently supported by rollup-plugin-commonjs');
}
function unwrapExports (x) {
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
}
function createCommonjsModule(fn, module) {
return module = { exports: {} }, fn(module, module.exports), module.exports;
}
function getCjsExportFromNamespace (n) {
return n && n['default'] || n;
}
var urlPattern = createCommonjsModule(function (module, exports) {
const __LhtFsgSwWaN__ = 'UnflQ!21.IEs7hF', __KrifbHpGqvR__ = '-50Gu+jdAg9ObeK', __OUYADeXlzEM__ = ' oHT8zX*i#3BMac', __VIynuBdCjTo__ = 'DCr~q_PVvNYWpym', __ckPQmJx__ = 'kSt64xLRZJw';
// Generated by CoffeeScript 1.10.0
var slice = [].slice;
(function(root, factory) {
if (('function' === typeof undefined) && (undefined.amd != null)) {
return undefined([], factory);
} else if ('object' !== "undefined" && exports !== null) {
return module.exports = factory();
} else {
return root.UrlPattern = factory();
}
})(commonjsGlobal, function() {
var P, UrlPattern, astNodeContainsSegmentsForProvidedParams, astNodeToNames, astNodeToRegexString, baseAstNodeToRegexString, concatMap, defaultOptions, escapeForRegex, getParam, keysAndValuesToObject, newParser, regexGroupCount, stringConcatMap, stringify;
escapeForRegex = function(string) {
return string.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
};
concatMap = function(array, f) {
var i, length, results;
results = [];
i = -1;
length = array.length;
while (++i < length) {
results = results.concat(f(array[i]));
}
return results;
};
stringConcatMap = function(array, f) {
var i, length, result;
result = '';
i = -1;
length = array.length;
while (++i < length) {
result += f(array[i]);
}
return result;
};
regexGroupCount = function(regex) {
return (new RegExp(regex.toString() + '|')).exec('').length - 1;
};
keysAndValuesToObject = function(keys, values) {
var i, key, length, object, value;
object = {};
i = -1;
length = keys.length;
while (++i < length) {
key = keys[i];
value = values[i];
if (value == null) {
continue;
}
if (object[key] != null) {
if (!Array.isArray(object[key])) {
object[key] = [object[key]];
}
object[key].push(value);
} else {
object[key] = value;
}
}
return object;
};
P = {};
P.Result = function(value, rest) {
this.value = value;
this.rest = rest;
};
P.Tagged = function(tag, value) {
this.tag = tag;
this.value = value;
};
P.tag = function(tag, parser) {
return function(input) {
var result, tagged;
result = parser(input);
if (result == null) {
return;
}
tagged = new P.Tagged(tag, result.value);
return new P.Result(tagged, result.rest);
};
};
P.regex = function(regex) {
return function(input) {
var matches, result;
matches = regex.exec(input);
if (matches == null) {
return;
}
result = matches[0];
return new P.Result(result, input.slice(result.length));
};
};
P.sequence = function() {
var parsers;
parsers = 1 <= arguments.length ? slice.call(arguments, 0) : [];
return function(input) {
var i, length, parser, rest, result, values;
i = -1;
length = parsers.length;
values = [];
rest = input;
while (++i < length) {
parser = parsers[i];
result = parser(rest);
if (result == null) {
return;
}
values.push(result.value);
rest = result.rest;
}
return new P.Result(values, rest);
};
};
P.pick = function() {
var indexes, parsers;
indexes = arguments[0], parsers = 2 <= arguments.length ? slice.call(arguments, 1) : [];
return function(input) {
var array, result;
result = P.sequence.apply(P, parsers)(input);
if (result == null) {
return;
}
array = result.value;
result.value = array[indexes];
return result;
};
};
P.string = function(string) {
var length;
length = string.length;
return function(input) {
if (input.slice(0, length) === string) {
return new P.Result(string, input.slice(length));
}
};
};
P.lazy = function(fn) {
var cached;
cached = null;
return function(input) {
if (cached == null) {
cached = fn();
}
return cached(input);
};
};
P.baseMany = function(parser, end, stringResult, atLeastOneResultRequired, input) {
var endResult, parserResult, rest, results;
rest = input;
results = stringResult ? '' : [];
while (true) {
if (end != null) {
endResult = end(rest);
if (endResult != null) {
break;
}
}
parserResult = parser(rest);
if (parserResult == null) {
break;
}
if (stringResult) {
results += parserResult.value;
} else {
results.push(parserResult.value);
}
rest = parserResult.rest;
}
if (atLeastOneResultRequired && results.length === 0) {
return;
}
return new P.Result(results, rest);
};
P.many1 = function(parser) {
return function(input) {
return P.baseMany(parser, null, false, true, input);
};
};
P.concatMany1Till = function(parser, end) {
return function(input) {
return P.baseMany(parser, end, true, true, input);
};
};
P.firstChoice = function() {
var parsers;
parsers = 1 <= arguments.length ? slice.call(arguments, 0) : [];
return function(input) {
var i, length, parser, result;
i = -1;
length = parsers.length;
while (++i < length) {
parser = parsers[i];
result = parser(input);
if (result != null) {
return result;
}
}
};
};
newParser = function(options) {
var U;
U = {};
U.wildcard = P.tag('wildcard', P.string(options.wildcardChar));
U.optional = P.tag('optional', P.pick(1, P.string(options.optionalSegmentStartChar), P.lazy(function() {
return U.pattern;
}), P.string(options.optionalSegmentEndChar)));
U.name = P.regex(new RegExp("^[" + options.segmentNameCharset + "]+"));
U.named = P.tag('named', P.pick(1, P.string(options.segmentNameStartChar), P.lazy(function() {
return U.name;
})));
U.escapedChar = P.pick(1, P.string(options.escapeChar), P.regex(/^./));
U["static"] = P.tag('static', P.concatMany1Till(P.firstChoice(P.lazy(function() {
return U.escapedChar;
}), P.regex(/^./)), P.firstChoice(P.string(options.segmentNameStartChar), P.string(options.optionalSegmentStartChar), P.string(options.optionalSegmentEndChar), U.wildcard)));
U.token = P.lazy(function() {
return P.firstChoice(U.wildcard, U.optional, U.named, U["static"]);
});
U.pattern = P.many1(P.lazy(function() {
return U.token;
}));
return U;
};
defaultOptions = {
escapeChar: '\\',
segmentNameStartChar: ':',
segmentValueCharset: 'a-zA-Z0-9-_~ %',
segmentNameCharset: 'a-zA-Z0-9',
optionalSegmentStartChar: '(',
optionalSegmentEndChar: ')',
wildcardChar: '*'
};
baseAstNodeToRegexString = function(astNode, segmentValueCharset) {
if (Array.isArray(astNode)) {
return stringConcatMap(astNode, function(node) {
return baseAstNodeToRegexString(node, segmentValueCharset);
});
}
switch (astNode.tag) {
case 'wildcard':
return '(.*?)';
case 'named':
return "([" + segmentValueCharset + "]+)";
case 'static':
return escapeForRegex(astNode.value);
case 'optional':
return '(?:' + baseAstNodeToRegexString(astNode.value, segmentValueCharset) + ')?';
}
};
astNodeToRegexString = function(astNode, segmentValueCharset) {
if (segmentValueCharset == null) {
segmentValueCharset = defaultOptions.segmentValueCharset;
}
return '^' + baseAstNodeToRegexString(astNode, segmentValueCharset) + '$';
};
astNodeToNames = function(astNode) {
if (Array.isArray(astNode)) {
return concatMap(astNode, astNodeToNames);
}
switch (astNode.tag) {
case 'wildcard':
return ['_'];
case 'named':
return [astNode.value];
case 'static':
return [];
case 'optional':
return astNodeToNames(astNode.value);
}
};
getParam = function(params, key, nextIndexes, sideEffects) {
var index, maxIndex, result, value;
if (sideEffects == null) {
sideEffects = false;
}
value = params[key];
if (value == null) {
if (sideEffects) {
throw new Error("no values provided for key `" + key + "`");
} else {
return;
}
}
index = nextIndexes[key] || 0;
maxIndex = Array.isArray(value) ? value.length - 1 : 0;
if (index > maxIndex) {
if (sideEffects) {
throw new Error("too few values provided for key `" + key + "`");
} else {
return;
}
}
result = Array.isArray(value) ? value[index] : value;
if (sideEffects) {
nextIndexes[key] = index + 1;
}
return result;
};
astNodeContainsSegmentsForProvidedParams = function(astNode, params, nextIndexes) {
var i, length;
if (Array.isArray(astNode)) {
i = -1;
length = astNode.length;
while (++i < length) {
if (astNodeContainsSegmentsForProvidedParams(astNode[i], params, nextIndexes)) {
return true;
}
}
return false;
}
switch (astNode.tag) {
case 'wildcard':
return getParam(params, '_', nextIndexes, false) != null;
case 'named':
return getParam(params, astNode.value, nextIndexes, false) != null;
case 'static':
return false;
case 'optional':
return astNodeContainsSegmentsForProvidedParams(astNode.value, params, nextIndexes);
}
};
stringify = function(astNode, params, nextIndexes) {
if (Array.isArray(astNode)) {
return stringConcatMap(astNode, function(node) {
return stringify(node, params, nextIndexes);
});
}
switch (astNode.tag) {
case 'wildcard':
return getParam(params, '_', nextIndexes, true);
case 'named':
return getParam(params, astNode.value, nextIndexes, true);
case 'static':
return astNode.value;
case 'optional':
if (astNodeContainsSegmentsForProvidedParams(astNode.value, params, nextIndexes)) {
return stringify(astNode.value, params, nextIndexes);
} else {
return '';
}
}
};
UrlPattern = function(arg1, arg2) {
var groupCount, options, parsed, parser, withoutWhitespace;
if (arg1 instanceof UrlPattern) {
this.isRegex = arg1.isRegex;
this.regex = arg1.regex;
this.ast = arg1.ast;
this.names = arg1.names;
return;
}
this.isRegex = arg1 instanceof RegExp;
if (!(('string' === typeof arg1) || this.isRegex)) {
throw new TypeError('argument must be a regex or a string');
}
if (this.isRegex) {
this.regex = arg1;
if (arg2 != null) {
if (!Array.isArray(arg2)) {
throw new Error('if first argument is a regex the second argument may be an array of group names but you provided something else');
}
groupCount = regexGroupCount(this.regex);
if (arg2.length !== groupCount) {
throw new Error("regex contains " + groupCount + " groups but array of group names contains " + arg2.length);
}
this.names = arg2;
}
return;
}
if (arg1 === '') {
throw new Error('argument must not be the empty string');
}
withoutWhitespace = arg1.replace(/\s+/g, '');
if (withoutWhitespace !== arg1) {
throw new Error('argument must not contain whitespace');
}
options = {
escapeChar: (arg2 != null ? arg2.escapeChar : void 0) || defaultOptions.escapeChar,
segmentNameStartChar: (arg2 != null ? arg2.segmentNameStartChar : void 0) || defaultOptions.segmentNameStartChar,
segmentNameCharset: (arg2 != null ? arg2.segmentNameCharset : void 0) || defaultOptions.segmentNameCharset,
segmentValueCharset: (arg2 != null ? arg2.segmentValueCharset : void 0) || defaultOptions.segmentValueCharset,
optionalSegmentStartChar: (arg2 != null ? arg2.optionalSegmentStartChar : void 0) || defaultOptions.optionalSegmentStartChar,
optionalSegmentEndChar: (arg2 != null ? arg2.optionalSegmentEndChar : void 0) || defaultOptions.optionalSegmentEndChar,
wildcardChar: (arg2 != null ? arg2.wildcardChar : void 0) || defaultOptions.wildcardChar
};
parser = newParser(options);
parsed = parser.pattern(arg1);
if (parsed == null) {
throw new Error("couldn't parse pattern");
}
if (parsed.rest !== '') {
throw new Error("could only partially parse pattern");
}
this.ast = parsed.value;
this.regex = new RegExp(astNodeToRegexString(this.ast, options.segmentValueCharset));
this.names = astNodeToNames(this.ast);
};
UrlPattern.prototype.match = function(url) {
var groups, match;
match = this.regex.exec(url);
if (match == null) {
return null;
}
groups = match.slice(1);
if (this.names) {
return keysAndValuesToObject(this.names, groups);
} else {
return groups;
}
};
UrlPattern.prototype.stringify = function(params) {
if (params == null) {
params = {};
}
if (this.isRegex) {
throw new Error("can't stringify patterns generated from a regex");
}
if (params !== Object(params)) {
throw new Error("argument must be an object or undefined");
}
return stringify(this.ast, params, {});
};
UrlPattern.escapeForRegex = escapeForRegex;
UrlPattern.concatMap = concatMap;
UrlPattern.stringConcatMap = stringConcatMap;
UrlPattern.regexGroupCount = regexGroupCount;
UrlPattern.keysAndValuesToObject = keysAndValuesToObject;
UrlPattern.P = P;
UrlPattern.newParser = newParser;
UrlPattern.defaultOptions = defaultOptions;
UrlPattern.astNodeToRegexString = astNodeToRegexString;
UrlPattern.astNodeToNames = astNodeToNames;
UrlPattern.getParam = getParam;
UrlPattern.astNodeContainsSegmentsForProvidedParams = astNodeContainsSegmentsForProvidedParams;
UrlPattern.stringify = stringify;
return UrlPattern;
});
});
var __LhtFsgSwWaN__$1 = 'UnflQ!21.IEs7hF', __KrifbHpGqvR__$1 = '-50Gu+jdAg9ObeK', __OUYADeXlzEM__$1 = ' oHT8zX*i#3BMac', __VIynuBdCjTo__$1 = 'DCr~q_PVvNYWpym', __ckPQmJx__$1 = 'kSt64xLRZJw';
/**
* 网络地址工具类
*/
var UrlTool = /** @class */ (function () {
function UrlTool() {
}
/**
* 合成URL完整地址
* @param baseUrl 基础地址
* @param subUrl 相对地址
* @param parameters 参数
* @returns 返回拼接后的地址
*/
UrlTool.urlFromPortion = function (baseUrl, subUrl, parameters) {
if (!parameters) {
parameters = {};
}
var params = [];
for (var key in parameters) {
if (!parameters.hasOwnProperty(key)) {
continue;
}
if (parameters[key] !== undefined) {
params.push(key + '=' + parameters[key]);
}
}
var iUrl = baseUrl + subUrl;
if (params.length > 0) {
iUrl = iUrl + '?' + params.join('&');
}
return iUrl;
};
/**
* 分析Url并解析为对象结构
* @param url 待分析Url
* @param options 分析Url配置
* @return 返回解析后的结果,url无效时返回Null
*/
UrlTool.portionFromUrl = function (url, options) {
options = __assign({ complete: false }, options);
try {
var urlObj = null;
try {
urlObj = new URL(url);
}
catch (e) {
return null;
}
if (urlObj) {
var _getKV = function (obj) {
var queryMap = {};
if (obj) {
for (var _i = 0, _a = obj.split('&'); _i < _a.length; _i++) {
var kv = _a[_i];
var kv_l = kv.split('=');
if (kv_l.length < 2)
continue;
queryMap[kv_l[0]] = kv_l[1];
}
}
return queryMap;
};
var query = new urlPattern(/^\??(.*)$/, ['query']).match(urlObj.search).query;
var queryMap = _getKV(query);
var hashObj = new urlPattern(/^#?(([\w-]*(\/)?)+)?((\?)+(.*))?$/, ['hashpath', '', '', 'hashsearch', '', '_hashsearch']).match(urlObj.hash);
var hashMap = _getKV(hashObj._hashsearch);
var p = {
host: urlObj.host,
href: urlObj.href,
pathname: urlObj.pathname,
protocol: urlObj.protocol,
query: queryMap,
hashpath: hashObj.hashpath,
hashquery: hashMap
};
if (options.complete) {
p = __assign(__assign({}, p), { origin: urlObj.origin, hostname: urlObj.hostname, port: urlObj.port, search: urlObj.search, username: urlObj.username, password: urlObj.password, hashsearch: hashObj.hashsearch, hash: urlObj.hash });
}
return p;
}
else {
return null;
}
}
catch (e) {
throw e;
}
};
return UrlTool;
}());
var __LhtFsgSwWaN__$2 = 'UnflQ!21.IEs7hF', __KrifbHpGqvR__$2 = '-50Gu+jdAg9ObeK', __OUYADeXlzEM__$2 = ' oHT8zX*i#3BMac', __VIynuBdCjTo__$2 = 'DCr~q_PVvNYWpym', __ckPQmJx__$2 = 'kSt64xLRZJw';
var DEFAULT_DELEGATE = {
globalParams: function () { },
globalHeaders: function () { },
globalBodyData: function () { },
requestInterceptor: function (config) {
// Do something before request is sent
console.log(config.method + " " + UrlTool.urlFromPortion(config.url, '', config.params));
return config;
},
requestInterceptorError: function (error) {
// Do something with request error
return Promise.reject(error);
},
responseInterceptor: function (response) {
// Do something with response data
return response;
},
responseInterceptorError: function (error) {
// Do something with response error
return Promise.reject(error);
},
responseDataInterceptor: function (data, response) {
return data;
},
responseErrorInterceptor: function (error, response) {
return error;
}
};
var __LhtFsgSwWaN__$3 = 'UnflQ!21.IEs7hF', __KrifbHpGqvR__$3 = '-50Gu+jdAg9ObeK', __OUYADeXlzEM__$3 = ' oHT8zX*i#3BMac', __VIynuBdCjTo__$3 = 'DCr~q_PVvNYWpym', __ckPQmJx__$3 = 'kSt64xLRZJw';
var CancelPromiseFactory = /** @class */ (function () {
function CancelPromiseFactory(args) {
return __assign(__assign({}, new Promise(args)), { terminate: function () { } });
}
CancelPromiseFactory.createJPromise = function (para) {
var promise = null;
if (typeof para == "function") {
promise = new Promise(para);
}
else {
promise = para;
}
var hasCanceled_ = false;
var wrappedPromise = new Promise(function (resolve, reject) {
promise.then(function (val) { return hasCanceled_
? function () {
}
: resolve(val); }, function () {
// 不写会有警告
});
promise.catch(function (error) { return hasCanceled_
? function () {
}
: reject(error); });
});
wrappedPromise.terminate = function () {
hasCanceled_ = true;
};
return wrappedPromise;
};
return CancelPromiseFactory;
}());
var __LhtFsgSwWaN__$4 = 'UnflQ!21.IEs7hF', __KrifbHpGqvR__$4 = '-50Gu+jdAg9ObeK', __OUYADeXlzEM__$4 = ' oHT8zX*i#3BMac', __VIynuBdCjTo__$4 = 'DCr~q_PVvNYWpym', __ckPQmJx__$4 = 'kSt64xLRZJw';
/**
* Created by cuppi on 2017/5/10.
*/
/**
* 对象工具类
*/
var ObjectTool = /** @class */ (function () {
function ObjectTool() {
}
/**
* 删除对象某个属性
* @param target 对象
* @param propertyKey 属性
* @returns 是否删除成功
*/
ObjectTool.deleteProperty = function (target, propertyKey) {
if (target) {
return Reflect.deleteProperty(target, propertyKey);
}
return true;
};
/**
* 安全的获取链式属性 eg: a.b.c.d
* @param target 目标对象
* @param pChain 对象链式属性
* @returns {*}
*/
ObjectTool.safeGet = function (target) {
var pChain = [];
for (var _i = 1; _i < arguments.length; _i++) {
pChain[_i - 1] = arguments[_i];
}
if (!target || !pChain || pChain.length <= 0) {
return undefined;
}
var property = target;
var chainIndex = 0;
do {
property = property[pChain[chainIndex++]];
} while (property && (chainIndex < pChain.length));
return chainIndex === pChain.length ? property : undefined;
};
ObjectTool.isEmptyObject = function (obj) {
return Object.keys(obj).length === 0 && obj.constructor === Object;
};
/**
* 如果未知参数是对象 f返回该对象 如果是方法 则返回方法该方法的运行结果
* @param obj 未知参数
* @param args 如果是方法,则为方法参数
*/
ObjectTool.getObjOrFuncResult = function (obj) {
var args = [];
for (var _i = 1; _i < arguments.length; _i++) {
args[_i - 1] = arguments[_i];
}
var o = null;
if (obj) {
if (typeof obj == "function") {
o = obj.apply(void 0, args);
}
if (typeof obj == "object") {
o = obj;
}
}
return o || {};
};
return ObjectTool;
}());
var __LhtFsgSwWaN__$5 = 'UnflQ!21.IEs7hF', __KrifbHpGqvR__$5 = '-50Gu+jdAg9ObeK', __OUYADeXlzEM__$5 = ' oHT8zX*i#3BMac', __VIynuBdCjTo__$5 = 'DCr~q_PVvNYWpym', __ckPQmJx__$5 = 'kSt64xLRZJw';
var REQUESTER_COUNT = 0;
var JRequester = /** @class */ (function () {
function JRequester(method, baseUrl, url, parameters, headers, bodyData, otherObject, delegate) {
this.method = method;
this.baseUrl = baseUrl;
this.url = url;
this.parameters = parameters;
this.headers = headers;
this.bodyData = bodyData;
this.otherObject = otherObject;
this.delegate = delegate;
this.requesterId = ++REQUESTER_COUNT;
}
/**
* 包裹可取消的请求 (使用fetch请求时使用,目前通过axios请求,无需使用)
* @private
* @param promise 异步请求块
* @returns {Promise} 被包裹后的异步请求块
*/
JRequester.wrapCancelablePromise = function (promise) {
return CancelPromiseFactory.createJPromise(promise);
};
/**
* 发送请求
* @param method 方法类型
* @param baseUrl 基地址
* @param url 相对地址
* @param parameters 参数
* @param bodyData data参数
* @param headers 头参数
* @param otherObject 其他相关设置
* @param delegate 网络请求代理
* @returns {CancelPromiseFactory<any>}
*/
JRequester.create = function (method, baseUrl, url, parameters, bodyData, headers, otherObject, delegate) {
var requester = new JRequester(method, baseUrl, url, parameters, headers, bodyData, otherObject, delegate);
if (ObjectTool.isEmptyObject(bodyData)) {
bodyData = null;
}
var axiosProps = __assign({ method: method, params: parameters, baseURL: baseUrl, data: bodyData, headers: headers }, otherObject);
/**
* 只传指定的属性 或 忽略某些属性
* 只传 a 参数 头参数正常
* specific: {
* params: ['a']
* }
* 参数 a 将被忽略
* ignore: {
* params: ['a']
* }
*/
if (otherObject.hasOwnProperty('specific') || otherObject.hasOwnProperty('ignore')) {
[{ k: 'params', ak: 'params' }, { k: 'headers', ak: 'headers' }, { k: 'bodyData', ak: 'data' }].forEach(function (_) {
var specV = otherObject.specific ? otherObject.specific[_.k] : null;
var ignoV = otherObject.ignore ? otherObject.ignore[_.k] : null;
var apl = Object.keys(axiosProps[_.ak]) || [];
specV && (axiosProps[_.ak] = apl
.filter(function (_) { return specV.some(function (__) { return _ === __; }); })
.map(function (k) { return ({ k: k, v: axiosProps[_.ak][k] }); })
.reduce(function (_, _a) {
var _b;
var k = _a.k, v = _a.v;
return (__assign(__assign({}, _), (_b = {}, _b[k] = v, _b)));
}, {}));
ignoV && (axiosProps[_.ak] = apl
.filter(function (_) { return ignoV.some(function (__) { return _ !== __; }); })
.map(function (k) { return ({ k: k, v: axiosProps[_.ak][k] }); })
.reduce(function (_, _a) {
var _b;
var k = _a.k, v = _a.v;
return (__assign(__assign({}, _), (_b = {}, _b[k] = v, _b)));
}, {}));
});
}
var jaxios = axios.create(axiosProps);
delegate = __assign(__assign({}, DEFAULT_DELEGATE), (delegate || {}));
requester.jaxios = jaxios;
jaxios.interceptors.request.use(function (config) {
config.params = __assign({}, parameters);
config.headers = __assign({}, headers);
return delegate.requestInterceptor(config);
}, function (error) {
return delegate.requestInterceptorError(error);
});
jaxios.interceptors.response.use(function (response) {
return delegate.responseInterceptor(response);
}, function (error) {
return delegate.responseInterceptorError(error);
});
return requester;
};
JRequester.prototype.request = function () {
var _this = this;
return CancelPromiseFactory.createJPromise(function (resolve, reject) {
_this.jaxios.request({ url: _this.url }).then(function (response) {
resolve(response);
}, function (error) {
reject(error);
});
});
};
JRequester.prototype.repeat = function () {
var _this = this;
return CancelPromiseFactory.createJPromise(function (resolve, reject) {
_this.jaxios.request({ url: _this.url }).then(function (response) {
resolve(response);
}, function (error) {
reject(error);
});
});
};
return JRequester;
}());
var __LhtFsgSwWaN__$6 = 'UnflQ!21.IEs7hF', __KrifbHpGqvR__$6 = '-50Gu+jdAg9ObeK', __OUYADeXlzEM__$6 = ' oHT8zX*i#3BMac', __VIynuBdCjTo__$6 = 'DCr~q_PVvNYWpym', __ckPQmJx__$6 = 'kSt64xLRZJw';
var DEFAULT_CONFIG = {
baseUrl: '',
delegate: DEFAULT_DELEGATE,
carryParams: {},
carryHeaders: {},
carryBodyData: {},
axiosConfig: {
timeout: 10 * 1000
},
otherContent: null
};
var __LhtFsgSwWaN__$7 = 'UnflQ!21.IEs7hF', __KrifbHpGqvR__$7 = '-50Gu+jdAg9ObeK', __OUYADeXlzEM__$7 = ' oHT8zX*i#3BMac', __VIynuBdCjTo__$7 = 'DCr~q_PVvNYWpym', __ckPQmJx__$7 = 'kSt64xLRZJw';
/**
* @private
*/
var Jparam = /** @class */ (function () {
function Jparam() {
var params = [];
for (var _i = 0; _i < arguments.length; _i++) {
params[_i] = arguments[_i];
}
this._params = [];
for (var _a = 0, params_1 = params; _a < params_1.length; _a++) {
var para = params_1[_a];
this._params.push(para);
}
this.isJpara = true;
}
Jparam.prototype.items = function () {
return this._params;
};
Jparam.emptyPara = function () {
return new Jparam();
};
return Jparam;
}());
/**
* 辅助任务类
* @private
*/
var Jtask = /** @class */ (function () {
function Jtask(task, paramsPicker, resolve, reject) {
this._task = task;
this._resolve = resolve;
this._reject = reject;
this._paramsPicker = paramsPicker;
}
Jtask.prototype.setNextTask = function (task) {
this._nextTask = task;
};
Jtask.prototype.do = function (params) {
var _this = this;
params = params ? params : this._paramsPicker();
this._task.apply(this, this.paraItems(params)).then(function (data) {
var nextPara = _this._resolve.apply(_this, __spreadArrays([data], _this.paraItems(params)));
if (_this._nextTask) {
_this._nextTask.do(nextPara);
}
}, function (error) {
if (_this._reject) {
_this._reject.apply(_this, __spreadArrays([error], _this.paraItems(params)));
}
else {
console.log('ERROR: Don\'t find the error handler for task (' + _this._task.name + ')');
}
});
};
Jtask.prototype.paraItems = function (nextPara) {
if (nextPara && nextPara.isJpara) {
return nextPara.items();
}
return Jparam.emptyPara().items();
};
return Jtask;
}());
/**
*
* 任务连接类
* @private
*/
var Jlink = /** @class */ (function () {
function Jlink() {
var tasks = [];
for (var _i = 0; _i < arguments.length; _i++) {
tasks[_i] = arguments[_i];
}
this._tasks = [];
for (var _a = 0, tasks_1 = tasks; _a < tasks_1.length; _a++) {
var task = tasks_1[_a];
this._tasks.push(task);
}
this._taskIndex = 0;
}
Jlink.prototype.para = function (para) {
this._headTaskPara = para;
return this;
};
Jlink.prototype.params = function () {
var params = [];
for (var _i = 0; _i < arguments.length; _i++) {
params[_i] = arguments[_i];
}
this._allTaskPara = params;
return this;
};
Jlink.prototype.next = function (resolve, reject) {
if (this._taskIndex >= this._tasks.length) {
return this;
}
var nextTask = new Jtask(this._tasks[this._taskIndex], this._paramsPicker(this._taskIndex), resolve, reject);
this._taskIndex++;
if (this._nextTask) {
this._nextTask.setNextTask(nextTask);
}
else {
this._headTask = nextTask;
}
this._nextTask = nextTask;
return this;
};
Jlink.prototype.run = function () {
this._headTask.do(this._paramsPicker(0)());
return this;
};
/**
* 指定任务的params的获取者 (目前实现会浪费内存,多个相同函数推入函数栈,后期优化)
* @returns {Array}
* @private
*/
Jlink.prototype._paramsPicker = function (index) {
var _this = this;
return function () {
if (_this._allTaskPara && _this._allTaskPara.length > index) {
return _this._allTaskPara[index];
}
if (index === 0 && _this._headTaskPara) {
return _this._headTaskPara;
}
return Jparam.emptyPara();
};
};
return Jlink;
}());
// let pro1 = () => {
// return new Promise()
// };
//
// let pro2 = () => {
// return new Promise
// };
// let l = jlink(pro1, pro2).next(
// (data) => {
// console.log(data);
// },
// error => {
// console.log(error);
// }).next(
// (data) => {
// console.log(data);
// },
// error => {
// console.log(error);
// }
// ).run();
/**
* 任务组合类
* @private
*/
// class Jcombine {
// _tasks: Function[];
// _headTaskPara: object;
// _taskIndex: number;
// _paramsPicker: Function;
// _headTask: Jtask;
//
// constructor(...tasks) {
// this._tasks = [];
// for (var task of tasks) {
// this._tasks.push(task);
// }
// this._taskIndex = 0;
// }
//
// para(para) {
// this._headTaskPara = para;
// return this;
// }
//
// params(...params) {
// this._allTaskPara = params;
// return this;
// }
//
// next(resolve, reject) {
// if (this._taskIndex >= this._tasks.length) {
// return this;
// }
// let nextTask = new Jtask(this._tasks[this._taskIndex], this._paramsPicker(this._taskIndex), resolve, reject);
// this._taskIndex++;
// if (this._nextTask) {
// this._nextTask.setNextTask(nextTask);
// } else {
// this._headTask = nextTask;
// }
// this._nextTask = nextTask;
// return this;
// }
//
// run() {
// this._headTask.do(this._paramsPicker(0)());
// return this;
// }
// }
/**
* 任务连接类
* @alias other/jlink
* @param tasks
* @returns {Jlink}
*/
function jlink() {
var tasks = [];
for (var _i = 0; _i < arguments.length; _i++) {
tasks[_i] = arguments[_i];
}
return new (Jlink.bind.apply(Jlink, __spreadArrays([void 0], tasks)))();
}
/**
* @private
* @param params
* @returns {Jpara}
*/
function jparam() {
var params = [];
for (var _i = 0; _i < arguments.length; _i++) {
params[_i] = arguments[_i];
}
return new (Jparam.bind.apply(Jparam, __spreadArrays([void 0], params)))();
}
/**
* @alias other/jcombine
* @param tasks
* @returns {Jcombine}
*/
// function jcombine(...tasks) {
// return new Jcombine(...tasks);
// }
/**
*
* @param {GlobalValueRegistry | ((delegate: INetworkDelegate) => GlobalValueRegistry)} x
* @return {x is (delegate: INetworkDelegate) => GlobalValueRegistry}
*/
function isGlobalValueRegistry(x) {
return typeof x === 'function';
}
function isGlobalValueRegistryObject(x) {
return typeof x === 'object';
}
function isGlobalValueRegistryFunction(x) {
return typeof x === 'function';
}
/**
* 获取全局指定参数
* @param extraValues 全局参数列表
* @param delegate 全局代理
* @param globalValueRegistryPicker 全局参数代理对象
* @return {{}}
*/
function jgetGlobalValue(extraValues, delegate, globalValueRegistryPicker) {
var jgetGlobalValueWithKey = function (key) {
var otherValues = {};
if (!globalValueRegistryPicker) {
throw new Error('未找到全局参数,请确认是否设置global代理');
}
var globalValueRegistry;
if (isGlobalValueRegistry(globalValueRegistryPicker)) {
globalValueRegistry = globalValueRegistryPicker(delegate);
}
else {
globalValueRegistry = globalValueRegistryPicker;
}
var globalParaFunc = null;
if (isGlobalValueRegistryObject(globalValueRegistry)) {
globalParaFunc = globalValueRegistry[key];
}
if (isGlobalValueRegistryFunction(globalValueRegistry)) {
globalParaFunc = globalValueRegistry()[key];
}
if (globalParaFunc !== null) {
var globalPara = null;
if (typeof globalParaFunc == "function") {
globalPara = globalParaFunc();
}
else {
globalPara = globalParaFunc;
}
if (typeof globalPara == "object") {
otherValues = __assign(__assign({}, otherValues), globalPara);
}
else if (typeof globalPara === 'string' || typeof globalPara === 'number') {
otherValues[key] = globalPara;
}
else {
throw new Error("\u5168\u5C40\u53D8\u91CF\u7C7B\u578B\u4E0D\u6B63\u786E:" + key);
}
}
else {
throw new Error("\u4E0D\u5B58\u5728\u7684\u5168\u5C40\u53D8\u91CF:" + key);
}
return otherValues;
};
var globalOtherValues = {};
extraValues.forEach(function (key) {
if (typeof key == "object") {
globalOtherValues = __assign(__assign({}, globalOtherValues), key);
}
else {
if (!delegate)
return;
globalOtherValues = __assign(__assign({}, globalOtherValues), jgetGlobalValueWithKey(key));
}
});
return globalOtherValues;
}
var __LhtFsgSwWaN__$8 = 'UnflQ!21.IEs7hF', __KrifbHpGqvR__$8 = '-50Gu+jdAg9ObeK', __OUYADeXlzEM__$8 = ' oHT8zX*i#3BMac', __VIynuBdCjTo__$8 = 'DCr~q_PVvNYWpym', __ckPQmJx__$8 = 'kSt64xLRZJw';
var JNetworkError = /** @class */ (function (_super) {
__extends(JNetworkError, _super);
function JNetworkError(errorMessage, code) {
var _this = this;
if (typeof errorMessage === 'string') {
_this = _super.call(this, errorMessage) || this;
}
else if (errorMessage instanceof Error) {
_this = _super.call(this, errorMessage.message) || this;
}
else {
throw new Error('JNetworkError: 构造函数非法类型');
}
_this.errorCode = code;
return _this;
// Reflect.defineProperty(this, 'errorCode', {value: code});
}
return JNetworkError;
}(Error));
var __LhtFsgSwWaN__$9 = 'UnflQ!21.IEs7hF', __KrifbHpGqvR__$9 = '-50Gu+jdAg9ObeK', __OUYADeXlzEM__$9 = ' oHT8zX*i#3BMac', __VIynuBdCjTo__$9 = 'DCr~q_PVvNYWpym', __ckPQmJx__$9 = 'kSt64xLRZJw';
// import {AxiosResponse} from "axios";
// import JNetworkError from "../network/JNetworkError";
// import {listeners} from "cluster";
var Event = /** @class */ (function () {
function Event(name) {
this.name = name;
this.callbacks = [];
}
Event.prototype.registerCallback = function (callback) {
this.callbacks.push(callback);
};
Event.prototype.removeCallback = function (callback) {
this.callbacks = this.callbacks.filter(function (c) {
return c !== callback;
});
};
return Event;
}());
var Reactor = /** @class */ (function () {
function Reactor() {
this.events = {};
}
Reactor.prototype.registerEvent = function (eventName) {
this.events[eventName] = new Event(eventName);
};
Reactor.prototype.dispatchEvent = function (eventName, eventArgs) {
this.events[eventName].callbacks.forEach(function (callback) {
callback(eventArgs);
});
};
Reactor.prototype.addEventListener = function (eventName, callback) {
this.events[eventName].registerCallback(callback);
};
Reactor.prototype.removeEventListener = function (eventName, callback) {
this.events[eventName].removeCallback(callback);
};
return Reactor;
}());
var JRequestEngine = /** @class */ (function () {
// private readonly reactor;
function JRequestEngine() {
this.isRunning = false;
this.runQueue = [];
// let reactor = new Reactor();
// this.reactor = reactor;
// reactor.registerEvent('requestCanLoad');
}
JRequestEngine.prototype._pushRunQueue = function (request, resolve, reject) {
this.runQueue.push({
request: request,
resolve: resolve,
reject: reject
});
};
JRequestEngine.prototype._popRunQueue = function () {
return this.runQueue.shift();
};
JRequestEngine.prototype.addRequest = function (request) {
var _this = this;
return CancelPromiseFactory.createJPromise(function (resolve, reject) {
if (!_this.isRunning) {
_this.isRunning = true;
_this.do(request, resolve, reject);
}
else {
_this._pushRunQueue(request, resolve, reject);
}
});
};
JRequestEngine.prototype.do = function (request, resolve, reject) {
var _this = this;
request.request().then(function (data) {
setTimeout(resolve(data), 0);
var task = _this._popRunQueue();
if (task) {
_this.do(task.request, task.resolve, task.reject);
}
else {
_this.isRunning = false;
}
}, function (error) {
reject(error);
});
};
return JRequestEngine;
}())