zcw-shared 1.4.0 → 1.7.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 (453) hide show
  1. package/README.md +513 -610
  2. package/assets/logo-colorful.svg +18 -18
  3. package/assets/logo-name.svg +7 -7
  4. package/assets/logo-transparent.svg +14 -14
  5. package/assets/logo.svg +8 -8
  6. package/dist/constants/colorPatterns.d.ts +8 -0
  7. package/dist/{functions/color-converter/COLOR_PATTERNS.js → constants/colorPatterns.js} +1 -1
  8. package/dist/constants/colorPatterns.js.map +1 -0
  9. package/dist/constants/namedColors.d.ts +16 -0
  10. package/dist/constants/namedColors.js +17 -0
  11. package/dist/constants/namedColors.js.map +1 -0
  12. package/dist/functions/android/buildProject.d.ts +11 -0
  13. package/dist/functions/android/buildProject.js +97 -0
  14. package/dist/functions/android/buildProject.js.map +1 -0
  15. package/dist/functions/android/modifyGradle.d.ts +17 -0
  16. package/dist/functions/android/modifyGradle.js +69 -0
  17. package/dist/functions/android/modifyGradle.js.map +1 -0
  18. package/dist/functions/android/modifyManifest.d.ts +23 -0
  19. package/dist/functions/android/modifyManifest.js +198 -0
  20. package/dist/functions/android/modifyManifest.js.map +1 -0
  21. package/dist/functions/android/permission.d.ts +30 -0
  22. package/dist/functions/android/permission.js +65 -0
  23. package/dist/functions/android/permission.js.map +1 -0
  24. package/dist/functions/color/colorValidation.d.ts +11 -0
  25. package/dist/functions/color/colorValidation.js +35 -0
  26. package/dist/functions/color/colorValidation.js.map +1 -0
  27. package/dist/functions/{color-converter → color}/convertColor.d.ts +0 -1
  28. package/dist/functions/color/convertColor.js +277 -0
  29. package/dist/functions/color/convertColor.js.map +1 -0
  30. package/dist/functions/color/deduplicateColors.d.ts +4 -0
  31. package/dist/functions/color/deduplicateColors.js +40 -0
  32. package/dist/functions/color/deduplicateColors.js.map +1 -0
  33. package/dist/functions/color/detectColorFormat.d.ts +8 -0
  34. package/dist/functions/color/detectColorFormat.js +110 -0
  35. package/dist/functions/color/detectColorFormat.js.map +1 -0
  36. package/dist/functions/color/extractColors.d.ts +4 -0
  37. package/dist/functions/color/extractColors.js +128 -0
  38. package/dist/functions/color/extractColors.js.map +1 -0
  39. package/dist/functions/css/extractCssVariables.d.ts +12 -0
  40. package/dist/functions/css/extractCssVariables.js +53 -0
  41. package/dist/functions/css/extractCssVariables.js.map +1 -0
  42. package/dist/functions/debug/createDebugger.d.ts +8 -7
  43. package/dist/functions/debug/createDebugger.js +49 -39
  44. package/dist/functions/debug/createDebugger.js.map +1 -1
  45. package/dist/functions/dom/detectOverflow.d.ts +3 -3
  46. package/dist/functions/dom/detectOverflow.js +3 -3
  47. package/dist/functions/dom/detectOverflow.js.map +1 -1
  48. package/dist/functions/dom/getElementRect.d.ts +1 -1
  49. package/dist/functions/dom/getElementRect.js.map +1 -1
  50. package/dist/functions/dom/getRelativePosition.d.ts +1 -1
  51. package/dist/functions/dom/getRelativePosition.js.map +1 -1
  52. package/dist/functions/dom/getViewportRect.d.ts +2 -2
  53. package/dist/functions/dom/getViewportRect.js +2 -2
  54. package/dist/functions/dom/getViewportRect.js.map +1 -1
  55. package/dist/functions/image/generateMacIcons.d.ts +3 -3
  56. package/dist/functions/image/generateMacIcons.js.map +1 -1
  57. package/dist/functions/image/generateMacTrayIcon.d.ts +3 -3
  58. package/dist/functions/image/generateMacTrayIcon.js.map +1 -1
  59. package/dist/functions/image/generatePaddedImage.d.ts +2 -2
  60. package/dist/functions/image/generatePaddedImage.js.map +1 -1
  61. package/dist/functions/image/generatePwaIcons.d.ts +3 -3
  62. package/dist/functions/image/generatePwaIcons.js.map +1 -1
  63. package/dist/functions/image/generateRoundedImage.d.ts +2 -2
  64. package/dist/functions/image/generateRoundedImage.js.map +1 -1
  65. package/dist/functions/ipc/dispatchIpcRequest.d.ts +2 -2
  66. package/dist/functions/ipc/dispatchIpcRequest.js +1 -1
  67. package/dist/functions/ipc/dispatchIpcRequest.js.map +1 -1
  68. package/dist/functions/software/findSoftware.d.ts +4 -5
  69. package/dist/functions/software/findSoftware.js +32 -20
  70. package/dist/functions/software/findSoftware.js.map +1 -1
  71. package/dist/functions/uniapp/app-plus/buildAndroidApp.d.ts +2 -2
  72. package/dist/functions/uniapp/app-plus/buildAndroidApp.js +97 -24
  73. package/dist/functions/uniapp/app-plus/buildAndroidApp.js.map +1 -1
  74. package/dist/functions/uniapp/build.d.ts +20 -0
  75. package/dist/functions/uniapp/build.js +84 -0
  76. package/dist/functions/uniapp/build.js.map +1 -0
  77. package/dist/functions/uniapp/detectAndroidProjectStructure.d.ts +7 -0
  78. package/dist/functions/uniapp/detectAndroidProjectStructure.js +30 -0
  79. package/dist/functions/uniapp/detectAndroidProjectStructure.js.map +1 -0
  80. package/dist/functions/uniapp/detectProjectType.d.ts +16 -0
  81. package/dist/functions/uniapp/detectProjectType.js +68 -0
  82. package/dist/functions/uniapp/detectProjectType.js.map +1 -0
  83. package/dist/functions/uniapp/parseManifest.d.ts +12 -0
  84. package/dist/functions/uniapp/{app-plus/parseManifest.js → parseManifest.js} +9 -7
  85. package/dist/functions/uniapp/parseManifest.js.map +1 -0
  86. package/dist/functions/utils/generateExports.d.ts +16 -0
  87. package/dist/functions/utils/generateExports.js +34 -0
  88. package/dist/functions/utils/generateExports.js.map +1 -0
  89. package/dist/functions/vue/extractColorsFromVueFile.d.ts +3 -0
  90. package/dist/functions/vue/extractColorsFromVueFile.js +18 -0
  91. package/dist/functions/vue/extractColorsFromVueFile.js.map +1 -0
  92. package/dist/functions/vue/extractColorsFromVueSection.d.ts +3 -0
  93. package/dist/functions/vue/extractColorsFromVueSection.js +53 -0
  94. package/dist/functions/vue/extractColorsFromVueSection.js.map +1 -0
  95. package/dist/functions/vue/filterSections.d.ts +2 -0
  96. package/dist/functions/vue/parseVueFile.d.ts +2 -0
  97. package/dist/functions/xml/modifyXml.d.ts +11 -0
  98. package/dist/functions/xml/modifyXml.js +46 -0
  99. package/dist/functions/xml/modifyXml.js.map +1 -0
  100. package/dist/hooks/useAltool.d.ts +39 -0
  101. package/dist/hooks/useAltool.js +350 -0
  102. package/dist/hooks/useAltool.js.map +1 -0
  103. package/dist/hooks/useLocalStorage.d.ts +4 -4
  104. package/dist/hooks/useLocalStorage.js +51 -18
  105. package/dist/hooks/useLocalStorage.js.map +1 -1
  106. package/dist/hooks/useSessionStorage.d.ts +4 -4
  107. package/dist/hooks/useSessionStorage.js +51 -18
  108. package/dist/hooks/useSessionStorage.js.map +1 -1
  109. package/dist/hooks/useStorage.d.ts +10 -3
  110. package/dist/hooks/useStorage.js +33 -35
  111. package/dist/hooks/useStorage.js.map +1 -1
  112. package/dist/hooks/useStorageWithIndexedDB.d.ts +3 -4
  113. package/dist/hooks/useStorageWithIndexedDB.js +39 -29
  114. package/dist/hooks/useStorageWithIndexedDB.js.map +1 -1
  115. package/dist/hooks/useWebWorker.d.ts +25 -4
  116. package/dist/hooks/useWebWorker.js.map +1 -1
  117. package/dist/hooks/useWorkerFunction.d.ts +22 -4
  118. package/dist/hooks/useWorkerFunction.js +28 -28
  119. package/dist/hooks/useWorkerFunction.js.map +1 -1
  120. package/dist/hooks/useWorkerPool.d.ts +30 -4
  121. package/dist/hooks/useWorkerPool.js.map +1 -1
  122. package/package.json +39 -63
  123. package/references/arraybuffer.d.ts +109 -0
  124. package/references/blob.d.ts +37 -0
  125. package/references/browser.d.ts +69 -174
  126. package/references/chrome.extension.d.ts +83 -0
  127. package/references/console.d.ts +25 -164
  128. package/references/{crypto.d.ts → crypto-js.d.ts} +57 -57
  129. package/references/dom.d.ts +41 -0
  130. package/references/encoding.d.ts +24 -0
  131. package/references/fetch.d.ts +124 -269
  132. package/references/indexeddb.d.ts +49 -0
  133. package/references/json5.d.ts +21 -28
  134. package/references/location.d.ts +16 -0
  135. package/references/node.d.ts +116 -111
  136. package/references/sharp.d.ts +18 -18
  137. package/references/storage.d.ts +17 -111
  138. package/references/timer.d.ts +45 -46
  139. package/references/uniapp.d.ts +51 -9
  140. package/references/url.d.ts +55 -160
  141. package/references/vue.d.ts +86 -113
  142. package/references/webassembly.d.ts +101 -127
  143. package/references/wechat.d.ts +48 -48
  144. package/references/worker.d.ts +152 -206
  145. package/references/xml.d.ts +88 -55
  146. package/types/altool.d.ts +49 -17
  147. package/types/android-build.d.ts +60 -85
  148. package/types/color.d.ts +72 -135
  149. package/types/geometry.d.ts +28 -63
  150. package/types/platform.d.ts +4 -0
  151. package/types/software.d.ts +15 -0
  152. package/types/storage.d.ts +50 -48
  153. package/types/uniapp-android-build.d.ts +49 -0
  154. package/types/vue.d.ts +30 -0
  155. package/types/worker.d.ts +178 -364
  156. package/dist/functions/ag-grid/generateLicense.d.ts +0 -4
  157. package/dist/functions/ag-grid/generateLicense.js +0 -12
  158. package/dist/functions/ag-grid/generateLicense.js.map +0 -1
  159. package/dist/functions/altool/createAltoolClient.d.ts +0 -21
  160. package/dist/functions/altool/createAltoolClient.js +0 -59
  161. package/dist/functions/altool/createAltoolClient.js.map +0 -1
  162. package/dist/functions/altool/getAppInfo.d.ts +0 -13
  163. package/dist/functions/altool/getAppInfo.js +0 -92
  164. package/dist/functions/altool/getAppInfo.js.map +0 -1
  165. package/dist/functions/altool/index.d.ts +0 -10
  166. package/dist/functions/altool/index.js +0 -6
  167. package/dist/functions/altool/index.js.map +0 -1
  168. package/dist/functions/altool/isApiKeyAuth.d.ts +0 -2
  169. package/dist/functions/altool/isApiKeyAuth.js +0 -4
  170. package/dist/functions/altool/isApiKeyAuth.js.map +0 -1
  171. package/dist/functions/altool/isCredentialsAuth.d.ts +0 -2
  172. package/dist/functions/altool/isCredentialsAuth.js +0 -4
  173. package/dist/functions/altool/isCredentialsAuth.js.map +0 -1
  174. package/dist/functions/altool/types.d.ts +0 -26
  175. package/dist/functions/altool/types.js +0 -7
  176. package/dist/functions/altool/types.js.map +0 -1
  177. package/dist/functions/altool/uploadApp.d.ts +0 -6
  178. package/dist/functions/altool/uploadApp.js +0 -36
  179. package/dist/functions/altool/uploadApp.js.map +0 -1
  180. package/dist/functions/altool/validateApp.d.ts +0 -17
  181. package/dist/functions/altool/validateApp.js +0 -59
  182. package/dist/functions/altool/validateApp.js.map +0 -1
  183. package/dist/functions/base64/strToBase64.d.ts +0 -2
  184. package/dist/functions/base64/strToBase64.js +0 -6
  185. package/dist/functions/base64/strToBase64.js.map +0 -1
  186. package/dist/functions/color-converter/COLOR_PATTERNS.d.ts +0 -2
  187. package/dist/functions/color-converter/COLOR_PATTERNS.js.map +0 -1
  188. package/dist/functions/color-converter/colorPatterns.d.ts +0 -4
  189. package/dist/functions/color-converter/colorPatterns.js +0 -41
  190. package/dist/functions/color-converter/colorPatterns.js.map +0 -1
  191. package/dist/functions/color-converter/convertColor.js +0 -238
  192. package/dist/functions/color-converter/convertColor.js.map +0 -1
  193. package/dist/functions/color-converter/detectColorFormat.d.ts +0 -2
  194. package/dist/functions/color-converter/detectColorFormat.js +0 -19
  195. package/dist/functions/color-converter/detectColorFormat.js.map +0 -1
  196. package/dist/functions/color-converter/extractColors.d.ts +0 -16
  197. package/dist/functions/color-converter/extractColors.js +0 -111
  198. package/dist/functions/color-converter/extractColors.js.map +0 -1
  199. package/dist/functions/color-converter/getColorPatterns.d.ts +0 -2
  200. package/dist/functions/color-converter/getColorPatterns.js +0 -11
  201. package/dist/functions/color-converter/getColorPatterns.js.map +0 -1
  202. package/dist/functions/color-converter/getNamedColorMap.d.ts +0 -2
  203. package/dist/functions/color-converter/getNamedColorMap.js +0 -19
  204. package/dist/functions/color-converter/getNamedColorMap.js.map +0 -1
  205. package/dist/functions/color-converter/hexToRgb.d.ts +0 -2
  206. package/dist/functions/color-converter/hexToRgb.js +0 -42
  207. package/dist/functions/color-converter/hexToRgb.js.map +0 -1
  208. package/dist/functions/color-converter/hslToRgb.d.ts +0 -2
  209. package/dist/functions/color-converter/hslToRgb.js +0 -78
  210. package/dist/functions/color-converter/hslToRgb.js.map +0 -1
  211. package/dist/functions/color-converter/hueToRgb.d.ts +0 -1
  212. package/dist/functions/color-converter/hueToRgb.js +0 -14
  213. package/dist/functions/color-converter/hueToRgb.js.map +0 -1
  214. package/dist/functions/color-converter/isColorValue.d.ts +0 -2
  215. package/dist/functions/color-converter/isColorValue.js +0 -79
  216. package/dist/functions/color-converter/isColorValue.js.map +0 -1
  217. package/dist/functions/color-converter/normalizeColor.d.ts +0 -1
  218. package/dist/functions/color-converter/normalizeColor.js +0 -49
  219. package/dist/functions/color-converter/normalizeColor.js.map +0 -1
  220. package/dist/functions/color-converter/parseColorString.d.ts +0 -15
  221. package/dist/functions/color-converter/parseColorString.js +0 -116
  222. package/dist/functions/color-converter/parseColorString.js.map +0 -1
  223. package/dist/functions/color-converter/rgbToHex.d.ts +0 -2
  224. package/dist/functions/color-converter/rgbToHex.js +0 -65
  225. package/dist/functions/color-converter/rgbToHex.js.map +0 -1
  226. package/dist/functions/color-converter/standardizeColor.d.ts +0 -1
  227. package/dist/functions/color-converter/standardizeColor.js +0 -147
  228. package/dist/functions/color-converter/standardizeColor.js.map +0 -1
  229. package/dist/functions/desensitize/desensitizeName.d.ts +0 -1
  230. package/dist/functions/desensitize/desensitizeName.js +0 -8
  231. package/dist/functions/desensitize/desensitizeName.js.map +0 -1
  232. package/dist/functions/desensitize/desensitizePhone.d.ts +0 -1
  233. package/dist/functions/desensitize/desensitizePhone.js +0 -8
  234. package/dist/functions/desensitize/desensitizePhone.js.map +0 -1
  235. package/dist/functions/dom/getViewportSize.d.ts +0 -5
  236. package/dist/functions/dom/getViewportSize.js +0 -7
  237. package/dist/functions/dom/getViewportSize.js.map +0 -1
  238. package/dist/functions/software/buildPathExecutables.d.ts +0 -1
  239. package/dist/functions/software/buildPathExecutables.js +0 -4
  240. package/dist/functions/software/buildPathExecutables.js.map +0 -1
  241. package/dist/functions/software/buildSoftwarePaths.d.ts +0 -2
  242. package/dist/functions/software/buildSoftwarePaths.js +0 -22
  243. package/dist/functions/software/buildSoftwarePaths.js.map +0 -1
  244. package/dist/functions/software/createConfigGenerator.d.ts +0 -8
  245. package/dist/functions/software/createConfigGenerator.js +0 -13
  246. package/dist/functions/software/createConfigGenerator.js.map +0 -1
  247. package/dist/functions/software/detectPlatform.d.ts +0 -2
  248. package/dist/functions/software/detectPlatform.js +0 -4
  249. package/dist/functions/software/detectPlatform.js.map +0 -1
  250. package/dist/functions/software/find.d.ts +0 -2
  251. package/dist/functions/software/find.js +0 -12
  252. package/dist/functions/software/find.js.map +0 -1
  253. package/dist/functions/software/findSoftwareWithGenerator.d.ts +0 -3
  254. package/dist/functions/software/findSoftwareWithGenerator.js +0 -8
  255. package/dist/functions/software/findSoftwareWithGenerator.js.map +0 -1
  256. package/dist/functions/software/getConfigGenerator.d.ts +0 -2
  257. package/dist/functions/software/getConfigGenerator.js +0 -10
  258. package/dist/functions/software/getConfigGenerator.js.map +0 -1
  259. package/dist/functions/software/getEnvironmentSoftwarePath.d.ts +0 -1
  260. package/dist/functions/software/getEnvironmentSoftwarePath.js +0 -4
  261. package/dist/functions/software/getEnvironmentSoftwarePath.js.map +0 -1
  262. package/dist/functions/software/getSupportedSoftware.d.ts +0 -1
  263. package/dist/functions/software/getSupportedSoftware.js +0 -5
  264. package/dist/functions/software/getSupportedSoftware.js.map +0 -1
  265. package/dist/functions/software/parseEnvironmentPaths.d.ts +0 -1
  266. package/dist/functions/software/parseEnvironmentPaths.js +0 -7
  267. package/dist/functions/software/parseEnvironmentPaths.js.map +0 -1
  268. package/dist/functions/software/softwareConfigs.d.ts +0 -2
  269. package/dist/functions/software/softwareConfigs.js +0 -148
  270. package/dist/functions/software/softwareConfigs.js.map +0 -1
  271. package/dist/functions/software/softwareNameMap.d.ts +0 -1
  272. package/dist/functions/software/softwareNameMap.js +0 -9
  273. package/dist/functions/software/softwareNameMap.js.map +0 -1
  274. package/dist/functions/software/types.d.ts +0 -11
  275. package/dist/functions/software/types.js +0 -2
  276. package/dist/functions/software/types.js.map +0 -1
  277. package/dist/functions/string/camelCase.d.ts +0 -1
  278. package/dist/functions/string/camelCase.js +0 -8
  279. package/dist/functions/string/camelCase.js.map +0 -1
  280. package/dist/functions/string/capitalize.d.ts +0 -1
  281. package/dist/functions/string/capitalize.js +0 -6
  282. package/dist/functions/string/capitalize.js.map +0 -1
  283. package/dist/functions/string/escape.d.ts +0 -1
  284. package/dist/functions/string/escape.js +0 -13
  285. package/dist/functions/string/escape.js.map +0 -1
  286. package/dist/functions/string/kebabCase.d.ts +0 -1
  287. package/dist/functions/string/kebabCase.js +0 -10
  288. package/dist/functions/string/kebabCase.js.map +0 -1
  289. package/dist/functions/string/levenshtein.d.ts +0 -1
  290. package/dist/functions/string/levenshtein.js +0 -27
  291. package/dist/functions/string/levenshtein.js.map +0 -1
  292. package/dist/functions/string/mask.d.ts +0 -1
  293. package/dist/functions/string/mask.js +0 -40
  294. package/dist/functions/string/mask.js.map +0 -1
  295. package/dist/functions/string/normalize.d.ts +0 -8
  296. package/dist/functions/string/normalize.js +0 -37
  297. package/dist/functions/string/normalize.js.map +0 -1
  298. package/dist/functions/string/padEnd.d.ts +0 -1
  299. package/dist/functions/string/padEnd.js +0 -8
  300. package/dist/functions/string/padEnd.js.map +0 -1
  301. package/dist/functions/string/padStart.d.ts +0 -1
  302. package/dist/functions/string/padStart.js +0 -8
  303. package/dist/functions/string/padStart.js.map +0 -1
  304. package/dist/functions/string/palindrome.d.ts +0 -3
  305. package/dist/functions/string/palindrome.js +0 -15
  306. package/dist/functions/string/palindrome.js.map +0 -1
  307. package/dist/functions/string/pascalCase.d.ts +0 -1
  308. package/dist/functions/string/pascalCase.js +0 -8
  309. package/dist/functions/string/pascalCase.js.map +0 -1
  310. package/dist/functions/string/similarity.d.ts +0 -1
  311. package/dist/functions/string/similarity.js +0 -38
  312. package/dist/functions/string/similarity.js.map +0 -1
  313. package/dist/functions/string/snakeCase.d.ts +0 -1
  314. package/dist/functions/string/snakeCase.js +0 -10
  315. package/dist/functions/string/snakeCase.js.map +0 -1
  316. package/dist/functions/string/template.d.ts +0 -4
  317. package/dist/functions/string/template.js +0 -21
  318. package/dist/functions/string/template.js.map +0 -1
  319. package/dist/functions/string/unescape.d.ts +0 -1
  320. package/dist/functions/string/unescape.js +0 -13
  321. package/dist/functions/string/unescape.js.map +0 -1
  322. package/dist/functions/string/wordCount.d.ts +0 -5
  323. package/dist/functions/string/wordCount.js +0 -11
  324. package/dist/functions/string/wordCount.js.map +0 -1
  325. package/dist/functions/tencent-cloud/getSecret.d.ts +0 -7
  326. package/dist/functions/tencent-cloud/getSecret.js +0 -19
  327. package/dist/functions/tencent-cloud/getSecret.js.map +0 -1
  328. package/dist/functions/uniapp/app-plus/androidProjectConfigSteps.d.ts +0 -13
  329. package/dist/functions/uniapp/app-plus/androidProjectConfigSteps.js +0 -175
  330. package/dist/functions/uniapp/app-plus/androidProjectConfigSteps.js.map +0 -1
  331. package/dist/functions/uniapp/app-plus/androidProjectStrategy.d.ts +0 -33
  332. package/dist/functions/uniapp/app-plus/androidProjectStrategy.js +0 -60
  333. package/dist/functions/uniapp/app-plus/androidProjectStrategy.js.map +0 -1
  334. package/dist/functions/uniapp/app-plus/buildAndroidProject.d.ts +0 -3
  335. package/dist/functions/uniapp/app-plus/buildAndroidProject.js +0 -60
  336. package/dist/functions/uniapp/app-plus/buildAndroidProject.js.map +0 -1
  337. package/dist/functions/uniapp/app-plus/configureAndroidManifest.d.ts +0 -5
  338. package/dist/functions/uniapp/app-plus/configureAndroidManifest.js +0 -51
  339. package/dist/functions/uniapp/app-plus/configureAndroidManifest.js.map +0 -1
  340. package/dist/functions/uniapp/app-plus/configureAndroidProject.d.ts +0 -3
  341. package/dist/functions/uniapp/app-plus/configureAndroidProject.js +0 -63
  342. package/dist/functions/uniapp/app-plus/configureAndroidProject.js.map +0 -1
  343. package/dist/functions/uniapp/app-plus/configureBuildGradle.d.ts +0 -9
  344. package/dist/functions/uniapp/app-plus/configureBuildGradle.js +0 -57
  345. package/dist/functions/uniapp/app-plus/configureBuildGradle.js.map +0 -1
  346. package/dist/functions/uniapp/app-plus/configureDcloudControl.d.ts +0 -5
  347. package/dist/functions/uniapp/app-plus/configureDcloudControl.js +0 -34
  348. package/dist/functions/uniapp/app-plus/configureDcloudControl.js.map +0 -1
  349. package/dist/functions/uniapp/app-plus/configureStrings.d.ts +0 -5
  350. package/dist/functions/uniapp/app-plus/configureStrings.js +0 -42
  351. package/dist/functions/uniapp/app-plus/configureStrings.js.map +0 -1
  352. package/dist/functions/uniapp/app-plus/copyAppResources.d.ts +0 -8
  353. package/dist/functions/uniapp/app-plus/copyAppResources.js +0 -25
  354. package/dist/functions/uniapp/app-plus/copyAppResources.js.map +0 -1
  355. package/dist/functions/uniapp/app-plus/copyDirectory.d.ts +0 -2
  356. package/dist/functions/uniapp/app-plus/copyDirectory.js +0 -18
  357. package/dist/functions/uniapp/app-plus/copyDirectory.js.map +0 -1
  358. package/dist/functions/uniapp/app-plus/generateUniAppResources.d.ts +0 -2
  359. package/dist/functions/uniapp/app-plus/generateUniAppResources.js +0 -35
  360. package/dist/functions/uniapp/app-plus/generateUniAppResources.js.map +0 -1
  361. package/dist/functions/uniapp/app-plus/parseManifest.d.ts +0 -14
  362. package/dist/functions/uniapp/app-plus/parseManifest.js.map +0 -1
  363. package/dist/functions/uniapp/app-plus/validateOptions.d.ts +0 -3
  364. package/dist/functions/uniapp/app-plus/validateOptions.js +0 -10
  365. package/dist/functions/uniapp/app-plus/validateOptions.js.map +0 -1
  366. package/dist/functions/uniapp/waitForPages.d.ts +0 -2
  367. package/dist/functions/uniapp/waitForPages.js +0 -19
  368. package/dist/functions/uniapp/waitForPages.js.map +0 -1
  369. package/dist/functions/utils/compose.d.ts +0 -1
  370. package/dist/functions/utils/compose.js +0 -10
  371. package/dist/functions/utils/compose.js.map +0 -1
  372. package/dist/functions/utils/cond.d.ts +0 -1
  373. package/dist/functions/utils/cond.js +0 -15
  374. package/dist/functions/utils/cond.js.map +0 -1
  375. package/dist/functions/utils/curry.d.ts +0 -1
  376. package/dist/functions/utils/curry.js +0 -13
  377. package/dist/functions/utils/curry.js.map +0 -1
  378. package/dist/functions/utils/debounce.d.ts +0 -1
  379. package/dist/functions/utils/debounce.js +0 -13
  380. package/dist/functions/utils/debounce.js.map +0 -1
  381. package/dist/functions/utils/evolve.d.ts +0 -3
  382. package/dist/functions/utils/evolve.js +0 -15
  383. package/dist/functions/utils/evolve.js.map +0 -1
  384. package/dist/functions/utils/flow.d.ts +0 -1
  385. package/dist/functions/utils/flow.js +0 -10
  386. package/dist/functions/utils/flow.js.map +0 -1
  387. package/dist/functions/utils/isType.d.ts +0 -11
  388. package/dist/functions/utils/isType.js +0 -30
  389. package/dist/functions/utils/isType.js.map +0 -1
  390. package/dist/functions/utils/memoize.d.ts +0 -1
  391. package/dist/functions/utils/memoize.js +0 -13
  392. package/dist/functions/utils/memoize.js.map +0 -1
  393. package/dist/functions/utils/once.d.ts +0 -1
  394. package/dist/functions/utils/once.js +0 -13
  395. package/dist/functions/utils/once.js.map +0 -1
  396. package/dist/functions/utils/partial.d.ts +0 -1
  397. package/dist/functions/utils/partial.js +0 -13
  398. package/dist/functions/utils/partial.js.map +0 -1
  399. package/dist/functions/utils/pipe.d.ts +0 -1
  400. package/dist/functions/utils/pipe.js +0 -10
  401. package/dist/functions/utils/pipe.js.map +0 -1
  402. package/dist/functions/utils/retryWithBackoff.d.ts +0 -9
  403. package/dist/functions/utils/retryWithBackoff.js +0 -30
  404. package/dist/functions/utils/retryWithBackoff.js.map +0 -1
  405. package/dist/functions/utils/tap.d.ts +0 -1
  406. package/dist/functions/utils/tap.js +0 -14
  407. package/dist/functions/utils/tap.js.map +0 -1
  408. package/dist/functions/utils/throttle.d.ts +0 -1
  409. package/dist/functions/utils/throttle.js +0 -11
  410. package/dist/functions/utils/throttle.js.map +0 -1
  411. package/dist/functions/utils/until.d.ts +0 -1
  412. package/dist/functions/utils/until.js +0 -10
  413. package/dist/functions/utils/until.js.map +0 -1
  414. package/dist/functions/utils/validate.d.ts +0 -8
  415. package/dist/functions/utils/validate.js +0 -45
  416. package/dist/functions/utils/validate.js.map +0 -1
  417. package/dist/functions/vue/dynamicMount.d.ts +0 -15
  418. package/dist/functions/vue/dynamicMount.js +0 -23
  419. package/dist/functions/vue/dynamicMount.js.map +0 -1
  420. package/dist/functions/vue/isVNode.d.ts +0 -2
  421. package/dist/functions/vue/isVNode.js +0 -4
  422. package/dist/functions/vue/isVNode.js.map +0 -1
  423. package/dist/functions/vue/isVueComponent.d.ts +0 -2
  424. package/dist/functions/vue/isVueComponent.js +0 -6
  425. package/dist/functions/vue/isVueComponent.js.map +0 -1
  426. package/dist/functions/vue/processVueFile.d.ts +0 -20
  427. package/dist/functions/vue/processVueFile.js +0 -98
  428. package/dist/functions/vue/processVueFile.js.map +0 -1
  429. package/dist/functions/wechat/miniapp/downloadFile.d.ts +0 -2
  430. package/dist/functions/wechat/miniapp/downloadFile.js +0 -39
  431. package/dist/functions/wechat/miniapp/downloadFile.js.map +0 -1
  432. package/dist/hooks/useAi.d.ts +0 -27
  433. package/dist/hooks/useAi.js +0 -163
  434. package/dist/hooks/useAi.js.map +0 -1
  435. package/dist/hooks/useCache.d.ts +0 -18
  436. package/dist/hooks/useCache.js +0 -82
  437. package/dist/hooks/useCache.js.map +0 -1
  438. package/dist/hooks/useFetch.d.ts +0 -3
  439. package/dist/hooks/useFetch.js +0 -154
  440. package/dist/hooks/useFetch.js.map +0 -1
  441. package/dist/hooks/usePluginSystem.d.ts +0 -11
  442. package/dist/hooks/usePluginSystem.js +0 -34
  443. package/dist/hooks/usePluginSystem.js.map +0 -1
  444. package/dist/hooks/useRequest.d.ts +0 -3
  445. package/dist/hooks/useRequest.js +0 -139
  446. package/dist/hooks/useRequest.js.map +0 -1
  447. package/dist/hooks/useWASM.d.ts +0 -4
  448. package/dist/hooks/useWASM.js +0 -267
  449. package/dist/hooks/useWASM.js.map +0 -1
  450. package/references/browser.extension.d.ts +0 -14
  451. package/types/network.d.ts +0 -184
  452. package/types/util.d.ts +0 -27
  453. package/types/wasm.d.ts +0 -217
