@yelon/util 18.2.0 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +1 -1
- package/browser/cookie.service.d.ts +1 -3
- package/browser/style.d.ts +1 -3
- package/config/abc/date-picker.type.d.ts +2 -5
- package/config/abc/exception.type.d.ts +5 -7
- package/config/abc/loading.type.d.ts +1 -3
- package/config/abc/media.type.d.ts +1 -2
- package/config/abc/st.type.d.ts +11 -18
- package/config/acl/acl.type.d.ts +1 -2
- package/config/chart/chart.type.d.ts +1 -4
- package/config/config.service.d.ts +5 -4
- package/config/sf/sf.type.d.ts +3 -6
- package/config/theme/responsive.type.d.ts +8 -10
- package/date-time/time.d.ts +1 -2
- package/decorator/convert.d.ts +2 -3
- package/fesm2022/array.mjs +4 -4
- package/fesm2022/array.mjs.map +1 -1
- package/fesm2022/browser.mjs +13 -16
- package/fesm2022/browser.mjs.map +1 -1
- package/fesm2022/config.mjs +33 -18
- package/fesm2022/config.mjs.map +1 -1
- package/fesm2022/date-time.mjs +1 -1
- package/fesm2022/date-time.mjs.map +1 -1
- package/fesm2022/decorator.mjs.map +1 -1
- package/fesm2022/form.mjs.map +1 -1
- package/fesm2022/format.mjs +9 -7
- package/fesm2022/format.mjs.map +1 -1
- package/fesm2022/math.mjs.map +1 -1
- package/fesm2022/mcache.mjs.map +1 -1
- package/fesm2022/mtypes.mjs +4 -5
- package/fesm2022/mtypes.mjs.map +1 -1
- package/fesm2022/other.mjs +14 -17
- package/fesm2022/other.mjs.map +1 -1
- package/fesm2022/pipe-currency.mjs +20 -26
- package/fesm2022/pipe-currency.mjs.map +1 -1
- package/fesm2022/pipe-filter.mjs +8 -8
- package/fesm2022/pipe-filter.mjs.map +1 -1
- package/fesm2022/pipe-format.mjs +8 -8
- package/fesm2022/pipe-format.mjs.map +1 -1
- package/fesm2022/token.mjs.map +1 -1
- package/format/string.d.ts +3 -6
- package/mtypes/header-menu.type.d.ts +2 -3
- package/mtypes/menu.type.d.ts +5 -6
- package/mtypes/page.d.ts +1 -2
- package/other/deep.d.ts +4 -7
- package/other/lazy.service.d.ts +2 -5
- package/other/logger.d.ts +3 -4
- package/other/path-to-regexp.service.d.ts +11 -12
- package/package.json +12 -46
- package/pipes/filter/filter.pipe.d.ts +1 -2
- package/esm2022/array/array-type.service.mjs +0 -2
- package/esm2022/array/array.mjs +0 -5
- package/esm2022/array/array.service.mjs +0 -278
- package/esm2022/array/index.mjs +0 -3
- package/esm2022/browser/browser.mjs +0 -5
- package/esm2022/browser/cookie.service.mjs +0 -100
- package/esm2022/browser/copy.mjs +0 -28
- package/esm2022/browser/index.mjs +0 -6
- package/esm2022/browser/is-empty.mjs +0 -19
- package/esm2022/browser/scroll.service.mjs +0 -85
- package/esm2022/browser/style.mjs +0 -38
- package/esm2022/config/abc/cell.type.mjs +0 -2
- package/esm2022/config/abc/date-picker.type.mjs +0 -2
- package/esm2022/config/abc/error-collect.type.mjs +0 -2
- package/esm2022/config/abc/exception.type.mjs +0 -2
- package/esm2022/config/abc/image.type.mjs +0 -2
- package/esm2022/config/abc/index.mjs +0 -18
- package/esm2022/config/abc/loading.type.mjs +0 -2
- package/esm2022/config/abc/lodop.type.mjs +0 -2
- package/esm2022/config/abc/media.type.mjs +0 -2
- package/esm2022/config/abc/onboarding.type.mjs +0 -2
- package/esm2022/config/abc/page-header.type.mjs +0 -2
- package/esm2022/config/abc/pdf.type.mjs +0 -2
- package/esm2022/config/abc/se.type.mjs +0 -2
- package/esm2022/config/abc/sg.type.mjs +0 -2
- package/esm2022/config/abc/st.type.mjs +0 -2
- package/esm2022/config/abc/sv.type.mjs +0 -3
- package/esm2022/config/abc/xlsx.type.mjs +0 -2
- package/esm2022/config/abc/zip.type.mjs +0 -2
- package/esm2022/config/acl/acl.type.mjs +0 -2
- package/esm2022/config/auth/auth.type.mjs +0 -2
- package/esm2022/config/bis/bis.type.mjs +0 -2
- package/esm2022/config/cache/cache.type.mjs +0 -2
- package/esm2022/config/chart/chart.type.mjs +0 -2
- package/esm2022/config/config.mjs +0 -5
- package/esm2022/config/config.service.mjs +0 -38
- package/esm2022/config/config.types.mjs +0 -12
- package/esm2022/config/index.mjs +0 -15
- package/esm2022/config/mock/mock.type.mjs +0 -2
- package/esm2022/config/sf/sf.type.mjs +0 -2
- package/esm2022/config/socket/socket.type.mjs +0 -2
- package/esm2022/config/theme/http.type.mjs +0 -2
- package/esm2022/config/theme/i18n.type.mjs +0 -2
- package/esm2022/config/theme/index.mjs +0 -5
- package/esm2022/config/theme/pipe.type.mjs +0 -2
- package/esm2022/config/theme/responsive.type.mjs +0 -2
- package/esm2022/config/util/array.type.mjs +0 -2
- package/esm2022/config/util/currency.type.mjs +0 -2
- package/esm2022/date-time/date-time.mjs +0 -5
- package/esm2022/date-time/index.mjs +0 -3
- package/esm2022/date-time/picker.mjs +0 -116
- package/esm2022/date-time/time.mjs +0 -103
- package/esm2022/decorator/convert.mjs +0 -66
- package/esm2022/decorator/decorator.mjs +0 -5
- package/esm2022/decorator/index.mjs +0 -3
- package/esm2022/decorator/zone-outside.mjs +0 -57
- package/esm2022/form/form.mjs +0 -5
- package/esm2022/form/index.mjs +0 -3
- package/esm2022/form/match-control.mjs +0 -30
- package/esm2022/form/validators.mjs +0 -81
- package/esm2022/format/currency.service.mjs +0 -233
- package/esm2022/format/currency.types.mjs +0 -8
- package/esm2022/format/format.mjs +0 -5
- package/esm2022/format/index.mjs +0 -5
- package/esm2022/format/string.mjs +0 -85
- package/esm2022/format/validate.mjs +0 -94
- package/esm2022/index.mjs +0 -14
- package/esm2022/math/in-range.mjs +0 -25
- package/esm2022/math/index.mjs +0 -3
- package/esm2022/math/math.mjs +0 -5
- package/esm2022/math/round.mjs +0 -53
- package/esm2022/mcache/index.mjs +0 -2
- package/esm2022/mcache/localStorageUtils.mjs +0 -60
- package/esm2022/mcache/mcache.mjs +0 -5
- package/esm2022/mtypes/authority.type.mjs +0 -2
- package/esm2022/mtypes/header-menu.type.mjs +0 -2
- package/esm2022/mtypes/index.mjs +0 -10
- package/esm2022/mtypes/menu.type.mjs +0 -2
- package/esm2022/mtypes/mtypes.mjs +0 -5
- package/esm2022/mtypes/nav.types.mjs +0 -9
- package/esm2022/mtypes/page.mjs +0 -42
- package/esm2022/mtypes/project-info.types.mjs +0 -2
- package/esm2022/mtypes/response.mjs +0 -2
- package/esm2022/mtypes/role.type.mjs +0 -2
- package/esm2022/mtypes/user.types.mjs +0 -2
- package/esm2022/other/assert.mjs +0 -67
- package/esm2022/other/deep.mjs +0 -78
- package/esm2022/other/favicon.mjs +0 -29
- package/esm2022/other/index.mjs +0 -8
- package/esm2022/other/lazy.service.mjs +0 -129
- package/esm2022/other/logger.mjs +0 -33
- package/esm2022/other/other.mjs +0 -5
- package/esm2022/other/path-to-regexp.service.mjs +0 -239
- package/esm2022/other/resize.mjs +0 -4
- package/esm2022/pipes/currency/cny.pipe.mjs +0 -23
- package/esm2022/pipes/currency/index.mjs +0 -5
- package/esm2022/pipes/currency/mega.pipe.mjs +0 -25
- package/esm2022/pipes/currency/module.mjs +0 -19
- package/esm2022/pipes/currency/pipe-currency.mjs +0 -5
- package/esm2022/pipes/currency/price.pipe.mjs +0 -27
- package/esm2022/pipes/filter/filter.pipe.mjs +0 -20
- package/esm2022/pipes/filter/index.mjs +0 -3
- package/esm2022/pipes/filter/module.mjs +0 -17
- package/esm2022/pipes/filter/pipe-filter.mjs +0 -5
- package/esm2022/pipes/format/index.mjs +0 -3
- package/esm2022/pipes/format/mask.pipe.mjs +0 -34
- package/esm2022/pipes/format/module.mjs +0 -17
- package/esm2022/pipes/format/pipe-format.mjs +0 -5
- package/esm2022/pipes/index.mjs +0 -4
- package/esm2022/pipes/pipes.mjs +0 -5
- package/esm2022/token/index.mjs +0 -3
- package/esm2022/token/page-visibility.mjs +0 -15
- package/esm2022/token/token.mjs +0 -5
- package/esm2022/token/window.mjs +0 -17
- package/esm2022/yelon-util.mjs +0 -5
@@ -1,239 +0,0 @@
|
|
1
|
-
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
2
|
-
import { Injectable } from '@angular/core';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export class PathToRegexpService {
|
5
|
-
constructor() {
|
6
|
-
this.DEFAULT_DELIMITER = '/';
|
7
|
-
this.PATH_REGEXP = new RegExp(['(\\\\.)', '(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?'].join('|'), 'g');
|
8
|
-
}
|
9
|
-
parse(str, options) {
|
10
|
-
const tokens = [];
|
11
|
-
let key = 0;
|
12
|
-
let index = 0;
|
13
|
-
let path = '';
|
14
|
-
const defaultDelimiter = (options && options.delimiter) || this.DEFAULT_DELIMITER;
|
15
|
-
const whitelist = (options && options.whitelist) || undefined;
|
16
|
-
let pathEscaped = false;
|
17
|
-
let res;
|
18
|
-
while ((res = this.PATH_REGEXP.exec(str)) !== null) {
|
19
|
-
const m = res[0];
|
20
|
-
const escaped = res[1];
|
21
|
-
const offset = res.index;
|
22
|
-
path += str.slice(index, offset);
|
23
|
-
index = offset + m.length;
|
24
|
-
// Ignore already escaped sequences.
|
25
|
-
if (escaped) {
|
26
|
-
path += escaped[1];
|
27
|
-
pathEscaped = true;
|
28
|
-
continue;
|
29
|
-
}
|
30
|
-
let prev = '';
|
31
|
-
const name = res[2];
|
32
|
-
const capture = res[3];
|
33
|
-
const group = res[4];
|
34
|
-
const modifier = res[5];
|
35
|
-
if (!pathEscaped && path.length) {
|
36
|
-
const k = path.length - 1;
|
37
|
-
const c = path[k];
|
38
|
-
const matches = whitelist ? whitelist.indexOf(c) > -1 : true;
|
39
|
-
if (matches) {
|
40
|
-
prev = c;
|
41
|
-
path = path.slice(0, k);
|
42
|
-
}
|
43
|
-
}
|
44
|
-
// Push the current path onto the tokens.
|
45
|
-
if (path) {
|
46
|
-
tokens.push(path);
|
47
|
-
path = '';
|
48
|
-
pathEscaped = false;
|
49
|
-
}
|
50
|
-
const repeat = modifier === '+' || modifier === '*';
|
51
|
-
const optional = modifier === '?' || modifier === '*';
|
52
|
-
const pattern = capture || group;
|
53
|
-
const delimiter = prev || defaultDelimiter;
|
54
|
-
tokens.push({
|
55
|
-
name: name || key++,
|
56
|
-
prefix: prev,
|
57
|
-
delimiter: delimiter,
|
58
|
-
optional: optional,
|
59
|
-
repeat: repeat,
|
60
|
-
pattern: pattern
|
61
|
-
? this.escapeGroup(pattern)
|
62
|
-
: `[^${this.escapeString(delimiter === defaultDelimiter ? delimiter : delimiter + defaultDelimiter)}]+?`
|
63
|
-
});
|
64
|
-
}
|
65
|
-
// Push NzSafeAny remaining characters.
|
66
|
-
if (path || index < str.length) {
|
67
|
-
tokens.push(path + str.substr(index));
|
68
|
-
}
|
69
|
-
return tokens;
|
70
|
-
}
|
71
|
-
compile(str, options) {
|
72
|
-
return this.tokensToFunction(this.parse(str, options), options);
|
73
|
-
}
|
74
|
-
tokensToFunction(tokens, options) {
|
75
|
-
const matches = new Array(tokens.length);
|
76
|
-
for (let i = 0; i < tokens.length; i++) {
|
77
|
-
if (typeof tokens[i] === 'object') {
|
78
|
-
matches[i] = new RegExp(`^(?:${tokens[i].pattern})$`, this.flags(options));
|
79
|
-
}
|
80
|
-
}
|
81
|
-
return function (data, options) {
|
82
|
-
let path = '';
|
83
|
-
const encode = (options && options.encode) || encodeURIComponent;
|
84
|
-
const validate = options ? options.validate !== false : true;
|
85
|
-
for (let i = 0; i < tokens.length; i++) {
|
86
|
-
const token = tokens[i];
|
87
|
-
if (typeof token === 'string') {
|
88
|
-
path += token;
|
89
|
-
continue;
|
90
|
-
}
|
91
|
-
const value = data ? data[token.name] : undefined;
|
92
|
-
let segment;
|
93
|
-
if (Array.isArray(value)) {
|
94
|
-
if (!token.repeat) {
|
95
|
-
throw new TypeError(`Expected "${token.name}" to not repeat, but got array`);
|
96
|
-
}
|
97
|
-
if (value.length === 0) {
|
98
|
-
if (token.optional) {
|
99
|
-
continue;
|
100
|
-
}
|
101
|
-
throw new TypeError(`Expected "${token.name}" to not be empty`);
|
102
|
-
}
|
103
|
-
for (let j = 0; j < value.length; j++) {
|
104
|
-
segment = encode(value[j], token);
|
105
|
-
if (validate && !matches[i].test(segment)) {
|
106
|
-
throw new TypeError(`Expected all "${token.name}" to match "${token.pattern}"`);
|
107
|
-
}
|
108
|
-
path += (j === 0 ? token.prefix : token.delimiter) + segment;
|
109
|
-
}
|
110
|
-
continue;
|
111
|
-
}
|
112
|
-
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
|
113
|
-
segment = encode(String(value), token);
|
114
|
-
if (validate && !matches[i].test(segment)) {
|
115
|
-
throw new TypeError(`Expected "${token.name}" to match "${token.pattern}", but got "${segment}"`);
|
116
|
-
}
|
117
|
-
path += token.prefix + segment;
|
118
|
-
continue;
|
119
|
-
}
|
120
|
-
if (token.optional) {
|
121
|
-
continue;
|
122
|
-
}
|
123
|
-
throw new TypeError(`Expected "${token.name}" to be ${token.repeat ? 'an array' : 'a string'}`);
|
124
|
-
}
|
125
|
-
return path;
|
126
|
-
};
|
127
|
-
}
|
128
|
-
escapeString(str) {
|
129
|
-
return str.replace(/([.+*?=^!:${}()[\]|/\\])/g, '\\$1');
|
130
|
-
}
|
131
|
-
escapeGroup(group) {
|
132
|
-
return group.replace(/([=!:$/()])/g, '\\$1');
|
133
|
-
}
|
134
|
-
flags(options) {
|
135
|
-
return options && options.sensitive ? '' : 'i';
|
136
|
-
}
|
137
|
-
regexpToRegexp(path, keys) {
|
138
|
-
if (!keys) {
|
139
|
-
return path;
|
140
|
-
}
|
141
|
-
const groups = path.source.match(/\((?!\?)/g);
|
142
|
-
if (groups) {
|
143
|
-
for (let i = 0; i < groups.length; i++) {
|
144
|
-
keys.push({
|
145
|
-
name: i,
|
146
|
-
prefix: null,
|
147
|
-
delimiter: null,
|
148
|
-
optional: false,
|
149
|
-
repeat: false,
|
150
|
-
pattern: null
|
151
|
-
});
|
152
|
-
}
|
153
|
-
}
|
154
|
-
return path;
|
155
|
-
}
|
156
|
-
arrayToRegexp(path, keys, options) {
|
157
|
-
const parts = [];
|
158
|
-
for (let i = 0; i < path.length; i++) {
|
159
|
-
parts.push(this.pathToRegexp(path[i], keys, options).source);
|
160
|
-
}
|
161
|
-
return new RegExp(`(?:${parts.join('|')})`, this.flags(options));
|
162
|
-
}
|
163
|
-
stringToRegexp(path, keys, options) {
|
164
|
-
return this.tokensToRegExp(this.parse(path, options), keys, options);
|
165
|
-
}
|
166
|
-
tokensToRegExp(tokens, keys, options) {
|
167
|
-
options = options || {};
|
168
|
-
const strict = options.strict;
|
169
|
-
const start = options.start !== false;
|
170
|
-
const end = options.end !== false;
|
171
|
-
const delimiter = options.delimiter || this.DEFAULT_DELIMITER;
|
172
|
-
const endsWith = []
|
173
|
-
.concat(options.endsWith || [])
|
174
|
-
.map(this.escapeString)
|
175
|
-
.concat('$')
|
176
|
-
.join('|');
|
177
|
-
let route = start ? '^' : '';
|
178
|
-
for (let i = 0; i < tokens.length; i++) {
|
179
|
-
const token = tokens[i];
|
180
|
-
if (typeof token === 'string') {
|
181
|
-
route += this.escapeString(token);
|
182
|
-
}
|
183
|
-
else {
|
184
|
-
const capture = token.repeat
|
185
|
-
? `(?:${token.pattern})(?:${this.escapeString(token.delimiter)}(?:${token.pattern}))*`
|
186
|
-
: token.pattern;
|
187
|
-
if (keys) {
|
188
|
-
keys.push(token);
|
189
|
-
}
|
190
|
-
if (token.optional) {
|
191
|
-
if (!token.prefix) {
|
192
|
-
route += `(${capture})?`;
|
193
|
-
}
|
194
|
-
else {
|
195
|
-
route += `(?:${this.escapeString(token.prefix)}(${capture}))?`;
|
196
|
-
}
|
197
|
-
}
|
198
|
-
else {
|
199
|
-
route += `${this.escapeString(token.prefix)}(${capture})`;
|
200
|
-
}
|
201
|
-
}
|
202
|
-
}
|
203
|
-
if (end) {
|
204
|
-
if (!strict) {
|
205
|
-
route += `(?:${this.escapeString(delimiter)})?`;
|
206
|
-
}
|
207
|
-
route += endsWith === '$' ? '$' : `(?=${endsWith})`;
|
208
|
-
}
|
209
|
-
else {
|
210
|
-
const endToken = tokens[tokens.length - 1];
|
211
|
-
const isEndDelimited = typeof endToken === 'string' ? endToken[endToken.length - 1] === delimiter : endToken === undefined;
|
212
|
-
if (!strict) {
|
213
|
-
route += `(?:${this.escapeString(delimiter)}(?=${endsWith}))?`;
|
214
|
-
}
|
215
|
-
if (!isEndDelimited) {
|
216
|
-
route += `(?=${this.escapeString(delimiter)}|${endsWith})`;
|
217
|
-
}
|
218
|
-
}
|
219
|
-
return new RegExp(route, this.flags(options));
|
220
|
-
}
|
221
|
-
pathToRegexp(path, keys, options) {
|
222
|
-
if (path instanceof RegExp) {
|
223
|
-
return this.regexpToRegexp(path, keys);
|
224
|
-
}
|
225
|
-
if (Array.isArray(path)) {
|
226
|
-
return this.arrayToRegexp(/** @type {!Array} */ path, keys, options);
|
227
|
-
}
|
228
|
-
return this.stringToRegexp(/** @type {string} */ path, keys, options);
|
229
|
-
}
|
230
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PathToRegexpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
231
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PathToRegexpService, providedIn: 'root' }); }
|
232
|
-
}
|
233
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PathToRegexpService, decorators: [{
|
234
|
-
type: Injectable,
|
235
|
-
args: [{
|
236
|
-
providedIn: 'root'
|
237
|
-
}]
|
238
|
-
}], ctorParameters: () => [] });
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC10by1yZWdleHAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWwvb3RoZXIvcGF0aC10by1yZWdleHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxRUFBcUU7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QjtRQUNBLHNCQUFpQixHQUFHLEdBQUcsQ0FBQztRQUV4QixnQkFBVyxHQUFHLElBQUksTUFBTSxDQUN0QixDQUFDLFNBQVMsRUFBRSxxRkFBcUYsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFDNUcsR0FBRyxDQUNKLENBQUM7SUFOYSxDQUFDO0lBUWhCLEtBQUssQ0FBQyxHQUFjLEVBQUUsT0FBa0I7UUFDdEMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNaLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNkLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUNsRixNQUFNLFNBQVMsR0FBRyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDO1FBQzlELElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLEdBQUcsQ0FBQztRQUVSLE9BQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNuRCxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakIsTUFBTSxPQUFP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cUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RSxDQUFDOzhHQXZSVSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LWZ1bmN0aW9uLXJldHVybi10eXBlICovXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE56U2FmZUFueSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBhdGhUb1JlZ2V4cFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHt9XG4gIERFRkFVTFRfREVMSU1JVEVSID0gJy8nO1xuXG4gIFBBVEhfUkVHRVhQID0gbmV3IFJlZ0V4cChcbiAgICBbJyhcXFxcXFxcXC4pJywgJyg/OlxcXFw6KFxcXFx3KykoPzpcXFxcKCgoPzpcXFxcXFxcXC58W15cXFxcXFxcXCgpXSkrKVxcXFwpKT98XFxcXCgoKD86XFxcXFxcXFwufFteXFxcXFxcXFwoKV0pKylcXFxcKSkoWysqP10pPyddLmpvaW4oJ3wnKSxcbiAgICAnZydcbiAgKTtcblxuICBwYXJzZShzdHI6IE56U2FmZUFueSwgb3B0aW9uczogTnpTYWZlQW55KSB7XG4gICAgY29uc3QgdG9rZW5zID0gW107XG4gICAgbGV0IGtleSA9IDA7XG4gICAgbGV0IGluZGV4ID0gMDtcbiAgICBsZXQgcGF0aCA9ICcnO1xuICAgIGNvbnN0IGRlZmF1bHREZWxpbWl0ZXIgPSAob3B0aW9ucyAmJiBvcHRpb25zLmRlbGltaXRlcikgfHwgdGhpcy5ERUZBVUxUX0RFTElNSVRFUjtcbiAgICBjb25zdCB3aGl0ZWxpc3QgPSAob3B0aW9ucyAmJiBvcHRpb25zLndoaXRlbGlzdCkgfHwgdW5kZWZpbmVkO1xuICAgIGxldCBwYXRoRXNjYXBlZCA9IGZhbHNlO1xuICAgIGxldCByZXM7XG5cbiAgICB3aGlsZSAoKHJlcyA9IHRoaXMuUEFUSF9SRUdFWFAuZXhlYyhzdHIpKSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgbSA9IHJlc1swXTtcbiAgICAgIGNvbnN0IGVzY2FwZWQgPSByZXNbMV07XG4gICAgICBjb25zdCBvZmZzZXQgPSByZXMuaW5kZXg7XG4gICAgICBwYXRoICs9IHN0ci5zbGljZShpbmRleCwgb2Zmc2V0KTtcbiAgICAgIGluZGV4ID0gb2Zmc2V0ICsgbS5sZW5ndGg7XG5cbiAgICAgIC8vIElnbm9yZSBhbHJlYWR5IGVzY2FwZWQgc2VxdWVuY2VzLlxuICAgICAgaWYgKGVzY2FwZWQpIHtcbiAgICAgICAgcGF0aCArPSBlc2NhcGVkWzFdO1xuICAgICAgICBwYXRoRXNjYXBlZCA9IHRydWU7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBsZXQgcHJldiA9ICcnO1xuICAgICAgY29uc3QgbmFtZSA9IHJlc1syXTtcbiAgICAgIGNvbnN0IGNhcHR1cmUgPSByZXNbM107XG4gICAgICBjb25zdCBncm91cCA9IHJlc1s0XTtcbiAgICAgIGNvbnN0IG1vZGlmaWVyID0gcmVzWzVdO1xuXG4gICAgICBpZiAoIXBhdGhFc2NhcGVkICYmIHBhdGgubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGsgPSBwYXRoLmxlbmd0aCAtIDE7XG4gICAgICAgIGNvbnN0IGMgPSBwYXRoW2tdO1xuICAgICAgICBjb25zdCBtYXRjaGVzID0gd2hpdGVsaXN0ID8gd2hpdGVsaXN0LmluZGV4T2YoYykgPiAtMSA6IHRydWU7XG5cbiAgICAgICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgICAgICBwcmV2ID0gYztcbiAgICAgICAgICBwYXRoID0gcGF0aC5zbGljZSgwLCBrKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBQdXNoIHRoZSBjdXJyZW50IHBhdGggb250byB0aGUgdG9rZW5zLlxuICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgdG9rZW5zLnB1c2gocGF0aCk7XG4gICAgICAgIHBhdGggPSAnJztcbiAgICAgICAgcGF0aEVzY2FwZWQgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVwZWF0ID0gbW9kaWZpZXIgPT09ICcrJyB8fCBtb2RpZmllciA9PT0gJyonO1xuICAgICAgY29uc3Qgb3B0aW9uYWwgPSBtb2RpZmllciA9PT0gJz8nIHx8IG1vZGlmaWVyID09PSAnKic7XG4gICAgICBjb25zdCBwYXR0ZXJuID0gY2FwdHVyZSB8fCBncm91cDtcbiAgICAgIGNvbnN0IGRlbGltaXRlciA9IHByZXYgfHwgZGVmYXVsdERlbGltaXRlcjtcblxuICAgICAgdG9rZW5zLnB1c2goe1xuICAgICAgICBuYW1lOiBuYW1lIHx8IGtleSsrLFxuICAgICAgICBwcmVmaXg6IHByZXYsXG4gICAgICAgIGRlbGltaXRlcjogZGVsaW1pdGVyLFxuICAgICAgICBvcHRpb25hbDogb3B0aW9uYWwsXG4gICAgICAgIHJlcGVhdDogcmVwZWF0LFxuICAgICAgICBwYXR0ZXJuOiBwYXR0ZXJuXG4gICAgICAgICAgPyB0aGlzLmVzY2FwZUdyb3VwKHBhdHRlcm4pXG4gICAgICAgICAgOiBgW14ke3RoaXMuZXNjYXBlU3RyaW5nKGRlbGltaXRlciA9PT0gZGVmYXVsdERlbGltaXRlciA/IGRlbGltaXRlciA6IGRlbGltaXRlciArIGRlZmF1bHREZWxpbWl0ZXIpfV0rP2BcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFB1c2ggTnpTYWZlQW55IHJlbWFpbmluZyBjaGFyYWN0ZXJzLlxuICAgIGlmIChwYXRoIHx8IGluZGV4IDwgc3RyLmxlbmd0aCkge1xuICAgICAgdG9rZW5zLnB1c2gocGF0aCArIHN0ci5zdWJzdHIoaW5kZXgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdG9rZW5zO1xuICB9XG4gIGNvbXBpbGUoc3RyOiBOelNhZmVBbnksIG9wdGlvbnM6IE56U2FmZUFueSkge1xuICAgIHJldHVybiB0aGlzLnRva2Vuc1RvRnVuY3Rpb24odGhpcy5wYXJzZShzdHIsIG9wdGlvbnMpLCBvcHRpb25zKTtcbiAgfVxuXG4gIHRva2Vuc1RvRnVuY3Rpb24odG9rZW5zOiBOelNhZmVBbnksIG9wdGlvbnM6IE56U2FmZUFueSkge1xuICAgIGNvbnN0IG1hdGNoZXMgPSBuZXcgQXJyYXkodG9rZW5zLmxlbmd0aCk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHR5cGVvZiB0b2tlbnNbaV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgIG1hdGNoZXNbaV0gPSBuZXcgUmVnRXhwKGBeKD86JHt0b2tlbnNbaV0ucGF0dGVybn0pJGAsIHRoaXMuZmxhZ3Mob3B0aW9ucykpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmdW5jdGlvbiAoZGF0YTogTnpTYWZlQW55LCBvcHRpb25zOiBOelNhZmVBbnkpIHtcbiAgICAgIGxldCBwYXRoID0gJyc7XG4gICAgICBjb25zdCBlbmNvZGUgPSAob3B0aW9ucyAmJiBvcHRpb25zLmVuY29kZSkgfHwgZW5jb2RlVVJJQ29tcG9uZW50O1xuICAgICAgY29uc3QgdmFsaWRhdGUgPSBvcHRpb25zID8gb3B0aW9ucy52YWxpZGF0ZSAhPT0gZmFsc2UgOiB0cnVlO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCB0b2tlbiA9IHRva2Vuc1tpXTtcblxuICAgICAgICBpZiAodHlwZW9mIHRva2VuID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHBhdGggKz0gdG9rZW47XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWx1ZSA9IGRhdGEgPyBkYXRhW3Rva2VuLm5hbWVdIDogdW5kZWZpbmVkO1xuICAgICAgICBsZXQgc2VnbWVudDtcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICBpZiAoIXRva2VuLnJlcGVhdCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgXCIke3Rva2VuLm5hbWV9XCIgdG8gbm90IHJlcGVhdCwgYnV0IGdvdCBhcnJheWApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGlmICh0b2tlbi5vcHRpb25hbCkge1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgXCIke3Rva2VuLm5hbWV9XCIgdG8gbm90IGJlIGVtcHR5YCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCB2YWx1ZS5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgc2VnbWVudCA9IGVuY29kZSh2YWx1ZVtqXSwgdG9rZW4pO1xuXG4gICAgICAgICAgICBpZiAodmFsaWRhdGUgJiYgIW1hdGNoZXNbaV0udGVzdChzZWdtZW50KSkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBhbGwgXCIke3Rva2VuLm5hbWV9XCIgdG8gbWF0Y2ggXCIke3Rva2VuLnBhdHRlcm59XCJgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcGF0aCArPSAoaiA9PT0gMCA/IHRva2VuLnByZWZpeCA6IHRva2VuLmRlbGltaXRlcikgKyBzZWdtZW50O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgICAgIHNlZ21lbnQgPSBlbmNvZGUoU3RyaW5nKHZhbHVlKSwgdG9rZW4pO1xuXG4gICAgICAgICAgaWYgKHZhbGlkYXRlICYmICFtYXRjaGVzW2ldLnRlc3Qoc2VnbWVudCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIFwiJHt0b2tlbi5uYW1lfVwiIHRvIG1hdGNoIFwiJHt0b2tlbi5wYXR0ZXJufVwiLCBidXQgZ290IFwiJHtzZWdtZW50fVwiYCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcGF0aCArPSB0b2tlbi5wcmVmaXggKyBzZWdtZW50O1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRva2VuLm9wdGlvbmFsKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBcIiR7dG9rZW4ubmFtZX1cIiB0byBiZSAke3Rva2VuLnJlcGVhdCA/ICdhbiBhcnJheScgOiAnYSBzdHJpbmcnfWApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGF0aDtcbiAgICB9O1xuICB9XG5cbiAgZXNjYXBlU3RyaW5nKHN0cjogTnpTYWZlQW55KSB7XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC8oWy4rKj89XiE6JHt9KClbXFxdfC9cXFxcXSkvZywgJ1xcXFwkMScpO1xuICB9XG5cbiAgZXNjYXBlR3JvdXAoZ3JvdXA6IE56U2FmZUFueSkge1xuICAgIHJldHVybiBncm91cC5yZXBsYWNlKC8oWz0hOiQvKCldKS9nLCAnXFxcXCQxJyk7XG4gIH1cblxuICBmbGFncyhvcHRpb25zOiBOelNhZmVBbnkpIHtcbiAgICByZXR1cm4gb3B0aW9ucyAmJiBvcHRpb25zLnNlbnNpdGl2ZSA/ICcnIDogJ2knO1xuICB9XG5cbiAgcmVnZXhwVG9SZWdleHAocGF0aDogTnpTYWZlQW55LCBrZXlzOiBOelNhZmVBbnkpIHtcbiAgICBpZiAoIWtleXMpIHtcbiAgICAgIHJldHVybiBwYXRoO1xuICAgIH1cblxuICAgIGNvbnN0IGdyb3VwcyA9IHBhdGguc291cmNlLm1hdGNoKC9cXCgoPyFcXD8pL2cpO1xuXG4gICAgaWYgKGdyb3Vwcykge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBncm91cHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAga2V5cy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiBpLFxuICAgICAgICAgIHByZWZpeDogbnVsbCxcbiAgICAgICAgICBkZWxpbWl0ZXI6IG51bGwsXG4gICAgICAgICAgb3B0aW9uYWw6IGZhbHNlLFxuICAgICAgICAgIHJlcGVhdDogZmFsc2UsXG4gICAgICAgICAgcGF0dGVybjogbnVsbFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcGF0aDtcbiAgfVxuXG4gIGFycmF5VG9SZWdleHAocGF0aDogTnpTYWZlQW55LCBrZXlzOiBOelNhZmVBbnksIG9wdGlvbnM6IE56U2FmZUFueSk6IFJlZ0V4cCB7XG4gICAgY29uc3QgcGFydHMgPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0aC5sZW5ndGg7IGkrKykge1xuICAgICAgcGFydHMucHVzaCh0aGlzLnBhdGhUb1JlZ2V4cChwYXRoW2ldLCBrZXlzLCBvcHRpb25zKS5zb3VyY2UpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgUmVnRXhwKGAoPzoke3BhcnRzLmpvaW4oJ3wnKX0pYCwgdGhpcy5mbGFncyhvcHRpb25zKSk7XG4gIH1cblxuICBzdHJpbmdUb1JlZ2V4cChwYXRoOiBOelNhZmVBbnksIGtleXM6IE56U2FmZUFueSwgb3B0aW9uczogTnpTYWZlQW55KSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5zVG9SZWdFeHAodGhpcy5wYXJzZShwYXRoLCBvcHRpb25zKSwga2V5cywgb3B0aW9ucyk7XG4gIH1cblxuICB0b2tlbnNUb1JlZ0V4cCh0b2tlbnM6IE56U2FmZUFueSwga2V5czogTnpTYWZlQW55LCBvcHRpb25zOiBOelNhZmVBbnkpIHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcblxuICAgIGNvbnN0IHN0cmljdCA9IG9wdGlvbnMuc3RyaWN0O1xuICAgIGNvbnN0IHN0YXJ0ID0gb3B0aW9ucy5zdGFydCAhPT0gZmFsc2U7XG4gICAgY29uc3QgZW5kID0gb3B0aW9ucy5lbmQgIT09IGZhbHNlO1xuICAgIGNvbnN0IGRlbGltaXRlciA9IG9wdGlvbnMuZGVsaW1pdGVyIHx8IHRoaXMuREVGQVVMVF9ERUxJTUlURVI7XG4gICAgY29uc3QgZW5kc1dpdGggPSBbXVxuICAgICAgLmNvbmNhdChvcHRpb25zLmVuZHNXaXRoIHx8IFtdKVxuICAgICAgLm1hcCh0aGlzLmVzY2FwZVN0cmluZylcbiAgICAgIC5jb25jYXQoJyQnKVxuICAgICAgLmpvaW4oJ3wnKTtcbiAgICBsZXQgcm91dGUgPSBzdGFydCA/ICdeJyA6ICcnO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0b2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHRva2VuID0gdG9rZW5zW2ldO1xuXG4gICAgICBpZiAodHlwZW9mIHRva2VuID09PSAnc3RyaW5nJykge1xuICAgICAgICByb3V0ZSArPSB0aGlzLmVzY2FwZVN0cmluZyh0b2tlbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjYXB0dXJlID0gdG9rZW4ucmVwZWF0XG4gICAgICAgICAgPyBgKD86JHt0b2tlbi5wYXR0ZXJufSkoPzoke3RoaXMuZXNjYXBlU3RyaW5nKHRva2VuLmRlbGltaXRlcil9KD86JHt0b2tlbi5wYXR0ZXJufSkpKmBcbiAgICAgICAgICA6IHRva2VuLnBhdHRlcm47XG5cbiAgICAgICAgaWYgKGtleXMpIHtcbiAgICAgICAgICBrZXlzLnB1c2godG9rZW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRva2VuLm9wdGlvbmFsKSB7XG4gICAgICAgICAgaWYgKCF0b2tlbi5wcmVmaXgpIHtcbiAgICAgICAgICAgIHJvdXRlICs9IGAoJHtjYXB0dXJlfSk/YDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcm91dGUgKz0gYCg/OiR7dGhpcy5lc2NhcGVTdHJpbmcodG9rZW4ucHJlZml4KX0oJHtjYXB0dXJlfSkpP2A7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJvdXRlICs9IGAke3RoaXMuZXNjYXBlU3RyaW5nKHRva2VuLnByZWZpeCl9KCR7Y2FwdHVyZX0pYDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChlbmQpIHtcbiAgICAgIGlmICghc3RyaWN0KSB7XG4gICAgICAgIHJvdXRlICs9IGAoPzoke3RoaXMuZXNjYXBlU3RyaW5nKGRlbGltaXRlcil9KT9gO1xuICAgICAgfVxuXG4gICAgICByb3V0ZSArPSBlbmRzV2l0aCA9PT0gJyQnID8gJyQnIDogYCg/PSR7ZW5kc1dpdGh9KWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGVuZFRva2VuID0gdG9rZW5zW3Rva2Vucy5sZW5ndGggLSAxXTtcbiAgICAgIGNvbnN0IGlzRW5kRGVsaW1pdGVkID1cbiAgICAgICAgdHlwZW9mIGVuZFRva2VuID09PSAnc3RyaW5nJyA/IGVuZFRva2VuW2VuZFRva2VuLmxlbmd0aCAtIDFdID09PSBkZWxpbWl0ZXIgOiBlbmRUb2tlbiA9PT0gdW5kZWZpbmVkO1xuXG4gICAgICBpZiAoIXN0cmljdCkge1xuICAgICAgICByb3V0ZSArPSBgKD86JHt0aGlzLmVzY2FwZVN0cmluZyhkZWxpbWl0ZXIpfSg/PSR7ZW5kc1dpdGh9KSk/YDtcbiAgICAgIH1cbiAgICAgIGlmICghaXNFbmREZWxpbWl0ZWQpIHtcbiAgICAgICAgcm91dGUgKz0gYCg/PSR7dGhpcy5lc2NhcGVTdHJpbmcoZGVsaW1pdGVyKX18JHtlbmRzV2l0aH0pYDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFJlZ0V4cChyb3V0ZSwgdGhpcy5mbGFncyhvcHRpb25zKSk7XG4gIH1cblxuICBwYXRoVG9SZWdleHAocGF0aDogTnpTYWZlQW55LCBrZXlzOiBOelNhZmVBbnksIG9wdGlvbnM6IE56U2FmZUFueSkge1xuICAgIGlmIChwYXRoIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZWdleHBUb1JlZ2V4cChwYXRoLCBrZXlzKTtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShwYXRoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuYXJyYXlUb1JlZ2V4cCgvKiogQHR5cGUgeyFBcnJheX0gKi8gcGF0aCwga2V5cywgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nVG9SZWdleHAoLyoqIEB0eXBlIHtzdHJpbmd9ICovIHBhdGgsIGtleXMsIG9wdGlvbnMpO1xuICB9XG59XG4iXX0=
|
package/esm2022/other/resize.mjs
DELETED
@@ -1,4 +0,0 @@
|
|
1
|
-
export const resizeWindow = () => {
|
2
|
-
window.dispatchEvent(new Event('resize'));
|
3
|
-
};
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbC9vdGhlci9yZXNpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEdBQVMsRUFBRTtJQUNyQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHJlc2l6ZVdpbmRvdyA9ICgpOiB2b2lkID0+IHtcbiAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdyZXNpemUnKSk7XG59O1xuIl19
|
@@ -1,23 +0,0 @@
|
|
1
|
-
import { Pipe, inject } from '@angular/core';
|
2
|
-
import { CurrencyService } from '@yelon/util/format';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
/**
|
5
|
-
* Converted into RMB notation.
|
6
|
-
*
|
7
|
-
* 转化成人民币表示法
|
8
|
-
*/
|
9
|
-
export class CurrencyCNYPipe {
|
10
|
-
constructor() {
|
11
|
-
this.srv = inject(CurrencyService);
|
12
|
-
}
|
13
|
-
transform(value, options) {
|
14
|
-
return this.srv.cny(value, options);
|
15
|
-
}
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: CurrencyCNYPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
17
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: CurrencyCNYPipe, isStandalone: true, name: "cny" }); }
|
18
|
-
}
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: CurrencyCNYPipe, decorators: [{
|
20
|
-
type: Pipe,
|
21
|
-
args: [{ name: 'cny', standalone: true }]
|
22
|
-
}] });
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY255LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL3BpcGVzL2N1cnJlbmN5L2NueS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQXNCLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUV6RTs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLGVBQWU7SUFENUI7UUFFbUIsUUFBRyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUtoRDtJQUhDLFNBQVMsQ0FBQyxLQUFzQixFQUFFLE9BQTRCO1FBQzVELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OEdBTFUsZUFBZTs0R0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEN1cnJlbmN5Q05ZT3B0aW9ucywgQ3VycmVuY3lTZXJ2aWNlIH0gZnJvbSAnQHllbG9uL3V0aWwvZm9ybWF0JztcblxuLyoqXG4gKiBDb252ZXJ0ZWQgaW50byBSTUIgbm90YXRpb24uXG4gKlxuICog6L2s5YyW5oiQ5Lq65rCR5biB6KGo56S65rOVXG4gKi9cbkBQaXBlKHsgbmFtZTogJ2NueScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUNOWVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzcnYgPSBpbmplY3QoQ3VycmVuY3lTZXJ2aWNlKTtcblxuICB0cmFuc2Zvcm0odmFsdWU6IG51bWJlciB8IHN0cmluZywgb3B0aW9ucz86IEN1cnJlbmN5Q05ZT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3J2LmNueSh2YWx1ZSwgb3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,5 +0,0 @@
|
|
1
|
-
export * from './mega.pipe';
|
2
|
-
export * from './price.pipe';
|
3
|
-
export * from './module';
|
4
|
-
export * from './cny.pipe';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL3BpcGVzL2N1cnJlbmN5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tZWdhLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wcmljZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY255LnBpcGUnO1xuIl19
|
@@ -1,25 +0,0 @@
|
|
1
|
-
import { LOCALE_ID, Pipe, inject } from '@angular/core';
|
2
|
-
import { CurrencyService } from '@yelon/util/format';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
/**
|
5
|
-
* Large number format filter
|
6
|
-
*
|
7
|
-
* 大数据格式化
|
8
|
-
*/
|
9
|
-
export class CurrencyMegaPipe {
|
10
|
-
constructor() {
|
11
|
-
this.srv = inject(CurrencyService);
|
12
|
-
this.isCN = inject(LOCALE_ID).startsWith('zh');
|
13
|
-
}
|
14
|
-
transform(value, options) {
|
15
|
-
const res = this.srv.mega(value, options);
|
16
|
-
return res.value + (this.isCN ? res.unitI18n : res.unit);
|
17
|
-
}
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: CurrencyMegaPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
19
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: CurrencyMegaPipe, isStandalone: true, name: "mega" }); }
|
20
|
-
}
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: CurrencyMegaPipe, decorators: [{
|
22
|
-
type: Pipe,
|
23
|
-
args: [{ name: 'mega', standalone: true }]
|
24
|
-
}] });
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVnYS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbC9waXBlcy9jdXJyZW5jeS9tZWdhLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQXVCLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUUxRTs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLGdCQUFnQjtJQUQ3QjtRQUVtQixRQUFHLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZDLFNBQUksR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBTW5EO0lBSkMsU0FBUyxDQUFDLEtBQXNCLEVBQUUsT0FBNkI7UUFDN0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLE9BQU8sR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzRCxDQUFDOzhHQVBVLGdCQUFnQjs0R0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTE9DQUxFX0lELCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ3VycmVuY3lNZWdhT3B0aW9ucywgQ3VycmVuY3lTZXJ2aWNlIH0gZnJvbSAnQHllbG9uL3V0aWwvZm9ybWF0JztcblxuLyoqXG4gKiBMYXJnZSBudW1iZXIgZm9ybWF0IGZpbHRlclxuICpcbiAqIOWkp+aVsOaNruagvOW8j+WMllxuICovXG5AUGlwZSh7IG5hbWU6ICdtZWdhJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIEN1cnJlbmN5TWVnYVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzcnYgPSBpbmplY3QoQ3VycmVuY3lTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBpc0NOID0gaW5qZWN0KExPQ0FMRV9JRCkuc3RhcnRzV2l0aCgnemgnKTtcblxuICB0cmFuc2Zvcm0odmFsdWU6IG51bWJlciB8IHN0cmluZywgb3B0aW9ucz86IEN1cnJlbmN5TWVnYU9wdGlvbnMpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJlcyA9IHRoaXMuc3J2Lm1lZ2EodmFsdWUsIG9wdGlvbnMpO1xuICAgIHJldHVybiByZXMudmFsdWUgKyAodGhpcy5pc0NOID8gcmVzLnVuaXRJMThuIDogcmVzLnVuaXQpO1xuICB9XG59XG4iXX0=
|
@@ -1,19 +0,0 @@
|
|
1
|
-
import { NgModule } from '@angular/core';
|
2
|
-
import { CurrencyCNYPipe } from './cny.pipe';
|
3
|
-
import { CurrencyMegaPipe } from './mega.pipe';
|
4
|
-
import { CurrencyPricePipe } from './price.pipe';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
const PIPES = [CurrencyMegaPipe, CurrencyPricePipe, CurrencyCNYPipe];
|
7
|
-
export class CurrencyPipeModule {
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: CurrencyPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
9
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: CurrencyPipeModule, imports: [CurrencyMegaPipe, CurrencyPricePipe, CurrencyCNYPipe], exports: [CurrencyMegaPipe, CurrencyPricePipe, CurrencyCNYPipe] }); }
|
10
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: CurrencyPipeModule }); }
|
11
|
-
}
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: CurrencyPipeModule, decorators: [{
|
13
|
-
type: NgModule,
|
14
|
-
args: [{
|
15
|
-
imports: PIPES,
|
16
|
-
exports: PIPES
|
17
|
-
}]
|
18
|
-
}] });
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbC9waXBlcy9jdXJyZW5jeS9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRWpELE1BQU0sS0FBSyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFNckUsTUFBTSxPQUFPLGtCQUFrQjs4R0FBbEIsa0JBQWtCOytHQUFsQixrQkFBa0IsWUFOaEIsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxhQUFwRCxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxlQUFlOytHQU10RCxrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSjlCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsT0FBTyxFQUFFLEtBQUs7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDdXJyZW5jeUNOWVBpcGUgfSBmcm9tICcuL2NueS5waXBlJztcbmltcG9ydCB7IEN1cnJlbmN5TWVnYVBpcGUgfSBmcm9tICcuL21lZ2EucGlwZSc7XG5pbXBvcnQgeyBDdXJyZW5jeVByaWNlUGlwZSB9IGZyb20gJy4vcHJpY2UucGlwZSc7XG5cbmNvbnN0IFBJUEVTID0gW0N1cnJlbmN5TWVnYVBpcGUsIEN1cnJlbmN5UHJpY2VQaXBlLCBDdXJyZW5jeUNOWVBpcGVdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBQSVBFUyxcbiAgZXhwb3J0czogUElQRVNcbn0pXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lQaXBlTW9kdWxlIHt9XG4iXX0=
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './index';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS1jdXJyZW5jeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWwvcGlwZXMvY3VycmVuY3kvcGlwZS1jdXJyZW5jeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
@@ -1,27 +0,0 @@
|
|
1
|
-
import { Pipe, inject } from '@angular/core';
|
2
|
-
import { CurrencyService } from '@yelon/util/format';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
/**
|
5
|
-
* Format a number with commas as thousands separators
|
6
|
-
*
|
7
|
-
* 格式化货币,用逗号将数字格式化为千位分隔符
|
8
|
-
* ```ts
|
9
|
-
* 10000 => `10,000`
|
10
|
-
* 10000.567 => `10,000.57`
|
11
|
-
* ```
|
12
|
-
*/
|
13
|
-
export class CurrencyPricePipe {
|
14
|
-
constructor() {
|
15
|
-
this.srv = inject(CurrencyService);
|
16
|
-
}
|
17
|
-
transform(value, options) {
|
18
|
-
return this.srv.format(value, options);
|
19
|
-
}
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: CurrencyPricePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
21
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: CurrencyPricePipe, isStandalone: true, name: "price" }); }
|
22
|
-
}
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: CurrencyPricePipe, decorators: [{
|
24
|
-
type: Pipe,
|
25
|
-
args: [{ name: 'price', standalone: true }]
|
26
|
-
}] });
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2UucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWwvcGlwZXMvY3VycmVuY3kvcHJpY2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUF5QixlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFNUU7Ozs7Ozs7O0dBUUc7QUFFSCxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBRW1CLFFBQUcsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7S0FLaEQ7SUFIQyxTQUFTLENBQUMsS0FBc0IsRUFBRSxPQUErQjtRQUMvRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDOzhHQUxVLGlCQUFpQjs0R0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEN1cnJlbmN5Rm9ybWF0T3B0aW9ucywgQ3VycmVuY3lTZXJ2aWNlIH0gZnJvbSAnQHllbG9uL3V0aWwvZm9ybWF0JztcblxuLyoqXG4gKiBGb3JtYXQgYSBudW1iZXIgd2l0aCBjb21tYXMgYXMgdGhvdXNhbmRzIHNlcGFyYXRvcnNcbiAqXG4gKiDmoLzlvI/ljJbotKfluIHvvIznlKjpgJflj7flsIbmlbDlrZfmoLzlvI/ljJbkuLrljYPkvY3liIbpmpTnrKZcbiAqIGBgYHRzXG4gKiAxMDAwMCA9PiBgMTAsMDAwYFxuICogMTAwMDAuNTY3ID0+IGAxMCwwMDAuNTdgXG4gKiBgYGBcbiAqL1xuQFBpcGUoeyBuYW1lOiAncHJpY2UnLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lQcmljZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzcnYgPSBpbmplY3QoQ3VycmVuY3lTZXJ2aWNlKTtcblxuICB0cmFuc2Zvcm0odmFsdWU6IG51bWJlciB8IHN0cmluZywgb3B0aW9ucz86IEN1cnJlbmN5Rm9ybWF0T3B0aW9ucyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3J2LmZvcm1hdCh2YWx1ZSwgb3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,20 +0,0 @@
|
|
1
|
-
import { Pipe } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
/**
|
4
|
-
* Filter array
|
5
|
-
*
|
6
|
-
* 过滤数组
|
7
|
-
*/
|
8
|
-
// eslint-disable-next-line @angular-eslint/no-pipe-impure
|
9
|
-
export class FilterPipe {
|
10
|
-
transform(array, matcher, ...args) {
|
11
|
-
return array.filter(i => matcher(i, ...args));
|
12
|
-
}
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
14
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: FilterPipe, isStandalone: true, name: "filter", pure: false }); }
|
15
|
-
}
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FilterPipe, decorators: [{
|
17
|
-
type: Pipe,
|
18
|
-
args: [{ name: 'filter', standalone: true, pure: false }]
|
19
|
-
}] });
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL3BpcGVzL2ZpbHRlci9maWx0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFJcEQ7Ozs7R0FJRztBQUNILDBEQUEwRDtBQUUxRCxNQUFNLE9BQU8sVUFBVTtJQUNyQixTQUFTLENBQUksS0FBbUIsRUFBRSxPQUFtRCxFQUFFLEdBQUcsSUFBaUI7UUFDekcsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQzs4R0FIVSxVQUFVOzRHQUFWLFVBQVU7OzJGQUFWLFVBQVU7a0JBRHRCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHR5cGUgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuXG4vKipcbiAqIEZpbHRlciBhcnJheVxuICpcbiAqIOi/h+a7pOaVsOe7hFxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLXBpcGUtaW1wdXJlXG5AUGlwZSh7IG5hbWU6ICdmaWx0ZXInLCBzdGFuZGFsb25lOiB0cnVlLCBwdXJlOiBmYWxzZSB9KVxuZXhwb3J0IGNsYXNzIEZpbHRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtPFQ+KGFycmF5OiByZWFkb25seSBUW10sIG1hdGNoZXI6IChpdGVtOiBULCAuLi5hcmdzOiBOelNhZmVBbnlbXSkgPT4gYm9vbGVhbiwgLi4uYXJnczogTnpTYWZlQW55W10pOiBUW10ge1xuICAgIHJldHVybiBhcnJheS5maWx0ZXIoaSA9PiBtYXRjaGVyKGksIC4uLmFyZ3MpKTtcbiAgfVxufVxuIl19
|
@@ -1,3 +0,0 @@
|
|
1
|
-
export * from './filter.pipe';
|
2
|
-
export * from './module';
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL3BpcGVzL2ZpbHRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGUnO1xuIl19
|
@@ -1,17 +0,0 @@
|
|
1
|
-
import { NgModule } from '@angular/core';
|
2
|
-
import { FilterPipe } from './filter.pipe';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
const PIPES = [FilterPipe];
|
5
|
-
export class FilterPipeModule {
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FilterPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: FilterPipeModule, imports: [FilterPipe], exports: [FilterPipe] }); }
|
8
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FilterPipeModule }); }
|
9
|
-
}
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FilterPipeModule, decorators: [{
|
11
|
-
type: NgModule,
|
12
|
-
args: [{
|
13
|
-
imports: PIPES,
|
14
|
-
exports: PIPES
|
15
|
-
}]
|
16
|
-
}] });
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbC9waXBlcy9maWx0ZXIvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0MsTUFBTSxLQUFLLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQU0zQixNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixZQU5kLFVBQVUsYUFBVixVQUFVOytHQU1aLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFKNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsS0FBSztvQkFDZCxPQUFPLEVBQUUsS0FBSztpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZpbHRlclBpcGUgfSBmcm9tICcuL2ZpbHRlci5waXBlJztcblxuY29uc3QgUElQRVMgPSBbRmlsdGVyUGlwZV07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFBJUEVTLFxuICBleHBvcnRzOiBQSVBFU1xufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJQaXBlTW9kdWxlIHt9XG4iXX0=
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './index';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL3BpcGVzL2ZpbHRlci9waXBlLWZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
@@ -1,3 +0,0 @@
|
|
1
|
-
export * from './mask.pipe';
|
2
|
-
export * from './module';
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL3BpcGVzL2Zvcm1hdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFzay5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlJztcbiJdfQ==
|
@@ -1,34 +0,0 @@
|
|
1
|
-
import { Pipe } from '@angular/core';
|
2
|
-
import { formatMask } from '@yelon/util/format';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
/**
|
5
|
-
* Format mask
|
6
|
-
*
|
7
|
-
* 格式化掩码
|
8
|
-
*
|
9
|
-
* | 字符 | 描述 |
|
10
|
-
* | --- | --- |
|
11
|
-
* | `0` | 任意数字,若该位置字符不符合,则默认为 `0` 填充 |
|
12
|
-
* | `9` | 任意数字 |
|
13
|
-
* | `#` | 任意字符 |
|
14
|
-
* | `U` | 转换大写 |
|
15
|
-
* | `L` | 转换小写 |
|
16
|
-
* | `*` | 转换为 `*` 字符 |
|
17
|
-
*
|
18
|
-
* ```ts
|
19
|
-
* formatMask('123', '(###)') => (123)
|
20
|
-
* formatMask('15900000000', '999****9999') => 159****0000
|
21
|
-
* ```
|
22
|
-
*/
|
23
|
-
export class FormatMaskPipe {
|
24
|
-
transform(value, mask) {
|
25
|
-
return formatMask(value, mask);
|
26
|
-
}
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FormatMaskPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
28
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: FormatMaskPipe, isStandalone: true, name: "mask" }); }
|
29
|
-
}
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FormatMaskPipe, decorators: [{
|
31
|
-
type: Pipe,
|
32
|
-
args: [{ name: 'mask', standalone: true }]
|
33
|
-
}] });
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbC9waXBlcy9mb3JtYXQvbWFzay5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSxVQUFVLEVBQW9CLE1BQU0sb0JBQW9CLENBQUM7O0FBRWxFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFFSCxNQUFNLE9BQU8sY0FBYztJQUN6QixTQUFTLENBQUMsS0FBYSxFQUFFLElBQStCO1FBQ3RELE9BQU8sVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDOzhHQUhVLGNBQWM7NEdBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgZm9ybWF0TWFzaywgRm9ybWF0TWFza09wdGlvbiB9IGZyb20gJ0B5ZWxvbi91dGlsL2Zvcm1hdCc7XG5cbi8qKlxuICogRm9ybWF0IG1hc2tcbiAqXG4gKiDmoLzlvI/ljJbmjqnnoIFcbiAqXG4gKiB8IOWtl+espiB8IOaPj+i/sCB8XG4gKiB8IC0tLSB8IC0tLSB8XG4gKiB8IGAwYCB8IOS7u+aEj+aVsOWtl++8jOiLpeivpeS9jee9ruWtl+espuS4jeespuWQiO+8jOWImem7mOiupOS4uiBgMGAg5aGr5YWFIHxcbiAqIHwgYDlgIHwg5Lu75oSP5pWw5a2XIHxcbiAqIHwgYCNgIHwg5Lu75oSP5a2X56ymIHxcbiAqIHwgYFVgIHwg6L2s5o2i5aSn5YaZIHxcbiAqIHwgYExgIHwg6L2s5o2i5bCP5YaZIHxcbiAqIHwgYCpgIHwg6L2s5o2i5Li6IGAqYCDlrZfnrKYgfFxuICpcbiAqIGBgYHRzXG4gKiBmb3JtYXRNYXNrKCcxMjMnLCAnKCMjIyknKSA9PiAoMTIzKVxuICogZm9ybWF0TWFzaygnMTU5MDAwMDAwMDAnLCAnOTk5KioqKjk5OTknKSA9PiAxNTkqKioqMDAwMFxuICogYGBgXG4gKi9cbkBQaXBlKHsgbmFtZTogJ21hc2snLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgRm9ybWF0TWFza1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIG1hc2s6IHN0cmluZyB8IEZvcm1hdE1hc2tPcHRpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBmb3JtYXRNYXNrKHZhbHVlLCBtYXNrKTtcbiAgfVxufVxuIl19
|
@@ -1,17 +0,0 @@
|
|
1
|
-
import { NgModule } from '@angular/core';
|
2
|
-
import { FormatMaskPipe } from './mask.pipe';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
const PIPES = [FormatMaskPipe];
|
5
|
-
export class FormatPipeModule {
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FormatPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: FormatPipeModule, imports: [FormatMaskPipe], exports: [FormatMaskPipe] }); }
|
8
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FormatPipeModule }); }
|
9
|
-
}
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FormatPipeModule, decorators: [{
|
11
|
-
type: NgModule,
|
12
|
-
args: [{
|
13
|
-
imports: PIPES,
|
14
|
-
exports: PIPES
|
15
|
-
}]
|
16
|
-
}] });
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbC9waXBlcy9mb3JtYXQvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFN0MsTUFBTSxLQUFLLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQU0vQixNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixZQU5kLGNBQWMsYUFBZCxjQUFjOytHQU1oQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBSjVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsT0FBTyxFQUFFLEtBQUs7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGb3JtYXRNYXNrUGlwZSB9IGZyb20gJy4vbWFzay5waXBlJztcblxuY29uc3QgUElQRVMgPSBbRm9ybWF0TWFza1BpcGVdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBQSVBFUyxcbiAgZXhwb3J0czogUElQRVNcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWF0UGlwZU1vZHVsZSB7fVxuIl19
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './index';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS1mb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL3BpcGVzL2Zvcm1hdC9waXBlLWZvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
package/esm2022/pipes/index.mjs
DELETED
@@ -1,4 +0,0 @@
|
|
1
|
-
export * from '@yelon/util/pipes/currency';
|
2
|
-
export * from '@yelon/util/pipes/format';
|
3
|
-
export * from '@yelon/util/pipes/filter';
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnQHllbG9uL3V0aWwvcGlwZXMvY3VycmVuY3knO1xuZXhwb3J0ICogZnJvbSAnQHllbG9uL3V0aWwvcGlwZXMvZm9ybWF0JztcbmV4cG9ydCAqIGZyb20gJ0B5ZWxvbi91dGlsL3BpcGVzL2ZpbHRlcic7XG4iXX0=
|
package/esm2022/pipes/pipes.mjs
DELETED
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './index';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL3BpcGVzL3BpcGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
package/esm2022/token/index.mjs
DELETED
@@ -1,3 +0,0 @@
|
|
1
|
-
export * from './window';
|
2
|
-
export * from './page-visibility';
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL3Rva2VuL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3dpbmRvdyc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2UtdmlzaWJpbGl0eSc7XG4iXX0=
|
@@ -1,15 +0,0 @@
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
2
|
-
import { inject, InjectionToken } from '@angular/core';
|
3
|
-
import { fromEvent, distinctUntilChanged, map, share, startWith } from 'rxjs';
|
4
|
-
/**
|
5
|
-
* Use the `visibilitychange` event to monitor whether the browser tab is visible, which is generally used when the user leaves the browser tab to temp interrupt the backend to continue sending requests
|
6
|
-
*
|
7
|
-
* 通过 `visibilitychange` 事件来监听浏览器选项卡是否可见,一般用于当用户离开应用时暂时中断后端持续发送请求时
|
8
|
-
*/
|
9
|
-
export const PAGE_VISIBILITY = new InjectionToken('PAGE_VISIBILITY`', {
|
10
|
-
factory: () => {
|
11
|
-
const doc = inject(DOCUMENT);
|
12
|
-
return fromEvent(doc, 'visibilitychange').pipe(startWith(0), map(() => !doc.hidden), distinctUntilChanged(), share());
|
13
|
-
}
|
14
|
-
});
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS12aXNpYmlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbC90b2tlbi9wYWdlLXZpc2liaWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQWMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBc0Isa0JBQWtCLEVBQUU7SUFDekYsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNaLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixPQUFPLFNBQVMsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQzVDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFDWixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQ3RCLG9CQUFvQixFQUFFLEVBQ3RCLEtBQUssRUFBRSxDQUNSLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzaGFyZSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogVXNlIHRoZSBgdmlzaWJpbGl0eWNoYW5nZWAgZXZlbnQgdG8gbW9uaXRvciB3aGV0aGVyIHRoZSBicm93c2VyIHRhYiBpcyB2aXNpYmxlLCB3aGljaCBpcyBnZW5lcmFsbHkgdXNlZCB3aGVuIHRoZSB1c2VyIGxlYXZlcyB0aGUgYnJvd3NlciB0YWIgdG8gdGVtcCBpbnRlcnJ1cHQgdGhlIGJhY2tlbmQgdG8gY29udGludWUgc2VuZGluZyByZXF1ZXN0c1xuICpcbiAqIOmAmui/hyBgdmlzaWJpbGl0eWNoYW5nZWAg5LqL5Lu25p2l55uR5ZCs5rWP6KeI5Zmo6YCJ6aG55Y2h5piv5ZCm5Y+v6KeB77yM5LiA6Iis55So5LqO5b2T55So5oi356a75byA5bqU55So5pe25pqC5pe25Lit5pat5ZCO56uv5oyB57ut5Y+R6YCB6K+35rGC5pe2XG4gKi9cbmV4cG9ydCBjb25zdCBQQUdFX1ZJU0lCSUxJVFkgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxib29sZWFuPj4oJ1BBR0VfVklTSUJJTElUWWAnLCB7XG4gIGZhY3Rvcnk6ICgpID0+IHtcbiAgICBjb25zdCBkb2MgPSBpbmplY3QoRE9DVU1FTlQpO1xuICAgIHJldHVybiBmcm9tRXZlbnQoZG9jLCAndmlzaWJpbGl0eWNoYW5nZScpLnBpcGUoXG4gICAgICBzdGFydFdpdGgoMCksXG4gICAgICBtYXAoKCkgPT4gIWRvYy5oaWRkZW4pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHNoYXJlKClcbiAgICApO1xuICB9XG59KTtcbiJdfQ==
|
package/esm2022/token/token.mjs
DELETED
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './index';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL3Rva2VuL3Rva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
package/esm2022/token/window.mjs
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
2
|
-
import { inject, InjectionToken } from '@angular/core';
|
3
|
-
/**
|
4
|
-
* Access to global `window` object
|
5
|
-
*
|
6
|
-
* 访问全局 `window` 对象
|
7
|
-
*/
|
8
|
-
export const WINDOW = new InjectionToken('WINDOW', {
|
9
|
-
factory: () => {
|
10
|
-
const { defaultView } = inject(DOCUMENT);
|
11
|
-
if (!defaultView) {
|
12
|
-
throw new Error('Window is not available');
|
13
|
-
}
|
14
|
-
return defaultView;
|
15
|
-
}
|
16
|
-
});
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbC90b2tlbi93aW5kb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQVMsUUFBUSxFQUFFO0lBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQWNjZXNzIHRvIGdsb2JhbCBgd2luZG93YCBvYmplY3RcbiAqXG4gKiDorr/pl67lhajlsYAgYHdpbmRvd2Ag5a+56LGhXG4gKi9cbmV4cG9ydCBjb25zdCBXSU5ET1cgPSBuZXcgSW5qZWN0aW9uVG9rZW48V2luZG93PignV0lORE9XJywge1xuICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgY29uc3QgeyBkZWZhdWx0VmlldyB9ID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgICBpZiAoIWRlZmF1bHRWaWV3KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1dpbmRvdyBpcyBub3QgYXZhaWxhYmxlJyk7XG4gICAgfVxuICAgIHJldHVybiBkZWZhdWx0VmlldztcbiAgfVxufSk7XG4iXX0=
|
package/esm2022/yelon-util.mjs
DELETED
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './index';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVsb24tdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWwveWVsb24tdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|