zcw-shared 1.10.1 → 1.10.3

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 (234) hide show
  1. package/dist/constants/colorPatterns.js +2 -2
  2. package/dist/constants/colorPatterns.js.map +1 -1
  3. package/dist/constants/namedColors.d.ts +16 -0
  4. package/dist/constants/namedColors.js +17 -0
  5. package/dist/constants/namedColors.js.map +1 -0
  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/android/buildProject.d.ts +12 -0
  13. package/dist/functions/android/buildProject.js +123 -0
  14. package/dist/functions/android/buildProject.js.map +1 -0
  15. package/dist/functions/android/detectAndroidModules.d.ts +2 -0
  16. package/dist/functions/android/detectAndroidModules.js +21 -0
  17. package/dist/functions/android/detectAndroidModules.js.map +1 -0
  18. package/dist/functions/android/modifyGradle.d.ts +17 -0
  19. package/dist/functions/android/modifyGradle.js +69 -0
  20. package/dist/functions/android/modifyGradle.js.map +1 -0
  21. package/dist/functions/android/modifyManifest.d.ts +23 -0
  22. package/dist/functions/android/modifyManifest.js +201 -0
  23. package/dist/functions/android/modifyManifest.js.map +1 -0
  24. package/dist/functions/android/permission.d.ts +30 -0
  25. package/dist/functions/android/permission.js +65 -0
  26. package/dist/functions/android/permission.js.map +1 -0
  27. package/dist/functions/color/colorValidation.d.ts +11 -0
  28. package/dist/functions/color/colorValidation.js +35 -0
  29. package/dist/functions/color/colorValidation.js.map +1 -0
  30. package/dist/functions/color/deduplicateColors.d.ts +4 -0
  31. package/dist/functions/color/deduplicateColors.js +40 -0
  32. package/dist/functions/color/deduplicateColors.js.map +1 -0
  33. package/dist/functions/css/extractCssVariables.d.ts +12 -0
  34. package/dist/functions/css/extractCssVariables.js +53 -0
  35. package/dist/functions/css/extractCssVariables.js.map +1 -0
  36. package/dist/functions/debug/createDebugger.d.ts +21 -0
  37. package/dist/functions/debug/createDebugger.js +89 -0
  38. package/dist/functions/debug/createDebugger.js.map +1 -0
  39. package/dist/functions/dom/detectOverflow.d.ts +8 -0
  40. package/dist/functions/dom/detectOverflow.js +17 -0
  41. package/dist/functions/dom/detectOverflow.js.map +1 -0
  42. package/dist/functions/dom/getElementRect.d.ts +3 -0
  43. package/dist/functions/dom/getElementRect.js +14 -0
  44. package/dist/functions/dom/getElementRect.js.map +1 -0
  45. package/dist/functions/dom/getRelativePosition.d.ts +3 -0
  46. package/dist/functions/dom/getRelativePosition.js +14 -0
  47. package/dist/functions/dom/getRelativePosition.js.map +1 -0
  48. package/dist/functions/dom/getViewportRect.d.ts +3 -0
  49. package/dist/functions/dom/getViewportRect.js +15 -0
  50. package/dist/functions/dom/getViewportRect.js.map +1 -0
  51. package/dist/functions/image/generateMacIcons.d.ts +6 -0
  52. package/dist/functions/image/generateMacIcons.js +15 -0
  53. package/dist/functions/image/generateMacIcons.js.map +1 -0
  54. package/dist/functions/image/generateMacTrayIcon.d.ts +7 -0
  55. package/dist/functions/image/generateMacTrayIcon.js +15 -0
  56. package/dist/functions/image/generateMacTrayIcon.js.map +1 -0
  57. package/dist/functions/image/generatePaddedImage.d.ts +3 -0
  58. package/dist/functions/image/generatePaddedImage.js +14 -0
  59. package/dist/functions/image/generatePaddedImage.js.map +1 -0
  60. package/dist/functions/image/generatePwaIcons.d.ts +6 -0
  61. package/dist/functions/image/generatePwaIcons.js +15 -0
  62. package/dist/functions/image/generatePwaIcons.js.map +1 -0
  63. package/dist/functions/image/generateRoundedImage.d.ts +3 -0
  64. package/dist/functions/image/generateRoundedImage.js +17 -0
  65. package/dist/functions/image/generateRoundedImage.js.map +1 -0
  66. package/dist/functions/ipc/dispatchIpcRequest.d.ts +6 -0
  67. package/dist/functions/ipc/dispatchIpcRequest.js +10 -0
  68. package/dist/functions/ipc/dispatchIpcRequest.js.map +1 -0
  69. package/dist/functions/software/findSoftware.d.ts +13 -0
  70. package/dist/functions/software/findSoftware.js +41 -0
  71. package/dist/functions/software/findSoftware.js.map +1 -0
  72. package/dist/functions/string/base64.d.ts +2 -0
  73. package/dist/functions/string/base64.js +6 -0
  74. package/dist/functions/string/base64.js.map +1 -0
  75. package/dist/functions/string/capitalize.d.ts +1 -0
  76. package/dist/functions/string/capitalize.js +6 -0
  77. package/dist/functions/string/capitalize.js.map +1 -0
  78. package/dist/functions/string/caseConverter.d.ts +19 -0
  79. package/dist/functions/string/caseConverter.js +94 -0
  80. package/dist/functions/string/caseConverter.js.map +1 -0
  81. package/dist/functions/string/desensitize.d.ts +13 -0
  82. package/dist/functions/string/desensitize.js +107 -0
  83. package/dist/functions/string/desensitize.js.map +1 -0
  84. package/dist/functions/string/htmlEscape.d.ts +20 -0
  85. package/dist/functions/string/htmlEscape.js +80 -0
  86. package/dist/functions/string/htmlEscape.js.map +1 -0
  87. package/dist/functions/string/levenshtein.d.ts +1 -0
  88. package/dist/functions/string/levenshtein.js +27 -0
  89. package/dist/functions/string/levenshtein.js.map +1 -0
  90. package/dist/functions/string/normalize.d.ts +8 -0
  91. package/dist/functions/string/normalize.js +37 -0
  92. package/dist/functions/string/normalize.js.map +1 -0
  93. package/dist/functions/string/pad.d.ts +13 -0
  94. package/dist/functions/string/pad.js +50 -0
  95. package/dist/functions/string/pad.js.map +1 -0
  96. package/dist/functions/string/palindrome.d.ts +3 -0
  97. package/dist/functions/string/palindrome.js +15 -0
  98. package/dist/functions/string/palindrome.js.map +1 -0
  99. package/dist/functions/string/similarity.d.ts +1 -0
  100. package/dist/functions/string/similarity.js +13 -0
  101. package/dist/functions/string/similarity.js.map +1 -0
  102. package/dist/functions/string/template.d.ts +4 -0
  103. package/dist/functions/string/template.js +21 -0
  104. package/dist/functions/string/template.js.map +1 -0
  105. package/dist/functions/string/wordCount.d.ts +5 -0
  106. package/dist/functions/string/wordCount.js +11 -0
  107. package/dist/functions/string/wordCount.js.map +1 -0
  108. package/dist/functions/tencent-cloud/getSecret.d.ts +6 -0
  109. package/dist/functions/tencent-cloud/getSecret.js +18 -0
  110. package/dist/functions/tencent-cloud/getSecret.js.map +1 -0
  111. package/dist/functions/uniapp/app-plus/buildAndroidApp.d.ts +2 -0
  112. package/dist/functions/uniapp/app-plus/buildAndroidApp.js +245 -0
  113. package/dist/functions/uniapp/app-plus/buildAndroidApp.js.map +1 -0
  114. package/dist/functions/uniapp/build.d.ts +20 -0
  115. package/dist/functions/uniapp/build.js +84 -0
  116. package/dist/functions/uniapp/build.js.map +1 -0
  117. package/dist/functions/uniapp/detectAndroidProjectStructure.d.ts +7 -0
  118. package/dist/functions/uniapp/detectAndroidProjectStructure.js +30 -0
  119. package/dist/functions/uniapp/detectAndroidProjectStructure.js.map +1 -0
  120. package/dist/functions/uniapp/detectProjectType.d.ts +16 -0
  121. package/dist/functions/uniapp/detectProjectType.js +68 -0
  122. package/dist/functions/uniapp/detectProjectType.js.map +1 -0
  123. package/dist/functions/uniapp/parseManifest.d.ts +12 -0
  124. package/dist/functions/uniapp/parseManifest.js +46 -0
  125. package/dist/functions/uniapp/parseManifest.js.map +1 -0
  126. package/dist/functions/uniapp/waitForPages.d.ts +3 -0
  127. package/dist/functions/uniapp/waitForPages.js +20 -0
  128. package/dist/functions/uniapp/waitForPages.js.map +1 -0
  129. package/dist/functions/utils/compose.d.ts +1 -0
  130. package/dist/functions/utils/compose.js +10 -0
  131. package/dist/functions/utils/compose.js.map +1 -0
  132. package/dist/functions/utils/cond.d.ts +1 -0
  133. package/dist/functions/utils/cond.js +15 -0
  134. package/dist/functions/utils/cond.js.map +1 -0
  135. package/dist/functions/utils/curry.d.ts +1 -0
  136. package/dist/functions/utils/curry.js +13 -0
  137. package/dist/functions/utils/curry.js.map +1 -0
  138. package/dist/functions/utils/debounce.d.ts +1 -0
  139. package/dist/functions/utils/debounce.js +13 -0
  140. package/dist/functions/utils/debounce.js.map +1 -0
  141. package/dist/functions/utils/evolve.d.ts +3 -0
  142. package/dist/functions/utils/evolve.js +15 -0
  143. package/dist/functions/utils/evolve.js.map +1 -0
  144. package/dist/functions/utils/flow.d.ts +1 -0
  145. package/dist/functions/utils/flow.js +14 -0
  146. package/dist/functions/utils/flow.js.map +1 -0
  147. package/dist/functions/utils/generateExports.d.ts +16 -0
  148. package/dist/functions/utils/generateExports.js +34 -0
  149. package/dist/functions/utils/generateExports.js.map +1 -0
  150. package/dist/functions/utils/isType.d.ts +11 -0
  151. package/dist/functions/utils/isType.js +30 -0
  152. package/dist/functions/utils/isType.js.map +1 -0
  153. package/dist/functions/utils/memoize.d.ts +1 -0
  154. package/dist/functions/utils/memoize.js +13 -0
  155. package/dist/functions/utils/memoize.js.map +1 -0
  156. package/dist/functions/utils/once.d.ts +1 -0
  157. package/dist/functions/utils/once.js +13 -0
  158. package/dist/functions/utils/once.js.map +1 -0
  159. package/dist/functions/utils/partial.d.ts +1 -0
  160. package/dist/functions/utils/partial.js +13 -0
  161. package/dist/functions/utils/partial.js.map +1 -0
  162. package/dist/functions/utils/pipe.d.ts +1 -0
  163. package/dist/functions/utils/pipe.js +10 -0
  164. package/dist/functions/utils/pipe.js.map +1 -0
  165. package/dist/functions/utils/retryWithBackoff.d.ts +9 -0
  166. package/dist/functions/utils/retryWithBackoff.js +30 -0
  167. package/dist/functions/utils/retryWithBackoff.js.map +1 -0
  168. package/dist/functions/utils/tap.d.ts +1 -0
  169. package/dist/functions/utils/tap.js +14 -0
  170. package/dist/functions/utils/tap.js.map +1 -0
  171. package/dist/functions/utils/throttle.d.ts +1 -0
  172. package/dist/functions/utils/throttle.js +11 -0
  173. package/dist/functions/utils/throttle.js.map +1 -0
  174. package/dist/functions/utils/until.d.ts +1 -0
  175. package/dist/functions/utils/until.js +10 -0
  176. package/dist/functions/utils/until.js.map +1 -0
  177. package/dist/functions/utils/validate.d.ts +8 -0
  178. package/dist/functions/utils/validate.js +45 -0
  179. package/dist/functions/utils/validate.js.map +1 -0
  180. package/dist/functions/utils/walk.d.ts +11 -0
  181. package/dist/functions/utils/walk.js +27 -0
  182. package/dist/functions/utils/walk.js.map +1 -0
  183. package/dist/functions/vue/dynamicMount.d.ts +15 -0
  184. package/dist/functions/vue/dynamicMount.js +25 -0
  185. package/dist/functions/vue/dynamicMount.js.map +1 -0
  186. package/dist/functions/vue/filterSections.d.ts +2 -0
  187. package/dist/functions/vue/filterSections.js +11 -0
  188. package/dist/functions/vue/filterSections.js.map +1 -0
  189. package/dist/functions/vue/isVNode.d.ts +2 -0
  190. package/dist/functions/vue/isVNode.js +6 -0
  191. package/dist/functions/vue/isVNode.js.map +1 -0
  192. package/dist/functions/vue/isVueComponent.d.ts +2 -0
  193. package/dist/functions/vue/isVueComponent.js +6 -0
  194. package/dist/functions/vue/isVueComponent.js.map +1 -0
  195. package/dist/functions/vue/parseVueFile.d.ts +2 -0
  196. package/dist/functions/vue/parseVueFile.js +53 -0
  197. package/dist/functions/vue/parseVueFile.js.map +1 -0
  198. package/dist/functions/wechat/miniapp/downloadFile.d.ts +2 -0
  199. package/dist/functions/wechat/miniapp/downloadFile.js +39 -0
  200. package/dist/functions/wechat/miniapp/downloadFile.js.map +1 -0
  201. package/dist/functions/xml/modifyXml.d.ts +17 -0
  202. package/dist/functions/xml/modifyXml.js +51 -0
  203. package/dist/functions/xml/modifyXml.js.map +1 -0
  204. package/dist/hooks/useAltool.d.ts +39 -0
  205. package/dist/hooks/useAltool.js +350 -0
  206. package/dist/hooks/useAltool.js.map +1 -0
  207. package/dist/hooks/useCache.d.ts +18 -0
  208. package/dist/hooks/useCache.js +82 -0
  209. package/dist/hooks/useCache.js.map +1 -0
  210. package/dist/hooks/useLocalStorage.d.ts +4 -0
  211. package/dist/hooks/useLocalStorage.js +100 -0
  212. package/dist/hooks/useLocalStorage.js.map +1 -0
  213. package/dist/hooks/usePluginSystem.d.ts +11 -0
  214. package/dist/hooks/usePluginSystem.js +34 -0
  215. package/dist/hooks/usePluginSystem.js.map +1 -0
  216. package/dist/hooks/useSessionStorage.d.ts +4 -0
  217. package/dist/hooks/useSessionStorage.js +100 -0
  218. package/dist/hooks/useSessionStorage.js.map +1 -0
  219. package/dist/hooks/useStorage.d.ts +10 -0
  220. package/dist/hooks/useStorage.js +62 -0
  221. package/dist/hooks/useStorage.js.map +1 -0
  222. package/dist/hooks/useStorageWithIndexedDB.d.ts +4 -0
  223. package/dist/hooks/useStorageWithIndexedDB.js +119 -0
  224. package/dist/hooks/useStorageWithIndexedDB.js.map +1 -0
  225. package/dist/hooks/useWebWorker.d.ts +25 -0
  226. package/dist/hooks/useWebWorker.js +209 -0
  227. package/dist/hooks/useWebWorker.js.map +1 -0
  228. package/dist/hooks/useWorkerFunction.d.ts +22 -0
  229. package/dist/hooks/useWorkerFunction.js +191 -0
  230. package/dist/hooks/useWorkerFunction.js.map +1 -0
  231. package/dist/hooks/useWorkerPool.d.ts +30 -0
  232. package/dist/hooks/useWorkerPool.js +242 -0
  233. package/dist/hooks/useWorkerPool.js.map +1 -0
  234. package/package.json +1 -1