@@ -0,0 +1,30 @@
1
+ import type { SystemDependencies } from '../../../types/android-build.d';
2
+ import type { FileSystem } from '../../../references/node.d';
3
+ export declare function configureManifestPermissions(manifestPath: string, permissions: string[], fs: FileSystem, deps: SystemDependencies): Promise<{
4
+ success: boolean;
5
+ error: string;
6
+ message?: undefined;
7
+ data?: undefined;
8
+ } | {
9
+ success: boolean;
10
+ message: string;
11
+ data: {
12
+ modificationsApplied: number;
13
+ };
14
+ error?: undefined;
15
+ }>;
16
+ export declare function removeManifestPermission(manifestPath: string, permission: string, fs: FileSystem, deps: SystemDependencies): Promise<{
17
+ success: boolean;
18
+ error: string;
19
+ message?: undefined;
20
+ data?: undefined;
21
+ } | {
22
+ success: boolean;
23
+ message: string;
24
+ data: {
25
+ modificationsApplied: number;
26
+ };
27
+ error?: undefined;
28
+ }>;
29
+ export declare function hasManifestPermission(manifestPath: string, permission: string, fs: FileSystem, deps: SystemDependencies): Promise<boolean>;
30
+ export declare function getManifestPermissions(manifestPath: string, fs: FileSystem, deps: SystemDependencies): Promise<string[]>;
@@ -0,0 +1,65 @@
1
+ import { modifyManifest } from './modifyManifest';
2
+ export async function configureManifestPermissions(manifestPath, permissions, fs, deps) {
3
+ const modifications = permissions.map(permission => ({
4
+ xpath: '//manifest',
5
+ action: 'addElement',
6
+ elementName: 'uses-permission',
7
+ attributes: {
8
+ 'android:name': permission
9
+ }
10
+ }));
11
+ return modifyManifest(manifestPath, modifications, fs, deps);
12
+ }
13
+ export async function removeManifestPermission(manifestPath, permission, fs, deps) {
14
+ const modifications = [
15
+ {
16
+ xpath: `//uses-permission[@android:name="${permission}"]`,
17
+ action: 'removeElement'
18
+ }
19
+ ];
20
+ return modifyManifest(manifestPath, modifications, fs, deps);
21
+ }
22
+ export async function hasManifestPermission(manifestPath, permission, fs, deps) {
23
+ try {
24
+ const content = await fs.readFile(manifestPath, 'utf-8');
25
+ const parser = new deps.xmlParser();
26
+ const doc = parser.parseFromString(content, 'text/xml');
27
+ const elements = doc.getElementsByTagName('uses-permission');
28
+ for (let i = 0; i < elements.length; i++) {
29
+ const element = elements.item(i);
30
+ if (element) {
31
+ const nameAttr = element.getAttribute('android:name');
32
+ if (nameAttr === permission) {
33
+ return true;
34
+ }
35
+ }
36
+ }
37
+ return false;
38
+ }
39
+ catch (error) {
40
+ return false;
41
+ }
42
+ }
43
+ export async function getManifestPermissions(manifestPath, fs, deps) {
44
+ try {
45
+ const content = await fs.readFile(manifestPath, 'utf-8');
46
+ const parser = new deps.xmlParser();
47
+ const doc = parser.parseFromString(content, 'text/xml');
48
+ const permissions = [];
49
+ const elements = doc.getElementsByTagName('uses-permission');
50
+ for (let i = 0; i < elements.length; i++) {
51
+ const element = elements.item(i);
52
+ if (element) {
53
+ const nameAttr = element.getAttribute('android:name');
54
+ if (nameAttr) {
55
+ permissions.push(nameAttr);
56
+ }
57
+ }
58
+ }
59
+ return permissions;
60
+ }
61
+ catch (error) {
62
+ return [];
63
+ }
64
+ }
65
+ //# sourceMappingURL=permission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission.js","sourceRoot":"","sources":["../../../src/functions/android/permission.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { RgbColor, HslColor } from '../../../types/color.d';
2
+ export declare function clampRgbValue(value: number): number;
3
+ export declare function clampHueValue(value: number): number;
4
+ export declare function clampPercentageValue(value: number): number;
5
+ export declare function clampAlphaValue(value: number): number;
6
+ export declare function isValidRgbColor(rgb: RgbColor): boolean;
7
+ export declare function isValidHslColor(hsl: HslColor): boolean;
8
+ export declare function isValidRgbValue(value: number): boolean;
9
+ export declare function isValidHueValue(value: number): boolean;
10
+ export declare function isValidPercentageValue(value: number): boolean;
11
+ export declare function isValidAlphaValue(value: number): boolean;
@@ -0,0 +1,35 @@
1
+ export function clampRgbValue(value) {
2
+ return Math.max(0, Math.min(255, Math.round(value)));
3
+ }
4
+ export function clampHueValue(value) {
5
+ return Math.max(0, Math.min(360, Math.round(value)));
6
+ }
7
+ export function clampPercentageValue(value) {
8
+ return Math.max(0, Math.min(100, Math.round(value)));
9
+ }
10
+ export function clampAlphaValue(value) {
11
+ return Math.max(0, Math.min(1, value));
12
+ }
13
+ export function isValidRgbColor(rgb) {
14
+ return (typeof rgb.r === 'number' && rgb.r >= 0 && rgb.r <= 255 &&
15
+ typeof rgb.g === 'number' && rgb.g >= 0 && rgb.g <= 255 &&
16
+ typeof rgb.b === 'number' && rgb.b >= 0 && rgb.b <= 255);
17
+ }
18
+ export function isValidHslColor(hsl) {
19
+ return (typeof hsl.h === 'number' && hsl.h >= 0 && hsl.h <= 360 &&
20
+ typeof hsl.s === 'number' && hsl.s >= 0 && hsl.s <= 100 &&
21
+ typeof hsl.l === 'number' && hsl.l >= 0 && hsl.l <= 100);
22
+ }
23
+ export function isValidRgbValue(value) {
24
+ return typeof value === 'number' && value >= 0 && value <= 255;
25
+ }
26
+ export function isValidHueValue(value) {
27
+ return typeof value === 'number' && value >= 0 && value <= 360;
28
+ }
29
+ export function isValidPercentageValue(value) {
30
+ return typeof value === 'number' && value >= 0 && value <= 100;
31
+ }
32
+ export function isValidAlphaValue(value) {
33
+ return typeof value === 'number' && value >= 0 && value <= 1;
34
+ }
35
+ //# sourceMappingURL=colorValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorValidation.js","sourceRoot":"","sources":["../../../src/functions/color/colorValidation.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACtD,CAAC;AAKD,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACtD,CAAC;AAKD,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACtD,CAAC;AAKD,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;AACxC,CAAC;AAKD,MAAM,UAAU,eAAe,CAAC,GAAa;IAC3C,OAAO,CACL,OAAO,GAAG,CAAC,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG;QACvD,OAAO,GAAG,CAAC,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG;QACvD,OAAO,GAAG,CAAC,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CACxD,CAAA;AACH,CAAC;AAKD,MAAM,UAAU,eAAe,CAAC,GAAa;IAC3C,OAAO,CACL,OAAO,GAAG,CAAC,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG;QACvD,OAAO,GAAG,CAAC,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG;QACvD,OAAO,GAAG,CAAC,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CACxD,CAAA;AACH,CAAC;AAKD,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,CAAA;AAChE,CAAC;AAKD,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,CAAA;AAChE,CAAC;AAKD,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,CAAA;AAChE,CAAC;AAKD,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;AAC9D,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import type { RgbColor, HslColor, ColorFormat } from '../../../types/color.d';
2
2
  export declare function convertColor(input: string | RgbColor | HslColor | number[], targetFormat: ColorFormat, options?: {
3
3
  includeAlpha?: boolean;
4
- strict?: boolean;
5
4
  precision?: number;
6
5
  }): string | null;
