UNPKG

@lxlib/util

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.1.

1,392 lines (1,352 loc) 64.2 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('extend'), require('date-fns/addDays'), require('date-fns/endOfDay'), require('date-fns/endOfMonth'), require('date-fns/endOfWeek'), require('date-fns/endOfYear'), require('date-fns/parseISO'), require('date-fns/startOfDay'), require('date-fns/startOfMonth'), require('date-fns/startOfWeek'), require('date-fns/startOfYear'), require('date-fns/subMonths'), require('date-fns/subWeeks'), require('date-fns/subYears'), require('@angular/common'), require('@angular/core'), require('rxjs'), require('rxjs/operators'), require('ng-zorro-antd/core/environments'), require('ng-zorro-antd/core/tree')) : typeof define === 'function' && define.amd ? define('@lxlib/util', ['exports', 'extend', 'date-fns/addDays', 'date-fns/endOfDay', 'date-fns/endOfMonth', 'date-fns/endOfWeek', 'date-fns/endOfYear', 'date-fns/parseISO', 'date-fns/startOfDay', 'date-fns/startOfMonth', 'date-fns/startOfWeek', 'date-fns/startOfYear', 'date-fns/subMonths', 'date-fns/subWeeks', 'date-fns/subYears', '@angular/common', '@angular/core', 'rxjs', 'rxjs/operators', 'ng-zorro-antd/core/environments', 'ng-zorro-antd/core/tree'], factory) : (global = global || self, factory((global.lxlib = global.lxlib || {}, global.lxlib.util = {}), global.Extend, global.addDays, global.endOfDay, global.endOfMonth, global.endOfWeek, global.endOfYear, global.parseISO, global.startOfDay, global.startOfMonth, global.startOfWeek, global.startOfYear, global.subMonths, global.subWeeks, global.subYears, global.ng.common, global.ng.core, global.rxjs, global.rxjs.operators, global.environments, global.tree)); }(this, (function (exports, extend, addDays, endOfDay, endOfMonth, endOfWeek, endOfYear, parseISO, startOfDay, startOfMonth, startOfWeek, startOfYear, subMonths, subWeeks, subYears, common, core, rxjs, operators, environments, tree) { 'use strict'; extend = extend && Object.prototype.hasOwnProperty.call(extend, 'default') ? extend['default'] : extend; addDays = addDays && Object.prototype.hasOwnProperty.call(addDays, 'default') ? addDays['default'] : addDays; endOfDay = endOfDay && Object.prototype.hasOwnProperty.call(endOfDay, 'default') ? endOfDay['default'] : endOfDay; endOfMonth = endOfMonth && Object.prototype.hasOwnProperty.call(endOfMonth, 'default') ? endOfMonth['default'] : endOfMonth; endOfWeek = endOfWeek && Object.prototype.hasOwnProperty.call(endOfWeek, 'default') ? endOfWeek['default'] : endOfWeek; endOfYear = endOfYear && Object.prototype.hasOwnProperty.call(endOfYear, 'default') ? endOfYear['default'] : endOfYear; parseISO = parseISO && Object.prototype.hasOwnProperty.call(parseISO, 'default') ? parseISO['default'] : parseISO; startOfDay = startOfDay && Object.prototype.hasOwnProperty.call(startOfDay, 'default') ? startOfDay['default'] : startOfDay; startOfMonth = startOfMonth && Object.prototype.hasOwnProperty.call(startOfMonth, 'default') ? startOfMonth['default'] : startOfMonth; startOfWeek = startOfWeek && Object.prototype.hasOwnProperty.call(startOfWeek, 'default') ? startOfWeek['default'] : startOfWeek; startOfYear = startOfYear && Object.prototype.hasOwnProperty.call(startOfYear, 'default') ? startOfYear['default'] : startOfYear; subMonths = subMonths && Object.prototype.hasOwnProperty.call(subMonths, 'default') ? subMonths['default'] : subMonths; subWeeks = subWeeks && Object.prototype.hasOwnProperty.call(subWeeks, 'default') ? subWeeks['default'] : subWeeks; subYears = subYears && Object.prototype.hasOwnProperty.call(subYears, 'default') ? subYears['default'] : subYears; /*! ***************************************************************************** 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) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } 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) : adopt(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 s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; if (m) return m.call(o); if (o && typeof o.length === "number") return { next: function () { if (o && i >= o.length) o = void 0; return { value: o && o[i++], done: !o }; } }; throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); } 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 }; } function __classPrivateFieldGet(receiver, privateMap) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return privateMap.get(receiver); } function __classPrivateFieldSet(receiver, privateMap, value) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to set private field on non-instance"); } privateMap.set(receiver, value); return value; } /** * @fileoverview added by tsickle * Generated from: src/other/other.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * 类似 `_.get`,根据 `path` 获取安全值 * jsperf: https://jsperf.com/es-deep-getttps://jsperf.com/es-deep-get * * @param {?} obj 数据源,无效时直接返回 `defaultValue` 值 * @param {?} path 若 `null`、`[]`、未定义及未找到时返回 `defaultValue` 值 * @param {?=} defaultValue 默认值 * @return {?} */ function deepGet(obj, path, defaultValue) { if (!obj || path == null || path.length === 0) return defaultValue; if (!Array.isArray(path)) { path = ~path.indexOf('.') ? path.split('.') : [path]; } if (path.length === 1) { /** @type {?} */ var checkObj = obj[path[0]]; return typeof checkObj === 'undefined' ? defaultValue : checkObj; } /** @type {?} */ var res = path.reduce((/** * @param {?} o * @param {?} k * @return {?} */ function (o, k) { return (o || {})[k]; }), obj); return typeof res === 'undefined' ? defaultValue : res; } /** * 基于 [extend](https://github.com/justmoon/node-extend) 的深度拷贝 * @param {?} obj * @return {?} */ function deepCopy(obj) { /** @type {?} */ var result = extend(true, {}, { _: obj }); return result._; } /** * 复制字符串文档至剪贴板 * @param {?} value * @return {?} */ function copy(value) { return new Promise((/** * @param {?} resolve * @return {?} */ function (resolve) { /** @type {?} */ var copyTextArea = null; try { copyTextArea = document.createElement('textarea'); copyTextArea.style.height = '0px'; copyTextArea.style.opacity = '0'; copyTextArea.style.width = '0px'; document.body.appendChild(copyTextArea); copyTextArea.value = value; copyTextArea.select(); document.execCommand('copy'); resolve(value); } finally { if (copyTextArea && copyTextArea.parentNode) { copyTextArea.parentNode.removeChild(copyTextArea); } } })); } /** * 深度合并对象 * * @param {?} original 原始对象 * @param {?} ingoreArray 是否忽略数组,`true` 表示忽略数组的合并,`false` 表示会合并整个数组 * @param {...?} objects 要合并的对象 * @return {?} */ function deepMergeKey(original, ingoreArray) { var objects = []; for (var _i = 2; _i < arguments.length; _i++) { objects[_i - 2] = arguments[_i]; } if (Array.isArray(original) || typeof original !== 'object') return original; /** @type {?} */ var isObject = (/** * @param {?} v * @return {?} */ function (v) { return typeof v === 'object' || typeof v === 'function'; }); /** @type {?} */ var merge = (/** * @param {?} target * @param {?} obj * @return {?} */ function (target, obj) { Object.keys(obj) .filter((/** * @param {?} key * @return {?} */ function (key) { return key !== '__proto__' && Object.prototype.hasOwnProperty.call(obj, key); })) .forEach((/** * @param {?} key * @return {?} */ function (key) { /** @type {?} */ var oldValue = obj[key]; /** @type {?} */ var newValue = target[key]; if (Array.isArray(newValue)) { target[key] = ingoreArray ? oldValue : __spread(newValue, oldValue); } else if (oldValue != null && isObject(oldValue) && newValue != null && isObject(newValue)) { target[key] = merge(newValue, oldValue); } else { target[key] = deepCopy(oldValue); } })); return target; }); objects.filter((/** * @param {?} v * @return {?} */ function (v) { return v != null && isObject(v); })).forEach((/** * @param {?} v * @return {?} */ function (v) { return merge(original, v); })); return original; } /** * 深度合并对象 * * @param {?} original 原始对象 * @param {...?} objects 要合并的对象 * @return {?} */ function deepMerge(original) { var objects = []; for (var _i = 1; _i < arguments.length; _i++) { objects[_i - 1] = arguments[_i]; } return deepMergeKey.apply(void 0, __spread([original, false], objects)); } /** * @fileoverview added by tsickle * Generated from: src/string/string.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * 字符串格式化 * ``` * format('this is ${name}', { name: 'asdf' }) * // output: this is asdf * format('this is ${user.name}', { user: { name: 'asdf' } }, true) * // output: this is asdf * ``` * @param {?} str * @param {?} obj * @param {?=} needDeepGet * @return {?} */ function format(str, obj, needDeepGet) { if (needDeepGet === void 0) { needDeepGet = false; } return (str || '').replace(/\${([^}]+)}/g, (/** * @param {?} _work * @param {?} key * @return {?} */ function (_work, key) { return needDeepGet ? deepGet(obj, key.split('.'), '') : (obj || {})[key] || ''; })); } /** * @fileoverview added by tsickle * Generated from: src/time/time.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * 获取时间范围 * @param {?} type 类型,带 `-` 表示过去一个时间,若指定 `number` 表示天数 * @param {?=} time 开始时间 * @return {?} */ function getTimeDistance(type, time) { time = time ? (typeof time === 'string' ? parseISO(time) : new Date(time)) : new Date(); /** @type {?} */ var options = { weekStartsOn: 1 }; /** @type {?} */ var res; switch (type) { case 'today': res = [time, time]; break; case '-today': res = [addDays(time, -1), time]; break; case 'yesterday': res = [addDays(time, -1), addDays(time, -1)]; break; case 'week': res = [startOfWeek(time, options), endOfWeek(time, options)]; break; case '-week': res = [startOfWeek(subWeeks(time, 1), options), endOfWeek(subWeeks(time, 1), options)]; break; case 'month': res = [startOfMonth(time), endOfMonth(time)]; break; case '-month': res = [startOfMonth(subMonths(time, 1)), endOfMonth(subMonths(time, 1))]; break; case 'year': res = [startOfYear(time), endOfYear(time)]; break; case '-year': res = [startOfYear(subYears(time, 1)), endOfYear(subYears(time, 1))]; break; default: res = type > 0 ? [time, addDays(time, type)] : [addDays(time, type), time]; break; } return fixEndTimeOfRange(res); } /** * fix time is the most, big value * @param {?} dates * @return {?} */ function fixEndTimeOfRange(dates) { return [startOfDay(dates[0]), endOfDay(dates[1])]; } /** * @fileoverview added by tsickle * Generated from: src/lazy/lazy.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @record */ function LazyResult() { } if (false) { /** @type {?} */ LazyResult.prototype.path; /** @type {?} */ LazyResult.prototype.loaded; /** @type {?} */ LazyResult.prototype.status; /** @type {?|undefined} */ LazyResult.prototype.error; } /** * 延迟加载资源(js 或 css)服务 */ var LazyService = /** @class */ (function () { function LazyService(doc) { this.doc = doc; this.list = {}; this.cached = {}; this._notify = new rxjs.BehaviorSubject([]); } Object.defineProperty(LazyService.prototype, "change", { get: /** * @return {?} */ function () { return this._notify.asObservable().pipe(operators.share(), operators.filter((/** * @param {?} ls * @return {?} */ function (ls) { return ls.length !== 0; }))); }, enumerable: true, configurable: true }); /** * @return {?} */ LazyService.prototype.clear = /** * @return {?} */ function () { this.list = {}; this.cached = {}; }; /** * @param {?} paths * @return {?} */ LazyService.prototype.load = /** * @param {?} paths * @return {?} */ function (paths) { var _this = this; if (!Array.isArray(paths)) { paths = [paths]; } /** @type {?} */ var promises = []; paths.forEach((/** * @param {?} path * @return {?} */ function (path) { if (path.endsWith('.js')) { promises.push(_this.loadScript(path)); } else { promises.push(_this.loadStyle(path)); } })); return Promise.all(promises).then((/** * @param {?} res * @return {?} */ function (res) { _this._notify.next(res); return Promise.resolve(res); })); }; /** * @param {?} path * @param {?=} innerContent * @return {?} */ LazyService.prototype.loadScript = /** * @param {?} path * @param {?=} innerContent * @return {?} */ function (path, innerContent) { var _this = this; return new Promise((/** * @param {?} resolve * @return {?} */ function (resolve) { if (_this.list[path] === true) { resolve(_this.cached[path]); return; } _this.list[path] = true; /** @type {?} */ var onSuccess = (/** * @param {?} item * @return {?} */ function (item) { _this.cached[path] = item; resolve(item); }); /** @type {?} */ var node = (/** @type {?} */ (_this.doc.createElement('script'))); node.type = 'text/javascript'; node.src = path; node.charset = 'utf-8'; if (innerContent) { node.innerHTML = innerContent; } if (node.readyState) { // IE node.onreadystatechange = (/** * @return {?} */ function () { if (node.readyState === 'loaded' || node.readyState === 'complete') { node.onreadystatechange = null; onSuccess({ path: path, loaded: true, status: 'ok', }); } }); } else { node.onload = (/** * @return {?} */ function () { return onSuccess({ path: path, loaded: true, status: 'ok', }); }); } node.onerror = (/** * @param {?} error * @return {?} */ function (error) { return onSuccess({ path: path, loaded: false, status: 'error', error: error, }); }); _this.doc.getElementsByTagName('head')[0].appendChild(node); })); }; /** * @param {?} path * @param {?=} rel * @param {?=} innerContent * @return {?} */ LazyService.prototype.loadStyle = /** * @param {?} path * @param {?=} rel * @param {?=} innerContent * @return {?} */ function (path, rel, innerContent) { var _this = this; if (rel === void 0) { rel = 'stylesheet'; } return new Promise((/** * @param {?} resolve * @return {?} */ function (resolve) { if (_this.list[path] === true) { resolve(_this.cached[path]); return; } _this.list[path] = true; /** @type {?} */ var node = (/** @type {?} */ (_this.doc.createElement('link'))); node.rel = rel; node.type = 'text/css'; node.href = path; if (innerContent) { node.innerHTML = innerContent; } _this.doc.getElementsByTagName('head')[0].appendChild(node); /** @type {?} */ var item = { path: path, loaded: true, status: 'ok', }; _this.cached[path] = item; resolve(item); })); }; LazyService.decorators = [ { type: core.Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ LazyService.ctorParameters = function () { return [ { type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] } ]; }; /** @nocollapse */ LazyService.ɵprov = core.ɵɵdefineInjectable({ factory: function LazyService_Factory() { return new LazyService(core.ɵɵinject(common.DOCUMENT)); }, token: LazyService, providedIn: "root" }); return LazyService; }()); if (false) { /** * @type {?} * @private */ LazyService.prototype.list; /** * @type {?} * @private */ LazyService.prototype.cached; /** * @type {?} * @private */ LazyService.prototype._notify; /** * @type {?} * @private */ LazyService.prototype.doc; } /** * @fileoverview added by tsickle * Generated from: src/validate/validate.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * 是否为数字 * @param {?} value * @return {?} */ function isNum(value) { return /^((-?\d+\.\d+)|(-?\d+)|(-?\.\d+))$/.test(value.toString()); } /** * 是否为整数 * @param {?} value * @return {?} */ function isInt(value) { return isNum(value) && parseInt(value.toString(), 10).toString() === value.toString(); } /** * 是否为小数 * @param {?} value * @return {?} */ function isDecimal(value) { return isNum(value) && !isInt(value); } /** * 是否为身份证 * @param {?} value * @return {?} */ function isIdCard(value) { return typeof value === 'string' && /(^\d{15}$)|(^\d{17}([0-9]|X)$)/i.test(value); } /** * 是否为手机号 * @param {?} value * @return {?} */ function isMobile(value) { return typeof value === 'string' && /^(0|\+?86|17951)?(13[0-9]|15[0-9]|17[0678]|18[0-9]|14[57])[0-9]{8}$/.test(value); } /** * 是否URL地址 * @param {?} url * @return {?} */ function isUrl(url) { return /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/.test(url); } /** * @fileoverview added by tsickle * Generated from: src/validate/validators.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * 一套日常验证器 */ // tslint:disable-next-line:class-name var /** * 一套日常验证器 */ // tslint:disable-next-line:class-name _Validators = /** @class */ (function () { function _Validators() { } /** 是否为数字 */ /** * 是否为数字 * @param {?} control * @return {?} */ _Validators.num = /** * 是否为数字 * @param {?} control * @return {?} */ function (control) { return isNum(control.value) ? null : { num: true }; }; /** 是否为整数 */ /** * 是否为整数 * @param {?} control * @return {?} */ _Validators.int = /** * 是否为整数 * @param {?} control * @return {?} */ function (control) { return isInt(control.value) ? null : { int: true }; }; /** 是否为小数 */ /** * 是否为小数 * @param {?} control * @return {?} */ _Validators.decimal = /** * 是否为小数 * @param {?} control * @return {?} */ function (control) { return isDecimal(control.value) ? null : { decimal: true }; }; /** 是否为身份证 */ /** * 是否为身份证 * @param {?} control * @return {?} */ _Validators.idCard = /** * 是否为身份证 * @param {?} control * @return {?} */ function (control) { return isIdCard(control.value) ? null : { idCard: true }; }; /** 是否为手机号 */ /** * 是否为手机号 * @param {?} control * @return {?} */ _Validators.mobile = /** * 是否为手机号 * @param {?} control * @return {?} */ function (control) { return isMobile(control.value) ? null : { mobile: true }; }; /** 是否URL地址 */ /** * 是否URL地址 * @param {?} control * @return {?} */ _Validators.url = /** * 是否URL地址 * @param {?} control * @return {?} */ function (control) { return isUrl(control.value) ? null : { url: true }; }; return _Validators; }()); /** * @fileoverview added by tsickle * Generated from: src/logger/logger.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ var record = {}; /** @type {?} */ var PREFIX = '[@LXLIB]:'; /** * @param {...?} args * @return {?} */ function notRecorded() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } /** @type {?} */ var asRecord = args.reduce((/** * @param {?} acc * @param {?} c * @return {?} */ function (acc, c) { return acc + c.toString(); }), ''); if (record[asRecord]) { return false; } else { record[asRecord] = true; return true; } } /** * @param {?} consoleFunc * @param {...?} args * @return {?} */ function consoleCommonBehavior(consoleFunc) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } if (environments.environment.isTestMode || (core.isDevMode() && notRecorded.apply(void 0, __spread(args)))) { consoleFunc.apply(void 0, __spread(args)); } } // Warning should only be printed in dev mode and only once. /** @type {?} */ var warn = (/** * @param {...?} args * @return {?} */ function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return consoleCommonBehavior.apply(void 0, __spread([(/** * @param {...?} arg * @return {?} */ function () { var arg = []; for (var _i = 0; _i < arguments.length; _i++) { arg[_i] = arguments[_i]; } return console.warn.apply(console, __spread([PREFIX], arg)); })], args)); }); /** @type {?} */ var warnDeprecation = (/** * @param {...?} args * @return {?} */ function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (!environments.environment.isTestMode) { /** @type {?} */ var stack_1 = new Error().stack; return consoleCommonBehavior.apply(void 0, __spread([(/** * @param {...?} arg * @return {?} */ function () { var arg = []; for (var _i = 0; _i < arguments.length; _i++) { arg[_i] = arguments[_i]; } return console.warn.apply(console, __spread([PREFIX, 'deprecated:'], arg, [stack_1])); })], args)); } else { return (/** * @return {?} */ function () { }); } }); // Log should only be printed in dev mode. /** @type {?} */ var log = (/** * @param {...?} args * @return {?} */ function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (core.isDevMode()) { console.log.apply(console, __spread([PREFIX], args)); } }); /** * @fileoverview added by tsickle * Generated from: src/other/check.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @param {?} element * @return {?} */ function isEmpty(element) { /** @type {?} */ var nodes = element.childNodes; for (var i = 0; i < nodes.length; i++) { /** @type {?} */ var node = nodes.item(i); if (node.nodeType === 1 && ((/** @type {?} */ (node))).outerHTML.toString().trim().length !== 0) { return false; } else if (node.nodeType === 3 && (/** @type {?} */ (node.textContent)).toString().trim().length !== 0) { return false; } } return true; } /** * @template T, D * @param {?} name * @param {?} fallback * @param {?} defaultValue * @return {?} */ function propDecoratorFactory(name, fallback, defaultValue) { /** * @param {?} target * @param {?} propName * @param {?=} originalDescriptor * @return {?} */ function propDecorator(target, propName, originalDescriptor) { /** @type {?} */ var privatePropName = "$$__" + propName; if (Object.prototype.hasOwnProperty.call(target, privatePropName)) { warn("The prop \"" + privatePropName + "\" is already exist, it will be overrided by " + name + " decorator."); } Object.defineProperty(target, privatePropName, { configurable: true, writable: true, }); return { get: /** * @return {?} */ function () { return originalDescriptor && originalDescriptor.get ? originalDescriptor.get.bind(this)() : this[privatePropName]; }, set: /** * @param {?} value * @return {?} */ function (value) { if (originalDescriptor && originalDescriptor.set) { originalDescriptor.set.bind(this)(fallback(value, defaultValue)); } this[privatePropName] = fallback(value, defaultValue); }, }; } return propDecorator; } /** * @param {?} value * @param {?=} allowUndefined * @return {?} */ function toBoolean(value, allowUndefined) { if (allowUndefined === void 0) { allowUndefined = false; } return allowUndefined && typeof value === 'undefined' ? undefined : value != null && "" + value !== 'false'; } /** * Input decorator that handle a prop to do get/set automatically with toBoolean * * ```ts * \@Input() InputBoolean() visible: boolean = false; / \@InputBoolean(null) visible: boolean = false; * ``` * @param {?=} defaultValue * @return {?} */ function InputBoolean(defaultValue) { if (defaultValue === void 0) { defaultValue = false; } return propDecoratorFactory('InputNumber', toBoolean, defaultValue); } /** * @param {?} value * @param {?=} fallbackValue * @return {?} */ function toNumber(value, fallbackValue) { if (fallbackValue === void 0) { fallbackValue = 0; } return !isNaN(parseFloat((/** @type {?} */ (value)))) && !isNaN(Number(value)) ? Number(value) : fallbackValue; } /** * Input decorator that handle a prop to do get/set automatically with toNumber * * ```ts * \@Input() \@InputNumber() visible: number = 1; / \@InputNumber(null) visible: number = 2; * ``` * @param {?=} defaultValue * @return {?} */ function InputNumber(defaultValue) { if (defaultValue === void 0) { defaultValue = 0; } return propDecoratorFactory('InputNumber', toNumber, defaultValue); } /** * @fileoverview added by tsickle * Generated from: src/other/style.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @param {?} el * @param {?} classMap * @param {?} renderer * @return {?} */ function removeClass(el, classMap, renderer) { // tslint:disable-next-line: forin for (var i in classMap) { renderer.removeClass(el, i); } } /** * @param {?} el * @param {?} classMap * @param {?} renderer * @return {?} */ function addClass(el, classMap, renderer) { for (var i in classMap) { if (classMap[i]) { renderer.addClass(el, i); } } } /** * 更新宿主组件样式 `class`,例如: * * ```ts * updateHostClass( * this.el.nativeElement, * this.renderer, * { * [ 'classname' ]: true, * [ 'classname' ]: this.type === '1', * [ this.cls ]: true, * [ `a-${this.cls}` ]: true * }) * ``` * * @param {?} el * @param {?} renderer * @param {?} classMap * @param {?=} cleanAll * @return {?} */ function updateHostClass(el, renderer, classMap, cleanAll) { if (cleanAll === void 0) { cleanAll = false; } if (cleanAll === true) { renderer.removeAttribute(el, 'class'); } else { removeClass(el, classMap, renderer); } classMap = __assign({}, classMap); addClass(el, classMap, renderer); } /** * @fileoverview added by tsickle * Generated from: src/array/array.config.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @record */ function ArrayConfig() { } if (false) { /** * 深度项名,默认:`'deep'` * @type {?|undefined} */ ArrayConfig.prototype.deepMapName; /** * 扁平后数组的父数据项名,默认:`'parent'` * @type {?|undefined} */ ArrayConfig.prototype.parentMapName; /** * 编号项名,默认:`'id'` * @type {?|undefined} */ ArrayConfig.prototype.idMapName; /** * 父编号项名,默认:`'parent_id'` * @type {?|undefined} */ ArrayConfig.prototype.parentIdMapName; /** * 源数据子项名,默认:`'children'` * @type {?|undefined} */ ArrayConfig.prototype.childrenMapName; /** * 标题项名,默认:`'title'` * @type {?|undefined} */ ArrayConfig.prototype.titleMapName; /** * 节点 Checkbox 是否选中项名,默认:`'checked'` * @type {?|undefined} */ ArrayConfig.prototype.checkedMapname; /** * 节点本身是否选中项名,默认:`'selected'` * @type {?|undefined} */ ArrayConfig.prototype.selectedMapname; /** * 节点是否展开(叶子节点无效)项名,默认:`'expanded'` * @type {?|undefined} */ ArrayConfig.prototype.expandedMapname; /** * 设置是否禁用节点(不可进行任何操作)项名,默认:`'disabled'` * @type {?|undefined} */ ArrayConfig.prototype.disabledMapname; } /** * @fileoverview added by tsickle * Generated from: src/util.config.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var LxlibUtilConfig = /** @class */ (function () { function LxlibUtilConfig() { } LxlibUtilConfig.decorators = [ { type: core.Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ LxlibUtilConfig.ɵprov = core.ɵɵdefineInjectable({ factory: function LxlibUtilConfig_Factory() { return new LxlibUtilConfig(); }, token: LxlibUtilConfig, providedIn: "root" }); return LxlibUtilConfig; }()); if (false) { /** @type {?} */ LxlibUtilConfig.prototype.array; } /** * @fileoverview added by tsickle * Generated from: src/array/array.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @record */ function ArrayServiceTreeToArrOptions() { } if (false) { /** * 深度项名,默认:`'deep'` * @type {?|undefined} */ ArrayServiceTreeToArrOptions.prototype.deepMapName; /** * 扁平后数组的父数据项名,默认:`'parent'` * @type {?|undefined} */ ArrayServiceTreeToArrOptions.prototype.parentMapName; /** * 源数据子项名,默认:`'children'` * @type {?|undefined} */ ArrayServiceTreeToArrOptions.prototype.childrenMapName; /** * 是否移除 `children` 节点,默认:`true` * @type {?|undefined} */ ArrayServiceTreeToArrOptions.prototype.clearChildren; /** * 转换成数组结构时回调 * @type {?|undefined} */ ArrayServiceTreeToArrOptions.prototype.cb; } /** * @record */ function ArrayServiceArrToTreeOptions() { } if (false) { /** * 编号项名,默认:`'id'` * @type {?|undefined} */ ArrayServiceArrToTreeOptions.prototype.idMapName; /** * 父编号项名,默认:`'parent_id'` * @type {?|undefined} */ ArrayServiceArrToTreeOptions.prototype.parentIdMapName; /** * 子项名,默认:`'children'` * @type {?|undefined} */ ArrayServiceArrToTreeOptions.prototype.childrenMapName; /** * 转换成树数据时回调 * @type {?|undefined} */ ArrayServiceArrToTreeOptions.prototype.cb; } /** * @record */ function ArrayServiceArrToTreeNodeOptions() { } if (false) { /** * 编号项名,默认:`'id'` * @type {?|undefined} */ ArrayServiceArrToTreeNodeOptions.prototype.idMapName; /** * 父编号项名,默认:`'parent_id'` * @type {?|undefined} */ ArrayServiceArrToTreeNodeOptions.prototype.parentIdMapName; /** * 标题项名,默认:`'title'` * @type {?|undefined} */ ArrayServiceArrToTreeNodeOptions.prototype.titleMapName; /** * 设置为叶子节点项名,若数据源不存在时自动根据 `children` 值决定是否为叶子节点,默认:`'isLeaf'` * @type {?|undefined} */ ArrayServiceArrToTreeNodeOptions.prototype.isLeafMapName; /** * 节点 Checkbox 是否选中项名,默认:`'checked'` * @type {?|undefined} */ ArrayServiceArrToTreeNodeOptions.prototype.checkedMapname; /** * 节点本身是否选中项名,默认:`'selected'` * @type {?|undefined} */ ArrayServiceArrToTreeNodeOptions.prototype.selectedMapname; /** * 节点是否展开(叶子节点无效)项名,默认:`'expanded'` * @type {?|undefined} */ ArrayServiceArrToTreeNodeOptions.prototype.expandedMapname; /** * 设置是否禁用节点(不可进行任何操作)项名,默认:`'disabled'` * @type {?|undefined} */ ArrayServiceArrToTreeNodeOptions.prototype.disabledMapname; /** * 转换成树数据后,执行的递归回调 * @type {?|undefined} */ ArrayServiceArrToTreeNodeOptions.prototype.cb; } /** * @record */ function ArrayServiceGetKeysByTreeNodeOptions() { } if (false) { /** * 是否包含半选状态的值,默认:`true` * @type {?|undefined} */ ArrayServiceGetKeysByTreeNodeOptions.prototype.includeHalfChecked; /** * 是否重新指定 `key` 键名,若不指定表示使用 `NzTreeNode.key` 值 * @type {?|undefined} */ ArrayServiceGetKeysByTreeNodeOptions.prototype.keyMapName; /**