@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.
Files changed (166) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +1 -1
  3. package/browser/cookie.service.d.ts +1 -3
  4. package/browser/style.d.ts +1 -3
  5. package/config/abc/date-picker.type.d.ts +2 -5
  6. package/config/abc/exception.type.d.ts +5 -7
  7. package/config/abc/loading.type.d.ts +1 -3
  8. package/config/abc/media.type.d.ts +1 -2
  9. package/config/abc/st.type.d.ts +11 -18
  10. package/config/acl/acl.type.d.ts +1 -2
  11. package/config/chart/chart.type.d.ts +1 -4
  12. package/config/config.service.d.ts +5 -4
  13. package/config/sf/sf.type.d.ts +3 -6
  14. package/config/theme/responsive.type.d.ts +8 -10
  15. package/date-time/time.d.ts +1 -2
  16. package/decorator/convert.d.ts +2 -3
  17. package/fesm2022/array.mjs +4 -4
  18. package/fesm2022/array.mjs.map +1 -1
  19. package/fesm2022/browser.mjs +13 -16
  20. package/fesm2022/browser.mjs.map +1 -1
  21. package/fesm2022/config.mjs +33 -18
  22. package/fesm2022/config.mjs.map +1 -1
  23. package/fesm2022/date-time.mjs +1 -1
  24. package/fesm2022/date-time.mjs.map +1 -1
  25. package/fesm2022/decorator.mjs.map +1 -1
  26. package/fesm2022/form.mjs.map +1 -1
  27. package/fesm2022/format.mjs +9 -7
  28. package/fesm2022/format.mjs.map +1 -1
  29. package/fesm2022/math.mjs.map +1 -1
  30. package/fesm2022/mcache.mjs.map +1 -1
  31. package/fesm2022/mtypes.mjs +4 -5
  32. package/fesm2022/mtypes.mjs.map +1 -1
  33. package/fesm2022/other.mjs +14 -17
  34. package/fesm2022/other.mjs.map +1 -1
  35. package/fesm2022/pipe-currency.mjs +20 -26
  36. package/fesm2022/pipe-currency.mjs.map +1 -1
  37. package/fesm2022/pipe-filter.mjs +8 -8
  38. package/fesm2022/pipe-filter.mjs.map +1 -1
  39. package/fesm2022/pipe-format.mjs +8 -8
  40. package/fesm2022/pipe-format.mjs.map +1 -1
  41. package/fesm2022/token.mjs.map +1 -1
  42. package/format/string.d.ts +3 -6
  43. package/mtypes/header-menu.type.d.ts +2 -3
  44. package/mtypes/menu.type.d.ts +5 -6
  45. package/mtypes/page.d.ts +1 -2
  46. package/other/deep.d.ts +4 -7
  47. package/other/lazy.service.d.ts +2 -5
  48. package/other/logger.d.ts +3 -4
  49. package/other/path-to-regexp.service.d.ts +11 -12
  50. package/package.json +12 -46
  51. package/pipes/filter/filter.pipe.d.ts +1 -2
  52. package/esm2022/array/array-type.service.mjs +0 -2
  53. package/esm2022/array/array.mjs +0 -5
  54. package/esm2022/array/array.service.mjs +0 -278
  55. package/esm2022/array/index.mjs +0 -3
  56. package/esm2022/browser/browser.mjs +0 -5
  57. package/esm2022/browser/cookie.service.mjs +0 -100
  58. package/esm2022/browser/copy.mjs +0 -28
  59. package/esm2022/browser/index.mjs +0 -6
  60. package/esm2022/browser/is-empty.mjs +0 -19
  61. package/esm2022/browser/scroll.service.mjs +0 -85
  62. package/esm2022/browser/style.mjs +0 -38
  63. package/esm2022/config/abc/cell.type.mjs +0 -2
  64. package/esm2022/config/abc/date-picker.type.mjs +0 -2
  65. package/esm2022/config/abc/error-collect.type.mjs +0 -2
  66. package/esm2022/config/abc/exception.type.mjs +0 -2
  67. package/esm2022/config/abc/image.type.mjs +0 -2
  68. package/esm2022/config/abc/index.mjs +0 -18
  69. package/esm2022/config/abc/loading.type.mjs +0 -2
  70. package/esm2022/config/abc/lodop.type.mjs +0 -2
  71. package/esm2022/config/abc/media.type.mjs +0 -2
  72. package/esm2022/config/abc/onboarding.type.mjs +0 -2
  73. package/esm2022/config/abc/page-header.type.mjs +0 -2
  74. package/esm2022/config/abc/pdf.type.mjs +0 -2
  75. package/esm2022/config/abc/se.type.mjs +0 -2
  76. package/esm2022/config/abc/sg.type.mjs +0 -2
  77. package/esm2022/config/abc/st.type.mjs +0 -2
  78. package/esm2022/config/abc/sv.type.mjs +0 -3
  79. package/esm2022/config/abc/xlsx.type.mjs +0 -2
  80. package/esm2022/config/abc/zip.type.mjs +0 -2
  81. package/esm2022/config/acl/acl.type.mjs +0 -2
  82. package/esm2022/config/auth/auth.type.mjs +0 -2
  83. package/esm2022/config/bis/bis.type.mjs +0 -2
  84. package/esm2022/config/cache/cache.type.mjs +0 -2
  85. package/esm2022/config/chart/chart.type.mjs +0 -2
  86. package/esm2022/config/config.mjs +0 -5
  87. package/esm2022/config/config.service.mjs +0 -38
  88. package/esm2022/config/config.types.mjs +0 -12
  89. package/esm2022/config/index.mjs +0 -15
  90. package/esm2022/config/mock/mock.type.mjs +0 -2
  91. package/esm2022/config/sf/sf.type.mjs +0 -2
  92. package/esm2022/config/socket/socket.type.mjs +0 -2
  93. package/esm2022/config/theme/http.type.mjs +0 -2
  94. package/esm2022/config/theme/i18n.type.mjs +0 -2
  95. package/esm2022/config/theme/index.mjs +0 -5
  96. package/esm2022/config/theme/pipe.type.mjs +0 -2
  97. package/esm2022/config/theme/responsive.type.mjs +0 -2
  98. package/esm2022/config/util/array.type.mjs +0 -2
  99. package/esm2022/config/util/currency.type.mjs +0 -2
  100. package/esm2022/date-time/date-time.mjs +0 -5
  101. package/esm2022/date-time/index.mjs +0 -3
  102. package/esm2022/date-time/picker.mjs +0 -116
  103. package/esm2022/date-time/time.mjs +0 -103
  104. package/esm2022/decorator/convert.mjs +0 -66
  105. package/esm2022/decorator/decorator.mjs +0 -5
  106. package/esm2022/decorator/index.mjs +0 -3
  107. package/esm2022/decorator/zone-outside.mjs +0 -57
  108. package/esm2022/form/form.mjs +0 -5
  109. package/esm2022/form/index.mjs +0 -3
  110. package/esm2022/form/match-control.mjs +0 -30
  111. package/esm2022/form/validators.mjs +0 -81
  112. package/esm2022/format/currency.service.mjs +0 -233
  113. package/esm2022/format/currency.types.mjs +0 -8
  114. package/esm2022/format/format.mjs +0 -5
  115. package/esm2022/format/index.mjs +0 -5
  116. package/esm2022/format/string.mjs +0 -85
  117. package/esm2022/format/validate.mjs +0 -94
  118. package/esm2022/index.mjs +0 -14
  119. package/esm2022/math/in-range.mjs +0 -25
  120. package/esm2022/math/index.mjs +0 -3
  121. package/esm2022/math/math.mjs +0 -5
  122. package/esm2022/math/round.mjs +0 -53
  123. package/esm2022/mcache/index.mjs +0 -2
  124. package/esm2022/mcache/localStorageUtils.mjs +0 -60
  125. package/esm2022/mcache/mcache.mjs +0 -5
  126. package/esm2022/mtypes/authority.type.mjs +0 -2
  127. package/esm2022/mtypes/header-menu.type.mjs +0 -2
  128. package/esm2022/mtypes/index.mjs +0 -10
  129. package/esm2022/mtypes/menu.type.mjs +0 -2
  130. package/esm2022/mtypes/mtypes.mjs +0 -5
  131. package/esm2022/mtypes/nav.types.mjs +0 -9
  132. package/esm2022/mtypes/page.mjs +0 -42
  133. package/esm2022/mtypes/project-info.types.mjs +0 -2
  134. package/esm2022/mtypes/response.mjs +0 -2
  135. package/esm2022/mtypes/role.type.mjs +0 -2
  136. package/esm2022/mtypes/user.types.mjs +0 -2
  137. package/esm2022/other/assert.mjs +0 -67
  138. package/esm2022/other/deep.mjs +0 -78
  139. package/esm2022/other/favicon.mjs +0 -29
  140. package/esm2022/other/index.mjs +0 -8
  141. package/esm2022/other/lazy.service.mjs +0 -129
  142. package/esm2022/other/logger.mjs +0 -33
  143. package/esm2022/other/other.mjs +0 -5
  144. package/esm2022/other/path-to-regexp.service.mjs +0 -239
  145. package/esm2022/other/resize.mjs +0 -4
  146. package/esm2022/pipes/currency/cny.pipe.mjs +0 -23
  147. package/esm2022/pipes/currency/index.mjs +0 -5
  148. package/esm2022/pipes/currency/mega.pipe.mjs +0 -25
  149. package/esm2022/pipes/currency/module.mjs +0 -19
  150. package/esm2022/pipes/currency/pipe-currency.mjs +0 -5
  151. package/esm2022/pipes/currency/price.pipe.mjs +0 -27
  152. package/esm2022/pipes/filter/filter.pipe.mjs +0 -20
  153. package/esm2022/pipes/filter/index.mjs +0 -3
  154. package/esm2022/pipes/filter/module.mjs +0 -17
  155. package/esm2022/pipes/filter/pipe-filter.mjs +0 -5
  156. package/esm2022/pipes/format/index.mjs +0 -3
  157. package/esm2022/pipes/format/mask.pipe.mjs +0 -34
  158. package/esm2022/pipes/format/module.mjs +0 -17
  159. package/esm2022/pipes/format/pipe-format.mjs +0 -5
  160. package/esm2022/pipes/index.mjs +0 -4
  161. package/esm2022/pipes/pipes.mjs +0 -5
  162. package/esm2022/token/index.mjs +0 -3
  163. package/esm2022/token/page-visibility.mjs +0 -15
  164. package/esm2022/token/token.mjs +0 -5
  165. package/esm2022/token/window.mjs +0 -17
  166. package/esm2022/yelon-util.mjs +0 -5
