zcw-shared 1.7.0 → 1.9.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 (434) hide show
  1. package/README.md +512 -512
  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/softwareConfigs.d.ts +14 -0
  7. package/dist/constants/softwareConfigs.js +156 -0
  8. package/dist/constants/softwareConfigs.js.map +1 -0
  9. package/dist/functions/ag-grid/generateLicense.d.ts +3 -0
  10. package/dist/functions/ag-grid/generateLicense.js +12 -0
  11. package/dist/functions/ag-grid/generateLicense.js.map +1 -0
  12. package/dist/functions/altool/createAltoolClient.d.ts +21 -0
  13. package/dist/functions/altool/createAltoolClient.js +53 -0
  14. package/dist/functions/altool/createAltoolClient.js.map +1 -0
  15. package/dist/functions/altool/getAltoolAuth.d.ts +2 -0
  16. package/dist/functions/altool/getAltoolAuth.js +8 -0
  17. package/dist/functions/altool/getAltoolAuth.js.map +1 -0
  18. package/dist/functions/altool/getAppInfo.d.ts +13 -0
  19. package/dist/functions/altool/getAppInfo.js +39 -0
  20. package/dist/functions/altool/getAppInfo.js.map +1 -0
  21. package/dist/functions/altool/index.d.ts +10 -0
  22. package/dist/functions/altool/index.js +6 -0
  23. package/dist/functions/altool/index.js.map +1 -0
  24. package/dist/functions/altool/isApiKeyAuth.d.ts +2 -0
  25. package/dist/functions/altool/isApiKeyAuth.js +4 -0
  26. package/dist/functions/altool/isApiKeyAuth.js.map +1 -0
  27. package/dist/functions/altool/isCredentialsAuth.d.ts +2 -0
  28. package/dist/functions/altool/isCredentialsAuth.js +4 -0
  29. package/dist/functions/altool/isCredentialsAuth.js.map +1 -0
  30. package/dist/functions/altool/parseAppInfoOutput.d.ts +2 -0
  31. package/dist/functions/altool/parseAppInfoOutput.js +55 -0
  32. package/dist/functions/altool/parseAppInfoOutput.js.map +1 -0
  33. package/dist/functions/altool/parseValidationOutput.d.ts +6 -0
  34. package/dist/functions/altool/parseValidationOutput.js +21 -0
  35. package/dist/functions/altool/parseValidationOutput.js.map +1 -0
  36. package/dist/functions/altool/types.d.ts +26 -0
  37. package/dist/functions/altool/types.js +7 -0
  38. package/dist/functions/altool/types.js.map +1 -0
  39. package/dist/functions/altool/uploadApp.d.ts +6 -0
  40. package/dist/functions/altool/uploadApp.js +36 -0
  41. package/dist/functions/altool/uploadApp.js.map +1 -0
  42. package/dist/functions/altool/validateApp.d.ts +17 -0
  43. package/dist/functions/altool/validateApp.js +40 -0
  44. package/dist/functions/altool/validateApp.js.map +1 -0
  45. package/dist/functions/android/buildProject.d.ts +2 -1
  46. package/dist/functions/android/buildProject.js +32 -6
  47. package/dist/functions/android/buildProject.js.map +1 -1
  48. package/dist/functions/android/modifyGradle.js +10 -10
  49. package/dist/functions/base64/strToBase64.d.ts +2 -0
  50. package/dist/functions/base64/strToBase64.js +6 -0
  51. package/dist/functions/base64/strToBase64.js.map +1 -0
  52. package/dist/functions/color-converter/COLOR_PATTERNS.d.ts +2 -0
  53. package/dist/functions/color-converter/COLOR_PATTERNS.js +9 -0
  54. package/dist/functions/color-converter/COLOR_PATTERNS.js.map +1 -0
  55. package/dist/functions/color-converter/colorPatterns.d.ts +4 -0
  56. package/dist/functions/color-converter/colorPatterns.js +41 -0
  57. package/dist/functions/color-converter/colorPatterns.js.map +1 -0
  58. package/dist/functions/color-converter/convertColor.d.ts +6 -0
  59. package/dist/functions/color-converter/convertColor.js +12 -0
  60. package/dist/functions/color-converter/convertColor.js.map +1 -0
  61. package/dist/functions/color-converter/createColorReference.d.ts +2 -0
  62. package/dist/functions/color-converter/createColorReference.js +12 -0
  63. package/dist/functions/color-converter/createColorReference.js.map +1 -0
  64. package/dist/functions/color-converter/detectColorFormat.d.ts +2 -0
  65. package/dist/functions/color-converter/detectColorFormat.js +19 -0
  66. package/dist/functions/color-converter/detectColorFormat.js.map +1 -0
  67. package/dist/functions/color-converter/extractColors.d.ts +3 -0
  68. package/dist/functions/color-converter/extractColors.js +16 -0
  69. package/dist/functions/color-converter/extractColors.js.map +1 -0
  70. package/dist/functions/color-converter/extractColorsFromLine.d.ts +2 -0
  71. package/dist/functions/color-converter/extractColorsFromLine.js +18 -0
  72. package/dist/functions/color-converter/extractColorsFromLine.js.map +1 -0
  73. package/dist/functions/color-converter/extractColorsGeneric.d.ts +2 -0
  74. package/dist/functions/color-converter/extractColorsGeneric.js +12 -0
  75. package/dist/functions/color-converter/extractColorsGeneric.js.map +1 -0
  76. package/dist/functions/color-converter/extractCssVariableReferences.d.ts +2 -0
  77. package/dist/functions/color-converter/extractCssVariableReferences.js +15 -0
  78. package/dist/functions/color-converter/extractCssVariableReferences.js.map +1 -0
  79. package/dist/functions/color-converter/extractThirdPartyVariableReferences.d.ts +2 -0
  80. package/dist/functions/color-converter/extractThirdPartyVariableReferences.js +15 -0
  81. package/dist/functions/color-converter/extractThirdPartyVariableReferences.js.map +1 -0
  82. package/dist/functions/color-converter/formatColorOutput.d.ts +5 -0
  83. package/dist/functions/color-converter/formatColorOutput.js +48 -0
  84. package/dist/functions/color-converter/formatColorOutput.js.map +1 -0
  85. package/dist/functions/color-converter/getColorPatterns.d.ts +2 -0
  86. package/dist/functions/color-converter/getColorPatterns.js +11 -0
  87. package/dist/functions/color-converter/getColorPatterns.js.map +1 -0
  88. package/dist/functions/color-converter/getNamedColorMap.d.ts +2 -0
  89. package/dist/functions/color-converter/getNamedColorMap.js +19 -0
  90. package/dist/functions/color-converter/getNamedColorMap.js.map +1 -0
  91. package/dist/functions/color-converter/hexToRgb.d.ts +2 -0
  92. package/dist/functions/color-converter/hexToRgb.js +42 -0
  93. package/dist/functions/color-converter/hexToRgb.js.map +1 -0
  94. package/dist/functions/color-converter/hslToRgb.d.ts +2 -0
  95. package/dist/functions/color-converter/hslToRgb.js +78 -0
  96. package/dist/functions/color-converter/hslToRgb.js.map +1 -0
  97. package/dist/functions/color-converter/hslToRgbInternal.d.ts +2 -0
  98. package/dist/functions/color-converter/hslToRgbInternal.js +24 -0
  99. package/dist/functions/color-converter/hslToRgbInternal.js.map +1 -0
  100. package/dist/functions/color-converter/hueToRgb.d.ts +1 -0
  101. package/dist/functions/color-converter/hueToRgb.js +14 -0
  102. package/dist/functions/color-converter/hueToRgb.js.map +1 -0
  103. package/dist/functions/color-converter/isColorValue.d.ts +2 -0
  104. package/dist/functions/color-converter/isColorValue.js +79 -0
  105. package/dist/functions/color-converter/isColorValue.js.map +1 -0
  106. package/dist/functions/color-converter/isValidColorValue.d.ts +1 -0
  107. package/dist/functions/color-converter/isValidColorValue.js +4 -0
  108. package/dist/functions/color-converter/isValidColorValue.js.map +1 -0
  109. package/dist/functions/color-converter/isValidHslColor.d.ts +2 -0
  110. package/dist/functions/color-converter/isValidHslColor.js +14 -0
  111. package/dist/functions/color-converter/isValidHslColor.js.map +1 -0
  112. package/dist/functions/color-converter/isValidRgbColor.d.ts +2 -0
  113. package/dist/functions/color-converter/isValidRgbColor.js +14 -0
  114. package/dist/functions/color-converter/isValidRgbColor.js.map +1 -0
  115. package/dist/functions/color-converter/normalizeColor.d.ts +1 -0
  116. package/dist/functions/color-converter/normalizeColor.js +49 -0
  117. package/dist/functions/color-converter/normalizeColor.js.map +1 -0
  118. package/dist/functions/color-converter/normalizeColorInput.d.ts +6 -0
  119. package/dist/functions/color-converter/normalizeColorInput.js +94 -0
  120. package/dist/functions/color-converter/normalizeColorInput.js.map +1 -0
  121. package/dist/functions/color-converter/parseColorString.d.ts +12 -0
  122. package/dist/functions/color-converter/parseColorString.js +89 -0
  123. package/dist/functions/color-converter/parseColorString.js.map +1 -0
  124. package/dist/functions/color-converter/parseCssVariables.d.ts +2 -0
  125. package/dist/functions/color-converter/parseCssVariables.js +19 -0
  126. package/dist/functions/color-converter/parseCssVariables.js.map +1 -0
  127. package/dist/functions/color-converter/parseHexColor.d.ts +6 -0
  128. package/dist/functions/color-converter/parseHexColor.js +42 -0
  129. package/dist/functions/color-converter/parseHexColor.js.map +1 -0
  130. package/dist/functions/color-converter/rgbToHex.d.ts +2 -0
  131. package/dist/functions/color-converter/rgbToHex.js +65 -0
  132. package/dist/functions/color-converter/rgbToHex.js.map +1 -0
  133. package/dist/functions/color-converter/rgbToHslInternal.d.ts +2 -0
  134. package/dist/functions/color-converter/rgbToHslInternal.js +31 -0
  135. package/dist/functions/color-converter/rgbToHslInternal.js.map +1 -0
  136. package/dist/functions/color-converter/standardizeColor.d.ts +1 -0
  137. package/dist/functions/color-converter/standardizeColor.js +147 -0
  138. package/dist/functions/color-converter/standardizeColor.js.map +1 -0
  139. package/dist/functions/desensitize/desensitizeName.d.ts +1 -0
  140. package/dist/functions/desensitize/desensitizeName.js +8 -0
  141. package/dist/functions/desensitize/desensitizeName.js.map +1 -0
  142. package/dist/functions/desensitize/desensitizePhone.d.ts +1 -0
  143. package/dist/functions/desensitize/desensitizePhone.js +8 -0
  144. package/dist/functions/desensitize/desensitizePhone.js.map +1 -0
  145. package/dist/functions/dom/getViewportSize.d.ts +5 -0
  146. package/dist/functions/dom/getViewportSize.js +7 -0
  147. package/dist/functions/dom/getViewportSize.js.map +1 -0
  148. package/dist/functions/software/buildPathExecutables.d.ts +1 -0
  149. package/dist/functions/software/buildPathExecutables.js +14 -0
  150. package/dist/functions/software/buildPathExecutables.js.map +1 -0
  151. package/dist/functions/software/buildSoftwarePaths.d.ts +2 -0
  152. package/dist/functions/software/buildSoftwarePaths.js +22 -0
  153. package/dist/functions/software/buildSoftwarePaths.js.map +1 -0
  154. package/dist/functions/software/createConfigGenerator.d.ts +8 -0
  155. package/dist/functions/software/createConfigGenerator.js +13 -0
  156. package/dist/functions/software/createConfigGenerator.js.map +1 -0
  157. package/dist/functions/software/detectPlatform.d.ts +2 -0
  158. package/dist/functions/software/detectPlatform.js +9 -0
  159. package/dist/functions/software/detectPlatform.js.map +1 -0
  160. package/dist/functions/software/find.d.ts +2 -0
  161. package/dist/functions/software/find.js +12 -0
  162. package/dist/functions/software/find.js.map +1 -0
  163. package/dist/functions/software/findSoftware.js.map +1 -1
  164. package/dist/functions/software/findSoftwareWithGenerator.d.ts +3 -0
  165. package/dist/functions/software/findSoftwareWithGenerator.js +8 -0
  166. package/dist/functions/software/findSoftwareWithGenerator.js.map +1 -0
  167. package/dist/functions/software/getConfigGenerator.d.ts +2 -0
  168. package/dist/functions/software/getConfigGenerator.js +10 -0
  169. package/dist/functions/software/getConfigGenerator.js.map +1 -0
  170. package/dist/functions/software/getEnvironmentSoftwarePath.d.ts +1 -0
  171. package/dist/functions/software/getEnvironmentSoftwarePath.js +8 -0
  172. package/dist/functions/software/getEnvironmentSoftwarePath.js.map +1 -0
  173. package/dist/functions/software/getSupportedSoftware.d.ts +1 -0
  174. package/dist/functions/software/getSupportedSoftware.js +5 -0
  175. package/dist/functions/software/getSupportedSoftware.js.map +1 -0
  176. package/dist/functions/software/parseEnvironmentPaths.d.ts +1 -0
  177. package/dist/functions/software/parseEnvironmentPaths.js +11 -0
  178. package/dist/functions/software/parseEnvironmentPaths.js.map +1 -0
  179. package/dist/functions/software/softwareConfigs.d.ts +2 -0
  180. package/dist/functions/software/softwareConfigs.js +148 -0
  181. package/dist/functions/software/softwareConfigs.js.map +1 -0
  182. package/dist/functions/software/softwareNameMap.d.ts +1 -0
  183. package/dist/functions/software/softwareNameMap.js +9 -0
  184. package/dist/functions/software/softwareNameMap.js.map +1 -0
  185. package/dist/functions/software/types.d.ts +11 -0
  186. package/dist/functions/software/types.js +2 -0
  187. package/dist/functions/software/types.js.map +1 -0
  188. package/dist/functions/string/base64.d.ts +2 -0
  189. package/dist/functions/string/base64.js +6 -0
  190. package/dist/functions/string/base64.js.map +1 -0
  191. package/dist/functions/string/camelCase.d.ts +1 -0
  192. package/dist/functions/string/camelCase.js +8 -0
  193. package/dist/functions/string/camelCase.js.map +1 -0
  194. package/dist/functions/string/capitalize.d.ts +1 -0
  195. package/dist/functions/string/capitalize.js +6 -0
  196. package/dist/functions/string/capitalize.js.map +1 -0
  197. package/dist/functions/string/caseConverter.d.ts +19 -0
  198. package/dist/functions/string/caseConverter.js +94 -0
  199. package/dist/functions/string/caseConverter.js.map +1 -0
  200. package/dist/functions/string/desensitize.d.ts +13 -0
  201. package/dist/functions/string/desensitize.js +107 -0
  202. package/dist/functions/string/desensitize.js.map +1 -0
  203. package/dist/functions/string/escape.d.ts +1 -0
  204. package/dist/functions/string/escape.js +13 -0
  205. package/dist/functions/string/escape.js.map +1 -0
  206. package/dist/functions/string/htmlEscape.d.ts +20 -0
  207. package/dist/functions/string/htmlEscape.js +80 -0
  208. package/dist/functions/string/htmlEscape.js.map +1 -0
  209. package/dist/functions/string/kebabCase.d.ts +1 -0
  210. package/dist/functions/string/kebabCase.js +10 -0
  211. package/dist/functions/string/kebabCase.js.map +1 -0
  212. package/dist/functions/string/levenshtein.d.ts +1 -0
  213. package/dist/functions/string/levenshtein.js +27 -0
  214. package/dist/functions/string/levenshtein.js.map +1 -0
  215. package/dist/functions/string/mask.d.ts +1 -0
  216. package/dist/functions/string/mask.js +40 -0
  217. package/dist/functions/string/mask.js.map +1 -0
  218. package/dist/functions/string/normalize.d.ts +8 -0
  219. package/dist/functions/string/normalize.js +37 -0
  220. package/dist/functions/string/normalize.js.map +1 -0
  221. package/dist/functions/string/pad.d.ts +13 -0
  222. package/dist/functions/string/pad.js +50 -0
  223. package/dist/functions/string/pad.js.map +1 -0
  224. package/dist/functions/string/padEnd.d.ts +1 -0
  225. package/dist/functions/string/padEnd.js +8 -0
  226. package/dist/functions/string/padEnd.js.map +1 -0
  227. package/dist/functions/string/padStart.d.ts +1 -0
  228. package/dist/functions/string/padStart.js +8 -0
  229. package/dist/functions/string/padStart.js.map +1 -0
  230. package/dist/functions/string/palindrome.d.ts +3 -0
  231. package/dist/functions/string/palindrome.js +15 -0
  232. package/dist/functions/string/palindrome.js.map +1 -0
  233. package/dist/functions/string/pascalCase.d.ts +1 -0
  234. package/dist/functions/string/pascalCase.js +8 -0
  235. package/dist/functions/string/pascalCase.js.map +1 -0
  236. package/dist/functions/string/similarity.d.ts +1 -0
  237. package/dist/functions/string/similarity.js +13 -0
  238. package/dist/functions/string/similarity.js.map +1 -0
  239. package/dist/functions/string/snakeCase.d.ts +1 -0
  240. package/dist/functions/string/snakeCase.js +10 -0
  241. package/dist/functions/string/snakeCase.js.map +1 -0
  242. package/dist/functions/string/template.d.ts +4 -0
  243. package/dist/functions/string/template.js +21 -0
  244. package/dist/functions/string/template.js.map +1 -0
  245. package/dist/functions/string/unescape.d.ts +1 -0
  246. package/dist/functions/string/unescape.js +13 -0
  247. package/dist/functions/string/unescape.js.map +1 -0
  248. package/dist/functions/string/wordCount.d.ts +5 -0
  249. package/dist/functions/string/wordCount.js +11 -0
  250. package/dist/functions/string/wordCount.js.map +1 -0
  251. package/dist/functions/tencent-cloud/getSecret.d.ts +6 -0
  252. package/dist/functions/tencent-cloud/getSecret.js +18 -0
  253. package/dist/functions/tencent-cloud/getSecret.js.map +1 -0
  254. package/dist/functions/uniapp/app-plus/androidProjectConfigSteps.d.ts +13 -0
  255. package/dist/functions/uniapp/app-plus/androidProjectConfigSteps.js +175 -0
  256. package/dist/functions/uniapp/app-plus/androidProjectConfigSteps.js.map +1 -0
  257. package/dist/functions/uniapp/app-plus/androidProjectStrategy.d.ts +19 -0
  258. package/dist/functions/uniapp/app-plus/androidProjectStrategy.js +55 -0
  259. package/dist/functions/uniapp/app-plus/androidProjectStrategy.js.map +1 -0
  260. package/dist/functions/uniapp/app-plus/buildAndroidApp.d.ts +2 -2
  261. package/dist/functions/uniapp/app-plus/buildAndroidApp.js +1 -0
  262. package/dist/functions/uniapp/app-plus/buildAndroidApp.js.map +1 -1
  263. package/dist/functions/uniapp/app-plus/buildAndroidProject.d.ts +3 -0
  264. package/dist/functions/uniapp/app-plus/buildAndroidProject.js +60 -0
  265. package/dist/functions/uniapp/app-plus/buildAndroidProject.js.map +1 -0
  266. package/dist/functions/uniapp/app-plus/configureAndroidManifest.d.ts +5 -0
  267. package/dist/functions/uniapp/app-plus/configureAndroidManifest.js +51 -0
  268. package/dist/functions/uniapp/app-plus/configureAndroidManifest.js.map +1 -0
  269. package/dist/functions/uniapp/app-plus/configureAndroidProject.d.ts +3 -0
  270. package/dist/functions/uniapp/app-plus/configureAndroidProject.js +63 -0
  271. package/dist/functions/uniapp/app-plus/configureAndroidProject.js.map +1 -0
  272. package/dist/functions/uniapp/app-plus/configureBuildGradle.d.ts +9 -0
  273. package/dist/functions/uniapp/app-plus/configureBuildGradle.js +57 -0
  274. package/dist/functions/uniapp/app-plus/configureBuildGradle.js.map +1 -0
  275. package/dist/functions/uniapp/app-plus/configureDcloudControl.d.ts +5 -0
  276. package/dist/functions/uniapp/app-plus/configureDcloudControl.js +34 -0
  277. package/dist/functions/uniapp/app-plus/configureDcloudControl.js.map +1 -0
  278. package/dist/functions/uniapp/app-plus/configureStrings.d.ts +5 -0
  279. package/dist/functions/uniapp/app-plus/configureStrings.js +42 -0
  280. package/dist/functions/uniapp/app-plus/configureStrings.js.map +1 -0
  281. package/dist/functions/uniapp/app-plus/copyAppResources.d.ts +8 -0
  282. package/dist/functions/uniapp/app-plus/copyAppResources.js +25 -0
  283. package/dist/functions/uniapp/app-plus/copyAppResources.js.map +1 -0
  284. package/dist/functions/uniapp/app-plus/copyDirectory.d.ts +2 -0
  285. package/dist/functions/uniapp/app-plus/copyDirectory.js +18 -0
  286. package/dist/functions/uniapp/app-plus/copyDirectory.js.map +1 -0
  287. package/dist/functions/uniapp/app-plus/generateUniAppResources.d.ts +2 -0
  288. package/dist/functions/uniapp/app-plus/generateUniAppResources.js +35 -0
  289. package/dist/functions/uniapp/app-plus/generateUniAppResources.js.map +1 -0
  290. package/dist/functions/uniapp/app-plus/parseManifest.d.ts +14 -0
  291. package/dist/functions/uniapp/app-plus/parseManifest.js +44 -0
  292. package/dist/functions/uniapp/app-plus/parseManifest.js.map +1 -0
  293. package/dist/functions/uniapp/app-plus/validateOptions.d.ts +3 -0
  294. package/dist/functions/uniapp/app-plus/validateOptions.js +10 -0
  295. package/dist/functions/uniapp/app-plus/validateOptions.js.map +1 -0
  296. package/dist/functions/uniapp/waitForPages.d.ts +3 -0
  297. package/dist/functions/uniapp/waitForPages.js +20 -0
  298. package/dist/functions/uniapp/waitForPages.js.map +1 -0
  299. package/dist/functions/utils/compose.d.ts +1 -0
  300. package/dist/functions/utils/compose.js +10 -0
  301. package/dist/functions/utils/compose.js.map +1 -0
  302. package/dist/functions/utils/cond.d.ts +1 -0
  303. package/dist/functions/utils/cond.js +15 -0
  304. package/dist/functions/utils/cond.js.map +1 -0
  305. package/dist/functions/utils/curry.d.ts +1 -0
  306. package/dist/functions/utils/curry.js +13 -0
  307. package/dist/functions/utils/curry.js.map +1 -0
  308. package/dist/functions/utils/debounce.d.ts +1 -0
  309. package/dist/functions/utils/debounce.js +13 -0
  310. package/dist/functions/utils/debounce.js.map +1 -0
  311. package/dist/functions/utils/evolve.d.ts +3 -0
  312. package/dist/functions/utils/evolve.js +15 -0
  313. package/dist/functions/utils/evolve.js.map +1 -0
  314. package/dist/functions/utils/flow.d.ts +1 -0
  315. package/dist/functions/utils/flow.js +14 -0
  316. package/dist/functions/utils/flow.js.map +1 -0
  317. package/dist/functions/utils/generateExports.js +1 -1
  318. package/dist/functions/utils/generateExports.js.map +1 -1
  319. package/dist/functions/utils/isType.d.ts +11 -0
  320. package/dist/functions/utils/isType.js +30 -0
  321. package/dist/functions/utils/isType.js.map +1 -0
  322. package/dist/functions/utils/memoize.d.ts +1 -0
  323. package/dist/functions/utils/memoize.js +13 -0
  324. package/dist/functions/utils/memoize.js.map +1 -0
  325. package/dist/functions/utils/once.d.ts +1 -0
  326. package/dist/functions/utils/once.js +13 -0
  327. package/dist/functions/utils/once.js.map +1 -0
  328. package/dist/functions/utils/partial.d.ts +1 -0
  329. package/dist/functions/utils/partial.js +13 -0
  330. package/dist/functions/utils/partial.js.map +1 -0
  331. package/dist/functions/utils/pipe.d.ts +1 -0
  332. package/dist/functions/utils/pipe.js +10 -0
  333. package/dist/functions/utils/pipe.js.map +1 -0
  334. package/dist/functions/utils/retryWithBackoff.d.ts +9 -0
  335. package/dist/functions/utils/retryWithBackoff.js +30 -0
  336. package/dist/functions/utils/retryWithBackoff.js.map +1 -0
  337. package/dist/functions/utils/tap.d.ts +1 -0
  338. package/dist/functions/utils/tap.js +14 -0
  339. package/dist/functions/utils/tap.js.map +1 -0
  340. package/dist/functions/utils/throttle.d.ts +1 -0
  341. package/dist/functions/utils/throttle.js +11 -0
  342. package/dist/functions/utils/throttle.js.map +1 -0
  343. package/dist/functions/utils/until.d.ts +1 -0
  344. package/dist/functions/utils/until.js +10 -0
  345. package/dist/functions/utils/until.js.map +1 -0
  346. package/dist/functions/utils/validate.d.ts +8 -0
  347. package/dist/functions/utils/validate.js +45 -0
  348. package/dist/functions/utils/validate.js.map +1 -0
  349. package/dist/functions/utils/walk.d.ts +11 -0
  350. package/dist/functions/utils/walk.js +27 -0
  351. package/dist/functions/utils/walk.js.map +1 -0
  352. package/dist/functions/vue/checkVueType.d.ts +8 -0
  353. package/dist/functions/vue/checkVueType.js +29 -0
  354. package/dist/functions/vue/checkVueType.js.map +1 -0
  355. package/dist/functions/vue/deduplicateColors.d.ts +2 -0
  356. package/dist/functions/vue/deduplicateColors.js +13 -0
  357. package/dist/functions/vue/deduplicateColors.js.map +1 -0
  358. package/dist/functions/vue/dynamicMount.d.ts +15 -0
  359. package/dist/functions/vue/dynamicMount.js +25 -0
  360. package/dist/functions/vue/dynamicMount.js.map +1 -0
  361. package/dist/functions/vue/filterSections.js +11 -0
  362. package/dist/functions/vue/filterSections.js.map +1 -0
  363. package/dist/functions/vue/isVNode.d.ts +2 -0
  364. package/dist/functions/vue/isVNode.js +6 -0
  365. package/dist/functions/vue/isVNode.js.map +1 -0
  366. package/dist/functions/vue/isVueComponent.d.ts +2 -0
  367. package/dist/functions/vue/isVueComponent.js +6 -0
  368. package/dist/functions/vue/isVueComponent.js.map +1 -0
  369. package/dist/functions/vue/parseVueFile.js +53 -0
  370. package/dist/functions/vue/parseVueFile.js.map +1 -0
  371. package/dist/functions/vue/processVueFile.d.ts +3 -0
  372. package/dist/functions/vue/processVueFile.js +26 -0
  373. package/dist/functions/vue/processVueFile.js.map +1 -0
  374. package/dist/functions/vue/saveVueSection.d.ts +2 -0
  375. package/dist/functions/vue/saveVueSection.js +11 -0
  376. package/dist/functions/vue/saveVueSection.js.map +1 -0
  377. package/dist/functions/wechat/miniapp/downloadFile.d.ts +2 -0
  378. package/dist/functions/wechat/miniapp/downloadFile.js +39 -0
  379. package/dist/functions/wechat/miniapp/downloadFile.js.map +1 -0
  380. package/dist/hooks/useAi.d.ts +27 -0
  381. package/dist/hooks/useAi.js +163 -0
  382. package/dist/hooks/useAi.js.map +1 -0
  383. package/dist/hooks/useCache.d.ts +18 -0
  384. package/dist/hooks/useCache.js +82 -0
  385. package/dist/hooks/useCache.js.map +1 -0
  386. package/dist/hooks/useFetch.d.ts +3 -0
  387. package/dist/hooks/useFetch.js +154 -0
  388. package/dist/hooks/useFetch.js.map +1 -0
  389. package/dist/hooks/usePluginSystem.d.ts +11 -0
  390. package/dist/hooks/usePluginSystem.js +34 -0
  391. package/dist/hooks/usePluginSystem.js.map +1 -0
  392. package/dist/hooks/useRequest.d.ts +3 -0
  393. package/dist/hooks/useRequest.js +139 -0
  394. package/dist/hooks/useRequest.js.map +1 -0
  395. package/dist/hooks/useStorageWithIndexedDB.d.ts +2 -1
  396. package/dist/hooks/useStorageWithIndexedDB.js +1 -1
  397. package/dist/hooks/useStorageWithIndexedDB.js.map +1 -1
  398. package/dist/hooks/useWASM.d.ts +4 -0
  399. package/dist/hooks/useWASM.js +263 -0
  400. package/dist/hooks/useWASM.js.map +1 -0
  401. package/dist/hooks/useWorkerFunction.js +27 -27
  402. package/package.json +1 -1
  403. package/references/arraybuffer.d.ts +108 -108
  404. package/references/blob.d.ts +36 -36
  405. package/references/browser.d.ts +69 -69
  406. package/references/chrome.extension.d.ts +82 -82
  407. package/references/console.d.ts +24 -24
  408. package/references/crypto-js.d.ts +57 -57
  409. package/references/dom.d.ts +40 -40
  410. package/references/encoding.d.ts +23 -23
  411. package/references/fetch.d.ts +123 -123
  412. package/references/indexeddb.d.ts +48 -48
  413. package/references/json5.d.ts +21 -21
  414. package/references/location.d.ts +15 -15
  415. package/references/node.d.ts +121 -115
  416. package/references/sharp.d.ts +18 -18
  417. package/references/storage.d.ts +17 -17
  418. package/references/timer.d.ts +44 -44
  419. package/references/uniapp.d.ts +50 -50
  420. package/references/url.d.ts +55 -55
  421. package/references/vue.d.ts +85 -85
  422. package/references/webassembly.d.ts +100 -100
  423. package/references/wechat.d.ts +48 -48
  424. package/references/worker.d.ts +152 -152
  425. package/references/xml.d.ts +87 -88
  426. package/types/android-build.d.ts +60 -60
  427. package/types/color.d.ts +72 -72
  428. package/types/geometry.d.ts +28 -28
  429. package/types/platform.d.ts +3 -3
  430. package/types/software.d.ts +14 -14
  431. package/types/storage.d.ts +50 -50
  432. package/types/uniapp-android-build.d.ts +48 -48
  433. package/types/vue.d.ts +29 -29
  434. package/types/worker.d.ts +177 -177
