zcw-shared 1.19.0 → 1.21.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 (362) hide show
  1. package/README.md +1291 -65
  2. package/dist/functions/ag-grid/generateLicense.d.ts +5 -1
  3. package/dist/functions/ag-grid/generateLicense.js +3 -3
  4. package/dist/functions/ag-grid/generateLicense.js.map +1 -1
  5. package/dist/functions/android/buildProject.d.ts +9 -8
  6. package/dist/functions/android/buildProject.js +19 -20
  7. package/dist/functions/android/buildProject.js.map +1 -1
  8. package/dist/functions/android/detectAndroidModules.d.ts +7 -1
  9. package/dist/functions/android/detectAndroidModules.js +7 -7
  10. package/dist/functions/android/detectAndroidModules.js.map +1 -1
  11. package/dist/functions/android/modifyGradle.d.ts +10 -1
  12. package/dist/functions/android/modifyGradle.js +7 -7
  13. package/dist/functions/android/modifyGradle.js.map +1 -1
  14. package/dist/functions/android/modifyManifest.d.ts +11 -2
  15. package/dist/functions/android/modifyManifest.js +4 -4
  16. package/dist/functions/android/modifyManifest.js.map +1 -1
  17. package/dist/functions/android/permission.d.ts +15 -5
  18. package/dist/functions/android/permission.js +8 -8
  19. package/dist/functions/android/permission.js.map +1 -1
  20. package/dist/functions/array-object/deepClone.d.ts +12 -0
  21. package/dist/functions/array-object/deepClone.js +131 -0
  22. package/dist/functions/array-object/deepClone.js.map +1 -0
  23. package/dist/functions/array-object/flatten.d.ts +7 -0
  24. package/dist/functions/array-object/flatten.js +60 -0
  25. package/dist/functions/array-object/flatten.js.map +1 -0
  26. package/dist/functions/array-object/unique.d.ts +10 -0
  27. package/dist/functions/array-object/unique.js +85 -0
  28. package/dist/functions/array-object/unique.js.map +1 -0
  29. package/dist/functions/async/createInterruptibleTask.d.ts +37 -0
  30. package/dist/functions/async/createInterruptibleTask.js +180 -0
  31. package/dist/functions/async/createInterruptibleTask.js.map +1 -0
  32. package/dist/functions/color/convertColor.js +1 -1
  33. package/dist/functions/color/convertColor.js.map +1 -1
  34. package/dist/functions/data-structures/Heap.d.ts +11 -0
  35. package/dist/functions/data-structures/Heap.js +91 -0
  36. package/dist/functions/data-structures/Heap.js.map +1 -0
  37. package/dist/functions/data-structures/LinkedList.d.ts +18 -0
  38. package/dist/functions/data-structures/LinkedList.js +135 -0
  39. package/dist/functions/data-structures/LinkedList.js.map +1 -0
  40. package/dist/functions/data-structures/PriorityQueue.d.ts +14 -0
  41. package/dist/functions/data-structures/PriorityQueue.js +77 -0
  42. package/dist/functions/data-structures/PriorityQueue.js.map +1 -0
  43. package/dist/functions/data-structures/Queue.d.ts +10 -0
  44. package/dist/functions/data-structures/Queue.js +27 -0
  45. package/dist/functions/data-structures/Queue.js.map +1 -0
  46. package/dist/functions/data-structures/Stack.d.ts +10 -0
  47. package/dist/functions/data-structures/Stack.js +27 -0
  48. package/dist/functions/data-structures/Stack.js.map +1 -0
  49. package/dist/functions/debug/createDebugger.d.ts +14 -3
  50. package/dist/functions/debug/createDebugger.js +10 -35
  51. package/dist/functions/debug/createDebugger.js.map +1 -1
  52. package/dist/functions/design-tokens/buildTokens.d.ts +76 -0
  53. package/dist/functions/design-tokens/buildTokens.js +183 -0
  54. package/dist/functions/design-tokens/buildTokens.js.map +1 -0
  55. package/dist/functions/design-tokens/generateVariables.d.ts +7 -0
  56. package/dist/functions/design-tokens/generateVariables.js +135 -0
  57. package/dist/functions/design-tokens/generateVariables.js.map +1 -0
  58. package/dist/functions/design-tokens/mixColors.d.ts +1 -0
  59. package/dist/functions/design-tokens/mixColors.js +38 -0
  60. package/dist/functions/design-tokens/mixColors.js.map +1 -0
  61. package/dist/functions/design-tokens/parseDesignTokens.d.ts +10 -0
  62. package/dist/functions/design-tokens/parseDesignTokens.js +216 -0
  63. package/dist/functions/design-tokens/parseDesignTokens.js.map +1 -0
  64. package/dist/functions/dom/demonstrateResourceLoading.d.ts +32 -0
  65. package/dist/functions/dom/demonstrateResourceLoading.js +169 -0
  66. package/dist/functions/dom/demonstrateResourceLoading.js.map +1 -0
  67. package/dist/functions/dom/detectOverflow.d.ts +5 -1
  68. package/dist/functions/dom/detectOverflow.js +2 -2
  69. package/dist/functions/dom/detectOverflow.js.map +1 -1
  70. package/dist/functions/dom/getViewportRect.d.ts +5 -1
  71. package/dist/functions/dom/getViewportRect.js +3 -3
  72. package/dist/functions/dom/getViewportRect.js.map +1 -1
  73. package/dist/functions/functional/compose.d.ts +1 -0
  74. package/dist/functions/functional/compose.js +10 -0
  75. package/dist/functions/functional/compose.js.map +1 -0
  76. package/dist/functions/functional/curry.d.ts +1 -0
  77. package/dist/functions/functional/curry.js +13 -0
  78. package/dist/functions/functional/curry.js.map +1 -0
  79. package/dist/functions/functional/pipe.d.ts +1 -0
  80. package/dist/functions/functional/pipe.js +10 -0
  81. package/dist/functions/functional/pipe.js.map +1 -0
  82. package/dist/functions/image/compressToTargetSize.d.ts +8 -1
  83. package/dist/functions/image/compressToTargetSize.js +11 -8
  84. package/dist/functions/image/compressToTargetSize.js.map +1 -1
  85. package/dist/functions/image/generateMacIcons.d.ts +5 -1
  86. package/dist/functions/image/generateMacIcons.js +4 -4
  87. package/dist/functions/image/generateMacIcons.js.map +1 -1
  88. package/dist/functions/image/generateMacTrayIcon.d.ts +4 -1
  89. package/dist/functions/image/generateMacTrayIcon.js +2 -2
  90. package/dist/functions/image/generateMacTrayIcon.js.map +1 -1
  91. package/dist/functions/image/generatePaddedImage.d.ts +4 -1
  92. package/dist/functions/image/generatePaddedImage.js +3 -3
  93. package/dist/functions/image/generatePaddedImage.js.map +1 -1
  94. package/dist/functions/image/generatePwaIcons.d.ts +5 -1
  95. package/dist/functions/image/generatePwaIcons.js +4 -4
  96. package/dist/functions/image/generatePwaIcons.js.map +1 -1
  97. package/dist/functions/image/generateRoundedImage.d.ts +5 -1
  98. package/dist/functions/image/generateRoundedImage.js +4 -4
  99. package/dist/functions/image/generateRoundedImage.js.map +1 -1
  100. package/dist/functions/image/getImageDimensions.d.ts +5 -1
  101. package/dist/functions/image/getImageDimensions.js +3 -3
  102. package/dist/functions/image/getImageDimensions.js.map +1 -1
  103. package/dist/functions/ipc/dispatchIpcRequest.d.ts +4 -1
  104. package/dist/functions/ipc/dispatchIpcRequest.js +3 -3
  105. package/dist/functions/ipc/dispatchIpcRequest.js.map +1 -1
  106. package/dist/functions/performance/debounce.d.ts +5 -0
  107. package/dist/functions/performance/debounce.js +12 -0
  108. package/dist/functions/performance/debounce.js.map +1 -0
  109. package/dist/functions/performance/memoize.d.ts +1 -0
  110. package/dist/functions/performance/memoize.js +13 -0
  111. package/dist/functions/performance/memoize.js.map +1 -0
  112. package/dist/functions/performance/throttle.d.ts +1 -0
  113. package/dist/functions/performance/throttle.js +11 -0
  114. package/dist/functions/performance/throttle.js.map +1 -0
  115. package/dist/functions/platform/tencent-cloud/deploy.tcb.d.ts +13 -0
  116. package/dist/functions/platform/tencent-cloud/deploy.tcb.js +46 -0
  117. package/dist/functions/platform/tencent-cloud/deploy.tcb.js.map +1 -0
  118. package/dist/functions/platform/tencent-cloud/getSecret.d.ts +4 -0
  119. package/dist/functions/platform/tencent-cloud/getSecret.js +19 -0
  120. package/dist/functions/platform/tencent-cloud/getSecret.js.map +1 -0
  121. package/dist/functions/platform/uniapp/app-plus/buildAndroidApp.d.ts +27 -0
  122. package/dist/functions/platform/uniapp/app-plus/buildAndroidApp.js +287 -0
  123. package/dist/functions/platform/uniapp/app-plus/buildAndroidApp.js.map +1 -0
  124. package/dist/functions/platform/uniapp/build.d.ts +21 -0
  125. package/dist/functions/platform/uniapp/build.js +83 -0
  126. package/dist/functions/platform/uniapp/build.js.map +1 -0
  127. package/dist/functions/platform/uniapp/detectAndroidProjectStructure.d.ts +11 -0
  128. package/dist/functions/platform/uniapp/detectAndroidProjectStructure.js +30 -0
  129. package/dist/functions/platform/uniapp/detectAndroidProjectStructure.js.map +1 -0
  130. package/dist/functions/platform/uniapp/detectProjectType.d.ts +20 -0
  131. package/dist/functions/platform/uniapp/detectProjectType.js +68 -0
  132. package/dist/functions/platform/uniapp/detectProjectType.js.map +1 -0
  133. package/dist/functions/platform/uniapp/parseManifest.d.ts +18 -0
  134. package/dist/functions/platform/uniapp/parseManifest.js +49 -0
  135. package/dist/functions/platform/uniapp/parseManifest.js.map +1 -0
  136. package/dist/functions/platform/uniapp/waitForPages.d.ts +7 -0
  137. package/dist/functions/platform/uniapp/waitForPages.js +20 -0
  138. package/dist/functions/platform/uniapp/waitForPages.js.map +1 -0
  139. package/dist/functions/principles/functionBind.d.ts +4 -0
  140. package/dist/functions/principles/functionBind.js +33 -0
  141. package/dist/functions/principles/functionBind.js.map +1 -0
  142. package/dist/functions/principles/myInstanceof.d.ts +5 -0
  143. package/dist/functions/principles/myInstanceof.js +56 -0
  144. package/dist/functions/principles/myInstanceof.js.map +1 -0
  145. package/dist/functions/principles/myNew.d.ts +3 -0
  146. package/dist/functions/principles/myNew.js +19 -0
  147. package/dist/functions/principles/myNew.js.map +1 -0
  148. package/dist/functions/software/findSoftware.d.ts +2 -2
  149. package/dist/functions/software/findSoftware.js +1 -1
  150. package/dist/functions/software/findSoftware.js.map +1 -1
  151. package/dist/functions/string/base64.d.ts +4 -1
  152. package/dist/functions/string/base64.js +2 -2
  153. package/dist/functions/string/base64.js.map +1 -1
  154. package/dist/functions/tencent-cloud/deploy.tcb.d.ts +12 -2
  155. package/dist/functions/tencent-cloud/deploy.tcb.js +7 -8
  156. package/dist/functions/tencent-cloud/deploy.tcb.js.map +1 -1
  157. package/dist/functions/uniapp/app-plus/buildAndroidApp.d.ts +27 -2
  158. package/dist/functions/uniapp/app-plus/buildAndroidApp.js +71 -29
  159. package/dist/functions/uniapp/app-plus/buildAndroidApp.js.map +1 -1
  160. package/dist/functions/uniapp/build.d.ts +9 -8
  161. package/dist/functions/uniapp/build.js +8 -9
  162. package/dist/functions/uniapp/build.js.map +1 -1
  163. package/dist/functions/uniapp/detectAndroidProjectStructure.d.ts +5 -1
  164. package/dist/functions/uniapp/detectAndroidProjectStructure.js +5 -5
  165. package/dist/functions/uniapp/detectAndroidProjectStructure.js.map +1 -1
  166. package/dist/functions/uniapp/detectProjectType.d.ts +8 -4
  167. package/dist/functions/uniapp/detectProjectType.js +20 -20
  168. package/dist/functions/uniapp/detectProjectType.js.map +1 -1
  169. package/dist/functions/uniapp/parseManifest.d.ts +7 -1
  170. package/dist/functions/uniapp/parseManifest.js +7 -4
  171. package/dist/functions/uniapp/parseManifest.js.map +1 -1
  172. package/dist/functions/uniapp/waitForPages.d.ts +6 -2
  173. package/dist/functions/uniapp/waitForPages.js +3 -3
  174. package/dist/functions/uniapp/waitForPages.js.map +1 -1
  175. package/dist/functions/utils/AVLTree.d.ts +19 -0
  176. package/dist/functions/utils/AVLTree.js +197 -0
  177. package/dist/functions/utils/AVLTree.js.map +1 -0
  178. package/dist/functions/utils/BinarySearchTree.d.ts +19 -0
  179. package/dist/functions/utils/BinarySearchTree.js +150 -0
  180. package/dist/functions/utils/BinarySearchTree.js.map +1 -0
  181. package/dist/functions/utils/EventEmitter.d.ts +32 -0
  182. package/dist/functions/utils/EventEmitter.js +108 -0
  183. package/dist/functions/utils/EventEmitter.js.map +1 -0
  184. package/dist/functions/utils/Graph.d.ts +19 -0
  185. package/dist/functions/utils/Graph.js +190 -0
  186. package/dist/functions/utils/Graph.js.map +1 -0
  187. package/dist/functions/utils/HashMap.d.ts +13 -0
  188. package/dist/functions/utils/HashMap.js +128 -0
  189. package/dist/functions/utils/HashMap.js.map +1 -0
  190. package/dist/functions/utils/Heap.d.ts +11 -0
  191. package/dist/functions/utils/Heap.js +91 -0
  192. package/dist/functions/utils/Heap.js.map +1 -0
  193. package/dist/functions/utils/LRUCache.d.ts +41 -0
  194. package/dist/functions/utils/LRUCache.js +182 -0
  195. package/dist/functions/utils/LRUCache.js.map +1 -0
  196. package/dist/functions/utils/LinkedList.d.ts +18 -0
  197. package/dist/functions/utils/LinkedList.js +135 -0
  198. package/dist/functions/utils/LinkedList.js.map +1 -0
  199. package/dist/functions/utils/MyPromise.d.ts +32 -0
  200. package/dist/functions/utils/MyPromise.js +254 -0
  201. package/dist/functions/utils/MyPromise.js.map +1 -0
  202. package/dist/functions/utils/PriorityQueue.d.ts +14 -0
  203. package/dist/functions/utils/PriorityQueue.js +77 -0
  204. package/dist/functions/utils/PriorityQueue.js.map +1 -0
  205. package/dist/functions/utils/Queue.d.ts +10 -0
  206. package/dist/functions/utils/Queue.js +27 -0
  207. package/dist/functions/utils/Queue.js.map +1 -0
  208. package/dist/functions/utils/Stack.d.ts +10 -0
  209. package/dist/functions/utils/Stack.js +27 -0
  210. package/dist/functions/utils/Stack.js.map +1 -0
  211. package/dist/functions/utils/Trie.d.ts +16 -0
  212. package/dist/functions/utils/Trie.js +127 -0
  213. package/dist/functions/utils/Trie.js.map +1 -0
  214. package/dist/functions/utils/UnionFind.d.ts +8 -0
  215. package/dist/functions/utils/UnionFind.js +53 -0
  216. package/dist/functions/utils/UnionFind.js.map +1 -0
  217. package/dist/functions/utils/createI18n.d.ts +2 -0
  218. package/dist/functions/utils/createI18n.js +97 -0
  219. package/dist/functions/utils/createI18n.js.map +1 -0
  220. package/dist/functions/utils/createReactive.d.ts +10 -0
  221. package/dist/functions/utils/createReactive.js +50 -0
  222. package/dist/functions/utils/createReactive.js.map +1 -0
  223. package/dist/functions/utils/curryAdvanced.d.ts +8 -0
  224. package/dist/functions/utils/curryAdvanced.js +87 -0
  225. package/dist/functions/utils/curryAdvanced.js.map +1 -0
  226. package/dist/functions/utils/debounce.d.ts +5 -1
  227. package/dist/functions/utils/debounce.js +3 -4
  228. package/dist/functions/utils/debounce.js.map +1 -1
  229. package/dist/functions/utils/deepClone.d.ts +12 -0
  230. package/dist/functions/utils/deepClone.js +131 -0
  231. package/dist/functions/utils/deepClone.js.map +1 -0
  232. package/dist/functions/utils/diff.d.ts +25 -0
  233. package/dist/functions/utils/diff.js +316 -0
  234. package/dist/functions/utils/diff.js.map +1 -0
  235. package/dist/functions/utils/flatten.d.ts +7 -0
  236. package/dist/functions/utils/flatten.js +60 -0
  237. package/dist/functions/utils/flatten.js.map +1 -0
  238. package/dist/functions/utils/flattenObject.d.ts +5 -0
  239. package/dist/functions/utils/flattenObject.js +102 -0
  240. package/dist/functions/utils/flattenObject.js.map +1 -0
  241. package/dist/functions/utils/formatString.d.ts +5 -0
  242. package/dist/functions/utils/formatString.js +9 -0
  243. package/dist/functions/utils/formatString.js.map +1 -0
  244. package/dist/functions/utils/functionBind.d.ts +4 -0
  245. package/dist/functions/utils/functionBind.js +33 -0
  246. package/dist/functions/utils/functionBind.js.map +1 -0
  247. package/dist/functions/utils/generateExports.d.ts +16 -6
  248. package/dist/functions/utils/generateExports.js +11 -11
  249. package/dist/functions/utils/generateExports.js.map +1 -1
  250. package/dist/functions/utils/generatorUtils.d.ts +16 -0
  251. package/dist/functions/utils/generatorUtils.js +139 -0
  252. package/dist/functions/utils/generatorUtils.js.map +1 -0
  253. package/dist/functions/utils/i18n.d.ts +27 -0
  254. package/dist/functions/utils/i18n.js +119 -0
  255. package/dist/functions/utils/i18n.js.map +1 -0
  256. package/dist/functions/utils/myInstanceof.d.ts +5 -0
  257. package/dist/functions/utils/myInstanceof.js +56 -0
  258. package/dist/functions/utils/myInstanceof.js.map +1 -0
  259. package/dist/functions/utils/myNew.d.ts +3 -0
  260. package/dist/functions/utils/myNew.js +19 -0
  261. package/dist/functions/utils/myNew.js.map +1 -0
  262. package/dist/functions/utils/permission.d.ts +40 -0
  263. package/dist/functions/utils/permission.js +189 -0
  264. package/dist/functions/utils/permission.js.map +1 -0
  265. package/dist/functions/utils/pinia.d.ts +52 -0
  266. package/dist/functions/utils/pinia.js +183 -0
  267. package/dist/functions/utils/pinia.js.map +1 -0
  268. package/dist/functions/utils/promiseLimit.d.ts +10 -0
  269. package/dist/functions/utils/promiseLimit.js +125 -0
  270. package/dist/functions/utils/promiseLimit.js.map +1 -0
  271. package/dist/functions/utils/retryWithBackoff.d.ts +4 -1
  272. package/dist/functions/utils/retryWithBackoff.js +2 -3
  273. package/dist/functions/utils/retryWithBackoff.js.map +1 -1
  274. package/dist/functions/utils/unique.d.ts +10 -0
  275. package/dist/functions/utils/unique.js +85 -0
  276. package/dist/functions/utils/unique.js.map +1 -0
  277. package/dist/functions/utils/validate.d.ts +4 -1
  278. package/dist/functions/utils/validate.js +2 -3
  279. package/dist/functions/utils/validate.js.map +1 -1
  280. package/dist/functions/utils/walk.d.ts +8 -2
  281. package/dist/functions/utils/walk.js +9 -10
  282. package/dist/functions/utils/walk.js.map +1 -1
  283. package/dist/functions/vue/dynamicMount.d.ts +3 -2
  284. package/dist/functions/vue/dynamicMount.js +6 -6
  285. package/dist/functions/vue/dynamicMount.js.map +1 -1
  286. package/dist/functions/wechat/miniapp/downloadFile.d.ts +5 -1
  287. package/dist/functions/wechat/miniapp/downloadFile.js +3 -3
  288. package/dist/functions/wechat/miniapp/downloadFile.js.map +1 -1
  289. package/dist/functions/xml/modifyXml.d.ts +9 -2
  290. package/dist/functions/xml/modifyXml.js +4 -4
  291. package/dist/functions/xml/modifyXml.js.map +1 -1
  292. package/dist/hooks/createGlobalState.d.ts +2 -0
  293. package/dist/hooks/createGlobalState.js +11 -0
  294. package/dist/hooks/createGlobalState.js.map +1 -0
  295. package/dist/hooks/createInjectionState.d.ts +14 -0
  296. package/dist/hooks/createInjectionState.js +20 -0
  297. package/dist/hooks/createInjectionState.js.map +1 -0
  298. package/dist/hooks/createSharedComposable.d.ts +2 -0
  299. package/dist/hooks/createSharedComposable.js +13 -0
  300. package/dist/hooks/createSharedComposable.js.map +1 -0
  301. package/dist/hooks/injectLocal.d.ts +10 -0
  302. package/dist/hooks/injectLocal.js +12 -0
  303. package/dist/hooks/injectLocal.js.map +1 -0
  304. package/dist/hooks/provideLocal.d.ts +9 -0
  305. package/dist/hooks/provideLocal.js +7 -0
  306. package/dist/hooks/provideLocal.js.map +1 -0
  307. package/dist/hooks/useAltool.d.ts +1 -1
  308. package/dist/hooks/useAltool.js +13 -13
  309. package/dist/hooks/useAltool.js.map +1 -1
  310. package/dist/hooks/useAsyncState.d.ts +30 -0
  311. package/dist/hooks/useAsyncState.js +46 -0
  312. package/dist/hooks/useAsyncState.js.map +1 -0
  313. package/dist/hooks/useDebouncedRefHistory.d.ts +22 -0
  314. package/dist/hooks/useDebouncedRefHistory.js +46 -0
  315. package/dist/hooks/useDebouncedRefHistory.js.map +1 -0
  316. package/dist/hooks/useDraggable.d.ts +14 -11
  317. package/dist/hooks/useDraggable.js +60 -80
  318. package/dist/hooks/useDraggable.js.map +1 -1
  319. package/dist/hooks/useLocalStorage.d.ts +5 -1
  320. package/dist/hooks/useLocalStorage.js +5 -4
  321. package/dist/hooks/useLocalStorage.js.map +1 -1
  322. package/dist/hooks/useManualRefHistory.d.ts +26 -0
  323. package/dist/hooks/useManualRefHistory.js +80 -0
  324. package/dist/hooks/useManualRefHistory.js.map +1 -0
  325. package/dist/hooks/usePermission.d.ts +7 -0
  326. package/dist/hooks/usePermission.js +123 -0
  327. package/dist/hooks/usePermission.js.map +1 -0
  328. package/dist/hooks/useRefHistory.d.ts +21 -0
  329. package/dist/hooks/useRefHistory.js +41 -0
  330. package/dist/hooks/useRefHistory.js.map +1 -0
  331. package/dist/hooks/useResizable.d.ts +14 -8
  332. package/dist/hooks/useResizable.js +40 -31
  333. package/dist/hooks/useResizable.js.map +1 -1
  334. package/dist/hooks/useSessionStorage.d.ts +5 -1
  335. package/dist/hooks/useSessionStorage.js +5 -4
  336. package/dist/hooks/useSessionStorage.js.map +1 -1
  337. package/dist/hooks/useStorage.d.ts +4 -1
  338. package/dist/hooks/useStorage.js +4 -4
  339. package/dist/hooks/useStorage.js.map +1 -1
  340. package/dist/hooks/useStorageWithIndexedDB.d.ts +5 -1
  341. package/dist/hooks/useStorageWithIndexedDB.js +24 -11
  342. package/dist/hooks/useStorageWithIndexedDB.js.map +1 -1
  343. package/dist/hooks/useWebWorker.d.ts +13 -13
  344. package/dist/hooks/useWebWorker.js +15 -17
  345. package/dist/hooks/useWebWorker.js.map +1 -1
  346. package/dist/hooks/useWorkerFunction.d.ts +15 -11
  347. package/dist/hooks/useWorkerFunction.js +16 -16
  348. package/dist/hooks/useWorkerFunction.js.map +1 -1
  349. package/dist/hooks/useWorkerPool.d.ts +15 -12
  350. package/dist/hooks/useWorkerPool.js +18 -13
  351. package/dist/hooks/useWorkerPool.js.map +1 -1
  352. package/package.json +50 -3
  353. package/references/browser.d.ts +28 -2
  354. package/references/dom.d.ts +45 -0
  355. package/references/indexeddb.d.ts +1 -0
  356. package/references/node.d.ts +42 -7
  357. package/references/vue.d.ts +161 -5
  358. package/references/xlsx.d.ts +51 -0
  359. package/types/android-build.d.ts +0 -22
  360. package/types/reactive.d.ts +67 -0
  361. package/types/tencent-cloud.d.ts +1 -9
  362. package/types/uniapp-android-build.d.ts +0 -21