@@ -1,233 +0,0 @@
1
- import { CurrencyPipe, formatNumber } from '@angular/common';
2
- import { DEFAULT_CURRENCY_CODE, Injectable, LOCALE_ID, inject } from '@angular/core';
3
- import { CurrencyMega_Powers } from './currency.types';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@yelon/util/config";
6
- export class CurrencyService {
7
- constructor(cog) {
8
- this.locale = inject(LOCALE_ID);
9
- this.defCurrencyCode = inject(DEFAULT_CURRENCY_CODE, { optional: true }) ?? 'USD';
10
- this.currencyPipe = new CurrencyPipe(this.locale, this.defCurrencyCode);
11
- this.c = cog.merge('utilCurrency', {
12
- startingUnit: 'yuan',
13
- megaUnit: { Q: '京', T: '兆', B: '亿', M: '万', K: '千' },
14
- precision: 2,
15
- ignoreZeroPrecision: true
16
- });
17
- }
18
- /**
19
- * Format a number with commas as thousands separators
20
- *
21
- * 格式化货币,用逗号将数字格式化为千位分隔符
22
- * ```ts
23
- * 10000 => `10,000`
24
- * 10000.567 => `10,000.57`
25
- * ```
26
- */
27
- format(value, options) {
28
- options = {
29
- startingUnit: this.c.startingUnit,
30
- precision: this.c.precision,
31
- ignoreZeroPrecision: this.c.ignoreZeroPrecision,
32
- ngCurrency: this.c.ngCurrency,
33
- ...options
34
- };
35
- let truthValue = Number(value);
36
- if (value == null || isNaN(truthValue)) {
37
- return '';
38
- }
39
- if (options.startingUnit === 'cent') {
40
- truthValue = truthValue / 100;
41
- }
42
- if (options.ngCurrency != null) {
43
- const cur = options.ngCurrency;
44
- return this.currencyPipe.transform(truthValue, cur.currencyCode, cur.display, cur.digitsInfo, cur.locale || this.locale);
45
- }
46
- const res = formatNumber(truthValue, this.locale, `.${options.ignoreZeroPrecision ? 1 : options.precision}-${options.precision}`);
47
- return options.ignoreZeroPrecision ? res.replace(/(?:\.[0]+)$/g, '') : res;
48
- }
49
- /**
50
- * Large number format filter
51
- *
52
- * 大数据格式化
53
- * ```ts
54
- * 1000 => { value: '1', unit: 'K', unitI18n: '千' }
55
- * 12456 => { value: '12.46', unit: 'K', unitI18n: '千' }
56
- * ```
57
- */
58
- mega(value, options) {
59
- options = { precision: this.c.precision, unitI18n: this.c.megaUnit, startingUnit: this.c.startingUnit, ...options };
60
- let num = Number(value);
61
- const res = { raw: value, value: '', unit: '', unitI18n: '' };
62
- if (isNaN(num) || num === 0) {
63
- res.value = value.toString();
64
- return res;
65
- }
66
- if (options.startingUnit === 'cent') {
67
- num = num / 100;
68
- }
69
- let abs = Math.abs(+num);
70
- const rounder = Math.pow(10, options.precision);
71
- const isNegative = num < 0;
72
- for (const p of CurrencyMega_Powers) {
73
- let reduced = abs / p.value;
74
- reduced = Math.round(reduced * rounder) / rounder;
75
- if (reduced >= 1) {
76
- abs = reduced;
77
- res.unit = p.unit;
78
- break;
79
- }
80
- }
81
- res.value = (isNegative ? '-' : '') + abs;
82
- res.unitI18n = options.unitI18n[res.unit];
83
- return res;
84
- }
85
- /**
86
- * Converted into RMB notation.
87
- *
88
- * 转化成人民币表示法
89
- */
90
- cny(value, options) {
91
- options = {
92
- inWords: true,
93
- minusSymbol: '负',
94
- startingUnit: this.c.startingUnit,
95
- ...options
96
- };
97
- value = Number(value);
98
- if (isNaN(value)) {
99
- return '';
100
- }
101
- if (options.startingUnit === 'cent') {
102
- value = value / 100;
103
- }
104
- value = value.toString();
105
- let integer;
106
- let decimal;
107
- [integer, decimal] = value.split('.');
108
- let symbol = '';
109
- if (integer.startsWith('-')) {
110
- symbol = options.minusSymbol;
111
- integer = integer.substring(1);
112
- }
113
- if (/^-?\d+$/.test(value)) {
114
- decimal = null;
115
- }
116
- integer = (+integer).toString();
117
- const inWords = options.inWords;
118
- const unit = {
119
- num: inWords
120
- ? ['', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖', '点']
121
- : ['', '一', '二', '三', '四', '五', '六', '七', '八', '九', '点'],
122
- radice: inWords
123
- ? [
124
- '',
125
- '拾',
126
- '佰',
127
- '仟',
128
- '万',
129
- '拾',
130
- '佰',
131
- '仟',
132
- '亿',
133
- '拾',
134
- '佰',
135
- '仟',
136
- '万亿',
137
- '拾',
138
- '佰',
139
- '仟',
140
- '兆',
141
- '拾',
142
- '佰',
143
- '仟'
144
- ]
145
- : [
146
- '',
147
- '十',
148
- '百',
149
- '千',
150
- '万',
151
- '十',
152
- '百',
153
- '千',
154
- '亿',
155
- '十',
156
- '百',
157
- '千',
158
- '万亿',
159
- '十',
160
- '百',
161
- '千',
162
- '兆',
163
- '十',
164
- '百',
165
- '千'
166
- ],
167
- dec: ['角', '分', '厘', '毫']
168
- };
169
- if (inWords) {
170
- value = (+value).toFixed(5).toString();
171
- }
172
- let integerRes = '';
173
- const integerCount = integer.length;
174
- if (integer === '0' || integerCount === 0) {
175
- integerRes = '零';
176
- }
177
- else {
178
- let cnDesc = '';
179
- for (let i = 0; i < integerCount; i++) {
180
- const n = +integer[i];
181
- const j = integerCount - i - 1;
182
- const isZero = i > 1 && n !== 0 && integer[i - 1] === '0';
183
- const cnZero = isZero ? '零' : '';
184
- const isEmpptyUnit = (n === 0 && j % 4 !== 0) || integer.substring(i - 3, i - 3 + 4) === '0000';
185
- const descMark = cnDesc;
186
- let cnNum = unit.num[n];
187
- cnDesc = isEmpptyUnit ? '' : unit.radice[j];
188
- // 第一位是一十
189
- if (i === 0 && cnNum === '一' && cnDesc === '十')
190
- cnNum = '';
191
- const isChangeEr = n > 1 &&
192
- cnNum === '二' && // 去除首位
193
- ['', '十', '百'].indexOf(cnDesc) === -1 && // 不读两\两十\两百
194
- descMark !== '十'; // 不读十两
195
- if (isChangeEr)
196
- cnNum = '两';
197
- integerRes += cnZero + cnNum + cnDesc;
198
- }
199
- }
200
- // 小数部分拼接
201
- let decimalRes = '';
202
- const decimalCount = decimal ? decimal.toString().length : 0;
203
- if (decimal === null) {
204
- decimalRes = inWords ? '整' : '';
205
- }
206
- else if (decimal === '0') {
207
- decimalRes = '零';
208
- }
209
- else {
210
- for (let i = 0; i < decimalCount; i++) {
211
- if (inWords && i > unit.dec.length - 1)
212
- break;
213
- const n = decimal[i];
214
- const cnZero = n === '0' ? '零' : '';
215
- const cnNum = unit.num[+n];
216
- const cnDesc = inWords ? unit.dec[i] : '';
217
- decimalRes += cnZero + cnNum + cnDesc;
218
- }
219
- }
220
- const ret = symbol +
221
- (inWords
222
- ? integerRes + (decimalRes === '零' ? '元整' : `元${decimalRes}`)
223
- : integerRes + (decimalRes === '' ? '' : `点${decimalRes}`));
224
- return ret;
225
- }
226
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: CurrencyService, deps: [{ token: i1.YunzaiConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
227
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: CurrencyService, providedIn: 'root' }); }
228
- }
229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: CurrencyService, decorators: [{
230
- type: Injectable,
231
- args: [{ providedIn: 'root' }]
232
- }], ctorParameters: () => [{ type: i1.YunzaiConfigService }] });
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWwvZm9ybWF0L2N1cnJlbmN5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLckYsT0FBTyxFQUtMLG1CQUFtQixFQUNwQixNQUFNLGtCQUFrQixDQUFDOzs7QUFHMUIsTUFBTSxPQUFPLGVBQWU7SUFPMUIsWUFBWSxHQUF3QjtRQU5uQixXQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNCLG9CQUFlLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDO1FBTTVGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRTtZQUNqQyxZQUFZLEVBQUUsTUFBTTtZQUNwQixRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUU7WUFDcEQsU0FBUyxFQUFFLENBQUM7WUFDWixtQkFBbUIsRUFBRSxJQUFJO1NBQzFCLENBQUUsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILE1BQU0sQ0FBQyxLQUFzQixFQUFFLE9BQStCO1FBQzVELE9BQU8sR0FBRztZQUNSLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVk7WUFDakMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUztZQUMzQixtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQjtZQUMvQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVO1lBQzdCLEdBQUcsT0FBTztTQUNYLENBQUM7UUFDRixJQUFJLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUNwQyxVQUFVLEdBQUcsVUFBVSxHQUFHLEdBQUcsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsVUFBVSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQy9CLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxVQUFXLENBQUM7WUFDaEMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FDaEMsVUFBVSxFQUNWLEdBQUcsQ0FBQyxZQUFZLEVBQ2hCLEdBQUcsQ0FBQyxPQUFPLEVBQ1gsR0FBRyxDQUFDLFVBQVUsRUFDZCxHQUFHLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQ3pCLENBQUM7UUFDTCxDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUN0QixVQUFVLEVBQ1YsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FDL0UsQ0FBQztRQUNGLE9BQU8sT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQzdFLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILElBQUksQ0FBQyxLQUFzQixFQUFFLE9BQTZCO1FBQ3hELE9BQU8sR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDcEgsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE1BQU0sR0FBRyxHQUF1QixFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNsRixJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUIsR0FBRyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDN0IsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3BDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLENBQUM7UUFDRCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLFNBQVUsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sVUFBVSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDM0IsS0FBSyxNQUFNLENBQUMsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1lBQ3BDLElBQUksT0FBTyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBRTVCLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUM7WUFFbEQsSUFBSSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2pCLEdBQUcsR0FBRyxPQUFPLENBQUM7Z0JBQ2QsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNsQixNQUFNO1lBQ1IsQ0FBQztRQUNILENBQUM7UUFFRCxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUMxQyxHQUFHLENBQUMsUUFBUSxHQUFJLE9BQU8sQ0FBQyxRQUF5QyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RSxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsR0FBRyxDQUFDLEtBQXNCLEVBQUUsT0FBNEI7UUFDdEQsT0FBTyxHQUFHO1lBQ1IsT0FBTyxFQUFFLElBQUk7WUFDYixXQUFXLEVBQUUsR0FBRztZQUNoQixZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZO1lBQ2pDLEdBQUcsT0FBTztTQUNYLENBQUM7UUFFRixLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3BDLEtBQUssR0FBRyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLENBQUM7UUFDRCxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksT0FBd0IsQ0FBQztRQUM3QixJQUFJLE9BQStCLENBQUM7UUFDcEMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUIsTUFBTSxHQUFHLE9BQU8sQ0FBQyxXQUFZLENBQUM7WUFDOUIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUNELElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDakIsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUNoQyxNQUFNLElBQUksR0FBZ0M7WUFDeEMsR0FBRyxFQUFFLE9BQU87Z0JBQ1YsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztnQkFDeEQsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztZQUMxRCxNQUFNLEVBQUUsT0FBTztnQkFDYixDQUFDLENBQUM7b0JBQ0UsRUFBRTtvQkFDRixHQUFHO29CQUNILEdBQUc7b0JBQ0gsR0FBRztvQkFDSCxHQUFHO29CQUNILEdBQUc7b0JBQ0gsR0FBRztvQkFDSCxHQUFHO29CQUNILEdBQUc7b0JBQ0gsR0FBRztvQkFDSCxHQUFHO29CQUNILEdBQUc7b0JBQ0gsSUFBSTtvQkFDSixHQUFHO29CQUNILEdBQUc7b0JBQ0gsR0FBRztvQkFDSCxHQUFHO29CQUNILEdBQUc7b0JBQ0gsR0FBRztvQkFDSCxHQUFHO2lCQUNKO2dCQUNILENBQUMsQ0FBQztvQkFDRSxFQUFFO29CQUNGLEdBQUc7b0JBQ0gsR0FBRztvQkFDSCxHQUFHO29CQUNILEdBQUc7b0JBQ0gsR0FBRztvQkFDSCxHQUFHO29CQUNILEdBQUc7b0JBQ0gsR0FBRztvQkFDSCxHQUFHO29CQUNILEdBQUc7b0JBQ0gsR0FBRztvQkFDSCxJQUFJO29CQUNKLEdBQUc7b0JBQ0gsR0FBRztvQkFDSCxHQUFHO29CQUNILEdBQUc7b0JBQ0gsR0FBRztvQkFDSCxHQUFHO29CQUNILEdBQUc7aUJBQ0o7WUFDTCxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7U0FDMUIsQ0FBQztRQUNGLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDcEMsSUFBSSxPQUFPLEtBQUssR0FBRyxJQUFJLFlBQVksS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ25CLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLE1BQU0sQ0FBQyxHQUFHLFlBQVksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQixNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUM7Z0JBQzFELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQztnQkFDaEcsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDO2dCQUN4QixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUV4QixNQUFNLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVDLFNBQVM7Z0JBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxHQUFHLElBQUksTUFBTSxLQUFLLEdBQUc7b0JBQUUsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDM0QsTUFBTSxVQUFVLEdBQ2QsQ0FBQyxHQUFHLENBQUM7b0JBQ0wsS0FBSyxLQUFLLEdBQUcsSUFBSSxPQUFPO29CQUN4QixDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLFlBQVk7b0JBQ3JELFFBQVEsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPO2dCQUMzQixJQUFJLFVBQVU7b0JBQUUsS0FBSyxHQUFHLEdBQUcsQ0FBQztnQkFDNUIsVUFBVSxJQUFJLE1BQU0sR0FBRyxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBQ3hDLENBQUM7UUFDSCxDQUFDO1FBRUQsU0FBUztRQUNULElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNwQixNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RCxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNyQixVQUFVLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxDQUFDO2FBQU0sSUFBSSxPQUFPLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDM0IsVUFBVSxHQUFHLEdBQUcsQ0FBQztRQUNuQixDQUFDO2FBQU0sQ0FBQztZQUNOLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxPQUFPLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUM7b0JBQUUsTUFBTTtnQkFDOUMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQixNQUFNLE1BQU0sR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsVUFBVSxJQUFJLE1BQU0sR0FBRyxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBQ3hDLENBQUM7UUFDSCxDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQ1AsTUFBTTtZQUNOLENBQUMsT0FBTztnQkFDTixDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsVUFBVSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUM3RCxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsVUFBVSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRSxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7OEdBOU9VLGVBQWU7a0hBQWYsZUFBZSxjQURGLE1BQU07OzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1cnJlbmN5UGlwZSwgZm9ybWF0TnVtYmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERFRkFVTFRfQ1VSUkVOQ1lfQ09ERSwgSW5qZWN0YWJsZSwgTE9DQUxFX0lELCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgWXVuemFpQ29uZmlnU2VydmljZSwgWXVuemFpVXRpbEN1cnJlbmN5Q29uZmlnIH0gZnJvbSAnQHllbG9uL3V0aWwvY29uZmlnJztcbmltcG9ydCB0eXBlIHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcblxuaW1wb3J0IHtcbiAgQ3VycmVuY3lDTllPcHRpb25zLFxuICBDdXJyZW5jeUZvcm1hdE9wdGlvbnMsXG4gIEN1cnJlbmN5TWVnYU9wdGlvbnMsXG4gIEN1cnJlbmN5TWVnYVJlc3VsdCxcbiAgQ3VycmVuY3lNZWdhX1Bvd2Vyc1xufSBmcm9tICcuL2N1cnJlbmN5LnR5cGVzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsZSA9IGluamVjdChMT0NBTEVfSUQpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZkN1cnJlbmN5Q29kZSA9IGluamVjdChERUZBVUxUX0NVUlJFTkNZX0NPREUsIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gJ1VTRCc7XG5cbiAgcHJpdmF0ZSBjOiBZdW56YWlVdGlsQ3VycmVuY3lDb25maWc7XG4gIHByaXZhdGUgcmVhZG9ubHkgY3VycmVuY3lQaXBlOiBDdXJyZW5jeVBpcGU7XG5cbiAgY29uc3RydWN0b3IoY29nOiBZdW56YWlDb25maWdTZXJ2aWNlKSB7XG4gICAgdGhpcy5jdXJyZW5jeVBpcGUgPSBuZXcgQ3VycmVuY3lQaXBlKHRoaXMubG9jYWxlLCB0aGlzLmRlZkN1cnJlbmN5Q29kZSk7XG4gICAgdGhpcy5jID0gY29nLm1lcmdlKCd1dGlsQ3VycmVuY3knLCB7XG4gICAgICBzdGFydGluZ1VuaXQ6ICd5dWFuJyxcbiAgICAgIG1lZ2FVbml0OiB7IFE6ICfkuqwnLCBUOiAn5YWGJywgQjogJ+S6vycsIE06ICfkuIcnLCBLOiAn5Y2DJyB9LFxuICAgICAgcHJlY2lzaW9uOiAyLFxuICAgICAgaWdub3JlWmVyb1ByZWNpc2lvbjogdHJ1ZVxuICAgIH0pITtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtYXQgYSBudW1iZXIgd2l0aCBjb21tYXMgYXMgdGhvdXNhbmRzIHNlcGFyYXRvcnNcbiAgICpcbiAgICog5qC85byP5YyW6LSn5biB77yM55So6YCX5Y+35bCG5pWw5a2X5qC85byP5YyW5Li65Y2D5L2N5YiG6ZqU56ymXG4gICAqIGBgYHRzXG4gICAqIDEwMDAwID0+IGAxMCwwMDBgXG4gICAqIDEwMDAwLjU2NyA9PiBgMTAsMDAwLjU3YFxuICAgKiBgYGBcbiAgICovXG4gIGZvcm1hdCh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBvcHRpb25zPzogQ3VycmVuY3lGb3JtYXRPcHRpb25zKTogc3RyaW5nIHtcbiAgICBvcHRpb25zID0ge1xuICAgICAgc3RhcnRpbmdVbml0OiB0aGlzLmMuc3RhcnRpbmdVbml0LFxuICAgICAgcHJlY2lzaW9uOiB0aGlzLmMucHJlY2lzaW9uLFxuICAgICAgaWdub3JlWmVyb1ByZWNpc2lvbjogdGhpcy5jLmlnbm9yZVplcm9QcmVjaXNpb24sXG4gICAgICBuZ0N1cnJlbmN5OiB0aGlzLmMubmdDdXJyZW5jeSxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9O1xuICAgIGxldCB0cnV0aFZhbHVlID0gTnVtYmVyKHZhbHVlKTtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCB8fCBpc05hTih0cnV0aFZhbHVlKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5zdGFydGluZ1VuaXQgPT09ICdjZW50Jykge1xuICAgICAgdHJ1dGhWYWx1ZSA9IHRydXRoVmFsdWUgLyAxMDA7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLm5nQ3VycmVuY3kgIT0gbnVsbCkge1xuICAgICAgY29uc3QgY3VyID0gb3B0aW9ucy5uZ0N1cnJlbmN5ITtcbiAgICAgIHJldHVybiB0aGlzLmN1cnJlbmN5UGlwZS50cmFuc2Zvcm0oXG4gICAgICAgIHRydXRoVmFsdWUsXG4gICAgICAgIGN1ci5jdXJyZW5jeUNvZGUsXG4gICAgICAgIGN1ci5kaXNwbGF5LFxuICAgICAgICBjdXIuZGlnaXRzSW5mbyxcbiAgICAgICAgY3VyLmxvY2FsZSB8fCB0aGlzLmxvY2FsZVxuICAgICAgKSE7XG4gICAgfVxuICAgIGNvbnN0IHJlcyA9IGZvcm1hdE51bWJlcihcbiAgICAgIHRydXRoVmFsdWUsXG4gICAgICB0aGlzLmxvY2FsZSxcbiAgICAgIGAuJHtvcHRpb25zLmlnbm9yZVplcm9QcmVjaXNpb24gPyAxIDogb3B0aW9ucy5wcmVjaXNpb259LSR7b3B0aW9ucy5wcmVjaXNpb259YFxuICAgICk7XG4gICAgcmV0dXJuIG9wdGlvbnMuaWdub3JlWmVyb1ByZWNpc2lvbiA/IHJlcy5yZXBsYWNlKC8oPzpcXC5bMF0rKSQvZywgJycpIDogcmVzO1xuICB9XG5cbiAgLyoqXG4gICAqIExhcmdlIG51bWJlciBmb3JtYXQgZmlsdGVyXG4gICAqXG4gICAqIOWkp+aVsOaNruagvOW8j+WMllxuICAgKiBgYGB0c1xuICAgKiAxMDAwID0+IHsgdmFsdWU6ICcxJywgdW5pdDogJ0snLCB1bml0STE4bjogJ+WNgycgfVxuICAgKiAxMjQ1NiA9PiB7IHZhbHVlOiAnMTIuNDYnLCB1bml0OiAnSycsIHVuaXRJMThuOiAn5Y2DJyB9XG4gICAqIGBgYFxuICAgKi9cbiAgbWVnYSh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBvcHRpb25zPzogQ3VycmVuY3lNZWdhT3B0aW9ucyk6IEN1cnJlbmN5TWVnYVJlc3VsdCB7XG4gICAgb3B0aW9ucyA9IHsgcHJlY2lzaW9uOiB0aGlzLmMucHJlY2lzaW9uLCB1bml0STE4bjogdGhpcy5jLm1lZ2FVbml0LCBzdGFydGluZ1VuaXQ6IHRoaXMuYy5zdGFydGluZ1VuaXQsIC4uLm9wdGlvbnMgfTtcbiAgICBsZXQgbnVtID0gTnVtYmVyKHZhbHVlKTtcbiAgICBjb25zdCByZXM6IEN1cnJlbmN5TWVnYVJlc3VsdCA9IHsgcmF3OiB2YWx1ZSwgdmFsdWU6ICcnLCB1bml0OiAnJywgdW5pdEkxOG46ICcnIH07XG4gICAgaWYgKGlzTmFOKG51bSkgfHwgbnVtID09PSAwKSB7XG4gICAgICByZXMudmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuc3RhcnRpbmdVbml0ID09PSAnY2VudCcpIHtcbiAgICAgIG51bSA9IG51bSAvIDEwMDtcbiAgICB9XG4gICAgbGV0IGFicyA9IE1hdGguYWJzKCtudW0pO1xuICAgIGNvbnN0IHJvdW5kZXIgPSBNYXRoLnBvdygxMCwgb3B0aW9ucy5wcmVjaXNpb24hKTtcbiAgICBjb25zdCBpc05lZ2F0aXZlID0gbnVtIDwgMDtcbiAgICBmb3IgKGNvbnN0IHAgb2YgQ3VycmVuY3lNZWdhX1Bvd2Vycykge1xuICAgICAgbGV0IHJlZHVjZWQgPSBhYnMgLyBwLnZhbHVlO1xuXG4gICAgICByZWR1Y2VkID0gTWF0aC5yb3VuZChyZWR1Y2VkICogcm91bmRlcikgLyByb3VuZGVyO1xuXG4gICAgICBpZiAocmVkdWNlZCA+PSAxKSB7XG4gICAgICAgIGFicyA9IHJlZHVjZWQ7XG4gICAgICAgIHJlcy51bml0ID0gcC51bml0O1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXMudmFsdWUgPSAoaXNOZWdhdGl2ZSA/ICctJyA6ICcnKSArIGFicztcbiAgICByZXMudW5pdEkxOG4gPSAob3B0aW9ucy51bml0STE4biBhcyB7IFtrZXk6IHN0cmluZ106IE56U2FmZUFueSB9KVtyZXMudW5pdF07XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0ZWQgaW50byBSTUIgbm90YXRpb24uXG4gICAqXG4gICAqIOi9rOWMluaIkOS6uuawkeW4geihqOekuuazlVxuICAgKi9cbiAgY255KHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIG9wdGlvbnM/OiBDdXJyZW5jeUNOWU9wdGlvbnMpOiBzdHJpbmcge1xuICAgIG9wdGlvbnMgPSB7XG4gICAgICBpbldvcmRzOiB0cnVlLFxuICAgICAgbWludXNTeW1ib2w6ICfotJ8nLFxuICAgICAgc3RhcnRpbmdVbml0OiB0aGlzLmMuc3RhcnRpbmdVbml0LFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH07XG5cbiAgICB2YWx1ZSA9IE51bWJlcih2YWx1ZSk7XG4gICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5zdGFydGluZ1VuaXQgPT09ICdjZW50Jykge1xuICAgICAgdmFsdWUgPSB2YWx1ZSAvIDEwMDtcbiAgICB9XG4gICAgdmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xuICAgIGxldCBpbnRlZ2VyOiBudW1iZXIgfCBzdHJpbmc7XG4gICAgbGV0IGRlY2ltYWw6IG51bWJlciB8IHN0cmluZyB8IG51bGw7XG4gICAgW2ludGVnZXIsIGRlY2ltYWxdID0gdmFsdWUuc3BsaXQoJy4nKTtcbiAgICBsZXQgc3ltYm9sID0gJyc7XG4gICAgaWYgKGludGVnZXIuc3RhcnRzV2l0aCgnLScpKSB7XG4gICAgICBzeW1ib2wgPSBvcHRpb25zLm1pbnVzU3ltYm9sITtcbiAgICAgIGludGVnZXIgPSBpbnRlZ2VyLnN1YnN0cmluZygxKTtcbiAgICB9XG4gICAgaWYgKC9eLT9cXGQrJC8udGVzdCh2YWx1ZSkpIHtcbiAgICAgIGRlY2ltYWwgPSBudWxsO1xuICAgIH1cbiAgICBpbnRlZ2VyID0gKCtpbnRlZ2VyKS50b1N0cmluZygpO1xuICAgIGNvbnN0IGluV29yZHMgPSBvcHRpb25zLmluV29yZHM7XG4gICAgY29uc3QgdW5pdDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXSB9ID0ge1xuICAgICAgbnVtOiBpbldvcmRzXG4gICAgICAgID8gWycnLCAn5aO5JywgJ+i0sCcsICflj4EnLCAn6IKGJywgJ+S8jScsICfpmYYnLCAn5p+SJywgJ+aNjCcsICfnjpYnLCAn54K5J11cbiAgICAgICAgOiBbJycsICfkuIAnLCAn5LqMJywgJ+S4iScsICflm5snLCAn5LqUJywgJ+WFrScsICfkuIMnLCAn5YWrJywgJ+S5nScsICfngrknXSxcbiAgICAgIHJhZGljZTogaW5Xb3Jkc1xuICAgICAgICA/IFtcbiAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgJ+aLvicsXG4gICAgICAgICAgICAn5L2wJyxcbiAgICAgICAgICAgICfku58nLFxuICAgICAgICAgICAgJ+S4hycsXG4gICAgICAgICAgICAn5ou+JyxcbiAgICAgICAgICAgICfkvbAnLFxuICAgICAgICAgICAgJ+S7nycsXG4gICAgICAgICAgICAn5Lq/JyxcbiAgICAgICAgICAgICfmi74nLFxuICAgICAgICAgICAgJ+S9sCcsXG4gICAgICAgICAgICAn5LufJyxcbiAgICAgICAgICAgICfkuIfkur8nLFxuICAgICAgICAgICAgJ+aLvicsXG4gICAgICAgICAgICAn5L2wJyxcbiAgICAgICAgICAgICfku58nLFxuICAgICAgICAgICAgJ+WFhicsXG4gICAgICAgICAgICAn5ou+JyxcbiAgICAgICAgICAgICfkvbAnLFxuICAgICAgICAgICAgJ+S7nydcbiAgICAgICAgICBdXG4gICAgICAgIDogW1xuICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAn5Y2BJyxcbiAgICAgICAgICAgICfnmb4nLFxuICAgICAgICAgICAgJ+WNgycsXG4gICAgICAgICAgICAn5LiHJyxcbiAgICAgICAgICAgICfljYEnLFxuICAgICAgICAgICAgJ+eZvicsXG4gICAgICAgICAgICAn5Y2DJyxcbiAgICAgICAgICAgICfkur8nLFxuICAgICAgICAgICAgJ+WNgScsXG4gICAgICAgICAgICAn55m+JyxcbiAgICAgICAgICAgICfljYMnLFxuICAgICAgICAgICAgJ+S4h+S6vycsXG4gICAgICAgICAgICAn5Y2BJyxcbiAgICAgICAgICAgICfnmb4nLFxuICAgICAgICAgICAgJ+WNgycsXG4gICAgICAgICAgICAn5YWGJyxcbiAgICAgICAgICAgICfljYEnLFxuICAgICAgICAgICAgJ+eZvicsXG4gICAgICAgICAgICAn5Y2DJ1xuICAgICAgICAgIF0sXG4gICAgICBkZWM6IFsn6KeSJywgJ+WIhicsICfljpgnLCAn5q+rJ11cbiAgICB9O1xuICAgIGlmIChpbldvcmRzKSB7XG4gICAgICB2YWx1ZSA9ICgrdmFsdWUpLnRvRml4ZWQoNSkudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgbGV0IGludGVnZXJSZXMgPSAnJztcbiAgICBjb25zdCBpbnRlZ2VyQ291bnQgPSBpbnRlZ2VyLmxlbmd0aDtcbiAgICBpZiAoaW50ZWdlciA9PT0gJzAnIHx8IGludGVnZXJDb3VudCA9PT0gMCkge1xuICAgICAgaW50ZWdlclJlcyA9ICfpm7YnO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgY25EZXNjID0gJyc7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGludGVnZXJDb3VudDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IG4gPSAraW50ZWdlcltpXTtcbiAgICAgICAgY29uc3QgaiA9IGludGVnZXJDb3VudCAtIGkgLSAxO1xuICAgICAgICBjb25zdCBpc1plcm8gPSBpID4gMSAmJiBuICE9PSAwICYmIGludGVnZXJbaSAtIDFdID09PSAnMCc7XG4gICAgICAgIGNvbnN0IGNuWmVybyA9IGlzWmVybyA/ICfpm7YnIDogJyc7XG4gICAgICAgIGNvbnN0IGlzRW1wcHR5VW5pdCA9IChuID09PSAwICYmIGogJSA0ICE9PSAwKSB8fCBpbnRlZ2VyLnN1YnN0cmluZyhpIC0gMywgaSAtIDMgKyA0KSA9PT0gJzAwMDAnO1xuICAgICAgICBjb25zdCBkZXNjTWFyayA9IGNuRGVzYztcbiAgICAgICAgbGV0IGNuTnVtID0gdW5pdC5udW1bbl07XG5cbiAgICAgICAgY25EZXNjID0gaXNFbXBwdHlVbml0ID8gJycgOiB1bml0LnJhZGljZVtqXTtcbiAgICAgICAgLy8g56ys5LiA5L2N5piv5LiA5Y2BXG4gICAgICAgIGlmIChpID09PSAwICYmIGNuTnVtID09PSAn5LiAJyAmJiBjbkRlc2MgPT09ICfljYEnKSBjbk51bSA9ICcnO1xuICAgICAgICBjb25zdCBpc0NoYW5nZUVyID1cbiAgICAgICAgICBuID4gMSAmJlxuICAgICAgICAgIGNuTnVtID09PSAn5LqMJyAmJiAvLyDljrvpmaTpppbkvY1cbiAgICAgICAgICBbJycsICfljYEnLCAn55m+J10uaW5kZXhPZihjbkRlc2MpID09PSAtMSAmJiAvLyDkuI3or7vkuKRcXOS4pOWNgVxc5Lik55m+XG4gICAgICAgICAgZGVzY01hcmsgIT09ICfljYEnOyAvLyDkuI3or7vljYHkuKRcbiAgICAgICAgaWYgKGlzQ2hhbmdlRXIpIGNuTnVtID0gJ+S4pCc7XG4gICAgICAgIGludGVnZXJSZXMgKz0gY25aZXJvICsgY25OdW0gKyBjbkRlc2M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8g5bCP5pWw6YOo5YiG5ou85o6lXG4gICAgbGV0IGRlY2ltYWxSZXMgPSAnJztcbiAgICBjb25zdCBkZWNpbWFsQ291bnQgPSBkZWNpbWFsID8gZGVjaW1hbC50b1N0cmluZygpLmxlbmd0aCA6IDA7XG4gICAgaWYgKGRlY2ltYWwgPT09IG51bGwpIHtcbiAgICAgIGRlY2ltYWxSZXMgPSBpbldvcmRzID8gJ+aVtCcgOiAnJztcbiAgICB9IGVsc2UgaWYgKGRlY2ltYWwgPT09ICcwJykge1xuICAgICAgZGVjaW1hbFJlcyA9ICfpm7YnO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRlY2ltYWxDb3VudDsgaSsrKSB7XG4gICAgICAgIGlmIChpbldvcmRzICYmIGkgPiB1bml0LmRlYy5sZW5ndGggLSAxKSBicmVhaztcbiAgICAgICAgY29uc3QgbiA9IGRlY2ltYWxbaV07XG4gICAgICAgIGNvbnN0IGNuWmVybyA9IG4gPT09ICcwJyA/ICfpm7YnIDogJyc7XG4gICAgICAgIGNvbnN0IGNuTnVtID0gdW5pdC5udW1bK25dO1xuICAgICAgICBjb25zdCBjbkRlc2MgPSBpbldvcmRzID8gdW5pdC5kZWNbaV0gOiAnJztcbiAgICAgICAgZGVjaW1hbFJlcyArPSBjblplcm8gKyBjbk51bSArIGNuRGVzYztcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgcmV0ID1cbiAgICAgIHN5bWJvbCArXG4gICAgICAoaW5Xb3Jkc1xuICAgICAgICA/IGludGVnZXJSZXMgKyAoZGVjaW1hbFJlcyA9PT0gJ+mbticgPyAn5YWD5pW0JyA6IGDlhYMke2RlY2ltYWxSZXN9YClcbiAgICAgICAgOiBpbnRlZ2VyUmVzICsgKGRlY2ltYWxSZXMgPT09ICcnID8gJycgOiBg54K5JHtkZWNpbWFsUmVzfWApKTtcbiAgICByZXR1cm4gcmV0O1xuICB9XG59XG4iXX0=
@@ -1,8 +0,0 @@
1
- export const CurrencyMega_Powers = [
2
- { unit: 'Q', value: Math.pow(10, 15) },
3
- { unit: 'T', value: Math.pow(10, 12) },
4
- { unit: 'B', value: Math.pow(10, 9) },
5
- { unit: 'M', value: Math.pow(10, 6) },
6
- { unit: 'K', value: 1000 }
7
- ];
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL2Zvcm1hdC9jdXJyZW5jeS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnRUEsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDakMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtJQUN0QyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO0lBQ3RDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUU7SUFDckMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRTtJQUNyQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtDQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQ3VycmVuY3lTdGFydGluZ1VuaXQgPSAneXVhbicgfCAnY2VudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VycmVuY3lTdGFydGluZ1VuaXRPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBzdGFydGluZyB1bml0IG9mIHRoZSB2YWx1ZSwgYHl1YW5gIG1lYW5zIOWFgywgYGNlbnRgIG1lYW5zIOWIhiwgZGVmYXVsdDogYHl1YW5gXG4gICAqXG4gICAqIOWAvOeahOi1t+Wni+WNleS9je+8jGB5dWFuYCDlhYPvvIxgY2VudGAg5YiG77yM6buY6K6k77yaYHl1YW5gXG4gICAqL1xuICBzdGFydGluZ1VuaXQ/OiBDdXJyZW5jeVN0YXJ0aW5nVW5pdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXJyZW5jeUZvcm1hdE9wdGlvbnMgZXh0ZW5kcyBDdXJyZW5jeVN0YXJ0aW5nVW5pdE9wdGlvbnMge1xuICAvKipcbiAgICogVXNpbmcgYERFRkFVTFRfQ1VSUkVOQ1lfQ09ERWAgd2hlbiB2YWx1ZSBpcyBgdHJ1ZVxuICAgKlxuICAgKiDmmK/lkKbkvb/nlKggYEN1cnJlbmN5UGlwZWAg5p2l5pu/5LujXG4gICAqL1xuICB1c2VBbmd1bGFyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIOeyvuW6pu+8jOm7mOiupO+8mmAyYFxuICAgKi9cbiAgcHJlY2lzaW9uPzogbnVtYmVyO1xuICAvKipcbiAgICog5piv5ZCm5b+955Wl57K+5bqmIGAuMGAg5oiWIGAuMDBgIOe7k+WwvueahOWtl+espu+8jOm7mOiupO+8mmB0cnVlYFxuICAgKi9cbiAgaWdub3JlWmVyb1ByZWNpc2lvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFVzZSBhbmd1YXIgYGN1cnJlbmN5YCBwaXBlIHBhcnNlIHdoZW4gaXMgc2V0LCBwbHMgcmVmZXIgdG8gW2RvY3VtZW50XShodHRwczovL2FuZ3VsYXIuaW8vYXBpL2NvbW1vbi9DdXJyZW5jeVBpcGUpXG4gICAqXG4gICAqIOiLpeaMh+WumuWImeihqOekuuS9v+eUqCBBbmd1bGFyIOiHquW4pueahCBgY3VycmVuY3lgIOeuoemBk+adpeino+aekO+8jOingVvmlofmoaNdKGh0dHBzOi8vYW5ndWxhci5jbi9hcGkvY29tbW9uL0N1cnJlbmN5UGlwZSlcbiAgICovXG4gIG5nQ3VycmVuY3k/OiB7XG4gICAgZGlzcGxheTogJ2NvZGUnIHwgJ3N5bWJvbCcgfCAnc3ltYm9sLW5hcnJvdyc7XG4gICAgY3VycmVuY3lDb2RlPzogc3RyaW5nO1xuICAgIGRpZ2l0c0luZm8/OiBzdHJpbmc7XG4gICAgbG9jYWxlPzogc3RyaW5nO1xuICB9O1xufVxuXG4vKipcbiAqIExhcmdlIG51bWJlciBmb3JtYXQgZmlsdGVyLCBbRG9jdW1lbnRdKGh0dHBzOi8vbmcueXVuemFpbmZvLmNvbS91dGlsL2Zvcm1hdC9lbiNtZWdhKVxuICpcbiAqIOWkp+aVsOaNruagvOW8j+WMlu+8jFvmlofmoaNdKGh0dHBzOi8vbmcueXVuemFpbmZvLmNvbS91dGlsL2Zvcm1hdC9lbiNtZWdhKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEN1cnJlbmN5TWVnYU9wdGlvbnMgZXh0ZW5kcyBDdXJyZW5jeVN0YXJ0aW5nVW5pdE9wdGlvbnMge1xuICAvKipcbiAgICog57K+5bqm77yM6buY6K6k77yaYDJgXG4gICAqL1xuICBwcmVjaXNpb24/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIOWNleS9jeWbvemZheWMlu+8jOm7mOiupO+8mmB7UTogJ+S6rCcsIFQ6ICflhYYnLCBCOiAn5Lq/JywgTTogJ+S4hycsIEs6ICfljYMnLH1gXG4gICAqL1xuICB1bml0STE4bj86IEN1cnJlbmN5TWVnYVVuaXRJMThuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1cnJlbmN5TWVnYVJlc3VsdCB7XG4gIHJhdzogbnVtYmVyIHwgc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xuICB1bml0OiBzdHJpbmc7XG4gIHVuaXRJMThuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBDdXJyZW5jeU1lZ2FfUG93ZXJzID0gW1xuICB7IHVuaXQ6ICdRJywgdmFsdWU6IE1hdGgucG93KDEwLCAxNSkgfSxcbiAgeyB1bml0OiAnVCcsIHZhbHVlOiBNYXRoLnBvdygxMCwgMTIpIH0sXG4gIHsgdW5pdDogJ0InLCB2YWx1ZTogTWF0aC5wb3coMTAsIDkpIH0sXG4gIHsgdW5pdDogJ00nLCB2YWx1ZTogTWF0aC5wb3coMTAsIDYpIH0sXG4gIHsgdW5pdDogJ0snLCB2YWx1ZTogMTAwMCB9XG5dO1xuXG5leHBvcnQgaW50ZXJmYWNlIEN1cnJlbmN5TWVnYVVuaXRJMThuIHtcbiAgUTogc3RyaW5nO1xuICBUOiBzdHJpbmc7XG4gIEI6IHN0cmluZztcbiAgTTogc3RyaW5nO1xuICBLOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VycmVuY3lDTllPcHRpb25zIGV4dGVuZHMgQ3VycmVuY3lTdGFydGluZ1VuaXRPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmV0dXJuIHRvIHVwcGVyY2FzZSBub3RhdGlvbiwgZGVmYXVsdDogYHRydWVgXG4gICAqXG4gICAqIOaYr+WQpui/lOWbnuWkp+WGmeihqOekuuazle+8jOm7mOiupO+8mmB0cnVlYFxuICAgKi9cbiAgaW5Xb3Jkcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTcGVjaWZ5IG5lZ2F0aXZlIHNpZ24sIGRlZmF1bHQ6IGBuZWdhdGl2ZWBcbiAgICpcbiAgICog5oyH5a6a6LSf5pWw56ym5Y+377yM6buY6K6k77yaYOi0n2BcbiAgICovXG4gIG1pbnVzU3ltYm9sPzogc3RyaW5nO1xufVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbC9mb3JtYXQvZm9ybWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -1,5 +0,0 @@
1
- export * from './string';
2
- export * from './validate';
3
- export * from './currency.service';
4
- export * from './currency.types';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL2Zvcm1hdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3N0cmluZyc7XG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vY3VycmVuY3kuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2N1cnJlbmN5LnR5cGVzJztcbiJdfQ==
@@ -1,85 +0,0 @@
1
- import { deepGet } from '@yelon/util/other';
2
- /**
3
- * String formatting
4
- *
5
- * 字符串格式化
6
- * ```
7
- * format('this is ${name}', { name: 'asdf' })
8
- * // output: this is asdf
9
- * format('this is ${user.name}', { user: { name: 'asdf' } }, true)
10
- * // output: this is asdf
11
- * ```
12
- */
13
- export function format(str, obj, needDeepGet = false) {
14
- return (str || '').replace(/\${([^}]+)}/g, (_work, key) => needDeepGet ? deepGet(obj, key.split('.'), '') : (obj || {})[key] || '');
15
- }
16
- /**
17
- * Format mask
18
- *
19
- * 格式化掩码
20
- *
21
- * | 字符 | 描述 |
22
- * | --- | --- |
23
- * | `0` | 任意数字,若该位置字符不符合,则默认为 `0` 填充 |
24
- * | `9` | 任意数字 |
25
- * | `#` | 任意字符 |
26
- * | `U` | 转换大写 |
27
- * | `L` | 转换小写 |
28
- * | `*` | 转换为 `*` 字符 |
29
- *
30
- * ```ts
31
- * formatMask('123', '(###)') => (123)
32
- * formatMask('15900000000', '999****9999') => 159****0000
33
- * ```
34
- */
35
- export function formatMask(value, option) {
36
- if (!value) {
37
- return '';
38
- }
39
- const opt = {
40
- ...(typeof option === 'string' ? { mask: option } : option)
41
- };
42
- const tokens = {
43
- '0': { pattern: /\d/, default: '0' },
44
- '9': { pattern: /\d/ },
45
- '#': { pattern: /[a-zA-Z0-9]/ },
46
- U: {
47
- pattern: /[a-zA-Z]/,
48
- transform: char => char.toLocaleUpperCase()
49
- },
50
- L: {
51
- pattern: /[a-zA-Z]/,
52
- transform: char => char.toLocaleLowerCase()
53
- },
54
- '*': {
55
- pattern: /.*/,
56
- transform: _ => `*`
57
- },
58
- ...opt.tokens
59
- };
60
- const splitValue = value.split('');
61
- return opt.mask
62
- .split('')
63
- .reduce((res, cur) => {
64
- const token = tokens[cur];
65
- if (!token) {
66
- res.push(cur);
67
- return res;
68
- }
69
- const value = splitValue.shift() ?? '';
70
- if (!token.pattern.test(value)) {
71
- if (token.default)
72
- res.push(token.default);
73
- return res;
74
- }
75
- if (typeof token.transform === 'function') {
76
- res.push(token.transform(value));
77
- }
78
- else {
79
- res.push(value);
80
- }
81
- return res;
82
- }, [])
83
- .join('');
84
- }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbC9mb3JtYXQvc3RyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUc1Qzs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FDcEIsR0FBOEIsRUFDOUIsR0FBaUMsRUFDakMsY0FBdUIsS0FBSztJQUU1QixPQUFPLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFhLEVBQUUsR0FBVyxFQUFFLEVBQUUsQ0FDeEUsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FDeEUsQ0FBQztBQUNKLENBQUM7QUFhRDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFhLEVBQUUsTUFBaUM7SUFDekUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsTUFBTSxHQUFHLEdBQXFCO1FBQzVCLEdBQUcsQ0FBQyxPQUFPLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7S0FDNUQsQ0FBQztJQUNGLE1BQU0sTUFBTSxHQUF1QztRQUNqRCxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDcEMsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtRQUN0QixHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFO1FBQy9CLENBQUMsRUFBRTtZQUNELE9BQU8sRUFBRSxVQUFVO1lBQ25CLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtTQUM1QztRQUNELENBQUMsRUFBRTtZQUNELE9BQU8sRUFBRSxVQUFVO1lBQ25CLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtTQUM1QztRQUNELEdBQUcsRUFBRTtZQUNILE9BQU8sRUFBRSxJQUFJO1lBQ2IsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRztTQUNwQjtRQUNELEdBQUcsR0FBRyxDQUFDLE1BQU07S0FDZCxDQUFDO0lBRUYsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuQyxPQUFPLEdBQUcsQ0FBQyxJQUFJO1NBQ1osS0FBSyxDQUFDLEVBQUUsQ0FBQztTQUNULE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNuQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNkLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDL0IsSUFBSSxLQUFLLENBQUMsT0FBTztnQkFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzQyxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7UUFFRCxJQUFJLE9BQU8sS0FBSyxDQUFDLFNBQVMsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUMxQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuQyxDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEIsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUFFLEVBQWMsQ0FBQztTQUNqQixJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVlcEdldCB9IGZyb20gJ0B5ZWxvbi91dGlsL290aGVyJztcbmltcG9ydCB0eXBlIHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcblxuLyoqXG4gKiBTdHJpbmcgZm9ybWF0dGluZ1xuICpcbiAqIOWtl+espuS4suagvOW8j+WMllxuICogYGBgXG4gKiBmb3JtYXQoJ3RoaXMgaXMgJHtuYW1lfScsIHsgbmFtZTogJ2FzZGYnIH0pXG4gKiAvLyBvdXRwdXQ6IHRoaXMgaXMgYXNkZlxuICogZm9ybWF0KCd0aGlzIGlzICR7dXNlci5uYW1lfScsIHsgdXNlcjogeyBuYW1lOiAnYXNkZicgfSB9LCB0cnVlKVxuICogLy8gb3V0cHV0OiB0aGlzIGlzIGFzZGZcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0KFxuICBzdHI6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsXG4gIG9iajogTnpTYWZlQW55IHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgbmVlZERlZXBHZXQ6IGJvb2xlYW4gPSBmYWxzZVxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIChzdHIgfHwgJycpLnJlcGxhY2UoL1xcJHsoW159XSspfS9nLCAoX3dvcms6IHN0cmluZywga2V5OiBzdHJpbmcpID0+XG4gICAgbmVlZERlZXBHZXQgPyBkZWVwR2V0KG9iaiwga2V5LnNwbGl0KCcuJyksICcnKSA6IChvYmogfHwge30pW2tleV0gfHwgJydcbiAgKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtYXRNYXNrT3B0aW9uIHtcbiAgbWFzazogc3RyaW5nO1xuICB0b2tlbnM/OiB7IFtrZXk6IHN0cmluZ106IEZvcm1hdE1hc2tUb2tlbiB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdE1hc2tUb2tlbiB7XG4gIHBhdHRlcm46IFJlZ0V4cDtcbiAgZGVmYXVsdD86IE56U2FmZUFueTtcbiAgdHJhbnNmb3JtPzogKGNoYXI6IHN0cmluZykgPT4gc3RyaW5nO1xufVxuXG4vKipcbiAqIEZvcm1hdCBtYXNrXG4gKlxuICog5qC85byP5YyW5o6p56CBXG4gKlxuICogfCDlrZfnrKYgfCDmj4/ov7AgfFxuICogfCAtLS0gfCAtLS0gfFxuICogfCBgMGAgfCDku7vmhI/mlbDlrZfvvIzoi6Xor6XkvY3nva7lrZfnrKbkuI3nrKblkIjvvIzliJnpu5jorqTkuLogYDBgIOWhq+WFhSB8XG4gKiB8IGA5YCB8IOS7u+aEj+aVsOWtlyB8XG4gKiB8IGAjYCB8IOS7u+aEj+Wtl+espiB8XG4gKiB8IGBVYCB8IOi9rOaNouWkp+WGmSB8XG4gKiB8IGBMYCB8IOi9rOaNouWwj+WGmSB8XG4gKiB8IGAqYCB8IOi9rOaNouS4uiBgKmAg5a2X56ymIHxcbiAqXG4gKiBgYGB0c1xuICogZm9ybWF0TWFzaygnMTIzJywgJygjIyMpJykgPT4gKDEyMylcbiAqIGZvcm1hdE1hc2soJzE1OTAwMDAwMDAwJywgJzk5OSoqKio5OTk5JykgPT4gMTU5KioqKjAwMDBcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0TWFzayh2YWx1ZTogc3RyaW5nLCBvcHRpb246IHN0cmluZyB8IEZvcm1hdE1hc2tPcHRpb24pOiBzdHJpbmcge1xuICBpZiAoIXZhbHVlKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIGNvbnN0IG9wdDogRm9ybWF0TWFza09wdGlvbiA9IHtcbiAgICAuLi4odHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZycgPyB7IG1hc2s6IG9wdGlvbiB9IDogb3B0aW9uKVxuICB9O1xuICBjb25zdCB0b2tlbnM6IHsgW2tleTogc3RyaW5nXTogRm9ybWF0TWFza1Rva2VuIH0gPSB7XG4gICAgJzAnOiB7IHBhdHRlcm46IC9cXGQvLCBkZWZhdWx0OiAnMCcgfSxcbiAgICAnOSc6IHsgcGF0dGVybjogL1xcZC8gfSxcbiAgICAnIyc6IHsgcGF0dGVybjogL1thLXpBLVowLTldLyB9LFxuICAgIFU6IHtcbiAgICAgIHBhdHRlcm46IC9bYS16QS1aXS8sXG4gICAgICB0cmFuc2Zvcm06IGNoYXIgPT4gY2hhci50b0xvY2FsZVVwcGVyQ2FzZSgpXG4gICAgfSxcbiAgICBMOiB7XG4gICAgICBwYXR0ZXJuOiAvW2EtekEtWl0vLFxuICAgICAgdHJhbnNmb3JtOiBjaGFyID0+IGNoYXIudG9Mb2NhbGVMb3dlckNhc2UoKVxuICAgIH0sXG4gICAgJyonOiB7XG4gICAgICBwYXR0ZXJuOiAvLiovLFxuICAgICAgdHJhbnNmb3JtOiBfID0+IGAqYFxuICAgIH0sXG4gICAgLi4ub3B0LnRva2Vuc1xuICB9O1xuXG4gIGNvbnN0IHNwbGl0VmFsdWUgPSB2YWx1ZS5zcGxpdCgnJyk7XG4gIHJldHVybiBvcHQubWFza1xuICAgIC5zcGxpdCgnJylcbiAgICAucmVkdWNlKChyZXMsIGN1cikgPT4ge1xuICAgICAgY29uc3QgdG9rZW4gPSB0b2tlbnNbY3VyXTtcbiAgICAgIGlmICghdG9rZW4pIHtcbiAgICAgICAgcmVzLnB1c2goY3VyKTtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgIH1cblxuICAgICAgY29uc3QgdmFsdWUgPSBzcGxpdFZhbHVlLnNoaWZ0KCkgPz8gJyc7XG4gICAgICBpZiAoIXRva2VuLnBhdHRlcm4udGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgaWYgKHRva2VuLmRlZmF1bHQpIHJlcy5wdXNoKHRva2VuLmRlZmF1bHQpO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIHRva2VuLnRyYW5zZm9ybSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXMucHVzaCh0b2tlbi50cmFuc2Zvcm0odmFsdWUpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlcy5wdXNoKHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXM7XG4gICAgfSwgW10gYXMgc3RyaW5nW10pXG4gICAgLmpvaW4oJycpO1xufVxuIl19
@@ -1,94 +0,0 @@
1
- export const REGEX_STR = {
2
- num: `(([-+]?\\d+\\.\\d+)|([-+]?\\d+)|([-+]?\\.\\d+))(?:[eE]([-+]?\\d+))?`,
3
- idCard: `(^\\d{15}$)|(^\\d{17}(?:[0-9]|X)$)`,
4
- mobile: `^(0|\\+?86|17951)?1[0-9]{10}$`,
5
- url: `(((^https?:(?:\/\/)?)(?:[-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9.-]+(?::\\d+)?|(?:www.|[-;:&=\\+\\$,\\w]+@)[A-Za-z0-9.-]+)((?:\/[\\+~%\\/.\\w-_]*)?\\??(?:[-\\+=&;%@.\\w_]*)#?(?:[\\w]*))?)`,
6
- ip: `(?:^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$)|(?:^(?:(?:[a-fA-F\\d]{1,4}:){7}(?:[a-fA-F\\d]{1,4}|:)|(?:[a-fA-F\\d]{1,4}:){6}(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|:[a-fA-F\\d]{1,4}|:)|(?:[a-fA-F\\d]{1,4}:){5}(?::(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,2}|:)|(?:[a-fA-F\\d]{1,4}:){4}(?:(?::[a-fA-F\\d]{1,4}){0,1}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,3}|:)|(?:[a-fA-F\\d]{1,4}:){3}(?:(?::[a-fA-F\\d]{1,4}){0,2}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,4}|:)|(?:[a-fA-F\\d]{1,4}:){2}(?:(?::[a-fA-F\\d]{1,4}){0,3}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,5}|:)|(?:[a-fA-F\\d]{1,4}:){1}(?:(?::[a-fA-F\\d]{1,4}){0,4}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,6}|:)|(?::(?:(?::[a-fA-F\\d]{1,4}){0,5}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,7}|:)))(?:%[0-9a-zA-Z]{1,})?$)`,
7
- color: `(?:#|0x)(?:[a-f0-9]{3}|[a-f0-9]{6})\\b|(?:rgb|hsl)a?\\([^\\)]*\\)`,
8
- chinese: `[\u4e00-\u9fa5]+`
9
- };
10
- function genRegex(str, flags) {
11
- return new RegExp(`^${str}$`, flags);
12
- }
13
- export const REGEX = {
14
- num: genRegex(REGEX_STR.num),
15
- idCard: genRegex(REGEX_STR.idCard, 'i'),
16
- mobile: genRegex(REGEX_STR.mobile),
17
- url: genRegex(REGEX_STR.url),
18
- ip: genRegex(REGEX_STR.ip),
19
- color: genRegex(REGEX_STR.color),
20
- chinese: genRegex(REGEX_STR.chinese)
21
- };
22
- /**
23
- * Wheter is number
24
- *
25
- * 是否为数字
26
- */
27
- export function isNum(value) {
28
- return REGEX.num.test(value.toString());
29
- }
30
- /**
31
- * Wheter is integer
32
- *
33
- * 是否为整数
34
- */
35
- export function isInt(value) {
36
- return isNum(value) && parseInt(value.toString(), 10).toString() === value.toString();
37
- }
38
- /**
39
- * Wheter is decimal
40
- *
41
- * 是否为小数点数值
42
- */
43
- export function isDecimal(value) {
44
- return isNum(value) && !isInt(value);
45
- }
46
- /**
47
- * Wheter is People's Republic of China identity card
48
- *
49
- * 是否为中华人民共和国居民身份证
50
- */
51
- export function isIdCard(value) {
52
- return REGEX.idCard.test(value);
53
- }
54
- /**
55
- * Wheter is china mobile (China)
56
- *
57
- * 是否为手机号(中国)
58
- */
59
- export function isMobile(value) {
60
- return REGEX.mobile.test(value);
61
- }
62
- /**
63
- * Wheter is url address
64
- *
65
- * 是否URL地址
66
- */
67
- export function isUrl(url) {
68
- return REGEX.url.test(url);
69
- }
70
- /**
71
- * Wheter is IPv4 address (Support v4, v6)
72
- *
73
- * 是否IP4地址(支持v4、v6)
74
- */
75
- export function isIp(ip) {
76
- return REGEX.ip.test(ip);
77
- }
78
- /**
79
- * Wheter is color
80
- *
81
- * 是否颜色代码值
82
- */
83
- export function isColor(color) {
84
- return REGEX.color.test(color);
85
- }
86
- /**
87
- * Wheter is chinese
88
- *
89
- * 是否中文
90
- */
91
- export function isChinese(value) {
92
- return REGEX.chinese.test(value);
93
- }
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL2Zvcm1hdC92YWxpZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUc7SUFDdkIsR0FBRyxFQUFFLHFFQUFxRTtJQUMxRSxNQUFNLEVBQUUsb0NBQW9DO0lBQzVDLE1BQU0sRUFBRSwrQkFBK0I7SUFDdkMsR0FBRyxFQUFFLG9MQUFvTDtJQUN6TCxFQUFFLEVBQUUsdzBDQUF3MEM7SUFDNTBDLEtBQUssRUFBRSxtRUFBbUU7SUFDMUUsT0FBTyxFQUFFLGtCQUFrQjtDQUM1QixDQUFDO0FBRUYsU0FBUyxRQUFRLENBQUMsR0FBVyxFQUFFLEtBQWM7SUFDM0MsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsR0FBRyxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO0lBQzVCLE1BQU0sRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUM7SUFDdkMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQ2xDLEdBQUcsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUM1QixFQUFFLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7SUFDMUIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQ2hDLE9BQU8sRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztDQUNyQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUMsS0FBc0I7SUFDMUMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUMsS0FBc0I7SUFDMUMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDeEYsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQXNCO0lBQzlDLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFhO0lBQ3BDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQWE7SUFDcEMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUMsR0FBVztJQUMvQixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzdCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLElBQUksQ0FBQyxFQUFVO0lBQzdCLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFDLEtBQWE7SUFDbkMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBYTtJQUNyQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgUkVHRVhfU1RSID0ge1xuICBudW06IGAoKFstK10/XFxcXGQrXFxcXC5cXFxcZCspfChbLStdP1xcXFxkKyl8KFstK10/XFxcXC5cXFxcZCspKSg/OltlRV0oWy0rXT9cXFxcZCspKT9gLFxuICBpZENhcmQ6IGAoXlxcXFxkezE1fSQpfCheXFxcXGR7MTd9KD86WzAtOV18WCkkKWAsXG4gIG1vYmlsZTogYF4oMHxcXFxcKz84NnwxNzk1MSk/MVswLTldezEwfSRgLFxuICB1cmw6IGAoKCheaHR0cHM/Oig/OlxcL1xcLyk/KSg/OlstOzomPVxcXFwrXFxcXCQsXFxcXHddK0ApP1tBLVphLXowLTkuLV0rKD86OlxcXFxkKyk/fCg/Ond3dy58Wy07OiY9XFxcXCtcXFxcJCxcXFxcd10rQClbQS1aYS16MC05Li1dKykoKD86XFwvW1xcXFwrfiVcXFxcLy5cXFxcdy1fXSopP1xcXFw/Pyg/OlstXFxcXCs9JjslQC5cXFxcd19dKikjPyg/OltcXFxcd10qKSk/KWAsXG4gIGlwOiBgKD86Xig/OjI1WzAtNV18MlswLTRdXFxcXGR8MVxcXFxkXFxcXGR8WzEtOV1cXFxcZHxcXFxcZCkoPzpcXFxcLig/OjI1WzAtNV18MlswLTRdXFxcXGR8MVxcXFxkXFxcXGR8WzEtOV1cXFxcZHxcXFxcZCkpezN9JCl8KD86Xig/Oig/OlthLWZBLUZcXFxcZF17MSw0fTopezd9KD86W2EtZkEtRlxcXFxkXXsxLDR9fDopfCg/OlthLWZBLUZcXFxcZF17MSw0fTopezZ9KD86KD86MjVbMC01XXwyWzAtNF1cXFxcZHwxXFxcXGRcXFxcZHxbMS05XVxcXFxkfFxcXFxkKSg/OlxcXFwuKD86MjVbMC01XXwyWzAtNF1cXFxcZHwxXFxcXGRcXFxcZHxbMS05XVxcXFxkfFxcXFxkKSl7M318OlthLWZBLUZcXFxcZF17MSw0fXw6KXwoPzpbYS1mQS1GXFxcXGRdezEsNH06KXs1fSg/OjooPzoyNVswLTVdfDJbMC00XVxcXFxkfDFcXFxcZFxcXFxkfFsxLTldXFxcXGR8XFxcXGQpKD86XFxcXC4oPzoyNVswLTVdfDJbMC00XVxcXFxkfDFcXFxcZFxcXFxkfFsxLTldXFxcXGR8XFxcXGQpKXszfXwoPzo6W2EtZkEtRlxcXFxkXXsxLDR9KXsxLDJ9fDopfCg/OlthLWZBLUZcXFxcZF17MSw0fTopezR9KD86KD86OlthLWZBLUZcXFxcZF17MSw0fSl7MCwxfTooPzoyNVswLTVdfDJbMC00XVxcXFxkfDFcXFxcZFxcXFxkfFsxLTldXFxcXGR8XFxcXGQpKD86XFxcXC4oPzoyNVswLTVdfDJbMC00XVxcXFxkfDFcXFxcZFxcXFxkfFsxLTldXFxcXGR8XFxcXGQpKXszfXwoPzo6W2EtZkEtRlxcXFxkXXsxLDR9KXsxLDN9fDopfCg/OlthLWZBLUZcXFxcZF17MSw0fTopezN9KD86KD86OlthLWZBLUZcXFxcZF17MSw0fSl7MCwyfTooPzoyNVswLTVdfDJbMC00XVxcXFxkfDFcXFxcZFxcXFxkfFsxLTldXFxcXGR8XFxcXGQpKD86XFxcXC4oPzoyNVswLTVdfDJbMC00XVxcXFxkfDFcXFxcZFxcXFxkfFsxLTldXFxcXGR8XFxcXGQpKXszfXwoPzo6W2EtZkEtRlxcXFxkXXsxLDR9KXsxLDR9fDopfCg/OlthLWZBLUZcXFxcZF17MSw0fTopezJ9KD86KD86OlthLWZBLUZcXFxcZF17MSw0fSl7MCwzfTooPzoyNVswLTVdfDJbMC00XVxcXFxkfDFcXFxcZFxcXFxkfFsxLTldXFxcXGR8XFxcXGQpKD86XFxcXC4oPzoyNVswLTVdfDJbMC00XVxcXFxkfDFcXFxcZFxcXFxkfFsxLTldXFxcXGR8XFxcXGQpKXszfXwoPzo6W2EtZkEtRlxcXFxkXXsxLDR9KXsxLDV9fDopfCg/OlthLWZBLUZcXFxcZF17MSw0fTopezF9KD86KD86OlthLWZBLUZcXFxcZF17MSw0fSl7MCw0fTooPzoyNVswLTVdfDJbMC00XVxcXFxkfDFcXFxcZFxcXFxkfFsxLTldXFxcXGR8XFxcXGQpKD86XFxcXC4oPzoyNVswLTVdfDJbMC00XVxcXFxkfDFcXFxcZFxcXFxkfFsxLTldXFxcXGR8XFxcXGQpKXszfXwoPzo6W2EtZkEtRlxcXFxkXXsxLDR9KXsxLDZ9fDopfCg/OjooPzooPzo6W2EtZkEtRlxcXFxkXXsxLDR9KXswLDV9Oig/OjI1WzAtNV18MlswLTRdXFxcXGR8MVxcXFxkXFxcXGR8WzEtOV1cXFxcZHxcXFxcZCkoPzpcXFxcLig/OjI1WzAtNV18MlswLTRdXFxcXGR8MVxcXFxkXFxcXGR8WzEtOV1cXFxcZHxcXFxcZCkpezN9fCg/OjpbYS1mQS1GXFxcXGRdezEsNH0pezEsN318OikpKSg/OiVbMC05YS16QS1aXXsxLH0pPyQpYCxcbiAgY29sb3I6IGAoPzojfDB4KSg/OlthLWYwLTldezN9fFthLWYwLTldezZ9KVxcXFxifCg/OnJnYnxoc2wpYT9cXFxcKFteXFxcXCldKlxcXFwpYCxcbiAgY2hpbmVzZTogYFtcXHU0ZTAwLVxcdTlmYTVdK2Bcbn07XG5cbmZ1bmN0aW9uIGdlblJlZ2V4KHN0cjogc3RyaW5nLCBmbGFncz86IHN0cmluZyk6IFJlZ0V4cCB7XG4gIHJldHVybiBuZXcgUmVnRXhwKGBeJHtzdHJ9JGAsIGZsYWdzKTtcbn1cblxuZXhwb3J0IGNvbnN0IFJFR0VYID0ge1xuICBudW06IGdlblJlZ2V4KFJFR0VYX1NUUi5udW0pLFxuICBpZENhcmQ6IGdlblJlZ2V4KFJFR0VYX1NUUi5pZENhcmQsICdpJyksXG4gIG1vYmlsZTogZ2VuUmVnZXgoUkVHRVhfU1RSLm1vYmlsZSksXG4gIHVybDogZ2VuUmVnZXgoUkVHRVhfU1RSLnVybCksXG4gIGlwOiBnZW5SZWdleChSRUdFWF9TVFIuaXApLFxuICBjb2xvcjogZ2VuUmVnZXgoUkVHRVhfU1RSLmNvbG9yKSxcbiAgY2hpbmVzZTogZ2VuUmVnZXgoUkVHRVhfU1RSLmNoaW5lc2UpXG59O1xuXG4vKipcbiAqIFdoZXRlciBpcyBudW1iZXJcbiAqXG4gKiDmmK/lkKbkuLrmlbDlrZdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiBib29sZWFuIHtcbiAgcmV0dXJuIFJFR0VYLm51bS50ZXN0KHZhbHVlLnRvU3RyaW5nKCkpO1xufVxuXG4vKipcbiAqIFdoZXRlciBpcyBpbnRlZ2VyXG4gKlxuICog5piv5ZCm5Li65pW05pWwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0ludCh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc051bSh2YWx1ZSkgJiYgcGFyc2VJbnQodmFsdWUudG9TdHJpbmcoKSwgMTApLnRvU3RyaW5nKCkgPT09IHZhbHVlLnRvU3RyaW5nKCk7XG59XG5cbi8qKlxuICogV2hldGVyIGlzIGRlY2ltYWxcbiAqXG4gKiDmmK/lkKbkuLrlsI/mlbDngrnmlbDlgLxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRGVjaW1hbCh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc051bSh2YWx1ZSkgJiYgIWlzSW50KHZhbHVlKTtcbn1cblxuLyoqXG4gKiBXaGV0ZXIgaXMgUGVvcGxlJ3MgUmVwdWJsaWMgb2YgQ2hpbmEgaWRlbnRpdHkgY2FyZFxuICpcbiAqIOaYr+WQpuS4uuS4reWNjuS6uuawkeWFseWSjOWbveWxheawkei6q+S7veivgVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNJZENhcmQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gUkVHRVguaWRDYXJkLnRlc3QodmFsdWUpO1xufVxuXG4vKipcbiAqIFdoZXRlciBpcyBjaGluYSBtb2JpbGUgKENoaW5hKVxuICpcbiAqIOaYr+WQpuS4uuaJi+acuuWPt++8iOS4reWbve+8iVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNNb2JpbGUodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gUkVHRVgubW9iaWxlLnRlc3QodmFsdWUpO1xufVxuXG4vKipcbiAqIFdoZXRlciBpcyB1cmwgYWRkcmVzc1xuICpcbiAqIOaYr+WQplVSTOWcsOWdgFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNVcmwodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIFJFR0VYLnVybC50ZXN0KHVybCk7XG59XG5cbi8qKlxuICogV2hldGVyIGlzIElQdjQgYWRkcmVzcyAoU3VwcG9ydCB2NCwgdjYpXG4gKlxuICog5piv5ZCmSVA05Zyw5Z2A77yI5pSv5oyBdjTjgIF2Nu+8iVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNJcChpcDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBSRUdFWC5pcC50ZXN0KGlwKTtcbn1cblxuLyoqXG4gKiBXaGV0ZXIgaXMgY29sb3JcbiAqXG4gKiDmmK/lkKbpopzoibLku6PnoIHlgLxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ29sb3IoY29sb3I6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gUkVHRVguY29sb3IudGVzdChjb2xvcik7XG59XG5cbi8qKlxuICogV2hldGVyIGlzIGNoaW5lc2VcbiAqXG4gKiDmmK/lkKbkuK3mlodcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ2hpbmVzZSh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBSRUdFWC5jaGluZXNlLnRlc3QodmFsdWUpO1xufVxuIl19
package/esm2022/index.mjs DELETED
@@ -1,14 +0,0 @@
1
- export * from '@yelon/util/array';
2
- export * from '@yelon/util/browser';
3
- export * from '@yelon/util/config';
4
- export * from '@yelon/util/date-time';
5
- export * from '@yelon/util/form';
6
- export * from '@yelon/util/format';
7
- export * from '@yelon/util/math';
8
- export * from '@yelon/util/decorator';
9
- export * from '@yelon/util/other';
10
- export * from '@yelon/util/pipes';
11
- export * from '@yelon/util/token';
12
- export * from '@yelon/util/mtypes';
13
- export * from '@yelon/util/mcache';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdAeWVsb24vdXRpbC9hcnJheSc7XG5leHBvcnQgKiBmcm9tICdAeWVsb24vdXRpbC9icm93c2VyJztcbmV4cG9ydCAqIGZyb20gJ0B5ZWxvbi91dGlsL2NvbmZpZyc7XG5leHBvcnQgKiBmcm9tICdAeWVsb24vdXRpbC9kYXRlLXRpbWUnO1xuZXhwb3J0ICogZnJvbSAnQHllbG9uL3V0aWwvZm9ybSc7XG5leHBvcnQgKiBmcm9tICdAeWVsb24vdXRpbC9mb3JtYXQnO1xuZXhwb3J0ICogZnJvbSAnQHllbG9uL3V0aWwvbWF0aCc7XG5leHBvcnQgKiBmcm9tICdAeWVsb24vdXRpbC9kZWNvcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnQHllbG9uL3V0aWwvb3RoZXInO1xuZXhwb3J0ICogZnJvbSAnQHllbG9uL3V0aWwvcGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnQHllbG9uL3V0aWwvdG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnQHllbG9uL3V0aWwvbXR5cGVzJztcbmV4cG9ydCAqIGZyb20gJ0B5ZWxvbi91dGlsL21jYWNoZSc7XG4iXX0=
@@ -1,25 +0,0 @@
1
- import { assertNumber } from '@yelon/util/other';
2
- /**
3
- * Checks if `value` is between `start` and `end` to, but not including `end`. If `end` is not specified, it's set to start with `start` then set to `0`. If `start` is greater than `end` the params are swapped to support negative ranges.
4
- *
5
- * 检查 `value` 是否在 `start` 与 `end` 之间,但不包括 `end`。 如果 `end` 没有指定,那么 `start` 设置为 `0`。 如果 `start` 大于 `end`,那么参数会交换以便支持负范围。
6
- * ```ts
7
- * inRange(3, 2, 4); // true
8
- * inRange(4, 8); // true
9
- * inRange(4, 2); // false
10
- * inRange(2, 2); // false
11
- * inRange(1.2, 2); // true
12
- * inRange(-3, -2, -6); // true
13
- * ```
14
- */
15
- export function inRange(value, start, end) {
16
- if (end === undefined) {
17
- end = start;
18
- start = 0;
19
- }
20
- assertNumber(value);
21
- assertNumber(start);
22
- assertNumber(end);
23
- return value >= Math.min(start, end) && value < Math.max(start, end);
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tcmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL21hdGgvaW4tcmFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sVUFBVSxPQUFPLENBQUMsS0FBYSxFQUFFLEtBQWEsRUFBRSxHQUFZO0lBQ2hFLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3RCLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDWixLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUNELFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQixZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLE9BQU8sS0FBSyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzZXJ0TnVtYmVyIH0gZnJvbSAnQHllbG9uL3V0aWwvb3RoZXInO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGJldHdlZW4gYHN0YXJ0YCBhbmQgYGVuZGAgdG8sIGJ1dCBub3QgaW5jbHVkaW5nIGBlbmRgLiBJZiBgZW5kYCBpcyBub3Qgc3BlY2lmaWVkLCBpdCdzIHNldCB0byBzdGFydCB3aXRoIGBzdGFydGAgdGhlbiBzZXQgdG8gYDBgLiBJZiBgc3RhcnRgIGlzIGdyZWF0ZXIgdGhhbiBgZW5kYCB0aGUgcGFyYW1zIGFyZSBzd2FwcGVkIHRvIHN1cHBvcnQgbmVnYXRpdmUgcmFuZ2VzLlxuICpcbiAqIOajgOafpSBgdmFsdWVgIOaYr+WQpuWcqCBgc3RhcnRgIOS4jiBgZW5kYCDkuYvpl7TvvIzkvYbkuI3ljIXmi6wgYGVuZGDjgIIg5aaC5p6cIGBlbmRgIOayoeacieaMh+Wumu+8jOmCo+S5iCBgc3RhcnRgIOiuvue9ruS4uiBgMGDjgIIg5aaC5p6cIGBzdGFydGAg5aSn5LqOIGBlbmRg77yM6YKj5LmI5Y+C5pWw5Lya5Lqk5o2i5Lul5L6/5pSv5oyB6LSf6IyD5Zu044CCXG4gKiBgYGB0c1xuICogaW5SYW5nZSgzLCAyLCA0KTsgLy8gdHJ1ZVxuICogaW5SYW5nZSg0LCA4KTsgLy8gdHJ1ZVxuICogaW5SYW5nZSg0LCAyKTsgLy8gZmFsc2VcbiAqIGluUmFuZ2UoMiwgMik7IC8vIGZhbHNlXG4gKiBpblJhbmdlKDEuMiwgMik7IC8vIHRydWVcbiAqIGluUmFuZ2UoLTMsIC0yLCAtNik7IC8vIHRydWVcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5SYW5nZSh2YWx1ZTogbnVtYmVyLCBzdGFydDogbnVtYmVyLCBlbmQ/OiBudW1iZXIpOiBib29sZWFuIHtcbiAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgZW5kID0gc3RhcnQ7XG4gICAgc3RhcnQgPSAwO1xuICB9XG4gIGFzc2VydE51bWJlcih2YWx1ZSk7XG4gIGFzc2VydE51bWJlcihzdGFydCk7XG4gIGFzc2VydE51bWJlcihlbmQpO1xuICByZXR1cm4gdmFsdWUgPj0gTWF0aC5taW4oc3RhcnQsIGVuZCkgJiYgdmFsdWUgPCBNYXRoLm1heChzdGFydCwgZW5kKTtcbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './in-range';
2
- export * from './round';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL21hdGgvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2luLXJhbmdlJztcbmV4cG9ydCAqIGZyb20gJy4vcm91bmQnO1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWwvbWF0aC9tYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -1,53 +0,0 @@
1
- /**
2
- * Computes `number` rounded up to `precision`.
3
- *
4
- * 根据 `precision`(精度) 向上舍入 `number`。
5
- * ```ts
6
- * ceil(4.006); // 5
7
- * ceil(6.004, 2); // 6.01
8
- * ceil(6040, -2); // 6100
9
- * ```
10
- */
11
- export function ceil(number, precision = 0) {
12
- return createRound(number, precision, 'ceil');
13
- }
14
- /**
15
- * Computes `number` rounded down to `precision`.
16
- *
17
- * 根据 `precision`(精度) 向下舍入 `number`。
18
- * ```ts
19
- * floor(4.006); // 4
20
- * floor(0.046, 2); // 0.04
21
- * floor(4060, -2); // 4000
22
- * ```
23
- */
24
- export function floor(number, precision = 0) {
25
- return createRound(number, precision, 'floor');
26
- }
27
- /**
28
- * Computes `number` rounded to `precision`.
29
- *
30
- * 根据 `precision`(精度) 四舍五入 `number`。
31
- * ```ts
32
- * round(4.006); // 4
33
- * round(4.006, 2); // 4.01
34
- * round(4060, -2); // 4100
35
- * ```
36
- */
37
- export function round(number, precision = 0) {
38
- return createRound(number, precision, 'round');
39
- }
40
- function createRound(number, precision, methodName) {
41
- const func = Math[methodName];
42
- precision = precision == null ? 0 : Math.min(precision, 292);
43
- if (!precision) {
44
- return func(number);
45
- }
46
- // Shift with exponential notation to avoid floating-point issues.
47
- // See [MDN](https://mdn.io/round#Examples) for more details.
48
- let pair = `${number}e`.split('e');
49
- const value = func(Number(`${pair[0]}e${Number(pair[1]) + precision}`));
50
- pair = `${value}e`.split('e');
51
- return Number(`${pair[0]}e${Number(pair[1]) - precision}`);
52
- }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL21hdGgvcm91bmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLElBQUksQ0FBQyxNQUFjLEVBQUUsWUFBb0IsQ0FBQztJQUN4RCxPQUFPLFdBQVcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUFDLE1BQWMsRUFBRSxZQUFvQixDQUFDO0lBQ3pELE9BQU8sV0FBVyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDakQsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUMsTUFBYyxFQUFFLFlBQW9CLENBQUM7SUFDekQsT0FBTyxXQUFXLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsTUFBYyxFQUFFLFNBQWlCLEVBQUUsVUFBc0I7SUFDNUUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBMEIsQ0FBQztJQUV2RCxTQUFTLEdBQUcsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBQ0Qsa0VBQWtFO0lBQ2xFLDZEQUE2RDtJQUM3RCxJQUFJLElBQUksR0FBRyxHQUFHLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEUsSUFBSSxHQUFHLEdBQUcsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLE9BQU8sTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0FBQzdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbXB1dGVzIGBudW1iZXJgIHJvdW5kZWQgdXAgdG8gYHByZWNpc2lvbmAuXG4gKlxuICog5qC55o2uIGBwcmVjaXNpb25g77yI57K+5bqm77yJIOWQkeS4iuiIjeWFpSBgbnVtYmVyYOOAglxuICogYGBgdHNcbiAqIGNlaWwoNC4wMDYpOyAvLyA1XG4gKiBjZWlsKDYuMDA0LCAyKTsgLy8gNi4wMVxuICogY2VpbCg2MDQwLCAtMik7IC8vIDYxMDBcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY2VpbChudW1iZXI6IG51bWJlciwgcHJlY2lzaW9uOiBudW1iZXIgPSAwKTogbnVtYmVyIHtcbiAgcmV0dXJuIGNyZWF0ZVJvdW5kKG51bWJlciwgcHJlY2lzaW9uLCAnY2VpbCcpO1xufVxuXG4vKipcbiAqIENvbXB1dGVzIGBudW1iZXJgIHJvdW5kZWQgZG93biB0byBgcHJlY2lzaW9uYC5cbiAqXG4gKiDmoLnmja4gYHByZWNpc2lvbmDvvIjnsr7luqbvvIkg5ZCR5LiL6IiN5YWlIGBudW1iZXJg44CCXG4gKiBgYGB0c1xuICogZmxvb3IoNC4wMDYpOyAvLyA0XG4gKiBmbG9vcigwLjA0NiwgMik7IC8vIDAuMDRcbiAqIGZsb29yKDQwNjAsIC0yKTsgLy8gNDAwMFxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmbG9vcihudW1iZXI6IG51bWJlciwgcHJlY2lzaW9uOiBudW1iZXIgPSAwKTogbnVtYmVyIHtcbiAgcmV0dXJuIGNyZWF0ZVJvdW5kKG51bWJlciwgcHJlY2lzaW9uLCAnZmxvb3InKTtcbn1cblxuLyoqXG4gKiBDb21wdXRlcyBgbnVtYmVyYCByb3VuZGVkIHRvIGBwcmVjaXNpb25gLlxuICpcbiAqIOagueaNriBgcHJlY2lzaW9uYO+8iOeyvuW6pu+8iSDlm5voiI3kupTlhaUgYG51bWJlcmDjgIJcbiAqIGBgYHRzXG4gKiByb3VuZCg0LjAwNik7IC8vIDRcbiAqIHJvdW5kKDQuMDA2LCAyKTsgLy8gNC4wMVxuICogcm91bmQoNDA2MCwgLTIpOyAvLyA0MTAwXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJvdW5kKG51bWJlcjogbnVtYmVyLCBwcmVjaXNpb246IG51bWJlciA9IDApOiBudW1iZXIge1xuICByZXR1cm4gY3JlYXRlUm91bmQobnVtYmVyLCBwcmVjaXNpb24sICdyb3VuZCcpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVSb3VuZChudW1iZXI6IG51bWJlciwgcHJlY2lzaW9uOiBudW1iZXIsIG1ldGhvZE5hbWU6IGtleW9mIE1hdGgpOiBudW1iZXIge1xuICBjb25zdCBmdW5jID0gTWF0aFttZXRob2ROYW1lXSBhcyAoeDogbnVtYmVyKSA9PiBudW1iZXI7XG5cbiAgcHJlY2lzaW9uID0gcHJlY2lzaW9uID09IG51bGwgPyAwIDogTWF0aC5taW4ocHJlY2lzaW9uLCAyOTIpO1xuICBpZiAoIXByZWNpc2lvbikge1xuICAgIHJldHVybiBmdW5jKG51bWJlcik7XG4gIH1cbiAgLy8gU2hpZnQgd2l0aCBleHBvbmVudGlhbCBub3RhdGlvbiB0byBhdm9pZCBmbG9hdGluZy1wb2ludCBpc3N1ZXMuXG4gIC8vIFNlZSBbTUROXShodHRwczovL21kbi5pby9yb3VuZCNFeGFtcGxlcykgZm9yIG1vcmUgZGV0YWlscy5cbiAgbGV0IHBhaXIgPSBgJHtudW1iZXJ9ZWAuc3BsaXQoJ2UnKTtcbiAgY29uc3QgdmFsdWUgPSBmdW5jKE51bWJlcihgJHtwYWlyWzBdfWUke051bWJlcihwYWlyWzFdKSArIHByZWNpc2lvbn1gKSk7XG4gIHBhaXIgPSBgJHt2YWx1ZX1lYC5zcGxpdCgnZScpO1xuICByZXR1cm4gTnVtYmVyKGAke3BhaXJbMF19ZSR7TnVtYmVyKHBhaXJbMV0pIC0gcHJlY2lzaW9ufWApO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export * from './localStorageUtils';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL21jYWNoZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sb2NhbFN0b3JhZ2VVdGlscyc7XG4iXX0=