@@ -0,0 +1,14 @@
1
+ export function getElementRect(element) {
2
+ const rect = element.getBoundingClientRect();
3
+ return {
4
+ width: rect.width,
5
+ height: rect.height,
6
+ x: rect.left,
7
+ y: rect.top,
8
+ top: rect.top,
9
+ left: rect.left,
10
+ right: rect.right,
11
+ bottom: rect.bottom,
12
+ };
13
+ }
14
+ //# sourceMappingURL=getElementRect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getElementRect.js","sourceRoot":"","sources":["../../../src/functions/dom/getElementRect.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,cAAc,CAAC,OAAoB;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAA;IAC5C,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,CAAC,EAAE,IAAI,CAAC,IAAI;QACZ,CAAC,EAAE,IAAI,CAAC,GAAG;QACX,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Rect, Coords } from '../../../types/geometry';
2
+ import type { HTMLElement } from '../../../references/dom.d';
3
+ export declare function getRelativePosition(rect: Rect, offsetParent?: HTMLElement): Coords;
@@ -0,0 +1,14 @@
1
+ export function getRelativePosition(rect, offsetParent) {
2
+ if (offsetParent) {
3
+ const offsetRect = offsetParent.getBoundingClientRect();
4
+ return {
5
+ x: rect.left - offsetRect.left,
6
+ y: rect.top - offsetRect.top
7
+ };
8
+ }
9
+ return {
10
+ x: rect.left,
11
+ y: rect.top
12
+ };
13
+ }
14
+ //# sourceMappingURL=getRelativePosition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRelativePosition.js","sourceRoot":"","sources":["../../../src/functions/dom/getRelativePosition.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,mBAAmB,CAAC,IAAU,EAAE,YAA0B;IACxE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,YAAY,CAAC,qBAAqB,EAAE,CAAA;QACvD,OAAO;YACL,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI;YAC9B,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG;SAC7B,CAAA;IACH,CAAC;IACD,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,IAAI;QACZ,CAAC,EAAE,IAAI,CAAC,GAAG;KACZ,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Rect } from '../../../types/geometry';
2
+ import type { Window } from '../../../references/browser.d';
3
+ export declare function getViewportRect(window: Window): Rect;
@@ -0,0 +1,15 @@
1
+ export function getViewportRect(window) {
2
+ const width = window.innerWidth;
3
+ const height = window.innerHeight;
4
+ return {
5
+ width,
6
+ height,
7
+ x: 0,
8
+ y: 0,
9
+ top: 0,
10
+ left: 0,
11
+ right: width,
12
+ bottom: height
13
+ };
14
+ }
15
+ //# sourceMappingURL=getViewportRect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getViewportRect.js","sourceRoot":"","sources":["../../../src/functions/dom/getViewportRect.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAA;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAA;IACjC,OAAO;QACL,KAAK;QACL,MAAM;QACN,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;QACJ,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM;KACf,CAAA;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Buffer, BufferConstructor } from '../../../references/node.d';
2
+ import type { Sharp } from '../../../references/sharp.d';
3
+ export declare function generateMacIcons(input: Buffer, sizes: number[], sharp: Sharp, Buffer: BufferConstructor): Promise<{
4
+ size: number;
5
+ buffer: Buffer;
6
+ }[]>;
@@ -0,0 +1,15 @@
1
+ import { generateRoundedImage } from './generateRoundedImage';
2
+ import { generatePaddedImage } from './generatePaddedImage';
3
+ export async function generateMacIcons(input, sizes, sharp, Buffer) {
4
+ const results = [];
5
+ for (const size of sizes) {
6
+ const roundedImage = await generateRoundedImage(input, sharp, Buffer);
7
+ const paddedImage = await generatePaddedImage(roundedImage, 0.12, sharp);
8
+ const buffer = await sharp(paddedImage)
9
+ .resize(size, size)
10
+ .toBuffer();
11
+ results.push({ size, buffer });
12
+ }
13
+ return results;
14
+ }
15
+ //# sourceMappingURL=generateMacIcons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateMacIcons.js","sourceRoot":"","sources":["../../../src/functions/image/generateMacIcons.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAgB3D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,KAAe,EACf,KAAY,EACZ,MAAyB;IAEzB,MAAM,OAAO,GAAuC,EAAE,CAAA;IACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QACrE,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QACxE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC;aACpC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;aAClB,QAAQ,EAAE,CAAA;QACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Buffer } from '../../../references/node.d';
2
+ import type { Sharp } from '../../../references/sharp.d';
3
+ export declare function generateMacTrayIcon(input: Buffer, sizes: number[], themes: Record<string, string>, sharp: Sharp): Promise<{
4
+ size: number;
5
+ theme: string;
6
+ buffer: Buffer;
7
+ }[]>;
@@ -0,0 +1,15 @@
1
+ export async function generateMacTrayIcon(input, sizes, themes, sharp) {
2
+ const results = [];
3
+ for (const size of sizes) {
4
+ for (const [theme, color] of Object.entries(themes)) {
5
+ const buffer = await sharp(input)
6
+ .resize(size, size)
7
+ .flatten({ background: color })
8
+ .negate(theme === 'dark')
9
+ .toBuffer();
10
+ results.push({ size, theme, buffer });
11
+ }
12
+ }
13
+ return results;
14
+ }
15
+ //# sourceMappingURL=generateMacTrayIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateMacTrayIcon.js","sourceRoot":"","sources":["../../../src/functions/image/generateMacTrayIcon.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAa,EACb,KAAe,EACf,MAA8B,EAC9B,KAAY;IAEZ,MAAM,OAAO,GAAsD,EAAE,CAAA;IACrE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC;iBAC9B,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;iBAClB,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;iBAC9B,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC;iBACxB,QAAQ,EAAE,CAAA;YACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Buffer } from '../../../references/node.d';
2
+ import type { Sharp } from '../../../references/sharp.d';
3
+ export declare function generatePaddedImage(image: Buffer, paddingRatio: number | undefined, sharp: Sharp): Promise<Buffer>;
@@ -0,0 +1,14 @@
1
+ export async function generatePaddedImage(image, paddingRatio = 0.12, sharp) {
2
+ const metadata = await sharp(image).metadata();
3
+ const padding = Math.floor(metadata.width * paddingRatio);
4
+ return await sharp(image)
5
+ .extend({
6
+ top: padding,
7
+ bottom: padding,
8
+ left: padding,
9
+ right: padding,
10
+ background: { r: 0, g: 0, b: 0, alpha: 0 },
11
+ })
12
+ .toBuffer();
13
+ }
14
+ //# sourceMappingURL=generatePaddedImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generatePaddedImage.js","sourceRoot":"","sources":["../../../src/functions/image/generatePaddedImage.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAa,EAAE,eAAuB,IAAI,EAAE,KAAY;IAChG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAM,GAAG,YAAY,CAAC,CAAA;IAC1D,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC;SACtB,MAAM,CAAC;QACN,GAAG,EAAE,OAAO;QACZ,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;KAC3C,CAAC;SACD,QAAQ,EAAE,CAAA;AACf,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Buffer, BufferConstructor } from '../../../references/node.d';
2
+ import type { Sharp } from '../../../references/sharp.d';
3
+ export declare function generatePwaIcons(input: Buffer, sizes: number[], sharp: Sharp, Buffer: BufferConstructor): Promise<{
4
+ size: number;
5
+ buffer: Buffer;
6
+ }[]>;
@@ -0,0 +1,15 @@
1
+ import { generateRoundedImage } from './generateRoundedImage';
2
+ import { generatePaddedImage } from './generatePaddedImage';
3
+ export async function generatePwaIcons(input, sizes, sharp, Buffer) {
4
+ const roundedImage = await generateRoundedImage(input, sharp, Buffer);
5
+ const paddedRoundedImage = await generatePaddedImage(roundedImage, 0.12, sharp);
6
+ const results = [];
7
+ for (const size of sizes) {
8
+ const buffer = await sharp(paddedRoundedImage)
9
+ .resize(size, size)
10
+ .toBuffer();
11
+ results.push({ size, buffer });
12
+ }
13
+ return results;
14
+ }
15
+ //# sourceMappingURL=generatePwaIcons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generatePwaIcons.js","sourceRoot":"","sources":["../../../src/functions/image/generatePwaIcons.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAgB3D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,KAAe,EACf,KAAY,EACZ,MAAyB;IAEzB,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACrE,MAAM,kBAAkB,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAC/E,MAAM,OAAO,GAAuC,EAAE,CAAA;IACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC;aAC3C,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;aAClB,QAAQ,EAAE,CAAA;QACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Buffer, BufferConstructor } from '../../../references/node.d';
2
+ import type { Sharp } from '../../../references/sharp.d';
3
+ export declare function generateRoundedImage(image: Buffer, sharp: Sharp, Buffer: BufferConstructor): Promise<Buffer>;
@@ -0,0 +1,17 @@
1
+ export async function generateRoundedImage(image, sharp, Buffer) {
2
+ const metadata = await sharp(image).metadata();
3
+ const size = metadata.width;
4
+ const roundedCorners = Buffer.from(`<svg><rect x="0" y="0" width="${size}" height="${size}" rx="${size * 0.225}" ry="${size * 0.225}"/></svg>`);
5
+ return await sharp(image)
6
+ .resize(size, size)
7
+ .composite([
8
+ {
9
+ input: roundedCorners,
10
+ top: 0,
11
+ left: 0,
12
+ blend: 'dest-in',
13
+ },
14
+ ])
15
+ .toBuffer();
16
+ }
17
+ //# sourceMappingURL=generateRoundedImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateRoundedImage.js","sourceRoot":"","sources":["../../../src/functions/image/generateRoundedImage.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAAa,EAAE,KAAY,EAAE,MAAyB;IAC/F,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAM,CAAA;IAC5B,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAChC,iCAAiC,IAAI,aAAa,IAAI,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,WAAW,CAC5G,CAAA;IACD,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC;SACtB,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;SAClB,SAAS,CAAC;QACT;YACE,KAAK,EAAE,cAAc;YACrB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,SAAS;SACjB;KACF,CAAC;SACD,QAAQ,EAAE,CAAA;AACf,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Path } from '../../../references/node.d';
2
+ export interface IpcRequest {
3
+ event: string;
4
+ args: any;
5
+ }
6
+ export declare function dispatchIpcRequest(req: IpcRequest, functionsDir: string, path: Path): Promise<any>;
@@ -0,0 +1,10 @@
1
+ export async function dispatchIpcRequest(req, functionsDir, path) {
2
+ const funcPath = path.resolve(functionsDir, req.event);
3
+ const mod = await import(funcPath);
4
+ if (typeof mod.default !== 'function') {
5
+ throw new Error('Handler not found or handler is not a function');
6
+ }
7
+ const data = await mod.default(req.args);
8
+ return data;
9
+ }
10
+ //# sourceMappingURL=dispatchIpcRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatchIpcRequest.js","sourceRoot":"","sources":["../../../src/functions/ipc/dispatchIpcRequest.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAe,EACf,YAAoB,EACpB,IAAU;IAEV,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Process } from '../../../references/node.d';
2
+ export interface SoftwareSearchResult {
3
+ found: boolean;
4
+ path?: string;
5
+ }
6
+ export interface SystemInfo {
7
+ userHome: string;
8
+ env: Record<string, string | undefined>;
9
+ fileExists: (path: string) => boolean;
10
+ process: Process;
11
+ joinPath: (dir: string, file: string) => string;
12
+ }
13
+ export declare function findSoftwareByName(softwareName: string, systemInfo: SystemInfo): SoftwareSearchResult;
@@ -0,0 +1,41 @@
1
+ import { SOFTWARE_CONFIGS, SOFTWARE_NAME_MAP } from '../../constants/softwareConfigs';
2
+ export function findSoftwareByName(softwareName, systemInfo) {
3
+ const normalizedName = SOFTWARE_NAME_MAP[softwareName] || softwareName;
4
+ const config = SOFTWARE_CONFIGS[normalizedName];
5
+ if (!config) {
6
+ return { found: false };
7
+ }
8
+ const platform = systemInfo.process.platform;
9
+ const platformConfig = config[platform];
10
+ if (!platformConfig) {
11
+ return { found: false };
12
+ }
13
+ const envPath = systemInfo.env[config.envVar];
14
+ if (envPath && systemInfo.fileExists(envPath)) {
15
+ return { found: true, path: envPath };
16
+ }
17
+ const pathEnv = systemInfo.env.PATH || systemInfo.env.Path || '';
18
+ const pathSeparator = platform === 'win32' ? ';' : ':';
19
+ const pathDirs = pathEnv.split(pathSeparator).filter(Boolean);
20
+ for (const dir of pathDirs) {
21
+ const executablePath = systemInfo.joinPath(dir, platformConfig.executable);
22
+ if (systemInfo.fileExists(executablePath)) {
23
+ return { found: true, path: executablePath };
24
+ }
25
+ }
26
+ const allPaths = [...platformConfig.possiblePaths];
27
+ for (const userPath of platformConfig.userPaths) {
28
+ const expandedPath = userPath.startsWith('~')
29
+ ? userPath.replace('~', systemInfo.userHome)
30
+ : systemInfo.joinPath(systemInfo.userHome, userPath);
31
+ allPaths.push(expandedPath);
32
+ }
33
+ for (const basePath of allPaths) {
34
+ const executablePath = systemInfo.joinPath(basePath, platformConfig.executable);
35
+ if (systemInfo.fileExists(executablePath)) {
36
+ return { found: true, path: executablePath };
37
+ }
38
+ }
39
+ return { found: false };
40
+ }
41
+ //# sourceMappingURL=findSoftware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findSoftware.js","sourceRoot":"","sources":["../../../src/functions/software/findSoftware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAyCrF,MAAM,UAAU,kBAAkB,CAChC,YAAoB,EACpB,UAAsB;IAGtB,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,IAAI,YAAY,CAAA;IACtE,MAAM,MAAM,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAA;IAE/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,QAAoB,CAAA;IACxD,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IAGvC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC7C,IAAI,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IACvC,CAAC;IAGD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAA;IAChE,MAAM,aAAa,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE7D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;QAC1E,IAAI,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,CAAA;QAC9C,CAAC;IACH,CAAC;IAGD,MAAM,QAAQ,GAAG,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC,CAAA;IAGlD,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;QAChD,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;YAC3C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC;YAC5C,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACtD,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;QAC/E,IAAI,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,CAAA;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;AACzB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Base64Encoder } from '../../../references/encoding.d';
2
+ export declare function strToBase64(str: string, base64Encoder: Base64Encoder): string;
@@ -0,0 +1,6 @@
1
+ export function strToBase64(str, base64Encoder) {
2
+ return base64Encoder.btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => {
3
+ return String.fromCharCode(parseInt(p1, 16));
4
+ }));
5
+ }
6
+ //# sourceMappingURL=base64.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.js","sourceRoot":"","sources":["../../../src/functions/string/base64.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,aAA4B;IACnE,OAAO,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QACzF,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function capitalize(str: string): string;
@@ -0,0 +1,6 @@
1
+ export function capitalize(str) {
2
+ if (!str)
3
+ return str;
4
+ return str.charAt(0).toUpperCase() + str.slice(1);
5
+ }
6
+ //# sourceMappingURL=capitalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capitalize.js","sourceRoot":"","sources":["../../../src/functions/string/capitalize.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAA;IAEpB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC"}
@@ -0,0 +1,19 @@
1
+ export type CaseType = 'camel' | 'pascal' | 'kebab' | 'snake' | 'constant' | 'dot' | 'path' | 'sentence' | 'title';
2
+ export interface CaseOptions {
3
+ targetCase?: CaseType;
4
+ preserveConsecutiveUppercase?: boolean;
5
+ }
6
+ export interface CaseResult {
7
+ original: string;
8
+ camelCase: string;
9
+ pascalCase: string;
10
+ kebabCase: string;
11
+ snakeCase: string;
12
+ constantCase: string;
13
+ dotCase: string;
14
+ pathCase: string;
15
+ sentenceCase: string;
16
+ titleCase: string;
17
+ detectedCase: CaseType | 'mixed';
18
+ }
19
+ export declare function caseConverter(str: string, options?: CaseOptions, returnDetails?: boolean): string | CaseResult;
@@ -0,0 +1,94 @@
1
+ import { capitalize } from './capitalize';
2
+ export function caseConverter(str, options = {}, returnDetails = false) {
3
+ const { targetCase = 'camel', preserveConsecutiveUppercase = false } = options;
4
+ if (!str) {
5
+ const emptyResult = {
6
+ original: str,
7
+ camelCase: str,
8
+ pascalCase: str,
9
+ kebabCase: str,
10
+ snakeCase: str,
11
+ constantCase: str,
12
+ dotCase: str,
13
+ pathCase: str,
14
+ sentenceCase: str,
15
+ titleCase: str,
16
+ detectedCase: 'mixed'
17
+ };
18
+ return returnDetails ? emptyResult : str;
19
+ }
20
+ const detectedCase = detectCase(str);
21
+ const words = splitIntoWords(str, preserveConsecutiveUppercase);
22
+ const camelCase = words.map((word, index) => index === 0 ? word.toLowerCase() : capitalize(word.toLowerCase())).join('');
23
+ const pascalCase = words.map(word => capitalize(word.toLowerCase())).join('');
24
+ const kebabCase = words.map(word => word.toLowerCase()).join('-');
25
+ const snakeCase = words.map(word => word.toLowerCase()).join('_');
26
+ const constantCase = words.map(word => word.toUpperCase()).join('_');
27
+ const dotCase = words.map(word => word.toLowerCase()).join('.');
28
+ const pathCase = words.map(word => word.toLowerCase()).join('/');
29
+ const sentenceCase = words.map((word, index) => index === 0 ? capitalize(word.toLowerCase()) : word.toLowerCase()).join(' ');
30
+ const titleCase = words.map(word => capitalize(word.toLowerCase())).join(' ');
31
+ const result = {
32
+ original: str,
33
+ camelCase,
34
+ pascalCase,
35
+ kebabCase,
36
+ snakeCase,
37
+ constantCase,
38
+ dotCase,
39
+ pathCase,
40
+ sentenceCase,
41
+ titleCase,
42
+ detectedCase
43
+ };
44
+ if (returnDetails) {
45
+ return result;
46
+ }
47
+ switch (targetCase) {
48
+ case 'camel': return camelCase;
49
+ case 'pascal': return pascalCase;
50
+ case 'kebab': return kebabCase;
51
+ case 'snake': return snakeCase;
52
+ case 'constant': return constantCase;
53
+ case 'dot': return dotCase;
54
+ case 'path': return pathCase;
55
+ case 'sentence': return sentenceCase;
56
+ case 'title': return titleCase;
57
+ default:
58
+ throw new Error(`Invalid target case: ${targetCase}`);
59
+ }
60
+ }
61
+ function detectCase(str) {
62
+ if (/^[a-z]+([A-Z][a-z]*)*$/.test(str))
63
+ return 'camel';
64
+ if (/^[A-Z][a-z]*([A-Z][a-z]*)*$/.test(str))
65
+ return 'pascal';
66
+ if (/^[a-z]+(-[a-z]+)*$/.test(str))
67
+ return 'kebab';
68
+ if (/^[a-z]+(_[a-z]+)*$/.test(str))
69
+ return 'snake';
70
+ if (/^[A-Z]+(_[A-Z]+)*$/.test(str))
71
+ return 'constant';
72
+ if (/^[a-z]+(\.[a-z]+)*$/.test(str))
73
+ return 'dot';
74
+ if (/^[a-z]+(\/[a-z]+)*$/.test(str))
75
+ return 'path';
76
+ if (/^[A-Z][a-z]*( [a-z]+)*$/.test(str))
77
+ return 'sentence';
78
+ if (/^[A-Z][a-z]*( [A-Z][a-z]*)*$/.test(str))
79
+ return 'title';
80
+ return 'mixed';
81
+ }
82
+ function splitIntoWords(str, preserveConsecutiveUppercase) {
83
+ let result = str
84
+ .replace(/[-_.\/ ]+/g, '|')
85
+ .replace(/([a-z])([A-Z])/g, '$1|$2');
86
+ if (!preserveConsecutiveUppercase) {
87
+ result = result.replace(/([A-Z])([A-Z][a-z])/g, '$1|$2');
88
+ }
89
+ return result
90
+ .split('|')
91
+ .filter(word => word.length > 0)
92
+ .map(word => word.trim());
93
+ }
94
+ //# sourceMappingURL=caseConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caseConverter.js","sourceRoot":"","sources":["../../../src/functions/string/caseConverter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export type DesensitizeType = 'name' | 'phone' | 'email' | 'idCard' | 'bankCard' | 'auto';
2
+ export interface DesensitizeOptions {
3
+ maskChar?: string;
4
+ keepStart?: number;
5
+ keepEnd?: number;
6
+ }
7
+ export declare function desensitize(data: string, type: DesensitizeType, options?: DesensitizeOptions): string;
8
+ export declare function autoDesensitize(data: string, options?: DesensitizeOptions): string;
9
+ export declare function desensitizeName(name: string, options?: DesensitizeOptions): string;
10
+ export declare function desensitizePhone(phone: string, options?: DesensitizeOptions): string;
11
+ export declare function desensitizeEmail(email: string, options?: DesensitizeOptions): string;
12
+ export declare function desensitizeIdCard(idCard: string, options?: DesensitizeOptions): string;
13
+ export declare function desensitizeBankCard(bankCard: string, options?: DesensitizeOptions): string;
@@ -0,0 +1,107 @@
1
+ export function desensitize(data, type, options = {}) {
2
+ if (!data)
3
+ return '';
4
+ const { maskChar = '*' } = options;
5
+ switch (type) {
6
+ case 'name':
7
+ return desensitizeName(data, { maskChar, ...options });
8
+ case 'phone':
9
+ return desensitizePhone(data, { maskChar, ...options });
10
+ case 'email':
11
+ return desensitizeEmail(data, { maskChar, ...options });
12
+ case 'idCard':
13
+ return desensitizeIdCard(data, { maskChar, ...options });
14
+ case 'bankCard':
15
+ return desensitizeBankCard(data, { maskChar, ...options });
16
+ case 'auto':
17
+ return autoDesensitize(data, { maskChar, ...options });
18
+ default:
19
+ return data;
20
+ }
21
+ }
22
+ export function autoDesensitize(data, options = {}) {
23
+ if (!data || typeof data !== 'string')
24
+ return data;
25
+ const { maskChar = '*' } = options;
26
+ if (data.length === 11 && /^1\d{10}$/.test(data)) {
27
+ return desensitizePhone(data, options);
28
+ }
29
+ if (data.includes('@')) {
30
+ return desensitizeEmail(data, options);
31
+ }
32
+ if (data.length === 18 && /^\d{17}[\dXx]$/.test(data)) {
33
+ return desensitizeIdCard(data, options);
34
+ }
35
+ if (data.length >= 16 && /^\d+$/.test(data)) {
36
+ return desensitizeBankCard(data, options);
37
+ }
38
+ if (data.length <= 4 && /^[\u4e00-\u9fa5a-zA-Z]+$/.test(data)) {
39
+ return desensitizeName(data, options);
40
+ }
41
+ const len = data.length;
42
+ if (len <= 2)
43
+ return data;
44
+ return data.charAt(0) + maskChar.repeat(len - 2) + data.charAt(len - 1);
45
+ }
46
+ export function desensitizeName(name, options = {}) {
47
+ if (!name)
48
+ return '';
49
+ if (name.length === 1)
50
+ return name;
51
+ const { maskChar = '*', keepStart = 0, keepEnd = 1 } = options;
52
+ const start = name.slice(0, keepStart);
53
+ const end = name.slice(-keepEnd);
54
+ const maskLength = Math.max(0, name.length - keepStart - keepEnd);
55
+ return start + maskChar.repeat(maskLength) + end;
56
+ }
57
+ export function desensitizePhone(phone, options = {}) {
58
+ if (!phone)
59
+ return '';
60
+ if (phone.length <= 7)
61
+ return phone;
62
+ const { maskChar = '*', keepStart = 3, keepEnd = 4 } = options;
63
+ const start = phone.slice(0, keepStart);
64
+ const end = phone.slice(-keepEnd);
65
+ const maskLength = Math.max(0, phone.length - keepStart - keepEnd);
66
+ return start + maskChar.repeat(maskLength) + end;
67
+ }
68
+ export function desensitizeEmail(email, options = {}) {
69
+ if (!email)
70
+ return '';
71
+ const atIndex = email.indexOf('@');
72
+ if (atIndex === -1)
73
+ return email;
74
+ const { maskChar = '*', keepStart = 1, keepEnd = 1 } = options;
75
+ const username = email.slice(0, atIndex);
76
+ const domain = email.slice(atIndex);
77
+ if (username.length <= keepStart + keepEnd) {
78
+ return email;
79
+ }
80
+ const start = username.slice(0, keepStart);
81
+ const end = username.slice(-keepEnd);
82
+ const maskLength = username.length - keepStart - keepEnd;
83
+ return start + maskChar.repeat(maskLength) + end + domain;
84
+ }
85
+ export function desensitizeIdCard(idCard, options = {}) {
86
+ if (!idCard)
87
+ return '';
88
+ if (idCard.length < 8)
89
+ return idCard;
90
+ const { maskChar = '*', keepStart = 4, keepEnd = 4 } = options;
91
+ const start = idCard.slice(0, keepStart);
92
+ const end = idCard.slice(-keepEnd);
93
+ const maskLength = Math.max(0, idCard.length - keepStart - keepEnd);
94
+ return start + maskChar.repeat(maskLength) + end;
95
+ }
96
+ export function desensitizeBankCard(bankCard, options = {}) {
97
+ if (!bankCard)
98
+ return '';
99
+ if (bankCard.length < 8)
100
+ return bankCard;
101
+ const { maskChar = '*', keepStart = 4, keepEnd = 4 } = options;
102
+ const start = bankCard.slice(0, keepStart);
103
+ const end = bankCard.slice(-keepEnd);
104
+ const maskLength = Math.max(0, bankCard.length - keepStart - keepEnd);
105
+ return start + maskChar.repeat(maskLength) + end;
106
+ }
107
+ //# sourceMappingURL=desensitize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desensitize.js","sourceRoot":"","sources":["../../../src/functions/string/desensitize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export type EscapeDirection = 'escape' | 'unescape' | 'both';
2
+ export interface EscapeOptions {
3
+ direction?: EscapeDirection;
4
+ }
5
+ export interface EscapeResult {
6
+ original: string;
7
+ escaped: string;
8
+ unescaped: string;
9
+ direction: EscapeDirection;
10
+ hasHtmlChars: boolean;
11
+ hasHtmlEntities: boolean;
12
+ }
13
+ export declare function escapeHtml(str: string): string;
14
+ export declare function unescapeHtml(str: string): string;
15
+ export declare function htmlEscape(str: string, options?: EscapeOptions, returnDetails?: boolean): string | EscapeResult;
16
+ export declare function needsEscape(str: string): boolean;
17
+ export declare function hasEntities(str: string): boolean;
18
+ export declare function smartEscape(str: string): string;
19
+ export declare function escape(str: string): string;
20
+ export declare function unescape(str: string): string;