@@ -0,0 +1,48 @@
1
+ import { getNamedColorMap } from './getNamedColorMap';
2
+ import { rgbToHslInternal } from './rgbToHslInternal';
3
+ export function formatColorOutput(rgb, alpha, targetFormat, options) {
4
+ const { includeAlpha = false, precision = 0 } = options;
5
+ const r = Math.max(0, Math.min(255, Math.round(rgb.r)));
6
+ const g = Math.max(0, Math.min(255, Math.round(rgb.g)));
7
+ const b = Math.max(0, Math.min(255, Math.round(rgb.b)));
8
+ const a = Math.max(0, Math.min(1, alpha));
9
+ switch (targetFormat) {
10
+ case 'hex': {
11
+ const toHex = (value) => {
12
+ const hex = value.toString(16);
13
+ return hex.length === 1 ? '0' + hex : hex;
14
+ };
15
+ let result = `#${toHex(r)}${toHex(g)}${toHex(b)}`;
16
+ if (includeAlpha || a < 1) {
17
+ const alphaHex = Math.round(a * 255);
18
+ result += toHex(alphaHex);
19
+ }
20
+ return result;
21
+ }
22
+ case 'rgb':
23
+ return `rgb(${r}, ${g}, ${b})`;
24
+ case 'rgba':
25
+ return `rgba(${r}, ${g}, ${b}, ${a.toFixed(precision)})`;
26
+ case 'hsl': {
27
+ const hsl = rgbToHslInternal({ r, g, b });
28
+ return `hsl(${hsl.h}, ${hsl.s}%, ${hsl.l}%)`;
29
+ }
30
+ case 'hsla': {
31
+ const hsl = rgbToHslInternal({ r, g, b });
32
+ return `hsla(${hsl.h}, ${hsl.s}%, ${hsl.l}%, ${a.toFixed(precision)})`;
33
+ }
34
+ case 'named': {
35
+ const namedColorMap = getNamedColorMap();
36
+ const targetHex = `#${r.toString(16).padStart(2, '0')}${g.toString(16).padStart(2, '0')}${b.toString(16).padStart(2, '0')}`;
37
+ for (const [name, hex] of Object.entries(namedColorMap)) {
38
+ if (hex.toLowerCase() === targetHex.toLowerCase()) {
39
+ return name;
40
+ }
41
+ }
42
+ return targetHex;
43
+ }
44
+ default:
45
+ return null;
46
+ }
47
+ }
48
+ //# sourceMappingURL=formatColorOutput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatColorOutput.js","sourceRoot":"","sources":["../../../src/functions/color-converter/formatColorOutput.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAmCrD,MAAM,UAAU,iBAAiB,CAC/B,GAAa,EACb,KAAa,EACb,YAAyB,EACzB,OAAuD;IAEvD,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,SAAS,GAAG,CAAC,EAAE,GAAG,OAAO,CAAA;IAGvD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;IAEzC,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,KAAK,GAAG,CAAC,KAAa,EAAU,EAAE;gBACtC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAC9B,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;YAC3C,CAAC,CAAA;YAED,IAAI,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;YAEjD,IAAI,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;gBACpC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC3B,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC;QAED,KAAK,KAAK;YACR,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAA;QAEhC,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAA;QAE1D,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YACzC,OAAO,OAAO,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAA;QAC9C,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YACzC,OAAO,QAAQ,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAA;QACxE,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YAEb,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;YACxC,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAA;YAE3H,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACxD,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;oBAClD,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;YAGD,OAAO,SAAS,CAAA;QAClB,CAAC;QAED;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { ColorPatterns } from '../../../types/color.d';
2
+ export declare function getColorPatterns(): ColorPatterns;
@@ -0,0 +1,11 @@
1
+ export function getColorPatterns() {
2
+ return {
3
+ hex: /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,
4
+ rgb: /^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/,
5
+ rgba: /^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*\)$/,
6
+ hsl: /^hsl\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)$/,
7
+ hsla: /^hsla\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d.]+)\s*\)$/,
8
+ namedColors: /^(red|green|blue|yellow|orange|purple|pink|brown|black|white|gray|grey|cyan|magenta)$/i
9
+ };
10
+ }
11
+ //# sourceMappingURL=getColorPatterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getColorPatterns.js","sourceRoot":"","sources":["../../../src/functions/color-converter/getColorPatterns.ts"],"names":[],"mappings":"AAkCA,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QAEL,GAAG,EAAE,kEAAkE;QAGvE,GAAG,EAAE,8CAA8C;QAGnD,IAAI,EAAE,8DAA8D;QAGpE,GAAG,EAAE,gDAAgD;QAGrD,IAAI,EAAE,gEAAgE;QAGtE,WAAW,EAAE,wFAAwF;KACtG,CAAA;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { NamedColorMap } from '../../../types/color.d';
2
+ export declare function getNamedColorMap(): NamedColorMap;
@@ -0,0 +1,19 @@
1
+ export function getNamedColorMap() {
2
+ return {
3
+ 'red': '#ff0000',
4
+ 'green': '#00ff00',
5
+ 'blue': '#0000ff',
6
+ 'yellow': '#ffff00',
7
+ 'orange': '#ffa500',
8
+ 'purple': '#800080',
9
+ 'pink': '#ffc0cb',
10
+ 'brown': '#a52a2a',
11
+ 'black': '#000000',
12
+ 'white': '#ffffff',
13
+ 'gray': '#808080',
14
+ 'grey': '#808080',
15
+ 'cyan': '#00ffff',
16
+ 'magenta': '#ff00ff'
17
+ };
18
+ }
19
+ //# sourceMappingURL=getNamedColorMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNamedColorMap.js","sourceRoot":"","sources":["../../../src/functions/color-converter/getNamedColorMap.ts"],"names":[],"mappings":"AAmCA,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,SAAS;KACrB,CAAA;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { RgbColor } from '../../../types/color.d';
2
+ export declare function hexToRgb(hex: string): RgbColor | null;
@@ -0,0 +1,42 @@
1
+ export function hexToRgb(hex) {
2
+ if (!hex || typeof hex !== 'string') {
3
+ return null;
4
+ }
5
+ const cleanHex = hex.trim().replace(/^#/, '');
6
+ if (!/^[0-9a-fA-F]+$/.test(cleanHex)) {
7
+ return null;
8
+ }
9
+ let r, g, b;
10
+ switch (cleanHex.length) {
11
+ case 3:
12
+ r = parseInt(cleanHex[0] + cleanHex[0], 16);
13
+ g = parseInt(cleanHex[1] + cleanHex[1], 16);
14
+ b = parseInt(cleanHex[2] + cleanHex[2], 16);
15
+ break;
16
+ case 4:
17
+ r = parseInt(cleanHex[0] + cleanHex[0], 16);
18
+ g = parseInt(cleanHex[1] + cleanHex[1], 16);
19
+ b = parseInt(cleanHex[2] + cleanHex[2], 16);
20
+ break;
21
+ case 6:
22
+ r = parseInt(cleanHex.substring(0, 2), 16);
23
+ g = parseInt(cleanHex.substring(2, 4), 16);
24
+ b = parseInt(cleanHex.substring(4, 6), 16);
25
+ break;
26
+ case 8:
27
+ r = parseInt(cleanHex.substring(0, 2), 16);
28
+ g = parseInt(cleanHex.substring(2, 4), 16);
29
+ b = parseInt(cleanHex.substring(4, 6), 16);
30
+ break;
31
+ default:
32
+ return null;
33
+ }
34
+ if (isNaN(r) || isNaN(g) || isNaN(b)) {
35
+ return null;
36
+ }
37
+ if (r < 0 || r > 255 || g < 0 || g > 255 || b < 0 || b > 255) {
38
+ return null;
39
+ }
40
+ return { r, g, b };
41
+ }
42
+ //# sourceMappingURL=hexToRgb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hexToRgb.js","sourceRoot":"","sources":["../../../src/functions/color-converter/hexToRgb.ts"],"names":[],"mappings":"AAuBA,MAAM,UAAU,QAAQ,CAAC,GAAW;IAElC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IAGD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAG7C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IAGD,IAAI,CAAS,EAAE,CAAS,EAAE,CAAS,CAAA;IAEnC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxB,KAAK,CAAC;YAEJ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAC3C,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAC3C,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAC3C,MAAK;QAEP,KAAK,CAAC;YAEJ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAC3C,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAC3C,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAC3C,MAAK;QAEP,KAAK,CAAC;YAEJ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAC1C,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAC1C,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAC1C,MAAK;QAEP,KAAK,CAAC;YAEJ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAC1C,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAC1C,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAC1C,MAAK;QAEP;YACE,OAAO,IAAI,CAAA;IACf,CAAC;IAGD,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IAGD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;AACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { RgbColor, HslColor } from '../../../types/color.d';
2
+ export declare function hslToRgb(input: HslColor | string | number, saturation?: number, lightness?: number): RgbColor | null;
@@ -0,0 +1,78 @@
1
+ export function hslToRgb(input, saturation, lightness) {
2
+ let hsl = null;
3
+ if (typeof input === 'object' && input !== null) {
4
+ hsl = input;
5
+ }
6
+ else if (typeof input === 'string') {
7
+ hsl = parseHslString(input);
8
+ }
9
+ else if (typeof input === 'number' && typeof saturation === 'number' && typeof lightness === 'number') {
10
+ hsl = { h: input, s: saturation, l: lightness };
11
+ }
12
+ else {
13
+ return null;
14
+ }
15
+ if (!hsl) {
16
+ return null;
17
+ }
18
+ if (!isValidHslValue(hsl)) {
19
+ return null;
20
+ }
21
+ let h = hsl.h % 360;
22
+ if (h < 0)
23
+ h += 360;
24
+ const s = Math.max(0, Math.min(100, hsl.s)) / 100;
25
+ const l = Math.max(0, Math.min(100, hsl.l)) / 100;
26
+ if (s === 0) {
27
+ const gray = Math.round(l * 255);
28
+ return { r: gray, g: gray, b: gray };
29
+ }
30
+ const hueToRgb = (p, q, t) => {
31
+ if (t < 0)
32
+ t += 1;
33
+ if (t > 1)
34
+ t -= 1;
35
+ if (t < 1 / 6)
36
+ return p + (q - p) * 6 * t;
37
+ if (t < 1 / 2)
38
+ return q;
39
+ if (t < 2 / 3)
40
+ return p + (q - p) * (2 / 3 - t) * 6;
41
+ return p;
42
+ };
43
+ const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
44
+ const p = 2 * l - q;
45
+ const hNormalized = h / 360;
46
+ const r = hueToRgb(p, q, hNormalized + 1 / 3);
47
+ const g = hueToRgb(p, q, hNormalized);
48
+ const b = hueToRgb(p, q, hNormalized - 1 / 3);
49
+ return {
50
+ r: Math.round(r * 255),
51
+ g: Math.round(g * 255),
52
+ b: Math.round(b * 255)
53
+ };
54
+ }
55
+ function parseHslString(hslString) {
56
+ if (!hslString || typeof hslString !== 'string') {
57
+ return null;
58
+ }
59
+ const trimmed = hslString.trim();
60
+ const match = trimmed.match(/^hsl\(\s*([\d.-]+)\s*,\s*([\d.-]+)%\s*,\s*([\d.-]+)%\s*\)$/i);
61
+ if (!match) {
62
+ return null;
63
+ }
64
+ const [, hStr, sStr, lStr] = match;
65
+ const h = parseFloat(hStr);
66
+ const s = parseFloat(sStr);
67
+ const l = parseFloat(lStr);
68
+ if (isNaN(h) || isNaN(s) || isNaN(l)) {
69
+ return null;
70
+ }
71
+ return { h, s, l };
72
+ }
73
+ function isValidHslValue(hsl) {
74
+ return (typeof hsl.h === 'number' && !isNaN(hsl.h) && isFinite(hsl.h) &&
75
+ typeof hsl.s === 'number' && !isNaN(hsl.s) && isFinite(hsl.s) &&
76
+ typeof hsl.l === 'number' && !isNaN(hsl.l) && isFinite(hsl.l));
77
+ }
78
+ //# sourceMappingURL=hslToRgb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hslToRgb.js","sourceRoot":"","sources":["../../../src/functions/color-converter/hslToRgb.ts"],"names":[],"mappings":"AAwBA,MAAM,UAAU,QAAQ,CACtB,KAAiC,EACjC,UAAmB,EACnB,SAAkB;IAElB,IAAI,GAAG,GAAoB,IAAI,CAAA;IAG/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAEhD,GAAG,GAAG,KAAK,CAAA;IACb,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAErC,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAExG,GAAG,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAA;IACjD,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAA;IACb,CAAC;IAGD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAGD,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACnB,IAAI,CAAC,GAAG,CAAC;QAAE,CAAC,IAAI,GAAG,CAAA;IACnB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;IACjD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;IAGjD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;QAChC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAA;IACtC,CAAC;IAGD,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAU,EAAE;QAC3D,IAAI,CAAC,GAAG,CAAC;YAAE,CAAC,IAAI,CAAC,CAAA;QACjB,IAAI,CAAC,GAAG,CAAC;YAAE,CAAC,IAAI,CAAC,CAAA;QACjB,IAAI,CAAC,GAAG,CAAC,GAAC,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACvC,IAAI,CAAC,GAAG,CAAC,GAAC,CAAC;YAAE,OAAO,CAAC,CAAA;QACrB,IAAI,CAAC,GAAG,CAAC,GAAC,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QAC/C,OAAO,CAAC,CAAA;IACV,CAAC,CAAA;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAGnB,MAAM,WAAW,GAAG,CAAC,GAAG,GAAG,CAAA;IAC3B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,CAAC,GAAC,CAAC,CAAC,CAAA;IAC3C,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,CAAC,GAAC,CAAC,CAAC,CAAA;IAE3C,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;KACvB,CAAA;AACH,CAAC;AAOD,SAAS,cAAc,CAAC,SAAiB;IACvC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAA;IAGhC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAA;IAE1F,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAA;IAElC,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAE1B,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;AACpB,CAAC;AAOD,SAAS,eAAe,CAAC,GAAa;IACpC,OAAO,CACL,OAAO,GAAG,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7D,OAAO,GAAG,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7D,OAAO,GAAG,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAC9D,CAAA;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { RgbColor, HslColor } from '../../../types/color.d';
2
+ export declare function hslToRgbInternal(hsl: HslColor): RgbColor | null;
@@ -0,0 +1,24 @@
1
+ import { hueToRgb } from './hueToRgb';
2
+ export function hslToRgbInternal(hsl) {
3
+ let h = hsl.h % 360;
4
+ if (h < 0)
5
+ h += 360;
6
+ const s = Math.max(0, Math.min(100, hsl.s)) / 100;
7
+ const l = Math.max(0, Math.min(100, hsl.l)) / 100;
8
+ if (s === 0) {
9
+ const gray = Math.round(l * 255);
10
+ return { r: gray, g: gray, b: gray };
11
+ }
12
+ const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
13
+ const p = 2 * l - q;
14
+ const hNormalized = h / 360;
15
+ const r = hueToRgb(p, q, hNormalized + 1 / 3);
16
+ const g = hueToRgb(p, q, hNormalized);
17
+ const b = hueToRgb(p, q, hNormalized - 1 / 3);
18
+ return {
19
+ r: Math.round(r * 255),
20
+ g: Math.round(g * 255),
21
+ b: Math.round(b * 255)
22
+ };
23
+ }
24
+ //# sourceMappingURL=hslToRgbInternal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hslToRgbInternal.js","sourceRoot":"","sources":["../../../src/functions/color-converter/hslToRgbInternal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AA8BrC,MAAM,UAAU,gBAAgB,CAAC,GAAa;IAC5C,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACnB,IAAI,CAAC,GAAG,CAAC;QAAE,CAAC,IAAI,GAAG,CAAA;IACnB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;IACjD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;IAEjD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;QAChC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAA;IACtC,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,WAAW,GAAG,CAAC,GAAG,GAAG,CAAA;IAC3B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,CAAC,GAAC,CAAC,CAAC,CAAA;IAC3C,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,CAAC,GAAC,CAAC,CAAC,CAAA;IAE3C,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;KACvB,CAAA;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function hueToRgb(p: number, q: number, t: number): number;
@@ -0,0 +1,14 @@
1
+ export function hueToRgb(p, q, t) {
2
+ if (t < 0)
3
+ t += 1;
4
+ if (t > 1)
5
+ t -= 1;
6
+ if (t < 1 / 6)
7
+ return p + (q - p) * 6 * t;
8
+ if (t < 1 / 2)
9
+ return q;
10
+ if (t < 2 / 3)
11
+ return p + (q - p) * (2 / 3 - t) * 6;
12
+ return p;
13
+ }
14
+ //# sourceMappingURL=hueToRgb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hueToRgb.js","sourceRoot":"","sources":["../../../src/functions/color-converter/hueToRgb.ts"],"names":[],"mappings":"AAqBA,MAAM,UAAU,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IACtD,IAAI,CAAC,GAAG,CAAC;QAAE,CAAC,IAAI,CAAC,CAAA;IACjB,IAAI,CAAC,GAAG,CAAC;QAAE,CAAC,IAAI,CAAC,CAAA;IACjB,IAAI,CAAC,GAAG,CAAC,GAAC,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACvC,IAAI,CAAC,GAAG,CAAC,GAAC,CAAC;QAAE,OAAO,CAAC,CAAA;IACrB,IAAI,CAAC,GAAG,CAAC,GAAC,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IAC/C,OAAO,CAAC,CAAA;AACV,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { ColorValidationResult } from '../../../types/color.d';
2
+ export declare function isColorValue(value: string): ColorValidationResult;
@@ -0,0 +1,79 @@
1
+ import { getColorPatterns } from './getColorPatterns';
2
+ export function isColorValue(value) {
3
+ if (!value || typeof value !== 'string') {
4
+ return { isValid: false, format: undefined };
5
+ }
6
+ const trimmedValue = value.trim();
7
+ if (!trimmedValue) {
8
+ return { isValid: false, format: undefined };
9
+ }
10
+ const COLOR_PATTERNS = getColorPatterns();
11
+ const formats = [
12
+ { format: 'hex', pattern: COLOR_PATTERNS.hex },
13
+ { format: 'rgb', pattern: COLOR_PATTERNS.rgb },
14
+ { format: 'rgba', pattern: COLOR_PATTERNS.rgba },
15
+ { format: 'hsl', pattern: COLOR_PATTERNS.hsl },
16
+ { format: 'hsla', pattern: COLOR_PATTERNS.hsla },
17
+ { format: 'named', pattern: COLOR_PATTERNS.namedColors }
18
+ ];
19
+ for (const { format, pattern } of formats) {
20
+ if (pattern.test(trimmedValue)) {
21
+ if (format === 'hex') {
22
+ const cleanHex = trimmedValue.replace('#', '');
23
+ if (![3, 4, 6, 8].includes(cleanHex.length)) {
24
+ continue;
25
+ }
26
+ if (!/^[0-9a-fA-F]+$/.test(cleanHex)) {
27
+ continue;
28
+ }
29
+ }
30
+ if (format === 'rgb' || format === 'rgba') {
31
+ const rgbMatch = trimmedValue.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*([\d.]+)\s*)?\)/);
32
+ if (!rgbMatch) {
33
+ continue;
34
+ }
35
+ const [, r, g, b, a] = rgbMatch;
36
+ const rVal = parseInt(r);
37
+ const gVal = parseInt(g);
38
+ const bVal = parseInt(b);
39
+ if (isNaN(rVal) || rVal < 0 || rVal > 255 ||
40
+ isNaN(gVal) || gVal < 0 || gVal > 255 ||
41
+ isNaN(bVal) || bVal < 0 || bVal > 255) {
42
+ continue;
43
+ }
44
+ if (a !== undefined) {
45
+ const aVal = parseFloat(a);
46
+ if (isNaN(aVal) || aVal < 0 || aVal > 1) {
47
+ continue;
48
+ }
49
+ }
50
+ }
51
+ if (format === 'hsl' || format === 'hsla') {
52
+ const hslMatch = trimmedValue.match(/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(?:,\s*([\d.]+)\s*)?\)/);
53
+ if (!hslMatch) {
54
+ continue;
55
+ }
56
+ const [, h, s, l, a] = hslMatch;
57
+ const hVal = parseInt(h);
58
+ const sVal = parseInt(s);
59
+ const lVal = parseInt(l);
60
+ if (isNaN(hVal) || hVal < 0 || hVal > 360) {
61
+ continue;
62
+ }
63
+ if (isNaN(sVal) || sVal < 0 || sVal > 100 ||
64
+ isNaN(lVal) || lVal < 0 || lVal > 100) {
65
+ continue;
66
+ }
67
+ if (a !== undefined) {
68
+ const aVal = parseFloat(a);
69
+ if (isNaN(aVal) || aVal < 0 || aVal > 1) {
70
+ continue;
71
+ }
72
+ }
73
+ }
74
+ return { isValid: true, format };
75
+ }
76
+ }
77
+ return { isValid: false, format: undefined };
78
+ }
79
+ //# sourceMappingURL=isColorValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isColorValue.js","sourceRoot":"","sources":["../../../src/functions/color-converter/isColorValue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function isValidColorValue(value: any): value is number;
@@ -0,0 +1,4 @@
1
+ export function isValidColorValue(value) {
2
+ return typeof value === 'number' && !isNaN(value) && isFinite(value);
3
+ }
4
+ //# sourceMappingURL=isValidColorValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isValidColorValue.js","sourceRoot":"","sources":["../../../src/functions/color-converter/isValidColorValue.ts"],"names":[],"mappings":"AA2BA,MAAM,UAAU,iBAAiB,CAAC,KAAU;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAA;AACtE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { HslColor } from '../../../types/color.d';
2
+ export declare function isValidHslColor(hsl: any, strict?: boolean): hsl is HslColor;
@@ -0,0 +1,14 @@
1
+ import { isValidColorValue } from './isValidColorValue';
2
+ export function isValidHslColor(hsl, strict = true) {
3
+ if (!hsl || typeof hsl !== 'object')
4
+ return false;
5
+ const { h, s, l } = hsl;
6
+ if (!isValidColorValue(h) || !isValidColorValue(s) || !isValidColorValue(l)) {
7
+ return false;
8
+ }
9
+ if (strict) {
10
+ return h >= 0 && h <= 360 && s >= 0 && s <= 100 && l >= 0 && l <= 100;
11
+ }
12
+ return true;
13
+ }
14
+ //# sourceMappingURL=isValidHslColor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isValidHslColor.js","sourceRoot":"","sources":["../../../src/functions/color-converter/isValidHslColor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAkCvD,MAAM,UAAU,eAAe,CAAC,GAAQ,EAAE,SAAkB,IAAI;IAC9D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAEjD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAA;IAEvB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAA;IACvE,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { RgbColor } from '../../../types/color.d';
2
+ export declare function isValidRgbColor(rgb: any, strict?: boolean): rgb is RgbColor;
@@ -0,0 +1,14 @@
1
+ import { isValidColorValue } from './isValidColorValue';
2
+ export function isValidRgbColor(rgb, strict = true) {
3
+ if (!rgb || typeof rgb !== 'object')
4
+ return false;
5
+ const { r, g, b } = rgb;
6
+ if (!isValidColorValue(r) || !isValidColorValue(g) || !isValidColorValue(b)) {
7
+ return false;
8
+ }
9
+ if (strict) {
10
+ return r >= 0 && r <= 255 && g >= 0 && g <= 255 && b >= 0 && b <= 255;
11
+ }
12
+ return true;
13
+ }
14
+ //# sourceMappingURL=isValidRgbColor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isValidRgbColor.js","sourceRoot":"","sources":["../../../src/functions/color-converter/isValidRgbColor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAiCvD,MAAM,UAAU,eAAe,CAAC,GAAQ,EAAE,SAAkB,IAAI;IAC9D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAEjD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAA;IAEvB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAA;IACvE,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function normalizeColor(color: string): string;
@@ -0,0 +1,49 @@
1
+ import { detectColorFormat } from './detectColorFormat';
2
+ export function normalizeColor(color) {
3
+ const trimmedColor = color.trim();
4
+ const detectedFormat = detectColorFormat(trimmedColor);
5
+ if (!detectedFormat) {
6
+ throw new Error(`无法识别颜色格式: ${color}`);
7
+ }
8
+ switch (detectedFormat) {
9
+ case 'hex':
10
+ return trimmedColor.toLowerCase();
11
+ case 'rgb': {
12
+ const match = trimmedColor.match(/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/);
13
+ if (match) {
14
+ const [, r, g, b] = match;
15
+ return `rgb(${r}, ${g}, ${b})`;
16
+ }
17
+ return trimmedColor;
18
+ }
19
+ case 'rgba': {
20
+ const match = trimmedColor.match(/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*\)/);
21
+ if (match) {
22
+ const [, r, g, b, a] = match;
23
+ return `rgba(${r}, ${g}, ${b}, ${a})`;
24
+ }
25
+ return trimmedColor;
26
+ }
27
+ case 'hsl': {
28
+ const match = trimmedColor.match(/hsl\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/);
29
+ if (match) {
30
+ const [, h, s, l] = match;
31
+ return `hsl(${h}, ${s}%, ${l}%)`;
32
+ }
33
+ return trimmedColor;
34
+ }
35
+ case 'hsla': {
36
+ const match = trimmedColor.match(/hsla\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d.]+)\s*\)/);
37
+ if (match) {
38
+ const [, h, s, l, a] = match;
39
+ return `hsla(${h}, ${s}%, ${l}%, ${a})`;
40
+ }
41
+ return trimmedColor;
42
+ }
43
+ case 'named':
44
+ return trimmedColor.toLowerCase();
45
+ default:
46
+ return trimmedColor;
47
+ }
48
+ }
49
+ //# sourceMappingURL=normalizeColor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeColor.js","sourceRoot":"","sources":["../../../src/functions/color-converter/normalizeColor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAuBvD,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACjC,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAA;IAEtD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,EAAE,CAAC,CAAA;IACvC,CAAC;IAED,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,KAAK;YAER,OAAO,YAAY,CAAC,WAAW,EAAE,CAAA;QAEnC,KAAK,KAAK,CAAC,CAAC,CAAC;YAEX,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAA;YAC9E,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAA;gBACzB,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAA;YAChC,CAAC;YACD,OAAO,YAAY,CAAA;QACrB,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YAEZ,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAA;YAC9F,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAA;gBAC5B,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAA;YACvC,CAAC;YACD,OAAO,YAAY,CAAA;QACrB,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YAEX,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAA;YAChF,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAA;gBACzB,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAA;YAClC,CAAC;YACD,OAAO,YAAY,CAAA;QACrB,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YAEZ,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAA;YAChG,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAA;gBAC5B,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;YACzC,CAAC;YACD,OAAO,YAAY,CAAA;QACrB,CAAC;QAED,KAAK,OAAO;YAEV,OAAO,YAAY,CAAC,WAAW,EAAE,CAAA;QAEnC;YACE,OAAO,YAAY,CAAA;IACvB,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { RgbColor, HslColor, ColorFormat } from '../../../types/color';
2
+ export declare function normalizeColorInput(input: string | RgbColor | HslColor | number[]): {
3
+ rgb: RgbColor;
4
+ alpha: number;
5
+ originalFormat: ColorFormat;
6
+ } | null;
@@ -0,0 +1,94 @@
1
+ import { parseColorString } from './parseColorString';
2
+ import { isValidRgbColor } from './isValidRgbColor';
3
+ import { isValidHslColor } from './isValidHslColor';
4
+ import { getNamedColorMap } from './getNamedColorMap';
5
+ import { detectColorFormat } from './detectColorFormat';
6
+ import { parseHexColor } from './parseHexColor';
7
+ import { hslToRgbInternal } from './hslToRgbInternal';
8
+ export function normalizeColorInput(input) {
9
+ if (Array.isArray(input)) {
10
+ if (input.length >= 3) {
11
+ const [r, g, b, a = 1] = input;
12
+ if (typeof r === 'number' && typeof g === 'number' && typeof b === 'number') {
13
+ const rgb = { r: Math.round(r), g: Math.round(g), b: Math.round(b) };
14
+ if (isValidRgbColor(rgb)) {
15
+ return { rgb, alpha: typeof a === 'number' ? a : 1, originalFormat: 'rgb' };
16
+ }
17
+ }
18
+ }
19
+ return null;
20
+ }
21
+ if (typeof input === 'object' && input !== null) {
22
+ if ('r' in input && 'g' in input && 'b' in input) {
23
+ const rgb = input;
24
+ if (isValidRgbColor(rgb)) {
25
+ const alpha = 'a' in input ? input.a : 1;
26
+ return { rgb, alpha, originalFormat: 'a' in input ? 'rgba' : 'rgb' };
27
+ }
28
+ }
29
+ if ('h' in input && 's' in input && 'l' in input) {
30
+ const hsl = input;
31
+ if (isValidHslColor(hsl)) {
32
+ const rgb = hslToRgbInternal(hsl);
33
+ if (rgb) {
34
+ const alpha = 'a' in input ? input.a : 1;
35
+ return { rgb, alpha, originalFormat: 'a' in input ? 'hsla' : 'hsl' };
36
+ }
37
+ }
38
+ }
39
+ return null;
40
+ }
41
+ if (typeof input === 'string') {
42
+ const trimmed = input.trim();
43
+ const format = detectColorFormat(trimmed);
44
+ if (!format) {
45
+ return null;
46
+ }
47
+ switch (format) {
48
+ case 'hex':
49
+ return parseHexColor(trimmed);
50
+ case 'rgb':
51
+ case 'rgba': {
52
+ const parseResult = parseColorString(trimmed);
53
+ if (parseResult.isValid && (parseResult.type === 'rgb' || parseResult.type === 'rgba')) {
54
+ const value = parseResult.value;
55
+ return {
56
+ rgb: { r: value.r, g: value.g, b: value.b },
57
+ alpha: value.a ?? 1,
58
+ originalFormat: parseResult.type
59
+ };
60
+ }
61
+ break;
62
+ }
63
+ case 'hsl':
64
+ case 'hsla': {
65
+ const parseResult = parseColorString(trimmed);
66
+ if (parseResult.isValid && (parseResult.type === 'hsl' || parseResult.type === 'hsla')) {
67
+ const value = parseResult.value;
68
+ const rgb = hslToRgbInternal(value);
69
+ if (rgb) {
70
+ return {
71
+ rgb,
72
+ alpha: value.a ?? 1,
73
+ originalFormat: parseResult.type
74
+ };
75
+ }
76
+ }
77
+ break;
78
+ }
79
+ case 'named': {
80
+ const namedColorMap = getNamedColorMap();
81
+ const hexValue = namedColorMap[trimmed.toLowerCase()];
82
+ if (hexValue) {
83
+ const result = parseHexColor(hexValue);
84
+ if (result) {
85
+ return { ...result, originalFormat: 'named' };
86
+ }
87
+ }
88
+ break;
89
+ }
90
+ }
91
+ }
92
+ return null;
93
+ }
94
+ //# sourceMappingURL=normalizeColorInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeColorInput.js","sourceRoot":"","sources":["../../../src/functions/color-converter/normalizeColorInput.ts"],"names":[],"mappings":"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"}