@@ -0,0 +1,32 @@
1
+ import type { Document } from '../../../references/dom.d';
2
+ import type { setTimeout } from '../../../references/timer.d';
3
+ import type { Console } from '../../../references/console.d';
4
+ export type ResourceType = 'script' | 'style' | 'image' | 'iframe';
5
+ export type ScriptLoadMode = 'normal' | 'async' | 'defer' | 'module';
6
+ export interface ResourceLoadOptions {
7
+ type: ResourceType;
8
+ url: string;
9
+ mode?: ScriptLoadMode;
10
+ blocking?: boolean;
11
+ delay?: number;
12
+ }
13
+ export interface ResourceLoadEvent {
14
+ type: 'start' | 'load' | 'error' | 'execute';
15
+ resource: ResourceLoadOptions;
16
+ timestamp: number;
17
+ relativeTime: number;
18
+ message?: string;
19
+ }
20
+ export interface ResourceLoadResult {
21
+ events: ResourceLoadEvent[];
22
+ totalTime: number;
23
+ success: boolean;
24
+ }
25
+ export interface ResourceLoadingDeps {
26
+ setTimeout: typeof setTimeout;
27
+ error: Console['error'];
28
+ createElement: Document['createElement'];
29
+ head: Document['head'];
30
+ }
31
+ export declare function demonstrateResourceLoading(resources: ResourceLoadOptions[], deps: ResourceLoadingDeps, onEvent?: (event: ResourceLoadEvent) => void): Promise<ResourceLoadResult>;
32
+ export declare function getResourceLoadingDescription(type: ResourceType, mode?: ScriptLoadMode, blocking?: boolean): string;
@@ -0,0 +1,169 @@
1
+ export async function demonstrateResourceLoading(resources, deps, onEvent) {
2
+ const startTime = Date.now();
3
+ const events = [];
4
+ const addEvent = (type, resource, message) => {
5
+ const timestamp = Date.now();
6
+ const event = {
7
+ type,
8
+ resource,
9
+ timestamp,
10
+ relativeTime: timestamp - startTime,
11
+ message
12
+ };
13
+ events.push(event);
14
+ onEvent?.(event);
15
+ };
16
+ const loadPromises = [];
17
+ for (const resource of resources) {
18
+ addEvent('start', resource, `开始加载 ${resource.type}: ${resource.url}`);
19
+ const promise = new Promise((resolve, reject) => {
20
+ const createElement = () => {
21
+ let element = null;
22
+ switch (resource.type) {
23
+ case 'script': {
24
+ const script = deps.createElement('script');
25
+ script.src = resource.url;
26
+ switch (resource.mode) {
27
+ case 'async':
28
+ script.async = true;
29
+ break;
30
+ case 'defer':
31
+ script.defer = true;
32
+ break;
33
+ case 'module':
34
+ script.type = 'module';
35
+ break;
36
+ case 'normal':
37
+ default:
38
+ script.async = false;
39
+ break;
40
+ }
41
+ script.onload = () => {
42
+ addEvent('load', resource, `脚本加载完成 (${resource.mode || 'normal'} 模式)`);
43
+ addEvent('execute', resource, `脚本开始执行`);
44
+ resolve();
45
+ };
46
+ script.onerror = () => {
47
+ addEvent('error', resource, `脚本加载失败`);
48
+ reject(new Error(`Failed to load script: ${resource.url}`));
49
+ };
50
+ element = script;
51
+ break;
52
+ }
53
+ case 'style': {
54
+ const link = deps.createElement('link');
55
+ link.rel = 'stylesheet';
56
+ link.href = resource.url;
57
+ if (resource.blocking === false) {
58
+ link.media = 'print';
59
+ link.onload = () => {
60
+ link.media = 'all';
61
+ addEvent('load', resource, `样式表加载完成(非阻塞)`);
62
+ resolve();
63
+ };
64
+ }
65
+ else {
66
+ link.onload = () => {
67
+ addEvent('load', resource, `样式表加载完成(阻塞渲染)`);
68
+ resolve();
69
+ };
70
+ }
71
+ link.onerror = () => {
72
+ addEvent('error', resource, `样式表加载失败`);
73
+ reject(new Error(`Failed to load stylesheet: ${resource.url}`));
74
+ };
75
+ element = link;
76
+ break;
77
+ }
78
+ case 'image': {
79
+ const img = deps.createElement('img');
80
+ img.src = resource.url;
81
+ img.onload = () => {
82
+ addEvent('load', resource, `图片加载完成(非阻塞)`);
83
+ resolve();
84
+ };
85
+ img.onerror = () => {
86
+ addEvent('error', resource, `图片加载失败`);
87
+ reject(new Error(`Failed to load image: ${resource.url}`));
88
+ };
89
+ element = img;
90
+ break;
91
+ }
92
+ case 'iframe': {
93
+ const iframe = deps.createElement('iframe');
94
+ iframe.src = resource.url;
95
+ iframe.onload = () => {
96
+ addEvent('load', resource, `iframe 加载完成`);
97
+ resolve();
98
+ };
99
+ iframe.onerror = () => {
100
+ addEvent('error', resource, `iframe 加载失败`);
101
+ reject(new Error(`Failed to load iframe: ${resource.url}`));
102
+ };
103
+ element = iframe;
104
+ break;
105
+ }
106
+ default:
107
+ reject(new Error(`Unknown resource type: ${resource.type}`));
108
+ return;
109
+ }
110
+ if (element) {
111
+ deps.head.appendChild(element);
112
+ }
113
+ };
114
+ if (resource.delay && resource.delay > 0) {
115
+ deps.setTimeout(createElement, resource.delay);
116
+ }
117
+ else {
118
+ createElement();
119
+ }
120
+ }).catch((error) => {
121
+ deps.error(error);
122
+ });
123
+ loadPromises.push(promise);
124
+ }
125
+ await Promise.allSettled(loadPromises);
126
+ const endTime = Date.now();
127
+ const totalTime = endTime - startTime;
128
+ return {
129
+ events,
130
+ totalTime,
131
+ success: events.every(e => e.type !== 'error')
132
+ };
133
+ }
134
+ export function getResourceLoadingDescription(type, mode, blocking) {
135
+ if (type === 'script') {
136
+ switch (mode) {
137
+ case 'normal':
138
+ return '普通脚本:阻塞 HTML 解析,按顺序执行。浏览器遇到 <script> 标签时会停止解析 HTML,立即下载并执行脚本,然后继续解析。';
139
+ case 'async':
140
+ return 'async 脚本:异步加载,加载完成后立即执行(可能打乱顺序)。不阻塞 HTML 解析,但执行时会阻塞。多个 async 脚本的执行顺序不确定。';
141
+ case 'defer':
142
+ return 'defer 脚本:异步加载,在 DOMContentLoaded 之前按顺序执行。不阻塞 HTML 解析,所有 defer 脚本会在 DOM 解析完成后、DOMContentLoaded 事件前按顺序执行。';
143
+ case 'module':
144
+ return 'module 脚本:默认 defer 行为,支持 ES6 模块语法。异步加载,在 DOM 解析完成后执行,自动启用严格模式。';
145
+ default:
146
+ return '脚本资源';
147
+ }
148
+ }
149
+ switch (type) {
150
+ case 'style':
151
+ if (blocking === false) {
152
+ return '非阻塞 CSS:通过 media="print" 技巧实现异步加载。初始设置 media="print" 让浏览器认为这是打印样式(优先级低),加载时不阻塞渲染。加载完成后通过 onload 改为 media="all" 应用样式。这样可以避免关键渲染路径被非关键 CSS 阻塞。';
153
+ }
154
+ return '阻塞 CSS(默认):<link rel="stylesheet"> 会阻塞渲染但不阻塞 HTML 解析。详细说明:\n' +
155
+ '1. HTML 解析继续进行,构建 DOM 树\n' +
156
+ '2. CSS 下载和解析并行进行,构建 CSSOM 树\n' +
157
+ '3. 渲染被阻塞,直到 CSSOM 构建完成\n' +
158
+ '4. 如果 CSS 后面有 <script>,脚本执行也会被阻塞(因为脚本可能访问样式)\n' +
159
+ '5. 避免 FOUC(Flash of Unstyled Content,无样式内容闪烁)\n' +
160
+ '关键点:CSS 不阻塞 DOM 解析,但阻塞渲染和后续脚本执行';
161
+ case 'image':
162
+ return '图片资源:不阻塞 HTML 解析和渲染。异步加载,加载完成后触发重排(reflow)和重绘(repaint)。';
163
+ case 'iframe':
164
+ return 'iframe:异步加载,但可能影响页面加载完成事件(window.onload)。iframe 内部的资源加载会延迟父页面的 onload 事件。';
165
+ default:
166
+ return '未知资源类型';
167
+ }
168
+ }
169
+ //# sourceMappingURL=demonstrateResourceLoading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demonstrateResourceLoading.js","sourceRoot":"","sources":["../../../src/functions/dom/demonstrateResourceLoading.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import type { Rect } from "../../../types/geometry";
2
2
  import type { Window } from "../../../references/browser.d";
