@yelon/util 16.2.3 → 16.2.5-68d194e

Sign up to get free protection for your applications and to get access to all the features.
Files changed (243) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +22 -22
  3. package/analysis/global-event.subject.d.ts +7 -7
  4. package/analysis/index.d.ts +1 -1
  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/cell.type.d.ts +118 -0
  15. package/config/abc/date-picker.type.d.ts +52 -52
  16. package/config/abc/error-collect.type.d.ts +10 -10
  17. package/config/abc/exception.type.d.ts +9 -9
  18. package/config/abc/image.type.d.ts +15 -15
  19. package/config/abc/index.d.ts +18 -17
  20. package/config/abc/loading.type.d.ts +31 -31
  21. package/config/abc/lodop.type.d.ts +33 -33
  22. package/config/abc/media.type.d.ts +11 -11
  23. package/config/abc/onboarding.type.d.ts +4 -4
  24. package/config/abc/page-header.type.d.ts +39 -39
  25. package/config/abc/pdf.type.d.ts +35 -35
  26. package/config/abc/qr.type.d.ts +25 -25
  27. package/config/abc/se.type.d.ts +32 -32
  28. package/config/abc/sg.type.d.ts +10 -10
  29. package/config/abc/st.type.d.ts +465 -465
  30. package/config/abc/sv.type.d.ts +14 -14
  31. package/config/abc/xlsx.type.d.ts +12 -12
  32. package/config/abc/zip.type.d.ts +10 -10
  33. package/config/acl/acl.type.d.ts +32 -32
  34. package/config/auth/auth.type.d.ts +55 -55
  35. package/config/bis/bis.type.d.ts +11 -11
  36. package/config/cache/cache.type.d.ts +40 -40
  37. package/config/chart/chart.type.d.ts +33 -33
  38. package/config/config.service.d.ts +13 -13
  39. package/config/config.types.d.ts +49 -48
  40. package/config/index.d.ts +14 -14
  41. package/config/mock/mock.type.d.ts +18 -18
  42. package/config/sf/sf.type.d.ts +133 -133
  43. package/config/socket/socket.type.d.ts +4 -4
  44. package/config/theme/http.type.d.ts +14 -14
  45. package/config/theme/i18n.type.d.ts +14 -14
  46. package/config/theme/index.d.ts +3 -3
  47. package/config/theme/responsive.type.d.ts +12 -12
  48. package/config/util/array.type.d.ts +22 -22
  49. package/config/util/currency.type.d.ts +39 -39
  50. package/date-time/index.d.ts +2 -2
  51. package/date-time/picker.d.ts +68 -68
  52. package/date-time/time.d.ts +31 -29
  53. package/decorator/convert.d.ts +24 -24
  54. package/decorator/index.d.ts +2 -2
  55. package/decorator/zone-outside.d.ts +35 -35
  56. package/esm2022/analysis/analysis.mjs +4 -4
  57. package/esm2022/analysis/global-event.subject.mjs +16 -16
  58. package/esm2022/analysis/index.mjs +1 -1
  59. package/esm2022/array/array-type.service.mjs +1 -1
  60. package/esm2022/array/array.mjs +4 -4
  61. package/esm2022/array/array.service.mjs +276 -276
  62. package/esm2022/array/index.mjs +2 -2
  63. package/esm2022/browser/browser.mjs +4 -4
  64. package/esm2022/browser/cookie.service.mjs +102 -102
  65. package/esm2022/browser/copy.mjs +27 -27
  66. package/esm2022/browser/index.mjs +5 -5
  67. package/esm2022/browser/is-empty.mjs +18 -18
  68. package/esm2022/browser/scroll.service.mjs +87 -87
  69. package/esm2022/browser/style.mjs +37 -37
  70. package/esm2022/config/abc/cell.type.mjs +2 -0
  71. package/esm2022/config/abc/date-picker.type.mjs +1 -1
  72. package/esm2022/config/abc/error-collect.type.mjs +1 -1
  73. package/esm2022/config/abc/exception.type.mjs +1 -1
  74. package/esm2022/config/abc/image.type.mjs +1 -1
  75. package/esm2022/config/abc/index.mjs +19 -18
  76. package/esm2022/config/abc/loading.type.mjs +1 -1
  77. package/esm2022/config/abc/lodop.type.mjs +1 -1
  78. package/esm2022/config/abc/media.type.mjs +1 -1
  79. package/esm2022/config/abc/onboarding.type.mjs +1 -1
  80. package/esm2022/config/abc/page-header.type.mjs +1 -1
  81. package/esm2022/config/abc/pdf.type.mjs +1 -1
  82. package/esm2022/config/abc/qr.type.mjs +1 -1
  83. package/esm2022/config/abc/se.type.mjs +1 -1
  84. package/esm2022/config/abc/sg.type.mjs +1 -1
  85. package/esm2022/config/abc/st.type.mjs +1 -1
  86. package/esm2022/config/abc/sv.type.mjs +2 -2
  87. package/esm2022/config/abc/xlsx.type.mjs +1 -1
  88. package/esm2022/config/abc/zip.type.mjs +1 -1
  89. package/esm2022/config/acl/acl.type.mjs +1 -1
  90. package/esm2022/config/auth/auth.type.mjs +1 -1
  91. package/esm2022/config/bis/bis.type.mjs +1 -1
  92. package/esm2022/config/cache/cache.type.mjs +1 -1
  93. package/esm2022/config/chart/chart.type.mjs +1 -1
  94. package/esm2022/config/config.mjs +4 -4
  95. package/esm2022/config/config.service.mjs +36 -36
  96. package/esm2022/config/config.types.mjs +9 -9
  97. package/esm2022/config/index.mjs +14 -14
  98. package/esm2022/config/mock/mock.type.mjs +1 -1
  99. package/esm2022/config/sf/sf.type.mjs +1 -1
  100. package/esm2022/config/socket/socket.type.mjs +1 -1
  101. package/esm2022/config/theme/http.type.mjs +1 -1
  102. package/esm2022/config/theme/i18n.type.mjs +1 -1
  103. package/esm2022/config/theme/index.mjs +3 -3
  104. package/esm2022/config/theme/responsive.type.mjs +1 -1
  105. package/esm2022/config/util/array.type.mjs +1 -1
  106. package/esm2022/config/util/currency.type.mjs +1 -1
  107. package/esm2022/date-time/date-time.mjs +4 -4
  108. package/esm2022/date-time/index.mjs +2 -2
  109. package/esm2022/date-time/picker.mjs +115 -115
  110. package/esm2022/date-time/time.mjs +96 -89
  111. package/esm2022/decorator/convert.mjs +57 -57
  112. package/esm2022/decorator/decorator.mjs +4 -4
  113. package/esm2022/decorator/index.mjs +2 -2
  114. package/esm2022/decorator/zone-outside.mjs +56 -56
  115. package/esm2022/form/form.mjs +4 -4
  116. package/esm2022/form/index.mjs +2 -2
  117. package/esm2022/form/match-control.mjs +29 -29
  118. package/esm2022/form/validators.mjs +80 -80
  119. package/esm2022/format/currency.service.mjs +237 -237
  120. package/esm2022/format/currency.types.mjs +8 -8
  121. package/esm2022/format/format.mjs +4 -4
  122. package/esm2022/format/index.mjs +4 -4
  123. package/esm2022/format/string.mjs +84 -84
  124. package/esm2022/format/validate.mjs +93 -93
  125. package/esm2022/index.mjs +14 -14
  126. package/esm2022/math/in-range.mjs +24 -24
  127. package/esm2022/math/index.mjs +2 -2
  128. package/esm2022/math/math.mjs +4 -4
  129. package/esm2022/math/round.mjs +52 -52
  130. package/esm2022/mcache/index.mjs +1 -1
  131. package/esm2022/mcache/localStorageUtils.mjs +59 -69
  132. package/esm2022/mcache/mcache.mjs +4 -4
  133. package/esm2022/mtypes/authority.type.mjs +1 -1
  134. package/esm2022/mtypes/header-menu.type.mjs +1 -1
  135. package/esm2022/mtypes/index.mjs +9 -9
  136. package/esm2022/mtypes/menu.type.mjs +1 -1
  137. package/esm2022/mtypes/mtypes.mjs +4 -4
  138. package/esm2022/mtypes/nav.types.mjs +6 -6
  139. package/esm2022/mtypes/page.mjs +41 -41
  140. package/esm2022/mtypes/project-info.types.mjs +1 -1
  141. package/esm2022/mtypes/response.mjs +1 -1
  142. package/esm2022/mtypes/role.type.mjs +1 -1
  143. package/esm2022/mtypes/user.types.mjs +1 -1
  144. package/esm2022/other/assert.mjs +66 -66
  145. package/esm2022/other/deep.mjs +77 -77
  146. package/esm2022/other/favicon.mjs +28 -28
  147. package/esm2022/other/index.mjs +7 -7
  148. package/esm2022/other/lazy.service.mjs +131 -131
  149. package/esm2022/other/logger.mjs +32 -32
  150. package/esm2022/other/other.mjs +4 -4
  151. package/esm2022/other/path-to-regexp.service.mjs +238 -238
  152. package/esm2022/other/resize.mjs +3 -3
  153. package/esm2022/pipes/currency/cny.pipe.mjs +22 -22
  154. package/esm2022/pipes/currency/index.mjs +4 -4
  155. package/esm2022/pipes/currency/mega.pipe.mjs +28 -28
  156. package/esm2022/pipes/currency/module.mjs +18 -18
  157. package/esm2022/pipes/currency/pipe-currency.mjs +4 -4
  158. package/esm2022/pipes/currency/price.pipe.mjs +26 -26
  159. package/esm2022/pipes/filter/filter.pipe.mjs +18 -18
  160. package/esm2022/pipes/filter/index.mjs +2 -2
  161. package/esm2022/pipes/filter/module.mjs +16 -16
  162. package/esm2022/pipes/filter/pipe-filter.mjs +4 -4
  163. package/esm2022/pipes/format/index.mjs +2 -2
  164. package/esm2022/pipes/format/mask.pipe.mjs +33 -33
  165. package/esm2022/pipes/format/module.mjs +16 -16
  166. package/esm2022/pipes/format/pipe-format.mjs +4 -4
  167. package/esm2022/pipes/index.mjs +3 -3
  168. package/esm2022/pipes/pipes.mjs +4 -4
  169. package/esm2022/token/index.mjs +2 -2
  170. package/esm2022/token/page-visibility.mjs +14 -14
  171. package/esm2022/token/token.mjs +4 -4
  172. package/esm2022/token/window.mjs +16 -16
  173. package/esm2022/yelon-util.mjs +4 -4
  174. package/fesm2022/analysis.mjs +24 -24
  175. package/fesm2022/array.mjs +284 -284
  176. package/fesm2022/browser.mjs +279 -279
  177. package/fesm2022/config.mjs +54 -54
  178. package/fesm2022/config.mjs.map +1 -1
  179. package/fesm2022/date-time.mjs +218 -211
  180. package/fesm2022/date-time.mjs.map +1 -1
  181. package/fesm2022/decorator.mjs +121 -121
  182. package/fesm2022/form.mjs +118 -118
  183. package/fesm2022/format.mjs +431 -431
  184. package/fesm2022/format.mjs.map +1 -1
  185. package/fesm2022/math.mjs +85 -85
  186. package/fesm2022/mcache.mjs +65 -75
  187. package/fesm2022/mcache.mjs.map +1 -1
  188. package/fesm2022/mtypes.mjs +55 -55
  189. package/fesm2022/other.mjs +586 -586
  190. package/fesm2022/pipe-currency.mjs +94 -94
  191. package/fesm2022/pipe-filter.mjs +40 -40
  192. package/fesm2022/pipe-format.mjs +55 -55
  193. package/fesm2022/pipes.mjs +8 -8
  194. package/fesm2022/token.mjs +37 -37
  195. package/fesm2022/yelon-util.mjs +19 -19
  196. package/form/index.d.ts +2 -2
  197. package/form/match-control.d.ts +15 -15
  198. package/form/validators.d.ts +62 -62
  199. package/format/currency.service.d.ts +37 -37
  200. package/format/currency.types.d.ts +82 -77
  201. package/format/index.d.ts +4 -4
  202. package/format/string.d.ts +44 -44
  203. package/format/validate.d.ts +72 -72
  204. package/index.d.ts +14 -14
  205. package/math/in-range.d.ts +14 -14
  206. package/math/index.d.ts +2 -2
  207. package/math/round.d.ts +33 -33
  208. package/mcache/index.d.ts +1 -1
  209. package/mcache/localStorageUtils.d.ts +18 -31
  210. package/mtypes/authority.type.d.ts +3 -3
  211. package/mtypes/header-menu.type.d.ts +12 -12
  212. package/mtypes/index.d.ts +9 -9
  213. package/mtypes/menu.type.d.ts +40 -40
  214. package/mtypes/nav.types.d.ts +27 -27
  215. package/mtypes/page.d.ts +46 -46
  216. package/mtypes/project-info.types.d.ts +21 -21
  217. package/mtypes/response.d.ts +7 -7
  218. package/mtypes/role.type.d.ts +10 -10
  219. package/mtypes/user.types.d.ts +22 -22
  220. package/other/assert.d.ts +36 -36
  221. package/other/deep.d.ts +35 -35
  222. package/other/favicon.d.ts +2 -2
  223. package/other/index.d.ts +7 -7
  224. package/other/lazy.service.d.ts +48 -48
  225. package/other/logger.d.ts +5 -5
  226. package/other/path-to-regexp.service.d.ts +26 -26
  227. package/other/resize.d.ts +1 -1
  228. package/package.json +141 -141
  229. package/pipes/currency/cny.pipe.d.ts +15 -15
  230. package/pipes/currency/index.d.ts +4 -4
  231. package/pipes/currency/mega.pipe.d.ts +16 -16
  232. package/pipes/currency/module.d.ts +9 -9
  233. package/pipes/currency/price.pipe.d.ts +19 -19
  234. package/pipes/filter/filter.pipe.d.ts +13 -13
  235. package/pipes/filter/index.d.ts +2 -2
  236. package/pipes/filter/module.d.ts +7 -7
  237. package/pipes/format/index.d.ts +2 -2
  238. package/pipes/format/mask.pipe.d.ts +27 -27
  239. package/pipes/format/module.d.ts +7 -7
  240. package/pipes/index.d.ts +3 -3
  241. package/token/index.d.ts +2 -2
  242. package/token/page-visibility.d.ts +8 -8
  243. package/token/window.d.ts +7 -7
