@yelon/util 15.2.0 → 15.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (229) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +22 -22
  3. package/analysis/global-event.subject.d.ts +7 -0
  4. package/analysis/index.d.ts +1 -0
  5. package/array/array-type.service.d.ts +68 -68
  6. package/array/array.service.d.ts +78 -78
  7. package/array/index.d.ts +2 -2
  8. package/browser/cookie.service.d.ts +67 -67
  9. package/browser/copy.d.ts +6 -6
  10. package/browser/index.d.ts +5 -5
  11. package/browser/is-empty.d.ts +6 -6
  12. package/browser/scroll.service.d.ts +37 -37
  13. package/browser/style.d.ts +21 -21
  14. package/config/abc/date-picker.type.d.ts +52 -52
  15. package/config/abc/error-collect.type.d.ts +10 -10
  16. package/config/abc/exception.type.d.ts +9 -9
  17. package/config/abc/image.type.d.ts +15 -15
  18. package/config/abc/index.d.ts +17 -17
  19. package/config/abc/loading.type.d.ts +31 -31
  20. package/config/abc/lodop.type.d.ts +33 -33
  21. package/config/abc/media.type.d.ts +11 -11
  22. package/config/abc/onboarding.type.d.ts +4 -4
  23. package/config/abc/page-header.type.d.ts +39 -39
  24. package/config/abc/pdf.type.d.ts +35 -35
  25. package/config/abc/qr.type.d.ts +25 -25
  26. package/config/abc/se.type.d.ts +32 -32
  27. package/config/abc/sg.type.d.ts +10 -10
  28. package/config/abc/st.type.d.ts +465 -465
  29. package/config/abc/sv.type.d.ts +14 -14
  30. package/config/abc/xlsx.type.d.ts +12 -12
  31. package/config/abc/zip.type.d.ts +10 -10
  32. package/config/acl/acl.type.d.ts +32 -32
  33. package/config/auth/auth.type.d.ts +55 -55
  34. package/config/bis/bis.type.d.ts +7 -7
  35. package/config/cache/cache.type.d.ts +40 -40
  36. package/config/chart/chart.type.d.ts +33 -33
  37. package/config/config.service.d.ts +13 -13
  38. package/config/config.types.d.ts +48 -48
  39. package/config/index.d.ts +14 -14
  40. package/config/mock/mock.type.d.ts +18 -18
  41. package/config/sf/sf.type.d.ts +133 -133
  42. package/config/socket/socket.type.d.ts +4 -4
  43. package/config/theme/http.type.d.ts +14 -14
  44. package/config/theme/i18n.type.d.ts +14 -14
  45. package/config/theme/index.d.ts +3 -3
  46. package/config/theme/responsive.type.d.ts +12 -12
  47. package/config/util/array.type.d.ts +22 -22
  48. package/config/util/currency.type.d.ts +39 -39
  49. package/date-time/index.d.ts +2 -2
  50. package/date-time/picker.d.ts +68 -68
  51. package/date-time/time.d.ts +29 -29
  52. package/decorator/convert.d.ts +24 -24
  53. package/decorator/index.d.ts +2 -2
  54. package/decorator/zone-outside.d.ts +35 -35
  55. package/esm2020/analysis/analysis.mjs +5 -0
  56. package/esm2020/analysis/global-event.subject.mjs +17 -0
  57. package/esm2020/analysis/index.mjs +2 -0
  58. package/esm2020/array/array-type.service.mjs +1 -1
  59. package/esm2020/array/array.mjs +4 -4
  60. package/esm2020/array/array.service.mjs +276 -276
  61. package/esm2020/array/index.mjs +2 -2
  62. package/esm2020/browser/browser.mjs +4 -4
  63. package/esm2020/browser/cookie.service.mjs +102 -102
  64. package/esm2020/browser/copy.mjs +27 -27
  65. package/esm2020/browser/index.mjs +5 -5
  66. package/esm2020/browser/is-empty.mjs +18 -18
  67. package/esm2020/browser/scroll.service.mjs +87 -87
  68. package/esm2020/browser/style.mjs +37 -37
  69. package/esm2020/config/abc/date-picker.type.mjs +1 -1
  70. package/esm2020/config/abc/error-collect.type.mjs +1 -1
  71. package/esm2020/config/abc/exception.type.mjs +1 -1
  72. package/esm2020/config/abc/image.type.mjs +1 -1
  73. package/esm2020/config/abc/index.mjs +17 -17
  74. package/esm2020/config/abc/loading.type.mjs +1 -1
  75. package/esm2020/config/abc/lodop.type.mjs +1 -1
  76. package/esm2020/config/abc/media.type.mjs +1 -1
  77. package/esm2020/config/abc/onboarding.type.mjs +1 -1
  78. package/esm2020/config/abc/page-header.type.mjs +1 -1
  79. package/esm2020/config/abc/pdf.type.mjs +1 -1
  80. package/esm2020/config/abc/qr.type.mjs +1 -1
  81. package/esm2020/config/abc/se.type.mjs +1 -1
  82. package/esm2020/config/abc/sg.type.mjs +1 -1
  83. package/esm2020/config/abc/st.type.mjs +1 -1
  84. package/esm2020/config/abc/sv.type.mjs +2 -2
  85. package/esm2020/config/abc/xlsx.type.mjs +1 -1
  86. package/esm2020/config/abc/zip.type.mjs +1 -1
  87. package/esm2020/config/acl/acl.type.mjs +1 -1
  88. package/esm2020/config/auth/auth.type.mjs +1 -1
  89. package/esm2020/config/bis/bis.type.mjs +1 -1
  90. package/esm2020/config/cache/cache.type.mjs +1 -1
  91. package/esm2020/config/chart/chart.type.mjs +1 -1
  92. package/esm2020/config/config.mjs +4 -4
  93. package/esm2020/config/config.service.mjs +36 -36
  94. package/esm2020/config/config.types.mjs +8 -8
  95. package/esm2020/config/index.mjs +14 -14
  96. package/esm2020/config/mock/mock.type.mjs +1 -1
  97. package/esm2020/config/sf/sf.type.mjs +1 -1
  98. package/esm2020/config/socket/socket.type.mjs +1 -1
  99. package/esm2020/config/theme/http.type.mjs +1 -1
  100. package/esm2020/config/theme/i18n.type.mjs +1 -1
  101. package/esm2020/config/theme/index.mjs +3 -3
  102. package/esm2020/config/theme/responsive.type.mjs +1 -1
  103. package/esm2020/config/util/array.type.mjs +1 -1
  104. package/esm2020/config/util/currency.type.mjs +1 -1
  105. package/esm2020/date-time/date-time.mjs +4 -4
  106. package/esm2020/date-time/index.mjs +2 -2
  107. package/esm2020/date-time/picker.mjs +115 -115
  108. package/esm2020/date-time/time.mjs +88 -88
  109. package/esm2020/decorator/convert.mjs +57 -57
  110. package/esm2020/decorator/decorator.mjs +4 -4
  111. package/esm2020/decorator/index.mjs +2 -2
  112. package/esm2020/decorator/zone-outside.mjs +56 -56
  113. package/esm2020/form/form.mjs +4 -4
  114. package/esm2020/form/index.mjs +2 -2
  115. package/esm2020/form/match-control.mjs +29 -29
  116. package/esm2020/form/validators.mjs +80 -80
  117. package/esm2020/format/currency.service.mjs +237 -237
  118. package/esm2020/format/currency.types.mjs +7 -7
  119. package/esm2020/format/format.mjs +4 -4
  120. package/esm2020/format/index.mjs +4 -4
  121. package/esm2020/format/string.mjs +84 -84
  122. package/esm2020/format/validate.mjs +93 -93
  123. package/esm2020/index.mjs +13 -12
  124. package/esm2020/math/in-range.mjs +24 -24
  125. package/esm2020/math/index.mjs +2 -2
  126. package/esm2020/math/math.mjs +4 -4
  127. package/esm2020/math/round.mjs +52 -52
  128. package/esm2020/other/assert.mjs +66 -66
  129. package/esm2020/other/deep.mjs +77 -77
  130. package/esm2020/other/favicon.mjs +28 -28
  131. package/esm2020/other/index.mjs +7 -7
  132. package/esm2020/other/lazy.service.mjs +131 -131
  133. package/esm2020/other/logger.mjs +32 -32
  134. package/esm2020/other/other.mjs +4 -4
  135. package/esm2020/other/path-to-regexp.service.mjs +238 -238
  136. package/esm2020/other/resize.mjs +3 -3
  137. package/esm2020/pipes/currency/cny.pipe.mjs +22 -22
  138. package/esm2020/pipes/currency/index.mjs +4 -4
  139. package/esm2020/pipes/currency/mega.pipe.mjs +28 -28
  140. package/esm2020/pipes/currency/module.mjs +18 -18
  141. package/esm2020/pipes/currency/pipe-currency.mjs +4 -4
  142. package/esm2020/pipes/currency/price.pipe.mjs +26 -26
  143. package/esm2020/pipes/filter/filter.pipe.mjs +18 -18
  144. package/esm2020/pipes/filter/index.mjs +2 -2
  145. package/esm2020/pipes/filter/module.mjs +16 -16
  146. package/esm2020/pipes/filter/pipe-filter.mjs +4 -4
  147. package/esm2020/pipes/format/index.mjs +2 -2
  148. package/esm2020/pipes/format/mask.pipe.mjs +33 -33
  149. package/esm2020/pipes/format/module.mjs +16 -16
  150. package/esm2020/pipes/format/pipe-format.mjs +4 -4
  151. package/esm2020/pipes/index.mjs +3 -3
  152. package/esm2020/pipes/pipes.mjs +4 -4
  153. package/esm2020/token/index.mjs +2 -2
  154. package/esm2020/token/page-visibility.mjs +14 -14
  155. package/esm2020/token/token.mjs +4 -4
  156. package/esm2020/token/window.mjs +16 -16
  157. package/esm2020/yelon-util.mjs +4 -4
  158. package/fesm2015/analysis.mjs +24 -0
  159. package/fesm2015/analysis.mjs.map +1 -0
  160. package/fesm2015/array.mjs +254 -254
  161. package/fesm2015/browser.mjs +283 -283
  162. package/fesm2015/config.mjs +56 -56
  163. package/fesm2015/date-time.mjs +207 -207
  164. package/fesm2015/decorator.mjs +121 -121
  165. package/fesm2015/form.mjs +118 -118
  166. package/fesm2015/format.mjs +413 -413
  167. package/fesm2015/math.mjs +85 -85
  168. package/fesm2015/other.mjs +589 -589
  169. package/fesm2015/pipe-currency.mjs +96 -96
  170. package/fesm2015/pipe-filter.mjs +40 -40
  171. package/fesm2015/pipe-format.mjs +55 -55
  172. package/fesm2015/pipes.mjs +8 -8
  173. package/fesm2015/token.mjs +37 -37
  174. package/fesm2015/yelon-util.mjs +17 -16
  175. package/fesm2015/yelon-util.mjs.map +1 -1
  176. package/fesm2020/analysis.mjs +24 -0
  177. package/fesm2020/analysis.mjs.map +1 -0
  178. package/fesm2020/array.mjs +284 -284
  179. package/fesm2020/browser.mjs +279 -279
  180. package/fesm2020/config.mjs +54 -54
  181. package/fesm2020/date-time.mjs +211 -211
  182. package/fesm2020/decorator.mjs +121 -121
  183. package/fesm2020/form.mjs +118 -118
  184. package/fesm2020/format.mjs +431 -431
  185. package/fesm2020/math.mjs +85 -85
  186. package/fesm2020/other.mjs +586 -586
  187. package/fesm2020/pipe-currency.mjs +94 -94
  188. package/fesm2020/pipe-filter.mjs +40 -40
  189. package/fesm2020/pipe-format.mjs +55 -55
  190. package/fesm2020/pipes.mjs +8 -8
  191. package/fesm2020/token.mjs +37 -37
  192. package/fesm2020/yelon-util.mjs +17 -16
  193. package/fesm2020/yelon-util.mjs.map +1 -1
  194. package/form/index.d.ts +2 -2
  195. package/form/match-control.d.ts +15 -15
  196. package/form/validators.d.ts +62 -62
  197. package/format/currency.service.d.ts +37 -37
  198. package/format/currency.types.d.ts +77 -77
  199. package/format/index.d.ts +4 -4
  200. package/format/string.d.ts +44 -44
  201. package/format/validate.d.ts +72 -72
  202. package/index.d.ts +12 -11
  203. package/math/in-range.d.ts +14 -14
  204. package/math/index.d.ts +2 -2
  205. package/math/round.d.ts +33 -33
  206. package/other/assert.d.ts +36 -36
  207. package/other/deep.d.ts +35 -35
  208. package/other/favicon.d.ts +2 -2
  209. package/other/index.d.ts +7 -7
  210. package/other/lazy.service.d.ts +48 -48
  211. package/other/logger.d.ts +5 -5
  212. package/other/path-to-regexp.service.d.ts +26 -26
  213. package/other/resize.d.ts +1 -1
  214. package/package.json +165 -157
  215. package/pipes/currency/cny.pipe.d.ts +15 -15
  216. package/pipes/currency/index.d.ts +4 -4
  217. package/pipes/currency/mega.pipe.d.ts +16 -16
  218. package/pipes/currency/module.d.ts +9 -9
  219. package/pipes/currency/price.pipe.d.ts +19 -19
  220. package/pipes/filter/filter.pipe.d.ts +13 -13
  221. package/pipes/filter/index.d.ts +2 -2
  222. package/pipes/filter/module.d.ts +7 -7
  223. package/pipes/format/index.d.ts +2 -2
  224. package/pipes/format/mask.pipe.d.ts +27 -27
  225. package/pipes/format/module.d.ts +7 -7
  226. package/pipes/index.d.ts +3 -3
  227. package/token/index.d.ts +2 -2
  228. package/token/page-visibility.d.ts +8 -8
  229. package/token/window.d.ts +7 -7
