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.
- package/README.md +513 -610
- package/assets/logo-colorful.svg +18 -18
- package/assets/logo-name.svg +7 -7
- package/assets/logo-transparent.svg +14 -14
- package/assets/logo.svg +8 -8
- package/dist/constants/colorPatterns.d.ts +8 -0
- package/dist/{functions/color-converter/COLOR_PATTERNS.js → constants/colorPatterns.js} +1 -1
- package/dist/constants/colorPatterns.js.map +1 -0
- package/dist/constants/namedColors.d.ts +16 -0
- package/dist/constants/namedColors.js +17 -0
- package/dist/constants/namedColors.js.map +1 -0
- package/dist/functions/android/buildProject.d.ts +11 -0
- package/dist/functions/android/buildProject.js +97 -0
- package/dist/functions/android/buildProject.js.map +1 -0
- package/dist/functions/android/modifyGradle.d.ts +17 -0
- package/dist/functions/android/modifyGradle.js +69 -0
- package/dist/functions/android/modifyGradle.js.map +1 -0
- package/dist/functions/android/modifyManifest.d.ts +23 -0
- package/dist/functions/android/modifyManifest.js +198 -0
- package/dist/functions/android/modifyManifest.js.map +1 -0
- package/dist/functions/android/permission.d.ts +30 -0
- package/dist/functions/android/permission.js +65 -0
- package/dist/functions/android/permission.js.map +1 -0
- package/dist/functions/color/colorValidation.d.ts +11 -0
- package/dist/functions/color/colorValidation.js +35 -0
- package/dist/functions/color/colorValidation.js.map +1 -0
- package/dist/functions/{color-converter → color}/convertColor.d.ts +0 -1
- package/dist/functions/color/convertColor.js +277 -0
- package/dist/functions/color/convertColor.js.map +1 -0
- package/dist/functions/color/deduplicateColors.d.ts +4 -0
- package/dist/functions/color/deduplicateColors.js +40 -0
- package/dist/functions/color/deduplicateColors.js.map +1 -0
- package/dist/functions/color/detectColorFormat.d.ts +8 -0
- package/dist/functions/color/detectColorFormat.js +110 -0
- package/dist/functions/color/detectColorFormat.js.map +1 -0
- package/dist/functions/color/extractColors.d.ts +4 -0
- package/dist/functions/color/extractColors.js +128 -0
- package/dist/functions/color/extractColors.js.map +1 -0
- package/dist/functions/css/extractCssVariables.d.ts +12 -0
- package/dist/functions/css/extractCssVariables.js +53 -0
- package/dist/functions/css/extractCssVariables.js.map +1 -0
- package/dist/functions/debug/createDebugger.d.ts +8 -7
- package/dist/functions/debug/createDebugger.js +49 -39
- package/dist/functions/debug/createDebugger.js.map +1 -1
- package/dist/functions/dom/detectOverflow.d.ts +3 -3
- package/dist/functions/dom/detectOverflow.js +3 -3
- package/dist/functions/dom/detectOverflow.js.map +1 -1
- package/dist/functions/dom/getElementRect.d.ts +1 -1
- package/dist/functions/dom/getElementRect.js.map +1 -1
- package/dist/functions/dom/getRelativePosition.d.ts +1 -1
- package/dist/functions/dom/getRelativePosition.js.map +1 -1
- package/dist/functions/dom/getViewportRect.d.ts +2 -2
- package/dist/functions/dom/getViewportRect.js +2 -2
- package/dist/functions/dom/getViewportRect.js.map +1 -1
- package/dist/functions/image/generateMacIcons.d.ts +3 -3
- package/dist/functions/image/generateMacIcons.js.map +1 -1
- package/dist/functions/image/generateMacTrayIcon.d.ts +3 -3
- package/dist/functions/image/generateMacTrayIcon.js.map +1 -1
- package/dist/functions/image/generatePaddedImage.d.ts +2 -2
- package/dist/functions/image/generatePaddedImage.js.map +1 -1
- package/dist/functions/image/generatePwaIcons.d.ts +3 -3
- package/dist/functions/image/generatePwaIcons.js.map +1 -1
- package/dist/functions/image/generateRoundedImage.d.ts +2 -2
- package/dist/functions/image/generateRoundedImage.js.map +1 -1
- package/dist/functions/ipc/dispatchIpcRequest.d.ts +2 -2
- package/dist/functions/ipc/dispatchIpcRequest.js +1 -1
- package/dist/functions/ipc/dispatchIpcRequest.js.map +1 -1
- package/dist/functions/software/findSoftware.d.ts +4 -5
- package/dist/functions/software/findSoftware.js +32 -20
- package/dist/functions/software/findSoftware.js.map +1 -1
- package/dist/functions/uniapp/app-plus/buildAndroidApp.d.ts +2 -2
- package/dist/functions/uniapp/app-plus/buildAndroidApp.js +97 -24
- package/dist/functions/uniapp/app-plus/buildAndroidApp.js.map +1 -1
- package/dist/functions/uniapp/build.d.ts +20 -0
- package/dist/functions/uniapp/build.js +84 -0
- package/dist/functions/uniapp/build.js.map +1 -0
- package/dist/functions/uniapp/detectAndroidProjectStructure.d.ts +7 -0
- package/dist/functions/uniapp/detectAndroidProjectStructure.js +30 -0
- package/dist/functions/uniapp/detectAndroidProjectStructure.js.map +1 -0
- package/dist/functions/uniapp/detectProjectType.d.ts +16 -0
- package/dist/functions/uniapp/detectProjectType.js +68 -0
- package/dist/functions/uniapp/detectProjectType.js.map +1 -0
- package/dist/functions/uniapp/parseManifest.d.ts +12 -0
- package/dist/functions/uniapp/{app-plus/parseManifest.js → parseManifest.js} +9 -7
- package/dist/functions/uniapp/parseManifest.js.map +1 -0
- package/dist/functions/utils/generateExports.d.ts +16 -0
- package/dist/functions/utils/generateExports.js +34 -0
- package/dist/functions/utils/generateExports.js.map +1 -0
- package/dist/functions/vue/extractColorsFromVueFile.d.ts +3 -0
- package/dist/functions/vue/extractColorsFromVueFile.js +18 -0
- package/dist/functions/vue/extractColorsFromVueFile.js.map +1 -0
- package/dist/functions/vue/extractColorsFromVueSection.d.ts +3 -0
- package/dist/functions/vue/extractColorsFromVueSection.js +53 -0
- package/dist/functions/vue/extractColorsFromVueSection.js.map +1 -0
- package/dist/functions/vue/filterSections.d.ts +2 -0
- package/dist/functions/vue/parseVueFile.d.ts +2 -0
- package/dist/functions/xml/modifyXml.d.ts +11 -0
- package/dist/functions/xml/modifyXml.js +46 -0
- package/dist/functions/xml/modifyXml.js.map +1 -0
- package/dist/hooks/useAltool.d.ts +39 -0
- package/dist/hooks/useAltool.js +350 -0
- package/dist/hooks/useAltool.js.map +1 -0
- package/dist/hooks/useLocalStorage.d.ts +4 -4
- package/dist/hooks/useLocalStorage.js +51 -18
- package/dist/hooks/useLocalStorage.js.map +1 -1
- package/dist/hooks/useSessionStorage.d.ts +4 -4
- package/dist/hooks/useSessionStorage.js +51 -18
- package/dist/hooks/useSessionStorage.js.map +1 -1
- package/dist/hooks/useStorage.d.ts +10 -3
- package/dist/hooks/useStorage.js +33 -35
- package/dist/hooks/useStorage.js.map +1 -1
- package/dist/hooks/useStorageWithIndexedDB.d.ts +3 -4
- package/dist/hooks/useStorageWithIndexedDB.js +39 -29
- package/dist/hooks/useStorageWithIndexedDB.js.map +1 -1
- package/dist/hooks/useWebWorker.d.ts +25 -4
- package/dist/hooks/useWebWorker.js.map +1 -1
- package/dist/hooks/useWorkerFunction.d.ts +22 -4
- package/dist/hooks/useWorkerFunction.js +28 -28
- package/dist/hooks/useWorkerFunction.js.map +1 -1
- package/dist/hooks/useWorkerPool.d.ts +30 -4
- package/dist/hooks/useWorkerPool.js.map +1 -1
- package/package.json +39 -63
- package/references/arraybuffer.d.ts +109 -0
- package/references/blob.d.ts +37 -0
- package/references/browser.d.ts +69 -174
- package/references/chrome.extension.d.ts +83 -0
- package/references/console.d.ts +25 -164
- package/references/{crypto.d.ts → crypto-js.d.ts} +57 -57
- package/references/dom.d.ts +41 -0
- package/references/encoding.d.ts +24 -0
- package/references/fetch.d.ts +124 -269
- package/references/indexeddb.d.ts +49 -0
- package/references/json5.d.ts +21 -28
- package/references/location.d.ts +16 -0
- package/references/node.d.ts +116 -111
- package/references/sharp.d.ts +18 -18
- package/references/storage.d.ts +17 -111
- package/references/timer.d.ts +45 -46
- package/references/uniapp.d.ts +51 -9
- package/references/url.d.ts +55 -160
- package/references/vue.d.ts +86 -113
- package/references/webassembly.d.ts +101 -127
- package/references/wechat.d.ts +48 -48
- package/references/worker.d.ts +152 -206
- package/references/xml.d.ts +88 -55
- package/types/altool.d.ts +49 -17
- package/types/android-build.d.ts +60 -85
- package/types/color.d.ts +72 -135
- package/types/geometry.d.ts +28 -63
- package/types/platform.d.ts +4 -0
- package/types/software.d.ts +15 -0
- package/types/storage.d.ts +50 -48
- package/types/uniapp-android-build.d.ts +49 -0
- package/types/vue.d.ts +30 -0
- package/types/worker.d.ts +178 -364
- package/dist/functions/ag-grid/generateLicense.d.ts +0 -4
- package/dist/functions/ag-grid/generateLicense.js +0 -12
- package/dist/functions/ag-grid/generateLicense.js.map +0 -1
- package/dist/functions/altool/createAltoolClient.d.ts +0 -21
- package/dist/functions/altool/createAltoolClient.js +0 -59
- package/dist/functions/altool/createAltoolClient.js.map +0 -1
- package/dist/functions/altool/getAppInfo.d.ts +0 -13
- package/dist/functions/altool/getAppInfo.js +0 -92
- package/dist/functions/altool/getAppInfo.js.map +0 -1
- package/dist/functions/altool/index.d.ts +0 -10
- package/dist/functions/altool/index.js +0 -6
- package/dist/functions/altool/index.js.map +0 -1
- package/dist/functions/altool/isApiKeyAuth.d.ts +0 -2
- package/dist/functions/altool/isApiKeyAuth.js +0 -4
- package/dist/functions/altool/isApiKeyAuth.js.map +0 -1
- package/dist/functions/altool/isCredentialsAuth.d.ts +0 -2
- package/dist/functions/altool/isCredentialsAuth.js +0 -4
- package/dist/functions/altool/isCredentialsAuth.js.map +0 -1
- package/dist/functions/altool/types.d.ts +0 -26
- package/dist/functions/altool/types.js +0 -7
- package/dist/functions/altool/types.js.map +0 -1
- package/dist/functions/altool/uploadApp.d.ts +0 -6
- package/dist/functions/altool/uploadApp.js +0 -36
- package/dist/functions/altool/uploadApp.js.map +0 -1
- package/dist/functions/altool/validateApp.d.ts +0 -17
- package/dist/functions/altool/validateApp.js +0 -59
- package/dist/functions/altool/validateApp.js.map +0 -1
- package/dist/functions/base64/strToBase64.d.ts +0 -2
- package/dist/functions/base64/strToBase64.js +0 -6
- package/dist/functions/base64/strToBase64.js.map +0 -1
- package/dist/functions/color-converter/COLOR_PATTERNS.d.ts +0 -2
- package/dist/functions/color-converter/COLOR_PATTERNS.js.map +0 -1
- package/dist/functions/color-converter/colorPatterns.d.ts +0 -4
- package/dist/functions/color-converter/colorPatterns.js +0 -41
- package/dist/functions/color-converter/colorPatterns.js.map +0 -1
- package/dist/functions/color-converter/convertColor.js +0 -238
- package/dist/functions/color-converter/convertColor.js.map +0 -1
- package/dist/functions/color-converter/detectColorFormat.d.ts +0 -2
- package/dist/functions/color-converter/detectColorFormat.js +0 -19
- package/dist/functions/color-converter/detectColorFormat.js.map +0 -1
- package/dist/functions/color-converter/extractColors.d.ts +0 -16
- package/dist/functions/color-converter/extractColors.js +0 -111
- package/dist/functions/color-converter/extractColors.js.map +0 -1
- package/dist/functions/color-converter/getColorPatterns.d.ts +0 -2
- package/dist/functions/color-converter/getColorPatterns.js +0 -11
- package/dist/functions/color-converter/getColorPatterns.js.map +0 -1
- package/dist/functions/color-converter/getNamedColorMap.d.ts +0 -2
- package/dist/functions/color-converter/getNamedColorMap.js +0 -19
- package/dist/functions/color-converter/getNamedColorMap.js.map +0 -1
- package/dist/functions/color-converter/hexToRgb.d.ts +0 -2
- package/dist/functions/color-converter/hexToRgb.js +0 -42
- package/dist/functions/color-converter/hexToRgb.js.map +0 -1
- package/dist/functions/color-converter/hslToRgb.d.ts +0 -2
- package/dist/functions/color-converter/hslToRgb.js +0 -78
- package/dist/functions/color-converter/hslToRgb.js.map +0 -1
- package/dist/functions/color-converter/hueToRgb.d.ts +0 -1
- package/dist/functions/color-converter/hueToRgb.js +0 -14
- package/dist/functions/color-converter/hueToRgb.js.map +0 -1
- package/dist/functions/color-converter/isColorValue.d.ts +0 -2
- package/dist/functions/color-converter/isColorValue.js +0 -79
- package/dist/functions/color-converter/isColorValue.js.map +0 -1
- package/dist/functions/color-converter/normalizeColor.d.ts +0 -1
- package/dist/functions/color-converter/normalizeColor.js +0 -49
- package/dist/functions/color-converter/normalizeColor.js.map +0 -1
- package/dist/functions/color-converter/parseColorString.d.ts +0 -15
- package/dist/functions/color-converter/parseColorString.js +0 -116
- package/dist/functions/color-converter/parseColorString.js.map +0 -1
- package/dist/functions/color-converter/rgbToHex.d.ts +0 -2
- package/dist/functions/color-converter/rgbToHex.js +0 -65
- package/dist/functions/color-converter/rgbToHex.js.map +0 -1
- package/dist/functions/color-converter/standardizeColor.d.ts +0 -1
- package/dist/functions/color-converter/standardizeColor.js +0 -147
- package/dist/functions/color-converter/standardizeColor.js.map +0 -1
- package/dist/functions/desensitize/desensitizeName.d.ts +0 -1
- package/dist/functions/desensitize/desensitizeName.js +0 -8
- package/dist/functions/desensitize/desensitizeName.js.map +0 -1
- package/dist/functions/desensitize/desensitizePhone.d.ts +0 -1
- package/dist/functions/desensitize/desensitizePhone.js +0 -8
- package/dist/functions/desensitize/desensitizePhone.js.map +0 -1
- package/dist/functions/dom/getViewportSize.d.ts +0 -5
- package/dist/functions/dom/getViewportSize.js +0 -7
- package/dist/functions/dom/getViewportSize.js.map +0 -1
- package/dist/functions/software/buildPathExecutables.d.ts +0 -1
- package/dist/functions/software/buildPathExecutables.js +0 -4
- package/dist/functions/software/buildPathExecutables.js.map +0 -1
- package/dist/functions/software/buildSoftwarePaths.d.ts +0 -2
- package/dist/functions/software/buildSoftwarePaths.js +0 -22
- package/dist/functions/software/buildSoftwarePaths.js.map +0 -1
- package/dist/functions/software/createConfigGenerator.d.ts +0 -8
- package/dist/functions/software/createConfigGenerator.js +0 -13
- package/dist/functions/software/createConfigGenerator.js.map +0 -1
- package/dist/functions/software/detectPlatform.d.ts +0 -2
- package/dist/functions/software/detectPlatform.js +0 -4
- package/dist/functions/software/detectPlatform.js.map +0 -1
- package/dist/functions/software/find.d.ts +0 -2
- package/dist/functions/software/find.js +0 -12
- package/dist/functions/software/find.js.map +0 -1
- package/dist/functions/software/findSoftwareWithGenerator.d.ts +0 -3
- package/dist/functions/software/findSoftwareWithGenerator.js +0 -8
- package/dist/functions/software/findSoftwareWithGenerator.js.map +0 -1
- package/dist/functions/software/getConfigGenerator.d.ts +0 -2
- package/dist/functions/software/getConfigGenerator.js +0 -10
- package/dist/functions/software/getConfigGenerator.js.map +0 -1
- package/dist/functions/software/getEnvironmentSoftwarePath.d.ts +0 -1
- package/dist/functions/software/getEnvironmentSoftwarePath.js +0 -4
- package/dist/functions/software/getEnvironmentSoftwarePath.js.map +0 -1
- package/dist/functions/software/getSupportedSoftware.d.ts +0 -1
- package/dist/functions/software/getSupportedSoftware.js +0 -5
- package/dist/functions/software/getSupportedSoftware.js.map +0 -1
- package/dist/functions/software/parseEnvironmentPaths.d.ts +0 -1
- package/dist/functions/software/parseEnvironmentPaths.js +0 -7
- package/dist/functions/software/parseEnvironmentPaths.js.map +0 -1
- package/dist/functions/software/softwareConfigs.d.ts +0 -2
- package/dist/functions/software/softwareConfigs.js +0 -148
- package/dist/functions/software/softwareConfigs.js.map +0 -1
- package/dist/functions/software/softwareNameMap.d.ts +0 -1
- package/dist/functions/software/softwareNameMap.js +0 -9
- package/dist/functions/software/softwareNameMap.js.map +0 -1
- package/dist/functions/software/types.d.ts +0 -11
- package/dist/functions/software/types.js +0 -2
- package/dist/functions/software/types.js.map +0 -1
- package/dist/functions/string/camelCase.d.ts +0 -1
- package/dist/functions/string/camelCase.js +0 -8
- package/dist/functions/string/camelCase.js.map +0 -1
- package/dist/functions/string/capitalize.d.ts +0 -1
- package/dist/functions/string/capitalize.js +0 -6
- package/dist/functions/string/capitalize.js.map +0 -1
- package/dist/functions/string/escape.d.ts +0 -1
- package/dist/functions/string/escape.js +0 -13
- package/dist/functions/string/escape.js.map +0 -1
- package/dist/functions/string/kebabCase.d.ts +0 -1
- package/dist/functions/string/kebabCase.js +0 -10
- package/dist/functions/string/kebabCase.js.map +0 -1
- package/dist/functions/string/levenshtein.d.ts +0 -1
- package/dist/functions/string/levenshtein.js +0 -27
- package/dist/functions/string/levenshtein.js.map +0 -1
- package/dist/functions/string/mask.d.ts +0 -1
- package/dist/functions/string/mask.js +0 -40
- package/dist/functions/string/mask.js.map +0 -1
- package/dist/functions/string/normalize.d.ts +0 -8
- package/dist/functions/string/normalize.js +0 -37
- package/dist/functions/string/normalize.js.map +0 -1
- package/dist/functions/string/padEnd.d.ts +0 -1
- package/dist/functions/string/padEnd.js +0 -8
- package/dist/functions/string/padEnd.js.map +0 -1
- package/dist/functions/string/padStart.d.ts +0 -1
- package/dist/functions/string/padStart.js +0 -8
- package/dist/functions/string/padStart.js.map +0 -1
- package/dist/functions/string/palindrome.d.ts +0 -3
- package/dist/functions/string/palindrome.js +0 -15
- package/dist/functions/string/palindrome.js.map +0 -1
- package/dist/functions/string/pascalCase.d.ts +0 -1
- package/dist/functions/string/pascalCase.js +0 -8
- package/dist/functions/string/pascalCase.js.map +0 -1
- package/dist/functions/string/similarity.d.ts +0 -1
- package/dist/functions/string/similarity.js +0 -38
- package/dist/functions/string/similarity.js.map +0 -1
- package/dist/functions/string/snakeCase.d.ts +0 -1
- package/dist/functions/string/snakeCase.js +0 -10
- package/dist/functions/string/snakeCase.js.map +0 -1
- package/dist/functions/string/template.d.ts +0 -4
- package/dist/functions/string/template.js +0 -21
- package/dist/functions/string/template.js.map +0 -1
- package/dist/functions/string/unescape.d.ts +0 -1
- package/dist/functions/string/unescape.js +0 -13
- package/dist/functions/string/unescape.js.map +0 -1
- package/dist/functions/string/wordCount.d.ts +0 -5
- package/dist/functions/string/wordCount.js +0 -11
- package/dist/functions/string/wordCount.js.map +0 -1
- package/dist/functions/tencent-cloud/getSecret.d.ts +0 -7
- package/dist/functions/tencent-cloud/getSecret.js +0 -19
- package/dist/functions/tencent-cloud/getSecret.js.map +0 -1
- package/dist/functions/uniapp/app-plus/androidProjectConfigSteps.d.ts +0 -13
- package/dist/functions/uniapp/app-plus/androidProjectConfigSteps.js +0 -175
- package/dist/functions/uniapp/app-plus/androidProjectConfigSteps.js.map +0 -1
- package/dist/functions/uniapp/app-plus/androidProjectStrategy.d.ts +0 -33
- package/dist/functions/uniapp/app-plus/androidProjectStrategy.js +0 -60
- package/dist/functions/uniapp/app-plus/androidProjectStrategy.js.map +0 -1
- package/dist/functions/uniapp/app-plus/buildAndroidProject.d.ts +0 -3
- package/dist/functions/uniapp/app-plus/buildAndroidProject.js +0 -60
- package/dist/functions/uniapp/app-plus/buildAndroidProject.js.map +0 -1
- package/dist/functions/uniapp/app-plus/configureAndroidManifest.d.ts +0 -5
- package/dist/functions/uniapp/app-plus/configureAndroidManifest.js +0 -51
- package/dist/functions/uniapp/app-plus/configureAndroidManifest.js.map +0 -1
- package/dist/functions/uniapp/app-plus/configureAndroidProject.d.ts +0 -3
- package/dist/functions/uniapp/app-plus/configureAndroidProject.js +0 -63
- package/dist/functions/uniapp/app-plus/configureAndroidProject.js.map +0 -1
- package/dist/functions/uniapp/app-plus/configureBuildGradle.d.ts +0 -9
- package/dist/functions/uniapp/app-plus/configureBuildGradle.js +0 -57
- package/dist/functions/uniapp/app-plus/configureBuildGradle.js.map +0 -1
- package/dist/functions/uniapp/app-plus/configureDcloudControl.d.ts +0 -5
- package/dist/functions/uniapp/app-plus/configureDcloudControl.js +0 -34
- package/dist/functions/uniapp/app-plus/configureDcloudControl.js.map +0 -1
- package/dist/functions/uniapp/app-plus/configureStrings.d.ts +0 -5
- package/dist/functions/uniapp/app-plus/configureStrings.js +0 -42
- package/dist/functions/uniapp/app-plus/configureStrings.js.map +0 -1
- package/dist/functions/uniapp/app-plus/copyAppResources.d.ts +0 -8
- package/dist/functions/uniapp/app-plus/copyAppResources.js +0 -25
- package/dist/functions/uniapp/app-plus/copyAppResources.js.map +0 -1
- package/dist/functions/uniapp/app-plus/copyDirectory.d.ts +0 -2
- package/dist/functions/uniapp/app-plus/copyDirectory.js +0 -18
- package/dist/functions/uniapp/app-plus/copyDirectory.js.map +0 -1
- package/dist/functions/uniapp/app-plus/generateUniAppResources.d.ts +0 -2
- package/dist/functions/uniapp/app-plus/generateUniAppResources.js +0 -35
- package/dist/functions/uniapp/app-plus/generateUniAppResources.js.map +0 -1
- package/dist/functions/uniapp/app-plus/parseManifest.d.ts +0 -14
- package/dist/functions/uniapp/app-plus/parseManifest.js.map +0 -1
- package/dist/functions/uniapp/app-plus/validateOptions.d.ts +0 -3
- package/dist/functions/uniapp/app-plus/validateOptions.js +0 -10
- package/dist/functions/uniapp/app-plus/validateOptions.js.map +0 -1
- package/dist/functions/uniapp/waitForPages.d.ts +0 -2
- package/dist/functions/uniapp/waitForPages.js +0 -19
- package/dist/functions/uniapp/waitForPages.js.map +0 -1
- package/dist/functions/utils/compose.d.ts +0 -1
- package/dist/functions/utils/compose.js +0 -10
- package/dist/functions/utils/compose.js.map +0 -1
- package/dist/functions/utils/cond.d.ts +0 -1
- package/dist/functions/utils/cond.js +0 -15
- package/dist/functions/utils/cond.js.map +0 -1
- package/dist/functions/utils/curry.d.ts +0 -1
- package/dist/functions/utils/curry.js +0 -13
- package/dist/functions/utils/curry.js.map +0 -1
- package/dist/functions/utils/debounce.d.ts +0 -1
- package/dist/functions/utils/debounce.js +0 -13
- package/dist/functions/utils/debounce.js.map +0 -1
- package/dist/functions/utils/evolve.d.ts +0 -3
- package/dist/functions/utils/evolve.js +0 -15
- package/dist/functions/utils/evolve.js.map +0 -1
- package/dist/functions/utils/flow.d.ts +0 -1
- package/dist/functions/utils/flow.js +0 -10
- package/dist/functions/utils/flow.js.map +0 -1
- package/dist/functions/utils/isType.d.ts +0 -11
- package/dist/functions/utils/isType.js +0 -30
- package/dist/functions/utils/isType.js.map +0 -1
- package/dist/functions/utils/memoize.d.ts +0 -1
- package/dist/functions/utils/memoize.js +0 -13
- package/dist/functions/utils/memoize.js.map +0 -1
- package/dist/functions/utils/once.d.ts +0 -1
- package/dist/functions/utils/once.js +0 -13
- package/dist/functions/utils/once.js.map +0 -1
- package/dist/functions/utils/partial.d.ts +0 -1
- package/dist/functions/utils/partial.js +0 -13
- package/dist/functions/utils/partial.js.map +0 -1
- package/dist/functions/utils/pipe.d.ts +0 -1
- package/dist/functions/utils/pipe.js +0 -10
- package/dist/functions/utils/pipe.js.map +0 -1
- package/dist/functions/utils/retryWithBackoff.d.ts +0 -9
- package/dist/functions/utils/retryWithBackoff.js +0 -30
- package/dist/functions/utils/retryWithBackoff.js.map +0 -1
- package/dist/functions/utils/tap.d.ts +0 -1
- package/dist/functions/utils/tap.js +0 -14
- package/dist/functions/utils/tap.js.map +0 -1
- package/dist/functions/utils/throttle.d.ts +0 -1
- package/dist/functions/utils/throttle.js +0 -11
- package/dist/functions/utils/throttle.js.map +0 -1
- package/dist/functions/utils/until.d.ts +0 -1
- package/dist/functions/utils/until.js +0 -10
- package/dist/functions/utils/until.js.map +0 -1
- package/dist/functions/utils/validate.d.ts +0 -8
- package/dist/functions/utils/validate.js +0 -45
- package/dist/functions/utils/validate.js.map +0 -1
- package/dist/functions/vue/dynamicMount.d.ts +0 -15
- package/dist/functions/vue/dynamicMount.js +0 -23
- package/dist/functions/vue/dynamicMount.js.map +0 -1
- package/dist/functions/vue/isVNode.d.ts +0 -2
- package/dist/functions/vue/isVNode.js +0 -4
- package/dist/functions/vue/isVNode.js.map +0 -1
- package/dist/functions/vue/isVueComponent.d.ts +0 -2
- package/dist/functions/vue/isVueComponent.js +0 -6
- package/dist/functions/vue/isVueComponent.js.map +0 -1
- package/dist/functions/vue/processVueFile.d.ts +0 -20
- package/dist/functions/vue/processVueFile.js +0 -98
- package/dist/functions/vue/processVueFile.js.map +0 -1
- package/dist/functions/wechat/miniapp/downloadFile.d.ts +0 -2
- package/dist/functions/wechat/miniapp/downloadFile.js +0 -39
- package/dist/functions/wechat/miniapp/downloadFile.js.map +0 -1
- package/dist/hooks/useAi.d.ts +0 -27
- package/dist/hooks/useAi.js +0 -163
- package/dist/hooks/useAi.js.map +0 -1
- package/dist/hooks/useCache.d.ts +0 -18
- package/dist/hooks/useCache.js +0 -82
- package/dist/hooks/useCache.js.map +0 -1
- package/dist/hooks/useFetch.d.ts +0 -3
- package/dist/hooks/useFetch.js +0 -154
- package/dist/hooks/useFetch.js.map +0 -1
- package/dist/hooks/usePluginSystem.d.ts +0 -11
- package/dist/hooks/usePluginSystem.js +0 -34
- package/dist/hooks/usePluginSystem.js.map +0 -1
- package/dist/hooks/useRequest.d.ts +0 -3
- package/dist/hooks/useRequest.js +0 -139
- package/dist/hooks/useRequest.js.map +0 -1
- package/dist/hooks/useWASM.d.ts +0 -4
- package/dist/hooks/useWASM.js +0 -267
- package/dist/hooks/useWASM.js.map +0 -1
- package/references/browser.extension.d.ts +0 -14
- package/types/network.d.ts +0 -184
- package/types/util.d.ts +0 -27
- 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,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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"}
|