3
- export declare function detectOverflow(elementRect: Rect, window: Window, padding?: number): {
3
+ export interface DetectOverflowDeps {
4
+ innerWidth: Window['innerWidth'];
5
+ innerHeight: Window['innerHeight'];
6
+ }
7
+ export declare function detectOverflow(elementRect: Rect, deps: DetectOverflowDeps, padding?: number): {
4
8
  top: number;
5
9
  right: number;
6
10
  bottom: number;
@@ -1,6 +1,6 @@
1
1
  import { getViewportRect } from "./getViewportRect";
2
- export function detectOverflow(elementRect, window, padding = 0) {
3
- const viewportRect = getViewportRect(window);
2
+ export function detectOverflow(elementRect, deps, padding = 0) {
3
+ const viewportRect = getViewportRect(deps);
4
4
  const overflow = {
5
5
  top: viewportRect.top + padding - elementRect.top,
6
6
  right: elementRect.right - (viewportRect.right - padding),
@@ -1 +1 @@
1
- {"version":3,"file":"detectOverflow.js","sourceRoot":"","sources":["../../../src/functions/dom/detectOverflow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAepD,MAAM,UAAU,cAAc,CAC5B,WAAiB,EACjB,MAAc,EACd,UAAkB,CAAC;IAEnB,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG;QACf,GAAG,EAAE,YAAY,CAAC,GAAG,GAAG,OAAO,GAAG,WAAW,CAAC,GAAG;QACjD,KAAK,EAAE,WAAW,CAAC,KAAK,GAAG,CAAC,YAAY,CAAC,KAAK,GAAG,OAAO,CAAC;QACzD,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,OAAO,CAAC;QAC5D,IAAI,EAAE,YAAY,CAAC,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC,IAAI;KACrD,CAAC;IACF,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC5C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"detectOverflow.js","sourceRoot":"","sources":["../../../src/functions/dom/detectOverflow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAsBpD,MAAM,UAAU,cAAc,CAC5B,WAAiB,EACjB,IAAwB,EACxB,UAAkB,CAAC;IAEnB,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG;QACf,GAAG,EAAE,YAAY,CAAC,GAAG,GAAG,OAAO,GAAG,WAAW,CAAC,GAAG;QACjD,KAAK,EAAE,WAAW,CAAC,KAAK,GAAG,CAAC,YAAY,CAAC,KAAK,GAAG,OAAO,CAAC;QACzD,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,OAAO,CAAC;QAC5D,IAAI,EAAE,YAAY,CAAC,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC,IAAI;KACrD,CAAC;IACF,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC5C,CAAC;AACJ,CAAC"}
@@ -1,3 +1,7 @@
1
1
  import type { Rect } from '../../../types/geometry';
2
2
  import type { Window } from '../../../references/browser.d';
3
- export declare function getViewportRect(window: Window): Rect;
3
+ export interface GetViewportRectDeps {
4
+ innerWidth: Window['innerWidth'];
5
+ innerHeight: Window['innerHeight'];
6
+ }
7
+ export declare function getViewportRect(deps: GetViewportRectDeps): Rect;
@@ -1,6 +1,6 @@
1
- export function getViewportRect(window) {
2
- const width = window.innerWidth;
3
- const height = window.innerHeight;
1
+ export function getViewportRect(deps) {
2
+ const width = deps.innerWidth;
3
+ const height = deps.innerHeight;
4
4
  return {
5
5
  width,
6
6
  height,
@@ -1 +1 @@
1
- {"version":3,"file":"getViewportRect.js","sourceRoot":"","sources":["../../../src/functions/dom/getViewportRect.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAA;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAA;IACjC,OAAO;QACL,KAAK;QACL,MAAM;QACN,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;QACJ,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM;KACf,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"getViewportRect.js","sourceRoot":"","sources":["../../../src/functions/dom/getViewportRect.ts"],"names":[],"mappings":"AAsBA,MAAM,UAAU,eAAe,CAAC,IAAyB;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAA;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAA;IAC/B,OAAO;QACL,KAAK;QACL,MAAM;QACN,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;QACJ,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM;KACf,CAAA;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function compose<T>(...functions: Array<(arg: T) => T>): (arg: T) => T;
@@ -0,0 +1,10 @@
1
+ export function compose(...functions) {
2
+ if (functions.length === 0)
3
+ return (arg) => arg;
4
+ if (functions.length === 1)
5
+ return functions[0];
6
+ return (arg) => {
7
+ return functions.reduceRight((result, fn) => fn(result), arg);
8
+ };
9
+ }
10
+ //# sourceMappingURL=compose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/functions/functional/compose.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,OAAO,CAAI,GAAG,SAA+B;IAC3D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,GAAM,EAAE,EAAE,CAAC,GAAG,CAAA;IAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAA;IAE/C,OAAO,CAAC,GAAM,EAAE,EAAE;QAChB,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;IAC/D,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function curry<T extends (...args: any[]) => any>(fn: T, arity?: number): (...args: any[]) => any;
@@ -0,0 +1,13 @@
1
+ export function curry(fn, arity) {
2
+ const targetArity = arity || fn.length;
3
+ if (targetArity <= 1)
4
+ return fn;
5
+ function curried(...args) {
6
+ if (args.length >= targetArity) {
7
+ return fn(...args);
8
+ }
9
+ return (...moreArgs) => curried(...args, ...moreArgs);
10
+ }
11
+ return curried;
12
+ }
13
+ //# sourceMappingURL=curry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curry.js","sourceRoot":"","sources":["../../../src/functions/functional/curry.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,KAAK,CACnB,EAAK,EACL,KAAc;IAEd,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,CAAA;IAEtC,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IAE/B,SAAS,OAAO,CAAC,GAAG,IAAW;QAC7B,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;QACpB,CAAC;QAED,OAAO,CAAC,GAAG,QAAe,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function pipe<T>(...functions: Array<(arg: T) => T>): (arg: T) => T;
@@ -0,0 +1,10 @@
1
+ export function pipe(...functions) {
2
+ if (functions.length === 0)
3
+ return (arg) => arg;
4
+ if (functions.length === 1)
5
+ return functions[0];
6
+ return (arg) => {
7
+ return functions.reduce((result, fn) => fn(result), arg);
8
+ };
9
+ }
10
+ //# sourceMappingURL=pipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipe.js","sourceRoot":"","sources":["../../../src/functions/functional/pipe.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,IAAI,CAAI,GAAG,SAA+B;IACxD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,GAAM,EAAE,EAAE,CAAC,GAAG,CAAA;IAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAA;IAE/C,OAAO,CAAC,GAAM,EAAE,EAAE;QAChB,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;IAC1D,CAAC,CAAA;AACH,CAAC"}
@@ -1,6 +1,13 @@
1
1
  import type { File, Window } from '../../../references/browser.d';
2
+ import type { Document } from '../../../references/dom.d';
3
+ export interface CompressToTargetSizeDeps {
4
+ Image: Window['Image'];
5
+ File: Window['File'];
6
+ createObjectURL: (blob: File) => string;
7
+ createElement: Document['createElement'];
8
+ }
2
9
  export declare function compressToTargetSize(file: File, options: {
3
10
  targetSize?: number;
4
11
  maxIterations?: number;
5
12
  mimeType?: string;
6
- } | undefined, window: Window): Promise<File>;
13
+ } | undefined, deps: CompressToTargetSizeDeps): Promise<File>;
@@ -1,10 +1,13 @@
1
1
  import { getImageDimensions } from './getImageDimensions';
2
- export async function compressToTargetSize(file, options = {}, window) {
2
+ export async function compressToTargetSize(file, options = {}, deps) {
3
3
  const { targetSize = 30 * 1024, maxIterations = 30, mimeType = 'image/jpeg' } = options;
4
4
  if (file.size <= targetSize) {
5
5
  return file;
6
6
  }
7
- const dimensions = await getImageDimensions(file, window);
7
+ const dimensions = await getImageDimensions(file, {
8
+ Image: deps.Image,
9
+ createObjectURL: deps.createObjectURL
10
+ });
8
11
  let currentWidth = dimensions.width;
9
12
  let currentHeight = dimensions.height;
10
13
  let currentQuality = 0.9;
@@ -19,7 +22,7 @@ export async function compressToTargetSize(file, options = {}, window) {
19
22
  maxWidth: currentWidth,
20
23
  maxHeight: currentHeight,
21
24
  mimeType
22
- }, window);
25
+ }, deps);
23
26
  if (result.size <= targetSize) {
24
27
  return result;
25
28
  }
@@ -51,12 +54,12 @@ export async function compressToTargetSize(file, options = {}, window) {
51
54
  }
52
55
  return attemptCompress();
53
56
  }
54
- async function compressImage(file, options, window) {
57
+ async function compressImage(file, options, deps) {
55
58
  const { quality, maxWidth, maxHeight, mimeType } = options;
56
59
  return new Promise((resolve, reject) => {
57
- const img = new window.Image();
60
+ const img = new deps.Image();
58
61
  img.onload = () => {
59
- const canvas = window.document.createElement('canvas');
62
+ const canvas = deps.createElement('canvas');
60
63
  let width = img.naturalWidth;
61
64
  let height = img.naturalHeight;
62
65
  if (width > maxWidth || height > maxHeight) {
@@ -77,7 +80,7 @@ async function compressImage(file, options, window) {
77
80
  reject(new Error('图片压缩失败'));
78
81
  return;
79
82
  }
80
- const newFile = new window.File([blob], file.name, {
83
+ const newFile = new deps.File([blob], file.name, {
81
84
  type: mimeType,
82
85
  lastModified: Date.now()
83
86
  });
@@ -87,7 +90,7 @@ async function compressImage(file, options, window) {
87
90
  img.onerror = () => {
88
91
  reject(new Error('图片加载失败'));
89
92
  };
90
- img.src = window.URL.createObjectURL(file);
93
+ img.src = deps.createObjectURL(file);
91
94
  });
92
95
  }
93
96
  //# sourceMappingURL=compressToTargetSize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compressToTargetSize.js","sourceRoot":"","sources":["../../../src/functions/image/compressToTargetSize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compressToTargetSize.js","sourceRoot":"","sources":["../../../src/functions/image/compressToTargetSize.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import type { Buffer, BufferConstructor } from '../../../references/node.d';
2
2
  import type { Sharp } from '../../../references/sharp.d';
3
- export declare function generateMacIcons(input: Buffer, sizes: number[], sharp: Sharp, Buffer: BufferConstructor): Promise<{
3
+ export interface GenerateMacIconsDeps {
4
+ sharp: Sharp;
5
+ Buffer: BufferConstructor;
6
+ }
7
+ export declare function generateMacIcons(input: Buffer, sizes: number[], deps: GenerateMacIconsDeps): Promise<{
4
8
  size: number;
5
9
  buffer: Buffer;
6
10
  }[]>;
@@ -1,11 +1,11 @@
1
1
  import { generateRoundedImage } from './generateRoundedImage';
2
2
  import { generatePaddedImage } from './generatePaddedImage';
3
- export async function generateMacIcons(input, sizes, sharp, Buffer) {
3
+ export async function generateMacIcons(input, sizes, deps) {
4
4
  const results = [];
5
5
  for (const size of sizes) {
6
- const roundedImage = await generateRoundedImage(input, sharp, Buffer);
7
- const paddedImage = await generatePaddedImage(roundedImage, 0.12, sharp);
8
- const buffer = await sharp(paddedImage)
6
+ const roundedImage = await generateRoundedImage(input, { sharp: deps.sharp, Buffer: deps.Buffer });
7
+ const paddedImage = await generatePaddedImage(roundedImage, 0.12, { sharp: deps.sharp });
8
+ const buffer = await deps.sharp(paddedImage)
9
9
  .resize(size, size)
10
10
  .toBuffer();
11
11
  results.push({ size, buffer });
@@ -1 +1 @@
1
- {"version":3,"file":"generateMacIcons.js","sourceRoot":"","sources":["../../../src/functions/image/generateMacIcons.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAgB3D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,KAAe,EACf,KAAY,EACZ,MAAyB;IAEzB,MAAM,OAAO,GAAuC,EAAE,CAAA;IACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QACrE,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QACxE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC;aACpC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;aAClB,QAAQ,EAAE,CAAA;QACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"generateMacIcons.js","sourceRoot":"","sources":["../../../src/functions/image/generateMacIcons.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAsB3D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,KAAe,EACf,IAA0B;IAE1B,MAAM,OAAO,GAAuC,EAAE,CAAA;IACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QAClG,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QACxF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;aACzC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;aAClB,QAAQ,EAAE,CAAA;QACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1,6 +1,9 @@
1
1
  import type { Buffer } from '../../../references/node.d';
2
2
  import type { Sharp } from '../../../references/sharp.d';
3
- export declare function generateMacTrayIcon(input: Buffer, sizes: number[], themes: Record<string, string>, sharp: Sharp): Promise<{
3
+ export interface GenerateMacTrayIconDeps {
4
+ sharp: Sharp;
5
+ }
6
+ export declare function generateMacTrayIcon(input: Buffer, sizes: number[], themes: Record<string, string>, deps: GenerateMacTrayIconDeps): Promise<{
4
7
  size: number;
5
8
  theme: string;
6
9
  buffer: Buffer;
@@ -1,8 +1,8 @@
1
- export async function generateMacTrayIcon(input, sizes, themes, sharp) {
1
+ export async function generateMacTrayIcon(input, sizes, themes, deps) {
2
2
  const results = [];
3
3
  for (const size of sizes) {
4
4
  for (const [theme, color] of Object.entries(themes)) {
5
- const buffer = await sharp(input)
5
+ const buffer = await deps.sharp(input)
6
6
  .resize(size, size)
7
7
  .flatten({ background: color })
8
8
  .negate(theme === 'dark')
@@ -1 +1 @@
1
- {"version":3,"file":"generateMacTrayIcon.js","sourceRoot":"","sources":["../../../src/functions/image/generateMacTrayIcon.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAa,EACb,KAAe,EACf,MAA8B,EAC9B,KAAY;IAEZ,MAAM,OAAO,GAAsD,EAAE,CAAA;IACrE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC;iBAC9B,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;iBAClB,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;iBAC9B,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC;iBACxB,QAAQ,EAAE,CAAA;YACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"generateMacTrayIcon.js","sourceRoot":"","sources":["../../../src/functions/image/generateMacTrayIcon.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAa,EACb,KAAe,EACf,MAA8B,EAC9B,IAA6B;IAE7B,MAAM,OAAO,GAAsD,EAAE,CAAA;IACrE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;iBACnC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;iBAClB,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;iBAC9B,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC;iBACxB,QAAQ,EAAE,CAAA;YACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1,3 +1,6 @@
1
1
  import type { Buffer } from '../../../references/node.d';
2
2
  import type { Sharp } from '../../../references/sharp.d';
3
- export declare function generatePaddedImage(image: Buffer, paddingRatio: number | undefined, sharp: Sharp): Promise<Buffer>;
3
+ export interface GeneratePaddedImageDeps {
4
+ sharp: Sharp;
5
+ }
6
+ export declare function generatePaddedImage(image: Buffer, paddingRatio: number | undefined, deps: GeneratePaddedImageDeps): Promise<Buffer>;
@@ -1,7 +1,7 @@
1
- export async function generatePaddedImage(image, paddingRatio = 0.12, sharp) {
2
- const metadata = await sharp(image).metadata();
1
+ export async function generatePaddedImage(image, paddingRatio = 0.12, deps) {
2
+ const metadata = await deps.sharp(image).metadata();
3
3
  const padding = Math.floor(metadata.width * paddingRatio);
4
- return await sharp(image)
4
+ return await deps.sharp(image)
5
5
  .extend({
6
6
  top: padding,
7
7
  bottom: padding,
@@ -1 +1 @@
1
- {"version":3,"file":"generatePaddedImage.js","sourceRoot":"","sources":["../../../src/functions/image/generatePaddedImage.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAa,EAAE,eAAuB,IAAI,EAAE,KAAY;IAChG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAM,GAAG,YAAY,CAAC,CAAA;IAC1D,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC;SACtB,MAAM,CAAC;QACN,GAAG,EAAE,OAAO;QACZ,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;KAC3C,CAAC;SACD,QAAQ,EAAE,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"generatePaddedImage.js","sourceRoot":"","sources":["../../../src/functions/image/generatePaddedImage.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAa,EAAE,eAAuB,IAAI,EAAE,IAA6B;IACjH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAM,GAAG,YAAY,CAAC,CAAA;IAC1D,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SAC3B,MAAM,CAAC;QACN,GAAG,EAAE,OAAO;QACZ,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;KAC3C,CAAC;SACD,QAAQ,EAAE,CAAA;AACf,CAAC"}
@@ -1,6 +1,10 @@
1
1
  import type { Buffer, BufferConstructor } from '../../../references/node.d';
2
2
  import type { Sharp } from '../../../references/sharp.d';
3
- export declare function generatePwaIcons(input: Buffer, sizes: number[], sharp: Sharp, Buffer: BufferConstructor): Promise<{
3
+ export interface GeneratePwaIconsDeps {
4
+ sharp: Sharp;
5
+ Buffer: BufferConstructor;
6
+ }
7
+ export declare function generatePwaIcons(input: Buffer, sizes: number[], deps: GeneratePwaIconsDeps): Promise<{
4
8
  size: number;
5
9
  buffer: Buffer;
6
10
  }[]>;
@@ -1,11 +1,11 @@
1
1
  import { generateRoundedImage } from './generateRoundedImage';
2
2
  import { generatePaddedImage } from './generatePaddedImage';
3
- export async function generatePwaIcons(input, sizes, sharp, Buffer) {
4
- const roundedImage = await generateRoundedImage(input, sharp, Buffer);
5
- const paddedRoundedImage = await generatePaddedImage(roundedImage, 0.12, sharp);
3
+ export async function generatePwaIcons(input, sizes, deps) {
4
+ const roundedImage = await generateRoundedImage(input, { sharp: deps.sharp, Buffer: deps.Buffer });
5
+ const paddedRoundedImage = await generatePaddedImage(roundedImage, 0.12, { sharp: deps.sharp });
6
6
  const results = [];
7
7
  for (const size of sizes) {
8
- const buffer = await sharp(paddedRoundedImage)
8
+ const buffer = await deps.sharp(paddedRoundedImage)
9
9
  .resize(size, size)
10
10
  .toBuffer();
11
11
  results.push({ size, buffer });
@@ -1 +1 @@
1
- {"version":3,"file":"generatePwaIcons.js","sourceRoot":"","sources":["../../../src/functions/image/generatePwaIcons.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAgB3D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,KAAe,EACf,KAAY,EACZ,MAAyB;IAEzB,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACrE,MAAM,kBAAkB,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAC/E,MAAM,OAAO,GAAuC,EAAE,CAAA;IACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC;aAC3C,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;aAClB,QAAQ,EAAE,CAAA;QACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"generatePwaIcons.js","sourceRoot":"","sources":["../../../src/functions/image/generatePwaIcons.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAsB3D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,KAAe,EACf,IAA0B;IAE1B,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAClG,MAAM,kBAAkB,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;IAC/F,MAAM,OAAO,GAAuC,EAAE,CAAA;IACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;aAChD,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;aAClB,QAAQ,EAAE,CAAA;QACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1,3 +1,7 @@
1
1
  import type { Buffer, BufferConstructor } from '../../../references/node.d';
2
2
  import type { Sharp } from '../../../references/sharp.d';
3
- export declare function generateRoundedImage(image: Buffer, sharp: Sharp, Buffer: BufferConstructor): Promise<Buffer>;
3
+ export interface GenerateRoundedImageDeps {
4
+ sharp: Sharp;
5
+ Buffer: BufferConstructor;
6
+ }
7
+ export declare function generateRoundedImage(image: Buffer, deps: GenerateRoundedImageDeps): Promise<Buffer>;
@@ -1,8 +1,8 @@
1
- export async function generateRoundedImage(image, sharp, Buffer) {
2
- const metadata = await sharp(image).metadata();
1
+ export async function generateRoundedImage(image, deps) {
2
+ const metadata = await deps.sharp(image).metadata();
3
3
  const size = metadata.width;
4
- const roundedCorners = Buffer.from(`<svg><rect x="0" y="0" width="${size}" height="${size}" rx="${size * 0.225}" ry="${size * 0.225}"/></svg>`);
5
- return await sharp(image)
4
+ const roundedCorners = deps.Buffer.from(`<svg><rect x="0" y="0" width="${size}" height="${size}" rx="${size * 0.225}" ry="${size * 0.225}"/></svg>`);
5
+ return await deps.sharp(image)
6
6
  .resize(size, size)
7
7
  .composite([
8
8
  {
@@ -1 +1 @@
1
- {"version":3,"file":"generateRoundedImage.js","sourceRoot":"","sources":["../../../src/functions/image/generateRoundedImage.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAAa,EAAE,KAAY,EAAE,MAAyB;IAC/F,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAM,CAAA;IAC5B,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAChC,iCAAiC,IAAI,aAAa,IAAI,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,WAAW,CAC5G,CAAA;IACD,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC;SACtB,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;SAClB,SAAS,CAAC;QACT;YACE,KAAK,EAAE,cAAc;YACrB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,SAAS;SACjB;KACF,CAAC;SACD,QAAQ,EAAE,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"generateRoundedImage.js","sourceRoot":"","sources":["../../../src/functions/image/generateRoundedImage.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAAa,EAAE,IAA8B;IACtF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;IACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAM,CAAA;IAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,iCAAiC,IAAI,aAAa,IAAI,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,WAAW,CAC5G,CAAA;IACD,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SAC3B,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;SAClB,SAAS,CAAC;QACT;YACE,KAAK,EAAE,cAAc;YACrB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,SAAS;SACjB;KACF,CAAC;SACD,QAAQ,EAAE,CAAA;AACf,CAAC"}
@@ -1,5 +1,9 @@
1
1
  import type { File, Window } from '../../../references/browser.d';
2
- export declare function getImageDimensions(file: File, window: Window): Promise<{
2
+ export interface GetImageDimensionsDeps {
3
+ Image: Window['Image'];
4
+ createObjectURL: (blob: File) => string;
5
+ }
6
+ export declare function getImageDimensions(file: File, deps: GetImageDimensionsDeps): Promise<{
3
7
  width: number;
4
8
  height: number;
5
9
  }>;