@@ -1,132 +1,132 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Inject, Injectable } from '@angular/core';
3
- import { BehaviorSubject, filter, share } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * `LazyService` delay loading JS or CSS files.
7
- *
8
- * 延迟加载资源(js 或 css)服务
9
- */
10
- export class LazyService {
11
- constructor(doc) {
12
- this.doc = doc;
13
- this.list = {};
14
- this.cached = {};
15
- this._notify = new BehaviorSubject([]);
16
- }
17
- get change() {
18
- return this._notify.asObservable().pipe(share(), filter(ls => ls.length !== 0));
19
- }
20
- clear() {
21
- this.list = {};
22
- this.cached = {};
23
- }
24
- attachAttributes(el, attributes) {
25
- if (attributes == null)
26
- return;
27
- Object.entries(attributes).forEach(([key, value]) => {
28
- el.setAttribute(key, value);
29
- });
30
- }
31
- /**
32
- * Load script or style files
33
- */
34
- load(paths) {
35
- if (!Array.isArray(paths)) {
36
- paths = [paths];
37
- }
38
- const promises = [];
39
- paths
40
- .map(v => (typeof v !== 'object' ? { path: v } : v))
41
- .forEach(item => {
42
- if (item.path.endsWith('.js')) {
43
- promises.push(this.loadScript(item.path, item.options));
44
- }
45
- else {
46
- promises.push(this.loadStyle(item.path, item.options));
47
- }
48
- });
49
- return Promise.all(promises).then(res => {
50
- this._notify.next(res);
51
- return Promise.resolve(res);
52
- });
53
- }
54
- loadScript(path, innerContent, attributes) {
55
- const options = typeof innerContent === 'object'
56
- ? innerContent
57
- : {
58
- innerContent,
59
- attributes
60
- };
61
- return new Promise(resolve => {
62
- if (this.list[path] === true) {
63
- resolve({ ...this.cached[path], status: 'loading' });
64
- return;
65
- }
66
- this.list[path] = true;
67
- const onSuccess = (item) => {
68
- this.cached[path] = item;
69
- resolve(item);
70
- this._notify.next([item]);
71
- };
72
- const node = this.doc.createElement('script');
73
- node.type = 'text/javascript';
74
- node.src = path;
75
- this.attachAttributes(node, options.attributes);
76
- if (options.innerContent) {
77
- node.innerHTML = options.innerContent;
78
- }
79
- node.onload = () => onSuccess({
80
- path,
81
- status: 'ok'
82
- });
83
- node.onerror = error => onSuccess({
84
- path,
85
- status: 'error',
86
- error
87
- });
88
- this.doc.getElementsByTagName('head')[0].appendChild(node);
89
- });
90
- }
91
- loadStyle(path, rel, innerContent, attributes) {
92
- const options = typeof rel === 'object'
93
- ? rel
94
- : {
95
- rel,
96
- innerContent,
97
- attributes
98
- };
99
- return new Promise(resolve => {
100
- if (this.list[path] === true) {
101
- resolve(this.cached[path]);
102
- return;
103
- }
104
- this.list[path] = true;
105
- const node = this.doc.createElement('link');
106
- node.rel = options.rel ?? 'stylesheet';
107
- node.type = 'text/css';
108
- node.href = path;
109
- this.attachAttributes(node, options.attributes);
110
- if (options.innerContent) {
111
- node.innerHTML = options.innerContent;
112
- }
113
- this.doc.getElementsByTagName('head')[0].appendChild(node);
114
- const item = {
115
- path,
116
- status: 'ok'
117
- };
118
- this.cached[path] = item;
119
- resolve(item);
120
- });
121
- }
122
- }
123
- LazyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LazyService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
124
- LazyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LazyService, providedIn: 'root' });
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LazyService, decorators: [{
126
- type: Injectable,
127
- args: [{ providedIn: 'root' }]
128
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
129
- type: Inject,
130
- args: [DOCUMENT]
131
- }] }]; } });
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Inject, Injectable } from '@angular/core';
3
+ import { BehaviorSubject, filter, share } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * `LazyService` delay loading JS or CSS files.
7
+ *
8
+ * 延迟加载资源(js 或 css)服务
9
+ */
10
+ export class LazyService {
11
+ constructor(doc) {
12
+ this.doc = doc;
13
+ this.list = {};
14
+ this.cached = {};
15
+ this._notify = new BehaviorSubject([]);
16
+ }
17
+ get change() {
18
+ return this._notify.asObservable().pipe(share(), filter(ls => ls.length !== 0));
19
+ }
20
+ clear() {
21
+ this.list = {};
22
+ this.cached = {};
23
+ }
24
+ attachAttributes(el, attributes) {
25
+ if (attributes == null)
26
+ return;
27
+ Object.entries(attributes).forEach(([key, value]) => {
28
+ el.setAttribute(key, value);
29
+ });
30
+ }
31
+ /**
32
+ * Load script or style files
33
+ */
34
+ load(paths) {
35
+ if (!Array.isArray(paths)) {
36
+ paths = [paths];
37
+ }
38
+ const promises = [];
39
+ paths
40
+ .map(v => (typeof v !== 'object' ? { path: v } : v))
41
+ .forEach(item => {
42
+ if (item.path.endsWith('.js')) {
43
+ promises.push(this.loadScript(item.path, item.options));
44
+ }
45
+ else {
46
+ promises.push(this.loadStyle(item.path, item.options));
47
+ }
48
+ });
49
+ return Promise.all(promises).then(res => {
50
+ this._notify.next(res);
51
+ return Promise.resolve(res);
52
+ });
53
+ }
54
+ loadScript(path, innerContent, attributes) {
55
+ const options = typeof innerContent === 'object'
56
+ ? innerContent
57
+ : {
58
+ innerContent,
59
+ attributes
60
+ };
61
+ return new Promise(resolve => {
62
+ if (this.list[path] === true) {
63
+ resolve({ ...this.cached[path], status: 'loading' });
64
+ return;
65
+ }
66
+ this.list[path] = true;
67
+ const onSuccess = (item) => {
68
+ this.cached[path] = item;
69
+ resolve(item);
70
+ this._notify.next([item]);
71
+ };
72
+ const node = this.doc.createElement('script');
73
+ node.type = 'text/javascript';
74
+ node.src = path;
75
+ this.attachAttributes(node, options.attributes);
76
+ if (options.innerContent) {
77
+ node.innerHTML = options.innerContent;
78
+ }
79
+ node.onload = () => onSuccess({
80
+ path,
81
+ status: 'ok'
82
+ });
83
+ node.onerror = error => onSuccess({
84
+ path,
85
+ status: 'error',
86
+ error
87
+ });
88
+ this.doc.getElementsByTagName('head')[0].appendChild(node);
89
+ });
90
+ }
91
+ loadStyle(path, rel, innerContent, attributes) {
92
+ const options = typeof rel === 'object'
93
+ ? rel
94
+ : {
95
+ rel,
96
+ innerContent,
97
+ attributes
98
+ };
99
+ return new Promise(resolve => {
100
+ if (this.list[path] === true) {
101
+ resolve(this.cached[path]);
102
+ return;
103
+ }
104
+ this.list[path] = true;
105
+ const node = this.doc.createElement('link');
106
+ node.rel = options.rel ?? 'stylesheet';
107
+ node.type = 'text/css';
108
+ node.href = path;
109
+ this.attachAttributes(node, options.attributes);
110
+ if (options.innerContent) {
111
+ node.innerHTML = options.innerContent;
112
+ }
113
+ this.doc.getElementsByTagName('head')[0].appendChild(node);
114
+ const item = {
115
+ path,
116
+ status: 'ok'
117
+ };
118
+ this.cached[path] = item;
119
+ resolve(item);
120
+ });
121
+ }
122
+ }
123
+ LazyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LazyService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
124
+ LazyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LazyService, providedIn: 'root' });
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LazyService, decorators: [{
126
+ type: Injectable,
127
+ args: [{ providedIn: 'root' }]
128
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
129
+ type: Inject,
130
+ args: [DOCUMENT]
131
+ }] }]; } });
132
132
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbC9vdGhlci9sYXp5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFxQmxFOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sV0FBVztJQUt0QixZQUFzQyxHQUFjO1FBQWQsUUFBRyxHQUFILEdBQUcsQ0FBVztRQUo1QyxTQUFJLEdBQStCLEVBQUUsQ0FBQztRQUN0QyxXQUFNLEdBQWtDLEVBQUUsQ0FBQztRQUMzQyxZQUFPLEdBQWtDLElBQUksZUFBZSxDQUFlLEVBQUUsQ0FBQyxDQUFDO0lBRWhDLENBQUM7SUFFeEQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDckMsS0FBSyxFQUFFLEVBQ1AsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FDOUIsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsRUFBZSxFQUFFLFVBQWdEO1FBQ3hGLElBQUksVUFBVSxJQUFJLElBQUk7WUFBRSxPQUFPO1FBRS9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUs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QyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2hELElBQUksT0FBTyxDQUFDLFlBQVksRUFBRTtnQkFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO2FBQ3ZDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0QsTUFBTSxJQUFJLEdBQWU7Z0JBQ3ZCLElBQUk7Z0JBQ0osTUFBTSxFQUFFLElBQUk7YUFDYixDQUFDO1lBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7d0dBakpVLFdBQVcsa0JBS0YsUUFBUTs0R0FMakIsV0FBVyxjQURFLE1BQU07MkZBQ25CLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFNbkIsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGZpbHRlciwgc2hhcmUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExhenlSZXN1bHQge1xuICBwYXRoOiBzdHJpbmc7XG4gIHN0YXR1czogJ29rJyB8ICdlcnJvcicgfCAnbG9hZGluZyc7XG4gIGVycm9yPzogTnpTYWZlQW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhenlMb2FkSXRlbSB7XG4gIHBhdGg6IHN0cmluZztcbiAgb3B0aW9ucz86IExhenlMb2FkT3B0aW9ucztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXp5TG9hZE9wdGlvbnMge1xuICBpbm5lckNvbnRlbnQ/OiBzdHJpbmc7XG4gIGF0dHJpYnV0ZXM/OiB7IFtxdWFsaWZpZWROYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgcmVsPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIGBMYXp5U2VydmljZWAgZGVsYXkgbG9hZGluZyBKUyBvciBDU1MgZmlsZXMuXG4gKlxuICog5bu26L+f5Yqg6L296LWE5rqQ77yIanMg5oiWIGNzc++8ieacjeWKoVxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIExhenlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBsaXN0OiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuICBwcml2YXRlIGNhY2hlZDogeyBba2V5OiBzdHJpbmddOiBMYXp5UmVzdWx0IH0gPSB7fTtcbiAgcHJpdmF0ZSBfbm90aWZ5OiBCZWhhdmlvclN1YmplY3Q8TGF6eVJlc3VsdFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGF6eVJlc3VsdFtdPihbXSk7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2M6IE56U2FmZUFueSkge31cblxuICBnZXQgY2hhbmdlKCk6IE9ic2VydmFibGU8TGF6eVJlc3VsdFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX25vdGlmeS5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgc2hhcmUoKSxcbiAgICAgIGZpbHRlcihscyA9PiBscy5sZW5ndGggIT09IDApXG4gICAgKTtcbiAgfVxuXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdCA9IHt9O1xuICAgIHRoaXMuY2FjaGVkID0ge307XG4gIH1cblxuICBwcml2YXRlIGF0dGFjaEF0dHJpYnV0ZXMoZWw6IEhUTUxFbGVtZW50LCBhdHRyaWJ1dGVzPzogeyBbcXVhbGlmaWVkTmFtZTogc3RyaW5nXTogc3RyaW5nIH0pOiB2b2lkIHtcbiAgICBpZiAoYXR0cmlidXRlcyA9PSBudWxsKSByZXR1cm47XG5cbiAgICBPYmplY3QuZW50cmllcyhhdHRyaWJ1dGVzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGVsLnNldEF0dHJpYnV0ZShrZXksIHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIHNjcmlwdCBvciBzdHlsZSBmaWxlc1xuICAgKi9cbiAgbG9hZChwYXRoczogc3RyaW5nIHwgTGF6eUxvYWRJdGVtIHwgQXJyYXk8c3RyaW5nIHwgTGF6eUxvYWRJdGVtPik6IFByb21pc2U8TGF6eVJlc3VsdFtdPiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBhdGhzKSkge1xuICAgICAgcGF0aHMgPSBbcGF0aHNdO1xuICAgIH1cblxuICAgIGNvbnN0IHByb21pc2VzOiBBcnJheTxQcm9taXNlPExhenlSZXN1bHQ+PiA9IFtdO1xuICAgIHBhdGhzXG4gICAgICAubWFwKHYgPT4gKHR5cGVvZiB2ICE9PSAnb2JqZWN0JyA/ICh7IHBhdGg6IHYgfSBhcyBMYXp5TG9hZEl0ZW0pIDogdikpXG4gICAgICAuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYgKGl0ZW0ucGF0aC5lbmRzV2l0aCgnLmpzJykpIHtcbiAgICAgICAgICBwcm9taXNlcy5wdXNoKHRoaXMubG9hZFNjcmlwdChpdGVtLnBhdGgsIGl0ZW0ub3B0aW9ucykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByb21pc2VzLnB1c2godGhpcy5sb2FkU3R5bGUoaXRlbS5wYXRoLCBpdGVtLm9wdGlvbnMpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpLnRoZW4ocmVzID0+IHtcbiAgICAgIHRoaXMuX25vdGlmeS5uZXh0KHJlcyk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlcyk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCBhIHNjcmlwdCBmaWxlXG4gICAqL1xuICBsb2FkU2NyaXB0KHBhdGg6IHN0cmluZywgb3B0aW9ucz86IExhenlMb2FkT3B0aW9ucyk6IFByb21pc2U8TGF6eVJlc3VsdD47XG4gIGxvYWRTY3JpcHQoXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIGlubmVyQ29udGVudD86IHN0cmluZyB8IExhenlMb2FkT3B0aW9ucyxcbiAgICBhdHRyaWJ1dGVzPzogeyBbcXVhbGlmaWVkTmFtZTogc3RyaW5nXTogc3RyaW5nIH1cbiAgKTogUHJvbWlzZTxMYXp5UmVzdWx0PiB7XG4gICAgY29uc3Qgb3B0aW9uczogTGF6eUxvYWRPcHRpb25zID1cbiAgICAgIHR5cGVvZiBpbm5lckNvbnRlbnQgPT09ICdvYmplY3QnXG4gICAgICAgID8gaW5uZXJDb250ZW50XG4gICAgICAgIDoge1xuICAgICAgICAgICAgaW5uZXJDb250ZW50LFxuICAgICAgICAgICAgYXR0cmlidXRlc1xuICAgICAgICAgIH07XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgaWYgKHRoaXMubGlzdFtwYXRoXSA9PT0gdHJ1ZSkge1xuICAgICAgICByZXNvbHZlKHsgLi4udGhpcy5jYWNoZWRbcGF0aF0sIHN0YXR1czogJ2xvYWRpbmcnIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMubGlzdFtwYXRoXSA9IHRydWU7XG4gICAgICBjb25zdCBvblN1Y2Nlc3MgPSAoaXRlbTogTGF6eVJlc3VsdCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmNhY2hlZFtwYXRoXSA9IGl0ZW07XG4gICAgICAgIHJlc29sdmUoaXRlbSk7XG4gICAgICAgIHRoaXMuX25vdGlmeS5uZXh0KFtpdGVtXSk7XG4gICAgICB9O1xuXG4gICAgICBjb25zdCBub2RlID0gdGhpcy5kb2MuY3JlYXRlRWxlbWVudCgnc2NyaXB0JykgYXMgSFRNTFNjcmlwdEVsZW1lbnQ7XG4gICAgICBub2RlLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICAgIG5vZGUuc3JjID0gcGF0aDtcbiAgICAgIHRoaXMuYXR0YWNoQXR0cmlidXRlcyhub2RlLCBvcHRpb25zLmF0dHJpYnV0ZXMpO1xuICAgICAgaWYgKG9wdGlvbnMuaW5uZXJDb250ZW50KSB7XG4gICAgICAgIG5vZGUuaW5uZXJIVE1MID0gb3B0aW9ucy5pbm5lckNvbnRlbnQ7XG4gICAgICB9XG4gICAgICBub2RlLm9ubG9hZCA9ICgpID0+XG4gICAgICAgIG9uU3VjY2Vzcyh7XG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICBzdGF0dXM6ICdvaydcbiAgICAgICAgfSk7XG4gICAgICBub2RlLm9uZXJyb3IgPSBlcnJvciA9PlxuICAgICAgICBvblN1Y2Nlc3Moe1xuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgc3RhdHVzOiAnZXJyb3InLFxuICAgICAgICAgIGVycm9yXG4gICAgICAgIH0pO1xuICAgICAgdGhpcy5kb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChub2RlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIGEgc3R5bGUgZmlsZVxuICAgKi9cbiAgbG9hZFN0eWxlKHBhdGg6IHN0cmluZywgb3B0aW9ucz86IExhenlMb2FkT3B0aW9ucyk6IFByb21pc2U8TGF6eVJlc3VsdD47XG4gIGxvYWRTdHlsZShcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgcmVsPzogc3RyaW5nIHwgTGF6eUxvYWRPcHRpb25zLFxuICAgIGlubmVyQ29udGVudD86IHN0cmluZyxcbiAgICBhdHRyaWJ1dGVzPzogeyBbcXVhbGlmaWVkTmFtZTogc3RyaW5nXTogc3RyaW5nIH1cbiAgKTogUHJvbWlzZTxMYXp5UmVzdWx0PiB7XG4gICAgY29uc3Qgb3B0aW9uczogTGF6eUxvYWRPcHRpb25zID1cbiAgICAgIHR5cGVvZiByZWwgPT09ICdvYmplY3QnXG4gICAgICAgID8gcmVsXG4gICAgICAgIDoge1xuICAgICAgICAgICAgcmVsLFxuICAgICAgICAgICAgaW5uZXJDb250ZW50LFxuICAgICAgICAgICAgYXR0cmlidXRlc1xuICAgICAgICAgIH07XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgaWYgKHRoaXMubGlzdFtwYXRoXSA9PT0gdHJ1ZSkge1xuICAgICAgICByZXNvbHZlKHRoaXMuY2FjaGVkW3BhdGhdKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmxpc3RbcGF0aF0gPSB0cnVlO1xuXG4gICAgICBjb25zdCBub2RlID0gdGhpcy5kb2MuY3JlYXRlRWxlbWVudCgnbGluaycpIGFzIEhUTUxMaW5rRWxlbWVudDtcbiAgICAgIG5vZGUucmVsID0gb3B0aW9ucy5yZWwgPz8gJ3N0eWxlc2hlZXQnO1xuICAgICAgbm9kZS50eXBlID0gJ3RleHQvY3NzJztcbiAgICAgIG5vZGUuaHJlZiA9IHBhdGg7XG4gICAgICB0aGlzLmF0dGFjaEF0dHJpYnV0ZXMobm9kZSwgb3B0aW9ucy5hdHRyaWJ1dGVzKTtcbiAgICAgIGlmIChvcHRpb25zLmlubmVyQ29udGVudCkge1xuICAgICAgICBub2RlLmlubmVySFRNTCA9IG9wdGlvbnMuaW5uZXJDb250ZW50O1xuICAgICAgfVxuICAgICAgdGhpcy5kb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChub2RlKTtcbiAgICAgIGNvbnN0IGl0ZW06IExhenlSZXN1bHQgPSB7XG4gICAgICAgIHBhdGgsXG4gICAgICAgIHN0YXR1czogJ29rJ1xuICAgICAgfTtcbiAgICAgIHRoaXMuY2FjaGVkW3BhdGhdID0gaXRlbTtcbiAgICAgIHJlc29sdmUoaXRlbSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,33 +1,33 @@
1
- const record = {};
2
- export const PREFIX = '[@YELON]:';
3
- function notRecorded(...args) {
4
- const asRecord = args.reduce((acc, c) => acc + c.toString(), '');
5
- if (record[asRecord]) {
6
- return false;
7
- }
8
- else {
9
- record[asRecord] = true;
10
- return true;
11
- }
12
- }
13
- function consoleCommonBehavior(consoleFunc, ...args) {
14
- if ((typeof ngDevMode === 'undefined' || ngDevMode) && notRecorded(...args)) {
15
- consoleFunc(...args);
16
- }
17
- }
18
- // Warning should only be printed in dev mode and only once.
19
- export const warn = (...args) => consoleCommonBehavior((...arg) => console.warn(PREFIX, ...arg), ...args);
20
- export const warnDeprecation = (...args) => {
21
- if (typeof ngDevMode === 'undefined' || ngDevMode) {
22
- return () => { };
23
- }
24
- const stack = new Error().stack;
25
- return consoleCommonBehavior((...arg) => console.warn(PREFIX, 'deprecated:', ...arg, stack), ...args);
26
- };
27
- // Log should only be printed in dev mode.
28
- export const log = (...args) => {
29
- if (typeof ngDevMode === 'undefined' || ngDevMode) {
30
- console.log(PREFIX, ...args);
31
- }
32
- };
1
+ const record = {};
2
+ export const PREFIX = '[@YELON]:';
3
+ function notRecorded(...args) {
4
+ const asRecord = args.reduce((acc, c) => acc + c.toString(), '');
5
+ if (record[asRecord]) {
6
+ return false;
7
+ }
8
+ else {
9
+ record[asRecord] = true;
10
+ return true;
11
+ }
12
+ }
13
+ function consoleCommonBehavior(consoleFunc, ...args) {
14
+ if ((typeof ngDevMode === 'undefined' || ngDevMode) && notRecorded(...args)) {
15
+ consoleFunc(...args);
16
+ }
17
+ }
18
+ // Warning should only be printed in dev mode and only once.
19
+ export const warn = (...args) => consoleCommonBehavior((...arg) => console.warn(PREFIX, ...arg), ...args);
20
+ export const warnDeprecation = (...args) => {
21
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
22
+ return () => { };
23
+ }
24
+ const stack = new Error().stack;
25
+ return consoleCommonBehavior((...arg) => console.warn(PREFIX, 'deprecated:', ...arg, stack), ...args);
26
+ };
27
+ // Log should only be printed in dev mode.
28
+ export const log = (...args) => {
29
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
30
+ console.log(PREFIX, ...args);
31
+ }
32
+ };
33
33
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbC9vdGhlci9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxNQUFNLEdBQTRCLEVBQUUsQ0FBQztBQUUzQyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDO0FBRWxDLFNBQVMsV0FBVyxDQUFDLEdBQUcsSUFBaUI7SUFDdkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFakUsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDcEIsT0FBTyxLQUFLLENBQUM7S0FDZDtTQUFNO1FBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztLQUNiO0FBQ0gsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsV0FBeUMsRUFBRSxHQUFHLElBQWlCO0lBQzVGLElBQUksQ0FBQyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxDQUFDLElBQUksV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUU7UUFDM0UsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7S0FDdEI7QUFDSCxDQUFDO0FBRUQsNERBQTREO0FBQzVELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBaUIsRUFBUSxFQUFFLENBQ2pELHFCQUFxQixDQUFDLENBQUMsR0FBRyxHQUFnQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFFeEYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBRyxJQUFpQixFQUFhLEVBQUU7SUFDakUsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxFQUFFO1FBQ2pELE9BQU8sR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBQ2pCO0lBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDaEMsT0FBTyxxQkFBcUIsQ0FBQyxDQUFDLEdBQUcsR0FBZ0IsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDckgsQ0FBQyxDQUFDO0FBRUYsMENBQTBDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBaUIsRUFBUSxFQUFFO0lBQ2hELElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsRUFBRTtRQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0tBQzlCO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuXG5kZWNsYXJlIGNvbnN0IG5nRGV2TW9kZTogYm9vbGVhbjtcblxuY29uc3QgcmVjb3JkOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9O1xuXG5leHBvcnQgY29uc3QgUFJFRklYID0gJ1tAWUVMT05dOic7XG5cbmZ1bmN0aW9uIG5vdFJlY29yZGVkKC4uLmFyZ3M6IE56U2FmZUFueVtdKTogYm9vbGVhbiB7XG4gIGNvbnN0IGFzUmVjb3JkID0gYXJncy5yZWR1Y2UoKGFjYywgYykgPT4gYWNjICsgYy50b1N0cmluZygpLCAnJyk7XG5cbiAgaWYgKHJlY29yZFthc1JlY29yZF0pIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gZWxzZSB7XG4gICAgcmVjb3JkW2FzUmVjb3JkXSA9IHRydWU7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29uc29sZUNvbW1vbkJlaGF2aW9yKGNvbnNvbGVGdW5jOiAoLi4uYXJnczogTnpTYWZlQW55KSA9PiB2b2lkLCAuLi5hcmdzOiBOelNhZmVBbnlbXSk6IHZvaWQge1xuICBpZiAoKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkgJiYgbm90UmVjb3JkZWQoLi4uYXJncykpIHtcbiAgICBjb25zb2xlRnVuYyguLi5hcmdzKTtcbiAgfVxufVxuXG4vLyBXYXJuaW5nIHNob3VsZCBvbmx5IGJlIHByaW50ZWQgaW4gZGV2IG1vZGUgYW5kIG9ubHkgb25jZS5cbmV4cG9ydCBjb25zdCB3YXJuID0gKC4uLmFyZ3M6IE56U2FmZUFueVtdKTogdm9pZCA9PlxuICBjb25zb2xlQ29tbW9uQmVoYXZpb3IoKC4uLmFyZzogTnpTYWZlQW55W10pID0+IGNvbnNvbGUud2FybihQUkVGSVgsIC4uLmFyZyksIC4uLmFyZ3MpO1xuXG5leHBvcnQgY29uc3Qgd2FybkRlcHJlY2F0aW9uID0gKC4uLmFyZ3M6IE56U2FmZUFueVtdKTogTnpTYWZlQW55ID0+IHtcbiAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkge1xuICAgIHJldHVybiAoKSA9PiB7fTtcbiAgfVxuICBjb25zdCBzdGFjayA9IG5ldyBFcnJvcigpLnN0YWNrO1xuICByZXR1cm4gY29uc29sZUNvbW1vbkJlaGF2aW9yKCguLi5hcmc6IE56U2FmZUFueVtdKSA9PiBjb25zb2xlLndhcm4oUFJFRklYLCAnZGVwcmVjYXRlZDonLCAuLi5hcmcsIHN0YWNrKSwgLi4uYXJncyk7XG59O1xuXG4vLyBMb2cgc2hvdWxkIG9ubHkgYmUgcHJpbnRlZCBpbiBkZXYgbW9kZS5cbmV4cG9ydCBjb25zdCBsb2cgPSAoLi4uYXJnczogTnpTYWZlQW55W10pOiB2b2lkID0+IHtcbiAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkge1xuICAgIGNvbnNvbGUubG9nKFBSRUZJWCwgLi4uYXJncyk7XG4gIH1cbn07XG4iXX0=
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL290aGVyL290aGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19