@@ -1,78 +1,78 @@
1
- import extend from 'extend';
2
- /**
3
- * Gets the value at `path` of `object`, like `_.get` in lodash.
4
- *
5
- * 类似 `_.get`,根据 `path` 获取安全值
6
- */
7
- export function deepGet(obj, path, defaultValue) {
8
- if (!obj || path == null || path.length === 0)
9
- return defaultValue;
10
- if (!Array.isArray(path)) {
11
- path = ~path.indexOf('.') ? path.split('.') : [path];
12
- }
13
- if (path.length === 1) {
14
- const checkObj = obj[path[0]];
15
- return typeof checkObj === 'undefined' ? defaultValue : checkObj;
16
- }
17
- const res = path.reduce((o, k) => (o || {})[k], obj);
18
- return typeof res === 'undefined' ? defaultValue : res;
19
- }
20
- /**
21
- * Base on [extend](https://github.com/justmoon/node-extend) deep copy.
22
- *
23
- * 基于 [extend](https://github.com/justmoon/node-extend) 的深度拷贝
24
- *
25
- * NOTE: Don't a lot of recursion, maybe performance issues
26
- */
27
- export function deepCopy(obj) {
28
- const result = extend(true, {}, { _: obj });
29
- return result._;
30
- }
31
- /**
32
- * Deep merge object.
33
- *
34
- * 深度合并对象
35
- *
36
- * @param original 原始对象
37
- * @param arrayProcessMethod 数组处理方式
38
- * - `true` 表示替换新值,不管新值为哪种类型
39
- * - `false` 表示会合并整个数组(将旧数据与新数据合并成新数组)
40
- * @param objects 要合并的对象
41
- */
42
- export function deepMergeKey(original, arrayProcessMethod, ...objects) {
43
- if (Array.isArray(original) || typeof original !== 'object')
44
- return original;
45
- const isObject = (v) => typeof v === 'object';
46
- const merge = (target, obj) => {
47
- Object.keys(obj)
48
- .filter(key => key !== '__proto__' && Object.prototype.hasOwnProperty.call(obj, key))
49
- .forEach(key => {
50
- const fromValue = obj[key];
51
- const toValue = target[key];
52
- if (Array.isArray(toValue)) {
53
- target[key] = arrayProcessMethod ? fromValue : [...toValue, ...fromValue];
54
- }
55
- else if (typeof fromValue === 'function') {
56
- target[key] = fromValue;
57
- }
58
- else if (fromValue != null && isObject(fromValue) && toValue != null && isObject(toValue)) {
59
- target[key] = merge(toValue, fromValue);
60
- }
61
- else {
62
- target[key] = deepCopy(fromValue);
63
- }
64
- });
65
- return target;
66
- };
67
- objects.filter(v => v != null && isObject(v)).forEach(v => merge(original, v));
68
- return original;
69
- }
70
- /**
71
- * Deep merge object.
72
- *
73
- * 深度合并对象
74
- */
75
- export function deepMerge(original, ...objects) {
76
- return deepMergeKey(original, false, ...objects);
77
- }
1
+ import extend from 'extend';
2
+ /**
3
+ * Gets the value at `path` of `object`, like `_.get` in lodash.
4
+ *
5
+ * 类似 `_.get`,根据 `path` 获取安全值
6
+ */
7
+ export function deepGet(obj, path, defaultValue) {
8
+ if (!obj || path == null || path.length === 0)
9
+ return defaultValue;
10
+ if (!Array.isArray(path)) {
11
+ path = ~path.indexOf('.') ? path.split('.') : [path];
12
+ }
13
+ if (path.length === 1) {
14
+ const checkObj = obj[path[0]];
15
+ return typeof checkObj === 'undefined' ? defaultValue : checkObj;
16
+ }
17
+ const res = path.reduce((o, k) => (o || {})[k], obj);
18
+ return typeof res === 'undefined' ? defaultValue : res;
19
+ }
20
+ /**
21
+ * Base on [extend](https://github.com/justmoon/node-extend) deep copy.
22
+ *
23
+ * 基于 [extend](https://github.com/justmoon/node-extend) 的深度拷贝
24
+ *
25
+ * NOTE: Don't a lot of recursion, maybe performance issues
26
+ */
27
+ export function deepCopy(obj) {
28
+ const result = extend(true, {}, { _: obj });
29
+ return result._;
30
+ }
31
+ /**
32
+ * Deep merge object.
33
+ *
34
+ * 深度合并对象
35
+ *
36
+ * @param original 原始对象
37
+ * @param arrayProcessMethod 数组处理方式
38
+ * - `true` 表示替换新值,不管新值为哪种类型
39
+ * - `false` 表示会合并整个数组(将旧数据与新数据合并成新数组)
40
+ * @param objects 要合并的对象
41
+ */
42
+ export function deepMergeKey(original, arrayProcessMethod, ...objects) {
43
+ if (Array.isArray(original) || typeof original !== 'object')
44
+ return original;
45
+ const isObject = (v) => typeof v === 'object';
46
+ const merge = (target, obj) => {
47
+ Object.keys(obj)
48
+ .filter(key => key !== '__proto__' && Object.prototype.hasOwnProperty.call(obj, key))
49
+ .forEach(key => {
50
+ const fromValue = obj[key];
51
+ const toValue = target[key];
52
+ if (Array.isArray(toValue)) {
53
+ target[key] = arrayProcessMethod ? fromValue : [...toValue, ...fromValue];
54
+ }
55
+ else if (typeof fromValue === 'function') {
56
+ target[key] = fromValue;
57
+ }
58
+ else if (fromValue != null && isObject(fromValue) && toValue != null && isObject(toValue)) {
59
+ target[key] = merge(toValue, fromValue);
60
+ }
61
+ else {
62
+ target[key] = deepCopy(fromValue);
63
+ }
64
+ });
65
+ return target;
66
+ };
67
+ objects.filter(v => v != null && isObject(v)).forEach(v => merge(original, v));
68
+ return original;
69
+ }
70
+ /**
71
+ * Deep merge object.
72
+ *
73
+ * 深度合并对象
74
+ */
75
+ export function deepMerge(original, ...objects) {
76
+ return deepMergeKey(original, false, ...objects);
77
+ }
78
78
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWwvb3RoZXIvZGVlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFJNUI7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxPQUFPLENBQUMsR0FBYyxFQUFFLElBQTBDLEVBQUUsWUFBc0I7SUFDeEcsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUFFLE9BQU8sWUFBWSxDQUFDO0lBQ25FLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3hCLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDdEQ7SUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QixPQUFPLE9BQU8sUUFBUSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7S0FDbEU7SUFDRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDckQsT0FBTyxPQUFPLEdBQUcsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3pELENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFxRCxHQUF5QjtJQUNwRyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLE9BQU8sTUFBTSxDQUFDLENBQU0sQ0FBQztBQUN2QixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsUUFBaUIsRUFBRSxrQkFBMkIsRUFBRSxHQUFHLE9BQW9CO0lBQ2xHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRO1FBQUUsT0FBTyxRQUFRLENBQUM7SUFFN0UsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFVLEVBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQztJQUVoRSxNQUFNLEtBQUssR0FBRyxDQUFDLE1BQWlCLEVBQUUsR0FBYyxFQUFhLEVBQUU7UUFDN0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7YUFDYixNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDcEYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2IsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzFCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUM7YUFDM0U7aUJBQU0sSUFBSSxPQUFPLFNBQVMsS0FBSyxVQUFVLEVBQUU7Z0JBQzFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUM7YUFDekI7aUJBQU0sSUFBSSxTQUFTLElBQUksSUFBSSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLElBQUksSUFBSSxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDM0YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7YUFDekM7aUJBQU07Z0JBQ0wsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNuQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRS9FLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxRQUFpQixFQUFFLEdBQUcsT0FBa0I7SUFDaEUsT0FBTyxZQUFZLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0FBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZXh0ZW5kIGZyb20gJ2V4dGVuZCc7XG5cbmltcG9ydCB0eXBlIHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcblxuLyoqXG4gKiBHZXRzIHRoZSB2YWx1ZSBhdCBgcGF0aGAgb2YgYG9iamVjdGAsIGxpa2UgYF8uZ2V0YCBpbiBsb2Rhc2guXG4gKlxuICog57G75Ly8IGBfLmdldGDvvIzmoLnmja4gYHBhdGhgIOiOt+WPluWuieWFqOWAvFxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVlcEdldChvYmo6IE56U2FmZUFueSwgcGF0aDogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsIHwgdW5kZWZpbmVkLCBkZWZhdWx0VmFsdWU/OiB1bmtub3duKTogTnpTYWZlQW55IHtcbiAgaWYgKCFvYmogfHwgcGF0aCA9PSBudWxsIHx8IHBhdGgubGVuZ3RoID09PSAwKSByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICBpZiAoIUFycmF5LmlzQXJyYXkocGF0aCkpIHtcbiAgICBwYXRoID0gfnBhdGguaW5kZXhPZignLicpID8gcGF0aC5zcGxpdCgnLicpIDogW3BhdGhdO1xuICB9XG4gIGlmIChwYXRoLmxlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IGNoZWNrT2JqID0gb2JqW3BhdGhbMF1dO1xuICAgIHJldHVybiB0eXBlb2YgY2hlY2tPYmogPT09ICd1bmRlZmluZWQnID8gZGVmYXVsdFZhbHVlIDogY2hlY2tPYmo7XG4gIH1cbiAgY29uc3QgcmVzID0gcGF0aC5yZWR1Y2UoKG8sIGspID0+IChvIHx8IHt9KVtrXSwgb2JqKTtcbiAgcmV0dXJuIHR5cGVvZiByZXMgPT09ICd1bmRlZmluZWQnID8gZGVmYXVsdFZhbHVlIDogcmVzO1xufVxuXG4vKipcbiAqIEJhc2Ugb24gW2V4dGVuZF0oaHR0cHM6Ly9naXRodWIuY29tL2p1c3Rtb29uL25vZGUtZXh0ZW5kKSBkZWVwIGNvcHkuXG4gKlxuICog5Z+65LqOIFtleHRlbmRdKGh0dHBzOi8vZ2l0aHViLmNvbS9qdXN0bW9vbi9ub2RlLWV4dGVuZCkg55qE5rex5bqm5ou36LSdXG4gKlxuICogTk9URTogRG9uJ3QgYSBsb3Qgb2YgcmVjdXJzaW9uLCBtYXliZSBwZXJmb3JtYW5jZSBpc3N1ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZXBDb3B5PFQgZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IE56U2FmZUFueSB9ID0gTnpTYWZlQW55PihvYmo6IFQgfCBudWxsIHwgdW5kZWZpbmVkKTogVCB7XG4gIGNvbnN0IHJlc3VsdCA9IGV4dGVuZCh0cnVlLCB7fSwgeyBfOiBvYmogfSk7XG4gIHJldHVybiByZXN1bHQuXyBhcyBUO1xufVxuXG4vKipcbiAqIERlZXAgbWVyZ2Ugb2JqZWN0LlxuICpcbiAqIOa3seW6puWQiOW5tuWvueixoVxuICpcbiAqIEBwYXJhbSBvcmlnaW5hbCDljp/lp4vlr7nosaFcbiAqIEBwYXJhbSBhcnJheVByb2Nlc3NNZXRob2Qg5pWw57uE5aSE55CG5pa55byPXG4gKiAgLSBgdHJ1ZWAg6KGo56S65pu/5o2i5paw5YC877yM5LiN566h5paw5YC85Li65ZOq56eN57G75Z6LXG4gKiAgLSBgZmFsc2VgIOihqOekuuS8muWQiOW5tuaVtOS4quaVsOe7hO+8iOWwhuaXp+aVsOaNruS4juaWsOaVsOaNruWQiOW5tuaIkOaWsOaVsOe7hO+8iVxuICogQHBhcmFtIG9iamVjdHMg6KaB5ZCI5bm255qE5a+56LGhXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWVwTWVyZ2VLZXkob3JpZ2luYWw6IHVua25vd24sIGFycmF5UHJvY2Vzc01ldGhvZDogYm9vbGVhbiwgLi4ub2JqZWN0czogTnpTYWZlQW55W10pOiBOelNhZmVBbnkge1xuICBpZiAoQXJyYXkuaXNBcnJheShvcmlnaW5hbCkgfHwgdHlwZW9mIG9yaWdpbmFsICE9PSAnb2JqZWN0JykgcmV0dXJuIG9yaWdpbmFsO1xuXG4gIGNvbnN0IGlzT2JqZWN0ID0gKHY6IHVua25vd24pOiBib29sZWFuID0+IHR5cGVvZiB2ID09PSAnb2JqZWN0JztcblxuICBjb25zdCBtZXJnZSA9ICh0YXJnZXQ6IE56U2FmZUFueSwgb2JqOiBOelNhZmVBbnkpOiBOelNhZmVBbnkgPT4ge1xuICAgIE9iamVjdC5rZXlzKG9iailcbiAgICAgIC5maWx0ZXIoa2V5ID0+IGtleSAhPT0gJ19fcHJvdG9fXycgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSlcbiAgICAgIC5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGNvbnN0IGZyb21WYWx1ZSA9IG9ialtrZXldO1xuICAgICAgICBjb25zdCB0b1ZhbHVlID0gdGFyZ2V0W2tleV07XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRvVmFsdWUpKSB7XG4gICAgICAgICAgdGFyZ2V0W2tleV0gPSBhcnJheVByb2Nlc3NNZXRob2QgPyBmcm9tVmFsdWUgOiBbLi4udG9WYWx1ZSwgLi4uZnJvbVZhbHVlXTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZnJvbVZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgdGFyZ2V0W2tleV0gPSBmcm9tVmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAoZnJvbVZhbHVlICE9IG51bGwgJiYgaXNPYmplY3QoZnJvbVZhbHVlKSAmJiB0b1ZhbHVlICE9IG51bGwgJiYgaXNPYmplY3QodG9WYWx1ZSkpIHtcbiAgICAgICAgICB0YXJnZXRba2V5XSA9IG1lcmdlKHRvVmFsdWUsIGZyb21WYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGFyZ2V0W2tleV0gPSBkZWVwQ29weShmcm9tVmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xuXG4gIG9iamVjdHMuZmlsdGVyKHYgPT4gdiAhPSBudWxsICYmIGlzT2JqZWN0KHYpKS5mb3JFYWNoKHYgPT4gbWVyZ2Uob3JpZ2luYWwsIHYpKTtcblxuICByZXR1cm4gb3JpZ2luYWw7XG59XG5cbi8qKlxuICogRGVlcCBtZXJnZSBvYmplY3QuXG4gKlxuICog5rex5bqm5ZCI5bm25a+56LGhXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWVwTWVyZ2Uob3JpZ2luYWw6IHVua25vd24sIC4uLm9iamVjdHM6IHVua25vd25bXSk6IE56U2FmZUFueSB7XG4gIHJldHVybiBkZWVwTWVyZ2VLZXkob3JpZ2luYWwsIGZhbHNlLCAuLi5vYmplY3RzKTtcbn1cbiJdfQ==
@@ -1,29 +1,29 @@
1
- export function setFavicon(path) {
2
- const link = document.querySelector("link[rel*='icon']") || document.createElement('link');
3
- link.type = 'image/x-icon';
4
- link.rel = 'shortcut icon';
5
- link.href = path;
6
- document.getElementsByTagName('head')[0].appendChild(link);
7
- }
8
- export function hasFavicon(url) {
9
- return new Promise(resolve => {
10
- let xmlHttp;
11
- if (window['XMLHttpRequest']) {
12
- xmlHttp = new XMLHttpRequest();
13
- }
14
- if (xmlHttp) {
15
- xmlHttp.open('Get', url, false);
16
- xmlHttp.send();
17
- if (xmlHttp.status == 404) {
18
- resolve(false);
19
- }
20
- else {
21
- resolve(true);
22
- }
23
- }
24
- else {
25
- resolve(false);
26
- }
27
- });
28
- }
1
+ export function setFavicon(path) {
2
+ const link = document.querySelector("link[rel*='icon']") || document.createElement('link');
3
+ link.type = 'image/x-icon';
4
+ link.rel = 'shortcut icon';
5
+ link.href = path;
6
+ document.getElementsByTagName('head')[0].appendChild(link);
7
+ }
8
+ export function hasFavicon(url) {
9
+ return new Promise(resolve => {
10
+ let xmlHttp;
11
+ if (window['XMLHttpRequest']) {
12
+ xmlHttp = new XMLHttpRequest();
13
+ }
14
+ if (xmlHttp) {
15
+ xmlHttp.open('Get', url, false);
16
+ xmlHttp.send();
17
+ if (xmlHttp.status == 404) {
18
+ resolve(false);
19
+ }
20
+ else {
21
+ resolve(true);
22
+ }
23
+ }
24
+ else {
25
+ resolve(false);
26
+ }
27
+ });
28
+ }
29
29
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmF2aWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWwvb3RoZXIvZmF2aWNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVk7SUFDckMsTUFBTSxJQUFJLEdBQVEsUUFBUSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEcsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUM7SUFDM0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxlQUFlLENBQUM7SUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDakIsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUFXO0lBQ3BDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDM0IsSUFBSSxPQUFPLENBQUM7UUFDWixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQzVCLE9BQU8sR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1NBQ2hDO1FBQ0QsSUFBSSxPQUFPLEVBQUU7WUFDWCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDaEMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2YsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLEdBQUcsRUFBRTtnQkFDekIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2hCO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNmO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoQjtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBzZXRGYXZpY29uKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBsaW5rOiBhbnkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwibGlua1tyZWwqPSdpY29uJ11cIikgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICBsaW5rLnR5cGUgPSAnaW1hZ2UveC1pY29uJztcbiAgbGluay5yZWwgPSAnc2hvcnRjdXQgaWNvbic7XG4gIGxpbmsuaHJlZiA9IHBhdGg7XG4gIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQobGluayk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNGYXZpY29uKHVybDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICBsZXQgeG1sSHR0cDtcbiAgICBpZiAod2luZG93WydYTUxIdHRwUmVxdWVzdCddKSB7XG4gICAgICB4bWxIdHRwID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG4gICAgfVxuICAgIGlmICh4bWxIdHRwKSB7XG4gICAgICB4bWxIdHRwLm9wZW4oJ0dldCcsIHVybCwgZmFsc2UpO1xuICAgICAgeG1sSHR0cC5zZW5kKCk7XG4gICAgICBpZiAoeG1sSHR0cC5zdGF0dXMgPT0gNDA0KSB7XG4gICAgICAgIHJlc29sdmUoZmFsc2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmVzb2x2ZShmYWxzZSk7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==
@@ -1,8 +1,8 @@
1
- export * from './deep';
2
- export * from './logger';
3
- export * from './lazy.service';
4
- export * from './assert';
5
- export * from './resize';
6
- export * from './path-to-regexp.service';
7
- export * from './favicon';
1
+ export * from './deep';
2
+ export * from './logger';
3
+ export * from './lazy.service';
4
+ export * from './assert';
5
+ export * from './resize';
6
+ export * from './path-to-regexp.service';
7
+ export * from './favicon';
8
8
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL290aGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGVlcCc7XG5leHBvcnQgKiBmcm9tICcuL2xvZ2dlcic7XG5leHBvcnQgKiBmcm9tICcuL2xhenkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Fzc2VydCc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc2l6ZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhdGgtdG8tcmVnZXhwLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mYXZpY29uJztcbiJdfQ==
@@ -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
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: LazyService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
123
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: LazyService, providedIn: 'root' }); }
124
- }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", 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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: LazyService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
123
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: LazyService, providedIn: 'root' }); }
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", 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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QyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2hELElBQUksT0FBTyxDQUFDLFlBQVksRUFBRTtnQkFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO2FBQ3ZDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0QsTUFBTSxJQUFJLEdBQWU7Z0JBQ3ZCLElBQUk7Z0JBQ0osTUFBTSxFQUFFLElBQUk7YUFDYixDQUFDO1lBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FqSlUsV0FBVyxrQkFLRixRQUFRO2tIQUxqQixXQUFXLGNBREUsTUFBTTs7MkZBQ25CLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFNbkIsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGZpbHRlciwgc2hhcmUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExhenlSZXN1bHQge1xuICBwYXRoOiBzdHJpbmc7XG4gIHN0YXR1czogJ29rJyB8ICdlcnJvcicgfCAnbG9hZGluZyc7XG4gIGVycm9yPzogTnpTYWZlQW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhenlMb2FkSXRlbSB7XG4gIHBhdGg6IHN0cmluZztcbiAgb3B0aW9ucz86IExhenlMb2FkT3B0aW9ucztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXp5TG9hZE9wdGlvbnMge1xuICBpbm5lckNvbnRlbnQ/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