@@ -0,0 +1,277 @@
1
+ import { COLOR_PATTERNS } from '../../constants/colorPatterns';
2
+ import { NAMED_COLOR_MAP } from '../../constants/namedColors';
3
+ import { detectColorFormat } from './detectColorFormat';
4
+ import { clampRgbValue, clampHueValue, clampPercentageValue, clampAlphaValue } from './colorValidation';
5
+ export function convertColor(input, targetFormat, options = {}) {
6
+ const { includeAlpha = false, precision = 0 } = options;
7
+ const normalizedInput = normalizeColorInput(input);
8
+ if (!normalizedInput) {
9
+ return null;
10
+ }
11
+ const { rgb, alpha } = normalizedInput;
12
+ return formatColorOutput(rgb, alpha, targetFormat, { includeAlpha, precision });
13
+ }
14
+ function normalizeColorInput(input) {
15
+ if (Array.isArray(input)) {
16
+ if (input.length >= 3) {
17
+ const [r, g, b, a = 1] = input;
18
+ if (typeof r === 'number' && typeof g === 'number' && typeof b === 'number') {
19
+ const rgb = {
20
+ r: clampRgbValue(r),
21
+ g: clampRgbValue(g),
22
+ b: clampRgbValue(b)
23
+ };
24
+ const alpha = typeof a === 'number' ? clampAlphaValue(a) : 1;
25
+ return {
26
+ rgb,
27
+ alpha,
28
+ originalFormat: 'rgb'
29
+ };
30
+ }
31
+ }
32
+ return null;
33
+ }
34
+ if (typeof input === 'object' && input !== null) {
35
+ if ('r' in input && 'g' in input && 'b' in input) {
36
+ const rgb = input;
37
+ const alpha = 'a' in rgb && typeof rgb.a === 'number' ? rgb.a : 1;
38
+ return {
39
+ rgb: {
40
+ r: clampRgbValue(rgb.r),
41
+ g: clampRgbValue(rgb.g),
42
+ b: clampRgbValue(rgb.b)
43
+ },
44
+ alpha: clampAlphaValue(alpha),
45
+ originalFormat: 'rgb'
46
+ };
47
+ }
48
+ if ('h' in input && 's' in input && 'l' in input) {
49
+ const hsl = input;
50
+ const alpha = 'a' in hsl && typeof hsl.a === 'number' ? hsl.a : 1;
51
+ const rgb = hslToRgb(hsl.h, hsl.s, hsl.l);
52
+ return {
53
+ rgb,
54
+ alpha: clampAlphaValue(alpha),
55
+ originalFormat: 'hsl'
56
+ };
57
+ }
58
+ return null;
59
+ }
60
+ if (typeof input === 'string') {
61
+ return parseColorString(input);
62
+ }
63
+ return null;
64
+ }
65
+ function parseColorString(colorStr) {
66
+ const trimmed = colorStr.trim();
67
+ const detection = detectColorFormat(trimmed);
68
+ if (!detection.isValid || !detection.format) {
69
+ return null;
70
+ }
71
+ return parseColor(trimmed, detection.format);
72
+ }
73
+ function parseColor(input, format) {
74
+ if (format === 'named') {
75
+ return parseNamed(input);
76
+ }
77
+ const pattern = COLOR_PATTERNS[format];
78
+ if (!pattern)
79
+ return null;
80
+ const match = input.match(pattern);
81
+ if (!match)
82
+ return null;
83
+ switch (format) {
84
+ case 'hex':
85
+ return parseHex(match);
86
+ case 'rgb':
87
+ return parseRgb(match, false);
88
+ case 'rgba':
89
+ return parseRgb(match, true);
90
+ case 'hsl':
91
+ return parseHsl(match, false);
92
+ case 'hsla':
93
+ return parseHsl(match, true);
94
+ default:
95
+ return null;
96
+ }
97
+ }
98
+ function parseHex(match) {
99
+ let hexValue = match[1];
100
+ if (hexValue.length === 3) {
101
+ hexValue = hexValue.split('').map(char => char + char).join('');
102
+ }
103
+ let alpha = 1;
104
+ if (hexValue.length === 8) {
105
+ const alphaHex = parseInt(hexValue.slice(6, 8), 16);
106
+ alpha = isNaN(alphaHex) ? 1 : Math.max(0, Math.min(1, alphaHex / 255));
107
+ hexValue = hexValue.slice(0, 6);
108
+ }
109
+ const r = parseInt(hexValue.slice(0, 2), 16);
110
+ const g = parseInt(hexValue.slice(2, 4), 16);
111
+ const b = parseInt(hexValue.slice(4, 6), 16);
112
+ if (isNaN(r) || isNaN(g) || isNaN(b)) {
113
+ return createColorResult({ r: 0, g: 0, b: 0 }, 1, 'hex');
114
+ }
115
+ const rgb = {
116
+ r: clampRgbValue(r),
117
+ g: clampRgbValue(g),
118
+ b: clampRgbValue(b)
119
+ };
120
+ return createColorResult(rgb, alpha, 'hex');
121
+ }
122
+ function createColorResult(rgb, alpha, format) {
123
+ return {
124
+ rgb,
125
+ alpha: clampAlphaValue(alpha),
126
+ originalFormat: format
127
+ };
128
+ }
129
+ function parseRgb(match, hasAlpha) {
130
+ const [, r, g, b, a] = match;
131
+ const rgb = {
132
+ r: clampRgbValue(parseInt(r, 10)),
133
+ g: clampRgbValue(parseInt(g, 10)),
134
+ b: clampRgbValue(parseInt(b, 10))
135
+ };
136
+ const alpha = hasAlpha ? parseFloat(a) : 1;
137
+ return createColorResult(rgb, alpha, hasAlpha ? 'rgba' : 'rgb');
138
+ }
139
+ function parseHsl(match, hasAlpha) {
140
+ const [, h, s, l, a] = match;
141
+ const hValue = clampHueValue(parseInt(h, 10));
142
+ const sValue = clampPercentageValue(parseInt(s, 10));
143
+ const lValue = clampPercentageValue(parseInt(l, 10));
144
+ const rgb = hslToRgb(hValue, sValue, lValue);
145
+ const alpha = hasAlpha ? parseFloat(a) : 1;
146
+ return createColorResult(rgb, alpha, hasAlpha ? 'hsla' : 'hsl');
147
+ }
148
+ function parseNamed(named) {
149
+ const lowerNamed = named.toLowerCase();
150
+ const hex = NAMED_COLOR_MAP[lowerNamed];
151
+ if (!hex)
152
+ return null;
153
+ const hexMatch = hex.match(COLOR_PATTERNS.hex);
154
+ if (!hexMatch)
155
+ return null;
156
+ const hexResult = parseHex(hexMatch);
157
+ return createColorResult(hexResult.rgb, hexResult.alpha, 'named');
158
+ }
159
+ function formatColorOutput(rgb, alpha, targetFormat, options = {}) {
160
+ const { includeAlpha = false, precision = 0 } = options;
161
+ const { r, g, b } = rgb;
162
+ const a = clampAlphaValue(alpha);
163
+ const roundedRgb = { r: Math.round(r), g: Math.round(g), b: Math.round(b) };
164
+ const alphaValue = precision > 0 ? a.toFixed(precision) : a.toString();
165
+ const formatters = {
166
+ hex: () => formatHex(roundedRgb, a, includeAlpha),
167
+ rgb: () => `rgb(${roundedRgb.r}, ${roundedRgb.g}, ${roundedRgb.b})`,
168
+ rgba: () => `rgba(${roundedRgb.r}, ${roundedRgb.g}, ${roundedRgb.b}, ${alphaValue})`,
169
+ hsl: () => formatHsl(rgbToHsl(r, g, b), false),
170
+ hsla: () => formatHsl(rgbToHsl(r, g, b), true, alphaValue),
171
+ named: () => formatNamed(roundedRgb)
172
+ };
173
+ const formatter = formatters[targetFormat];
174
+ return formatter ? formatter() : null;
175
+ }
176
+ function formatHex(rgb, alpha, includeAlpha) {
177
+ const { r, g, b } = rgb;
178
+ const hexR = r.toString(16).padStart(2, '0');
179
+ const hexG = g.toString(16).padStart(2, '0');
180
+ const hexB = b.toString(16).padStart(2, '0');
181
+ if (includeAlpha && alpha < 1) {
182
+ const hexA = Math.round(alpha * 255).toString(16).padStart(2, '0');
183
+ return `#${hexR}${hexG}${hexB}${hexA}`;
184
+ }
185
+ return `#${hexR}${hexG}${hexB}`;
186
+ }
187
+ function formatHsl(hsl, includeAlpha, alphaValue) {
188
+ const { h, s, l } = hsl;
189
+ const roundedHsl = {
190
+ h: Math.round(h),
191
+ s: Math.round(s),
192
+ l: Math.round(l)
193
+ };
194
+ if (includeAlpha && alphaValue !== undefined) {
195
+ return `hsla(${roundedHsl.h}, ${roundedHsl.s}%, ${roundedHsl.l}%, ${alphaValue})`;
196
+ }
197
+ return `hsl(${roundedHsl.h}, ${roundedHsl.s}%, ${roundedHsl.l}%)`;
198
+ }
199
+ function formatNamed(rgb) {
200
+ const { r, g, b } = rgb;
201
+ const targetHex = `#${r.toString(16).padStart(2, '0')}${g.toString(16).padStart(2, '0')}${b.toString(16).padStart(2, '0')}`;
202
+ for (const [name, hex] of Object.entries(NAMED_COLOR_MAP)) {
203
+ if (typeof hex === 'string' && hex.toLowerCase() === targetHex.toLowerCase()) {
204
+ return name;
205
+ }
206
+ }
207
+ return targetHex;
208
+ }
209
+ function hslToRgb(h, s, l) {
210
+ h = h / 360;
211
+ s = s / 100;
212
+ l = l / 100;
213
+ const hue2rgb = (p, q, t) => {
214
+ if (t < 0)
215
+ t += 1;
216
+ if (t > 1)
217
+ t -= 1;
218
+ if (t < 1 / 6)
219
+ return p + (q - p) * 6 * t;
220
+ if (t < 1 / 2)
221
+ return q;
222
+ if (t < 2 / 3)
223
+ return p + (q - p) * (2 / 3 - t) * 6;
224
+ return p;
225
+ };
226
+ let r, g, b;
227
+ if (s === 0) {
228
+ r = g = b = l;
229
+ }
230
+ else {
231
+ const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
232
+ const p = 2 * l - q;
233
+ r = hue2rgb(p, q, h + 1 / 3);
234
+ g = hue2rgb(p, q, h);
235
+ b = hue2rgb(p, q, h - 1 / 3);
236
+ }
237
+ return {
238
+ r: Math.round(r * 255),
239
+ g: Math.round(g * 255),
240
+ b: Math.round(b * 255)
241
+ };
242
+ }
243
+ function rgbToHsl(r, g, b) {
244
+ r /= 255;
245
+ g /= 255;
246
+ b /= 255;
247
+ const max = Math.max(r, g, b);
248
+ const min = Math.min(r, g, b);
249
+ let h, s;
250
+ const l = (max + min) / 2;
251
+ if (max === min) {
252
+ h = s = 0;
253
+ }
254
+ else {
255
+ const d = max - min;
256
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
257
+ switch (max) {
258
+ case r:
259
+ h = (g - b) / d + (g < b ? 6 : 0);
260
+ break;
261
+ case g:
262
+ h = (b - r) / d + 2;
263
+ break;
264
+ case b:
265
+ h = (r - g) / d + 4;
266
+ break;
267
+ default: h = 0;
268
+ }
269
+ h /= 6;
270
+ }
271
+ return {
272
+ h: Math.round(h * 360),
273
+ s: Math.round(s * 100),
274
+ l: Math.round(l * 100)
275
+ };
276
+ }
277
+ //# sourceMappingURL=convertColor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertColor.js","sourceRoot":"","sources":["../../../src/functions/color/convertColor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ColorReference } from '../../../types/color.d';
2
+ export declare function deduplicateColors(colors: ColorReference[]): ColorReference[];
3
+ export declare function deduplicateColorsByValue(colors: ColorReference[]): ColorReference[];
4
+ export declare function deduplicateColorsByStandardizedValue(colors: ColorReference[], standardizeColor: (color: string) => string): ColorReference[];
@@ -0,0 +1,40 @@
1
+ export function deduplicateColors(colors) {
2
+ return deduplicateBy(colors, createUniqueKey);
3
+ }
4
+ function deduplicateBy(colors, keyFn) {
5
+ if (!colors?.length)
6
+ return [];
7
+ const seen = new Set();
8
+ return colors.filter(color => {
9
+ const key = keyFn(color);
10
+ if (seen.has(key))
11
+ return false;
12
+ seen.add(key);
13
+ return true;
14
+ });
15
+ }
16
+ function createUniqueKey(color) {
17
+ const normalizedValue = color.originalValue.toLowerCase().replace(/\s+/g, '');
18
+ return `${color.file}:${color.line}:${normalizedValue}`;
19
+ }
20
+ export function deduplicateColorsByValue(colors) {
21
+ return deduplicateBy(colors, color => color.originalValue.toLowerCase().replace(/\s+/g, ''));
22
+ }
23
+ export function deduplicateColorsByStandardizedValue(colors, standardizeColor) {
24
+ if (!colors?.length)
25
+ return [];
26
+ const seen = new Set();
27
+ return colors.filter(color => {
28
+ try {
29
+ const standardizedValue = standardizeColor(color.originalValue);
30
+ if (seen.has(standardizedValue))
31
+ return false;
32
+ seen.add(standardizedValue);
33
+ return true;
34
+ }
35
+ catch {
36
+ return true;
37
+ }
38
+ });
39
+ }
40
+ //# sourceMappingURL=deduplicateColors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deduplicateColors.js","sourceRoot":"","sources":["../../../src/functions/color/deduplicateColors.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,iBAAiB,CAAC,MAAwB;IACxD,OAAO,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAC/C,CAAC;AAKD,SAAS,aAAa,CAAC,MAAwB,EAAE,KAAwC;IACvF,IAAI,CAAC,MAAM,EAAE,MAAM;QAAE,OAAO,EAAE,CAAA;IAE9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;QACxB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACb,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAKD,SAAS,eAAe,CAAC,KAAqB;IAC5C,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAC7E,OAAO,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,eAAe,EAAE,CAAA;AACzD,CAAC;AAQD,MAAM,UAAU,wBAAwB,CAAC,MAAwB;IAC/D,OAAO,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;AAC9F,CAAC;AASD,MAAM,UAAU,oCAAoC,CAClD,MAAwB,EACxB,gBAA2C;IAE3C,IAAI,CAAC,MAAM,EAAE,MAAM;QAAE,OAAO,EAAE,CAAA;IAE9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC3B,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;YAC/D,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC7C,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;YAC3B,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ColorFormat } from '../../../types/color.d';
2
+ export declare function detectColorFormat(color: string): {
3
+ isValid: boolean;
4
+ format: ColorFormat;
5
+ } | {
6
+ isValid: boolean;
7
+ format: undefined;
8
+ };
@@ -0,0 +1,110 @@
1
+ import { COLOR_PATTERNS } from '../../constants/colorPatterns';
2
+ import { NAMED_COLOR_MAP } from '../../constants/namedColors';
3
+ import { isValidRgbValue, isValidHueValue, isValidPercentageValue, isValidAlphaValue } from './colorValidation';
4
+ export function detectColorFormat(color) {
5
+ if (!color || typeof color !== 'string') {
6
+ return { isValid: false, format: undefined };
7
+ }
8
+ const trimmedColor = color.trim();
9
+ if (!trimmedColor) {
10
+ return { isValid: false, format: undefined };
11
+ }
12
+ const formatChecks = [
13
+ { pattern: COLOR_PATTERNS.hex, format: 'hex' },
14
+ { pattern: COLOR_PATTERNS.rgba, format: 'rgba' },
15
+ { pattern: COLOR_PATTERNS.rgb, format: 'rgb' },
16
+ { pattern: COLOR_PATTERNS.hsla, format: 'hsla' },
17
+ { pattern: COLOR_PATTERNS.hsl, format: 'hsl' },
18
+ { pattern: COLOR_PATTERNS.namedColors, format: 'named' }
19
+ ];
20
+ for (const { pattern, format } of formatChecks) {
21
+ if (pattern.test(trimmedColor)) {
22
+ return validateColor(trimmedColor, format);
23
+ }
24
+ }
25
+ return { isValid: false, format: undefined };
26
+ }
27
+ function validateColor(color, format) {
28
+ switch (format) {
29
+ case 'hex':
30
+ return validateHex(color);
31
+ case 'rgb':
32
+ return validateRgb(color);
33
+ case 'rgba':
34
+ return validateRgba(color);
35
+ case 'hsl':
36
+ return validateHsl(color);
37
+ case 'hsla':
38
+ return validateHsla(color);
39
+ case 'named':
40
+ return validateNamed(color);
41
+ default:
42
+ return { isValid: false, format: undefined };
43
+ }
44
+ }
45
+ function validateHex(color) {
46
+ const hex = color.slice(1);
47
+ if (![3, 4, 6, 8].includes(hex.length) || !/^[0-9a-fA-F]+$/.test(hex)) {
48
+ return { isValid: false, format: undefined };
49
+ }
50
+ return { isValid: true, format: 'hex' };
51
+ }
52
+ function validateRgb(color) {
53
+ const match = color.match(COLOR_PATTERNS.rgb);
54
+ if (!match)
55
+ return { isValid: false, format: undefined };
56
+ const [, r, g, b] = match;
57
+ const values = [parseInt(r, 10), parseInt(g, 10), parseInt(b, 10)];
58
+ if (values.some(v => !isValidRgbValue(v))) {
59
+ return { isValid: false, format: undefined };
60
+ }
61
+ return { isValid: true, format: 'rgb' };
62
+ }
63
+ function validateRgba(color) {
64
+ const match = color.match(COLOR_PATTERNS.rgba);
65
+ if (!match)
66
+ return { isValid: false, format: undefined };
67
+ const [, r, g, b, a] = match;
68
+ const rgbValues = [parseInt(r, 10), parseInt(g, 10), parseInt(b, 10)];
69
+ const alpha = parseFloat(a);
70
+ if (rgbValues.some(v => !isValidRgbValue(v)) || !isValidAlphaValue(alpha) || isNaN(alpha)) {
71
+ return { isValid: false, format: undefined };
72
+ }
73
+ return { isValid: true, format: 'rgba' };
74
+ }
75
+ function validateHsl(color) {
76
+ const match = color.match(COLOR_PATTERNS.hsl);
77
+ if (!match)
78
+ return { isValid: false, format: undefined };
79
+ const [, h, s, l] = match;
80
+ const hue = parseInt(h, 10);
81
+ const saturation = parseInt(s, 10);
82
+ const lightness = parseInt(l, 10);
83
+ if (!isValidHueValue(hue) || !isValidPercentageValue(saturation) || !isValidPercentageValue(lightness)) {
84
+ return { isValid: false, format: undefined };
85
+ }
86
+ return { isValid: true, format: 'hsl' };
87
+ }
88
+ function validateHsla(color) {
89
+ const match = color.match(COLOR_PATTERNS.hsla);
90
+ if (!match)
91
+ return { isValid: false, format: undefined };
92
+ const [, h, s, l, a] = match;
93
+ const hue = parseInt(h, 10);
94
+ const saturation = parseInt(s, 10);
95
+ const lightness = parseInt(l, 10);
96
+ const alpha = parseFloat(a);
97
+ if (!isValidHueValue(hue) || !isValidPercentageValue(saturation) || !isValidPercentageValue(lightness) ||
98
+ !isValidAlphaValue(alpha) || isNaN(alpha)) {
99
+ return { isValid: false, format: undefined };
100
+ }
101
+ return { isValid: true, format: 'hsla' };
102
+ }
103
+ function validateNamed(color) {
104
+ const lowerColor = color.toLowerCase();
105
+ if (lowerColor in NAMED_COLOR_MAP) {
106
+ return { isValid: true, format: 'named' };
107
+ }
108
+ return { isValid: false, format: undefined };
109
+ }
110
+ //# sourceMappingURL=detectColorFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectColorFormat.js","sourceRoot":"","sources":["../../../src/functions/color/detectColorFormat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ColorReference } from '../../../types/color.d';
2
+ export declare function extractColors(text: string, filePath?: string, options?: {
3
+ validOnly?: boolean;
4
+ }): ColorReference[];