@fluixi/utils 1.0.0-alpha.53

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 (354) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +73 -0
  3. package/dist/index.cjs +1 -0
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +1 -0
  7. package/dist/index.mjs +1 -0
  8. package/dist/lib/array/advanced.cjs +1 -0
  9. package/dist/lib/array/advanced.d.ts +1116 -0
  10. package/dist/lib/array/advanced.d.ts.map +1 -0
  11. package/dist/lib/array/advanced.js +2429 -0
  12. package/dist/lib/array/advanced.mjs +1 -0
  13. package/dist/lib/array/array.cjs +1 -0
  14. package/dist/lib/array/array.d.ts +6 -0
  15. package/dist/lib/array/array.d.ts.map +1 -0
  16. package/dist/lib/array/array.js +31 -0
  17. package/dist/lib/array/array.mjs +1 -0
  18. package/dist/lib/array/index.cjs +1 -0
  19. package/dist/lib/array/index.d.ts +4 -0
  20. package/dist/lib/array/index.d.ts.map +1 -0
  21. package/dist/lib/array/index.js +3 -0
  22. package/dist/lib/array/index.mjs +1 -0
  23. package/dist/lib/array/utils.cjs +1 -0
  24. package/dist/lib/array/utils.d.ts +100 -0
  25. package/dist/lib/array/utils.d.ts.map +1 -0
  26. package/dist/lib/array/utils.js +165 -0
  27. package/dist/lib/array/utils.mjs +1 -0
  28. package/dist/lib/color/color.cjs +1 -0
  29. package/dist/lib/color/color.d.ts +366 -0
  30. package/dist/lib/color/color.d.ts.map +1 -0
  31. package/dist/lib/color/color.js +722 -0
  32. package/dist/lib/color/color.mjs +1 -0
  33. package/dist/lib/color/constants.cjs +1 -0
  34. package/dist/lib/color/constants.d.ts +361 -0
  35. package/dist/lib/color/constants.d.ts.map +1 -0
  36. package/dist/lib/color/constants.js +358 -0
  37. package/dist/lib/color/constants.mjs +1 -0
  38. package/dist/lib/color/conversions.cjs +1 -0
  39. package/dist/lib/color/conversions.d.ts +166 -0
  40. package/dist/lib/color/conversions.d.ts.map +1 -0
  41. package/dist/lib/color/conversions.js +766 -0
  42. package/dist/lib/color/conversions.mjs +1 -0
  43. package/dist/lib/color/helpers.cjs +1 -0
  44. package/dist/lib/color/helpers.d.ts +75 -0
  45. package/dist/lib/color/helpers.d.ts.map +1 -0
  46. package/dist/lib/color/helpers.js +419 -0
  47. package/dist/lib/color/helpers.mjs +1 -0
  48. package/dist/lib/color/index.cjs +1 -0
  49. package/dist/lib/color/index.d.ts +12 -0
  50. package/dist/lib/color/index.d.ts.map +1 -0
  51. package/dist/lib/color/index.js +15 -0
  52. package/dist/lib/color/index.mjs +1 -0
  53. package/dist/lib/color/types.cjs +1 -0
  54. package/dist/lib/color/types.d.ts +179 -0
  55. package/dist/lib/color/types.d.ts.map +1 -0
  56. package/dist/lib/color/types.js +1 -0
  57. package/dist/lib/color/types.mjs +0 -0
  58. package/dist/lib/color/utils.cjs +1 -0
  59. package/dist/lib/color/utils.d.ts +199 -0
  60. package/dist/lib/color/utils.d.ts.map +1 -0
  61. package/dist/lib/color/utils.js +858 -0
  62. package/dist/lib/color/utils.mjs +1 -0
  63. package/dist/lib/compare/comparators.cjs +1 -0
  64. package/dist/lib/compare/comparators.d.ts +65 -0
  65. package/dist/lib/compare/comparators.d.ts.map +1 -0
  66. package/dist/lib/compare/comparators.js +210 -0
  67. package/dist/lib/compare/comparators.mjs +1 -0
  68. package/dist/lib/compare/index.cjs +1 -0
  69. package/dist/lib/compare/index.d.ts +2 -0
  70. package/dist/lib/compare/index.d.ts.map +1 -0
  71. package/dist/lib/compare/index.js +1 -0
  72. package/dist/lib/compare/index.mjs +1 -0
  73. package/dist/lib/crypto/hash.cjs +1 -0
  74. package/dist/lib/crypto/hash.d.ts +6 -0
  75. package/dist/lib/crypto/hash.d.ts.map +1 -0
  76. package/dist/lib/crypto/hash.js +53 -0
  77. package/dist/lib/crypto/hash.mjs +1 -0
  78. package/dist/lib/crypto/index.cjs +1 -0
  79. package/dist/lib/crypto/index.d.ts +2 -0
  80. package/dist/lib/crypto/index.d.ts.map +1 -0
  81. package/dist/lib/crypto/index.js +1 -0
  82. package/dist/lib/crypto/index.mjs +1 -0
  83. package/dist/lib/dom/events.cjs +1 -0
  84. package/dist/lib/dom/events.d.ts +159 -0
  85. package/dist/lib/dom/events.d.ts.map +1 -0
  86. package/dist/lib/dom/events.js +50 -0
  87. package/dist/lib/dom/events.mjs +1 -0
  88. package/dist/lib/dom/index.cjs +1 -0
  89. package/dist/lib/dom/index.d.ts +3 -0
  90. package/dist/lib/dom/index.d.ts.map +1 -0
  91. package/dist/lib/dom/index.js +2 -0
  92. package/dist/lib/dom/index.mjs +1 -0
  93. package/dist/lib/dom/utils.cjs +1 -0
  94. package/dist/lib/dom/utils.d.ts +6 -0
  95. package/dist/lib/dom/utils.d.ts.map +1 -0
  96. package/dist/lib/dom/utils.js +37 -0
  97. package/dist/lib/dom/utils.mjs +1 -0
  98. package/dist/lib/functions/functions.cjs +1 -0
  99. package/dist/lib/functions/functions.d.ts +329 -0
  100. package/dist/lib/functions/functions.d.ts.map +1 -0
  101. package/dist/lib/functions/functions.js +585 -0
  102. package/dist/lib/functions/functions.mjs +1 -0
  103. package/dist/lib/functions/index.cjs +1 -0
  104. package/dist/lib/functions/index.d.ts +3 -0
  105. package/dist/lib/functions/index.d.ts.map +1 -0
  106. package/dist/lib/functions/index.js +1 -0
  107. package/dist/lib/functions/index.mjs +1 -0
  108. package/dist/lib/functions/types.cjs +1 -0
  109. package/dist/lib/functions/types.d.ts +2 -0
  110. package/dist/lib/functions/types.d.ts.map +1 -0
  111. package/dist/lib/functions/types.js +1 -0
  112. package/dist/lib/functions/types.mjs +0 -0
  113. package/dist/lib/helpers.cjs +1 -0
  114. package/dist/lib/helpers.d.ts +13 -0
  115. package/dist/lib/helpers.d.ts.map +1 -0
  116. package/dist/lib/helpers.js +66 -0
  117. package/dist/lib/helpers.mjs +1 -0
  118. package/dist/lib/index.cjs +1 -0
  119. package/dist/lib/index.d.ts +6 -0
  120. package/dist/lib/index.d.ts.map +1 -0
  121. package/dist/lib/index.js +8 -0
  122. package/dist/lib/index.mjs +1 -0
  123. package/dist/lib/maths/constants.cjs +1 -0
  124. package/dist/lib/maths/constants.d.ts +84 -0
  125. package/dist/lib/maths/constants.d.ts.map +1 -0
  126. package/dist/lib/maths/constants.js +79 -0
  127. package/dist/lib/maths/constants.mjs +1 -0
  128. package/dist/lib/maths/fn/advanced.cjs +1 -0
  129. package/dist/lib/maths/fn/advanced.d.ts +149 -0
  130. package/dist/lib/maths/fn/advanced.d.ts.map +1 -0
  131. package/dist/lib/maths/fn/advanced.js +264 -0
  132. package/dist/lib/maths/fn/advanced.mjs +1 -0
  133. package/dist/lib/maths/fn/basic.cjs +1 -0
  134. package/dist/lib/maths/fn/basic.d.ts +182 -0
  135. package/dist/lib/maths/fn/basic.d.ts.map +1 -0
  136. package/dist/lib/maths/fn/basic.js +343 -0
  137. package/dist/lib/maths/fn/basic.mjs +1 -0
  138. package/dist/lib/maths/fn/complex.cjs +1 -0
  139. package/dist/lib/maths/fn/complex.d.ts +153 -0
  140. package/dist/lib/maths/fn/complex.d.ts.map +1 -0
  141. package/dist/lib/maths/fn/complex.js +383 -0
  142. package/dist/lib/maths/fn/complex.mjs +1 -0
  143. package/dist/lib/maths/fn/index.cjs +1 -0
  144. package/dist/lib/maths/fn/index.d.ts +10 -0
  145. package/dist/lib/maths/fn/index.d.ts.map +1 -0
  146. package/dist/lib/maths/fn/index.js +9 -0
  147. package/dist/lib/maths/fn/index.mjs +1 -0
  148. package/dist/lib/maths/fn/trigo.cjs +1 -0
  149. package/dist/lib/maths/fn/trigo.d.ts +147 -0
  150. package/dist/lib/maths/fn/trigo.d.ts.map +1 -0
  151. package/dist/lib/maths/fn/trigo.js +227 -0
  152. package/dist/lib/maths/fn/trigo.mjs +1 -0
  153. package/dist/lib/maths/fn/vector.cjs +1 -0
  154. package/dist/lib/maths/fn/vector.d.ts +512 -0
  155. package/dist/lib/maths/fn/vector.d.ts.map +1 -0
  156. package/dist/lib/maths/fn/vector.js +1136 -0
  157. package/dist/lib/maths/fn/vector.mjs +1 -0
  158. package/dist/lib/maths/formatter.cjs +1 -0
  159. package/dist/lib/maths/formatter.d.ts +35 -0
  160. package/dist/lib/maths/formatter.d.ts.map +1 -0
  161. package/dist/lib/maths/formatter.js +56 -0
  162. package/dist/lib/maths/formatter.mjs +1 -0
  163. package/dist/lib/maths/guards.cjs +1 -0
  164. package/dist/lib/maths/guards.d.ts +166 -0
  165. package/dist/lib/maths/guards.d.ts.map +1 -0
  166. package/dist/lib/maths/guards.js +315 -0
  167. package/dist/lib/maths/guards.mjs +1 -0
  168. package/dist/lib/maths/index.cjs +1 -0
  169. package/dist/lib/maths/index.d.ts +24 -0
  170. package/dist/lib/maths/index.d.ts.map +1 -0
  171. package/dist/lib/maths/index.js +29 -0
  172. package/dist/lib/maths/index.mjs +1 -0
  173. package/dist/lib/maths/parser.cjs +1 -0
  174. package/dist/lib/maths/parser.d.ts +20 -0
  175. package/dist/lib/maths/parser.d.ts.map +1 -0
  176. package/dist/lib/maths/parser.js +78 -0
  177. package/dist/lib/maths/parser.mjs +1 -0
  178. package/dist/lib/maths/random.cjs +1 -0
  179. package/dist/lib/maths/random.d.ts +27 -0
  180. package/dist/lib/maths/random.d.ts.map +1 -0
  181. package/dist/lib/maths/random.js +49 -0
  182. package/dist/lib/maths/random.mjs +1 -0
  183. package/dist/lib/maths/types/advanced.cjs +1 -0
  184. package/dist/lib/maths/types/advanced.d.ts +357 -0
  185. package/dist/lib/maths/types/advanced.d.ts.map +1 -0
  186. package/dist/lib/maths/types/advanced.js +5 -0
  187. package/dist/lib/maths/types/advanced.mjs +0 -0
  188. package/dist/lib/maths/types/basic.cjs +1 -0
  189. package/dist/lib/maths/types/basic.d.ts +95 -0
  190. package/dist/lib/maths/types/basic.d.ts.map +1 -0
  191. package/dist/lib/maths/types/basic.js +5 -0
  192. package/dist/lib/maths/types/basic.mjs +0 -0
  193. package/dist/lib/maths/types/index.cjs +1 -0
  194. package/dist/lib/maths/types/index.d.ts +4 -0
  195. package/dist/lib/maths/types/index.d.ts.map +1 -0
  196. package/dist/lib/maths/types/index.js +3 -0
  197. package/dist/lib/maths/types/index.mjs +0 -0
  198. package/dist/lib/maths/types/negative.cjs +1 -0
  199. package/dist/lib/maths/types/negative.d.ts +51 -0
  200. package/dist/lib/maths/types/negative.d.ts.map +1 -0
  201. package/dist/lib/maths/types/negative.js +5 -0
  202. package/dist/lib/maths/types/negative.mjs +0 -0
  203. package/dist/lib/maths/types/operations.cjs +1 -0
  204. package/dist/lib/maths/types/operations.d.ts +188 -0
  205. package/dist/lib/maths/types/operations.d.ts.map +1 -0
  206. package/dist/lib/maths/types/operations.js +6 -0
  207. package/dist/lib/maths/types/operations.mjs +0 -0
  208. package/dist/lib/object/clone.cjs +1 -0
  209. package/dist/lib/object/clone.d.ts +46 -0
  210. package/dist/lib/object/clone.d.ts.map +1 -0
  211. package/dist/lib/object/clone.js +104 -0
  212. package/dist/lib/object/clone.mjs +1 -0
  213. package/dist/lib/object/diff.cjs +1 -0
  214. package/dist/lib/object/diff.d.ts +203 -0
  215. package/dist/lib/object/diff.d.ts.map +1 -0
  216. package/dist/lib/object/diff.js +805 -0
  217. package/dist/lib/object/diff.mjs +1 -0
  218. package/dist/lib/object/getter-setter.cjs +1 -0
  219. package/dist/lib/object/getter-setter.d.ts +361 -0
  220. package/dist/lib/object/getter-setter.d.ts.map +1 -0
  221. package/dist/lib/object/getter-setter.js +1771 -0
  222. package/dist/lib/object/getter-setter.mjs +1 -0
  223. package/dist/lib/object/index.cjs +6 -0
  224. package/dist/lib/object/index.d.ts +13 -0
  225. package/dist/lib/object/index.d.ts.map +1 -0
  226. package/dist/lib/object/index.js +12 -0
  227. package/dist/lib/object/index.mjs +6 -0
  228. package/dist/lib/object/merge.cjs +1 -0
  229. package/dist/lib/object/merge.d.ts +93 -0
  230. package/dist/lib/object/merge.d.ts.map +1 -0
  231. package/dist/lib/object/merge.js +474 -0
  232. package/dist/lib/object/merge.mjs +1 -0
  233. package/dist/lib/object/object.cjs +1 -0
  234. package/dist/lib/object/object.d.ts +128 -0
  235. package/dist/lib/object/object.d.ts.map +1 -0
  236. package/dist/lib/object/object.js +432 -0
  237. package/dist/lib/object/object.mjs +1 -0
  238. package/dist/lib/object/omit.cjs +1 -0
  239. package/dist/lib/object/omit.d.ts +351 -0
  240. package/dist/lib/object/omit.d.ts.map +1 -0
  241. package/dist/lib/object/omit.js +656 -0
  242. package/dist/lib/object/omit.mjs +1 -0
  243. package/dist/lib/object/reconcile.cjs +1 -0
  244. package/dist/lib/object/reconcile.d.ts +7 -0
  245. package/dist/lib/object/reconcile.d.ts.map +1 -0
  246. package/dist/lib/object/reconcile.js +122 -0
  247. package/dist/lib/object/reconcile.mjs +1 -0
  248. package/dist/lib/object/selector.cjs +1 -0
  249. package/dist/lib/object/selector.d.ts +50 -0
  250. package/dist/lib/object/selector.d.ts.map +1 -0
  251. package/dist/lib/object/selector.js +371 -0
  252. package/dist/lib/object/selector.mjs +1 -0
  253. package/dist/lib/object/sort.cjs +1 -0
  254. package/dist/lib/object/sort.d.ts +149 -0
  255. package/dist/lib/object/sort.d.ts.map +1 -0
  256. package/dist/lib/object/sort.js +298 -0
  257. package/dist/lib/object/sort.mjs +1 -0
  258. package/dist/lib/object/transform.cjs +1 -0
  259. package/dist/lib/object/transform.d.ts +620 -0
  260. package/dist/lib/object/transform.d.ts.map +1 -0
  261. package/dist/lib/object/transform.js +1058 -0
  262. package/dist/lib/object/transform.mjs +1 -0
  263. package/dist/lib/object/types.cjs +1 -0
  264. package/dist/lib/object/types.d.ts +250 -0
  265. package/dist/lib/object/types.d.ts.map +1 -0
  266. package/dist/lib/object/types.js +1 -0
  267. package/dist/lib/object/types.mjs +0 -0
  268. package/dist/lib/object/utils.cjs +6 -0
  269. package/dist/lib/object/utils.d.ts +165 -0
  270. package/dist/lib/object/utils.d.ts.map +1 -0
  271. package/dist/lib/object/utils.js +444 -0
  272. package/dist/lib/object/utils.mjs +6 -0
  273. package/dist/lib/primitive/boolean/boolean.cjs +1 -0
  274. package/dist/lib/primitive/boolean/boolean.d.ts +276 -0
  275. package/dist/lib/primitive/boolean/boolean.d.ts.map +1 -0
  276. package/dist/lib/primitive/boolean/boolean.js +615 -0
  277. package/dist/lib/primitive/boolean/boolean.mjs +1 -0
  278. package/dist/lib/primitive/boolean/index.cjs +1 -0
  279. package/dist/lib/primitive/boolean/index.d.ts +3 -0
  280. package/dist/lib/primitive/boolean/index.d.ts.map +1 -0
  281. package/dist/lib/primitive/boolean/index.js +2 -0
  282. package/dist/lib/primitive/boolean/index.mjs +1 -0
  283. package/dist/lib/primitive/boolean/types.cjs +1 -0
  284. package/dist/lib/primitive/boolean/types.d.ts +14 -0
  285. package/dist/lib/primitive/boolean/types.d.ts.map +1 -0
  286. package/dist/lib/primitive/boolean/types.js +1 -0
  287. package/dist/lib/primitive/boolean/types.mjs +0 -0
  288. package/dist/lib/primitive/date/date.cjs +1 -0
  289. package/dist/lib/primitive/date/date.d.ts +641 -0
  290. package/dist/lib/primitive/date/date.d.ts.map +1 -0
  291. package/dist/lib/primitive/date/date.js +1998 -0
  292. package/dist/lib/primitive/date/date.mjs +1 -0
  293. package/dist/lib/primitive/date/index.cjs +1 -0
  294. package/dist/lib/primitive/date/index.d.ts +3 -0
  295. package/dist/lib/primitive/date/index.d.ts.map +1 -0
  296. package/dist/lib/primitive/date/index.js +2 -0
  297. package/dist/lib/primitive/date/index.mjs +1 -0
  298. package/dist/lib/primitive/date/types.cjs +1 -0
  299. package/dist/lib/primitive/date/types.d.ts +205 -0
  300. package/dist/lib/primitive/date/types.d.ts.map +1 -0
  301. package/dist/lib/primitive/date/types.js +7 -0
  302. package/dist/lib/primitive/date/types.mjs +0 -0
  303. package/dist/lib/primitive/index.cjs +5 -0
  304. package/dist/lib/primitive/index.d.ts +5 -0
  305. package/dist/lib/primitive/index.d.ts.map +1 -0
  306. package/dist/lib/primitive/index.js +4 -0
  307. package/dist/lib/primitive/index.mjs +5 -0
  308. package/dist/lib/primitive/string/index.cjs +5 -0
  309. package/dist/lib/primitive/string/index.d.ts +3 -0
  310. package/dist/lib/primitive/string/index.d.ts.map +1 -0
  311. package/dist/lib/primitive/string/index.js +2 -0
  312. package/dist/lib/primitive/string/index.mjs +5 -0
  313. package/dist/lib/primitive/string/parser-2.cjs +8 -0
  314. package/dist/lib/primitive/string/parser-2.d.ts +17 -0
  315. package/dist/lib/primitive/string/parser-2.d.ts.map +1 -0
  316. package/dist/lib/primitive/string/parser-2.js +656 -0
  317. package/dist/lib/primitive/string/parser-2.mjs +8 -0
  318. package/dist/lib/primitive/string/parser.cjs +3 -0
  319. package/dist/lib/primitive/string/parser.d.ts +9 -0
  320. package/dist/lib/primitive/string/parser.d.ts.map +1 -0
  321. package/dist/lib/primitive/string/parser.js +775 -0
  322. package/dist/lib/primitive/string/parser.mjs +3 -0
  323. package/dist/lib/primitive/string/string.cjs +5 -0
  324. package/dist/lib/primitive/string/string.d.ts +535 -0
  325. package/dist/lib/primitive/string/string.d.ts.map +1 -0
  326. package/dist/lib/primitive/string/string.js +1301 -0
  327. package/dist/lib/primitive/string/string.mjs +5 -0
  328. package/dist/lib/primitive/string/types.cjs +1 -0
  329. package/dist/lib/primitive/string/types.d.ts +318 -0
  330. package/dist/lib/primitive/string/types.d.ts.map +1 -0
  331. package/dist/lib/primitive/string/types.js +5 -0
  332. package/dist/lib/primitive/string/types.mjs +0 -0
  333. package/dist/lib/primitive/types.cjs +1 -0
  334. package/dist/lib/primitive/types.d.ts +27 -0
  335. package/dist/lib/primitive/types.d.ts.map +1 -0
  336. package/dist/lib/primitive/types.js +1 -0
  337. package/dist/lib/primitive/types.mjs +0 -0
  338. package/dist/lib/url/index.cjs +1 -0
  339. package/dist/lib/url/index.d.ts +3 -0
  340. package/dist/lib/url/index.d.ts.map +1 -0
  341. package/dist/lib/url/index.js +2 -0
  342. package/dist/lib/url/index.mjs +1 -0
  343. package/dist/lib/url/parser.cjs +1 -0
  344. package/dist/lib/url/parser.d.ts +216 -0
  345. package/dist/lib/url/parser.d.ts.map +1 -0
  346. package/dist/lib/url/parser.js +488 -0
  347. package/dist/lib/url/parser.mjs +1 -0
  348. package/dist/lib/url/types.cjs +1 -0
  349. package/dist/lib/url/types.d.ts +18 -0
  350. package/dist/lib/url/types.d.ts.map +1 -0
  351. package/dist/lib/url/types.js +1 -0
  352. package/dist/lib/url/types.mjs +0 -0
  353. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  354. package/package.json +150 -0
@@ -0,0 +1,3 @@
1
+ function w(g,f={}){try{return JSON.parse(g)}catch{return $(g,f)}}function $(g,f={}){let{allowComments:c=!0,allowUnquotedKeys:h=!0,allowSingleQuotes:u=!0,allowTrailingCommas:p=!0,allowUndefined:d=!1}=f,t=g.trim();if(c&&(t=t.replace(/\/\*[\s\S]*?\*\//g,""),t=t.split(`
2
+ `).map(s=>{let i=!1,e="",n=!1;for(let a=0;a<s.length;a++){let o=s[a];if(n){n=!1;continue}if(o==="\\"){n=!0;continue}if(!i&&(o==='"'||o==="'"))i=!0,e=o;else if(i&&o===e)i=!1,e="";else if(!i&&o==="/"&&s[a+1]==="/")return s.substring(0,a)}return s}).join(`
3
+ `)),h&&(t=t.replace(/([{,]\s*)([a-zA-Z_$][a-zA-Z0-9_$]*)(\s*:)/g,'$1"$2"$3')),u){let l="",r=!1,s=!1,i=!1,e=0;for(;e<t.length;){let n=t[e];if(i){l+=n,i=!1,e++;continue}if(n==="\\"){i=!0,l+=n,e++;continue}n==="'"&&!s?r?(l+='"',r=!1):(l+='"',r=!0):(n==='"'&&!r&&(s?s=!1:s=!0),l+=n),e++}t=l}if(p){let l="",r=!1,s="",i=!1,e=0;for(;e<t.length;){let n=t[e];if(i){l+=n,i=!1,e++;continue}if(n==="\\"){i=!0,l+=n,e++;continue}if((n==='"'||n==="'")&&!r)r=!0,s=n,l+=n;else if(r&&n===s)r=!1,s="",l+=n;else if(!r&&n===","){let a=e+1;for(;a<t.length&&/\s/.test(t[a]);)a++;if(a<t.length&&(t[a]==="]"||t[a]==="}")){e++;continue}else l+=n}else l+=n;e++}t=l}if(d){let l="",r=!1,s="",i=!1,e=0;for(;e<t.length;){if(i){l+=t[e],i=!1,e++;continue}if(t[e]==="\\"){i=!0,l+=t[e],e++;continue}if((t[e]==='"'||t[e]==="'")&&!r)r=!0,s=t[e],l+=t[e];else if(r&&t[e]===s)r=!1,s="",l+=t[e];else if(!r&&t.substr(e,9)==="undefined"){let n=e>0?t[e-1]:"",a=e+8<t.length?t[e+9]:"";if(/[a-zA-Z0-9_$]/.test(n)||/[a-zA-Z0-9_$]/.test(a))l+=t[e];else{l+="null",e+=9;continue}}else l+=t[e];e++}t=l}try{return JSON.parse(t)}catch{return}}function S(g){let f=g;f=f.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\/\/.*$/gm,""),f=f.replace(/([{,]\s*)([a-zA-Z_$][\w$]*)(\s*:)/g,(c,h,u,p)=>u==="true"||u==="false"||u==="null"||u==="undefined"||/^\d/.test(u)?c:`${h}"${u}"${p}`),f=f.replace(/'([^'\\]*(?:\\.[^'\\]*)*)'/g,'"$1"'),f=f.replace(/,(\s*[\]}])/g,"$1");try{return JSON.parse(f)}catch(c){throw new SyntaxError(`Failed to parse JavaScript object literal: ${c}`)}}export{w as customParse,$ as parseJsObjectLiteral,S as simpleJsObjectParse};
@@ -0,0 +1,5 @@
1
+ "use strict";var R=Object.defineProperty;var ye=Object.getOwnPropertyDescriptor;var xe=Object.getOwnPropertyNames;var Ae=Object.prototype.hasOwnProperty;var $e=(e,t)=>{for(var r in t)R(e,r,{get:t[r],enumerable:!0})},we=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of xe(t))!Ae.call(e,s)&&s!==r&&R(e,s,{get:()=>t[s],enumerable:!(n=ye(t,s))||n.enumerable});return e};var Re=e=>we(R({},"__esModule",{value:!0}),e);var Oe={};$e(Oe,{capitalize:()=>_,countOccurrences:()=>k,default:()=>Pe,endsWith:()=>K,escapeHtml:()=>M,escapeRegExp:()=>A,escapeString:()=>ue,extractDomain:()=>Y,getInitials:()=>se,includes:()=>F,includesIgnoreCase:()=>q,isEmpty:()=>B,isPalindrome:()=>te,isPrimitiveArray:()=>be,isString:()=>oe,isStringArray:()=>pe,isValidEmail:()=>G,isValidUrl:()=>X,mask:()=>ne,normalizeLineEndings:()=>ie,pad:()=>H,parseArrayLiteral:()=>$,parseLiteral:()=>ge,parsePrimitiveValue:()=>me,randomString:()=>v,removeWhitespace:()=>ee,replaceAll:()=>I,replaceAllIgnoreCase:()=>Q,replaceString:()=>ce,replaceStringPattern:()=>fe,reverse:()=>O,slugify:()=>re,startsWith:()=>U,stringToObjectArray:()=>w,stringToObjectArrayOnly:()=>he,stringToPrimitiveArray:()=>de,toCamelCase:()=>W,toKebabCase:()=>E,toPascalCase:()=>z,toSnakeCase:()=>Z,toString:()=>le,toTitleCase:()=>J,trim:()=>j,trimEnd:()=>N,trimStart:()=>L,truncate:()=>D,unescapeHtml:()=>V,wordWrap:()=>ae});module.exports=Re(Oe);function S(e,t={}){let{allowComments:r=!0,allowUnquotedKeys:n=!0,allowSingleQuotes:s=!0,allowTrailingCommas:u=!0,allowUndefined:h=!1}=t,a=e.trim();if(r&&(a=a.replace(/\/\*[\s\S]*?\*\//g,""),a=a.split(`
2
+ `).map(f=>{let b=!1,l="",g=!1;for(let m=0;m<f.length;m++){let y=f[m];if(g){g=!1;continue}if(y==="\\"){g=!0;continue}if(!b&&(y==='"'||y==="'"))b=!0,l=y;else if(b&&y===l)b=!1,l="";else if(!b&&y==="/"&&f[m+1]==="/")return f.substring(0,m)}return f}).join(`
3
+ `)),n&&(a=a.replace(/([{,]\s*)([a-zA-Z_$][a-zA-Z0-9_$]*)(\s*:)/g,'$1"$2"$3')),s){let c="",i=!1,f=!1,b=!1,l=0;for(;l<a.length;){let g=a[l];if(b){c+=g,b=!1,l++;continue}if(g==="\\"){b=!0,c+=g,l++;continue}g==="'"&&!f?i?(c+='"',i=!1):(c+='"',i=!0):(g==='"'&&!i&&(f?f=!1:f=!0),c+=g),l++}a=c}if(u){let c="",i=!1,f="",b=!1,l=0;for(;l<a.length;){let g=a[l];if(b){c+=g,b=!1,l++;continue}if(g==="\\"){b=!0,c+=g,l++;continue}if((g==='"'||g==="'")&&!i)i=!0,f=g,c+=g;else if(i&&g===f)i=!1,f="",c+=g;else if(!i&&g===","){let m=l+1;for(;m<a.length&&/\s/.test(a[m]);)m++;if(m<a.length&&(a[m]==="]"||a[m]==="}")){l++;continue}else c+=g}else c+=g;l++}a=c}if(h){let c="",i=!1,f="",b=!1,l=0;for(;l<a.length;){if(b){c+=a[l],b=!1,l++;continue}if(a[l]==="\\"){b=!0,c+=a[l],l++;continue}if((a[l]==='"'||a[l]==="'")&&!i)i=!0,f=a[l],c+=a[l];else if(i&&a[l]===f)i=!1,f="",c+=a[l];else if(!i&&a.substr(l,9)==="undefined"){let g=l>0?a[l-1]:"",m=l+8<a.length?a[l+9]:"";if(/[a-zA-Z0-9_$]/.test(g)||/[a-zA-Z0-9_$]/.test(m))c+=a[l];else{c+="null",l+=9;continue}}else c+=a[l];l++}a=c}try{return JSON.parse(a)}catch{return}}var j=e=>e.trim(),L=e=>e.trimStart(),N=e=>e.trimEnd(),W=e=>e.replace(/[^a-zA-Z0-9]+(.)/g,(t,r)=>r.toUpperCase()).replace(/^[A-Z]/,t=>t.toLowerCase()),z=e=>e.replace(/[^a-zA-Z0-9]+(.)/g,(t,r)=>r.toUpperCase()).replace(/^[a-z]/,t=>t.toUpperCase()),E=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[_\s]+/g,"-").toLowerCase(),Z=e=>e.replace(/([a-z])([A-Z])/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase(),_=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),J=e=>e.replace(/\b\w+/g,t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()),U=(e,t,r=0)=>e.startsWith(t,r),K=(e,t,r)=>e.endsWith(t,r),F=(e,t)=>e.includes(t),q=(e,t)=>e.toLowerCase().includes(t.toLowerCase()),I=(e,t,r)=>typeof e.replaceAll=="function"?e.replaceAll(t,r):e.replace(new RegExp(A(t),"g"),r),Q=(e,t,r)=>e.replace(new RegExp(A(t),"gi"),r),A=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),M=e=>{let t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};return e.replace(/[&<>"'/]/g,r=>t[r]||r)},V=e=>{let t={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#x2F;":"/"};return e.replace(/&(?:amp|lt|gt|quot|#39|#x2F);/g,r=>t[r]||r)},D=(e,t,r="...")=>e.length<=t?e:e.slice(0,t-r.length)+r,H=(e,t,r=" ",n="start")=>{let s=t-e.length;if(s<=0)return e;let u=r.repeat(s);switch(n){case"start":return u+e;case"end":return e+u;case"both":let h=Math.floor(s/2),a=s-h;return r.repeat(h)+e+r.repeat(a)}},B=e=>e.trim().length===0,G=e=>/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(e.trim()),X=e=>{try{return new URL(e),!0}catch{return!1}},Y=e=>{try{return new URL(e).hostname.replace(/^www\./,"")}catch{return""}},v=(e=10,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")=>{let r="",n=t.length;for(let s=0;s<e;s++)r+=t.charAt(Math.floor(Math.random()*n));return r},k=(e,t,r=!0)=>{if(!t)return 0;let n=r?e:e.toLowerCase(),s=r?t:t.toLowerCase(),u=0,h=0;for(;(h=n.indexOf(s,h))!==-1;)u++,h+=s.length;return u},ee=e=>e.replace(/\s+/g,""),O=e=>e.split("").reverse().join(""),te=(e,t=!1)=>{let n=(t?e:e.toLowerCase()).replace(/[^a-z0-9]/gi,"");return n===O(n)},re=e=>e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,""),ne=(e,t=0,r=0,n="*")=>{if(t+r>=e.length)return e;let s=e.slice(0,t),u=r>0?e.slice(-r):"",h=n.repeat(e.length-t-r);return s+h+u},se=(e,t=2)=>e.split(/\s+/).slice(0,t).map(r=>r.charAt(0).toUpperCase()).join(""),ie=e=>e.replace(/\r\n/g,`
4
+ `).replace(/\r/g,`
5
+ `),ae=(e,t=80)=>{let r=e.split(" "),n=[],s="";for(let u of r){let h=s.length+u.length+1;s.length+u.length<=t?s+=(s?" ":"")+u:(s&&n.push(s),s=u)}return s&&n.push(s),n},oe=e=>typeof e=="string",le=(e,t)=>{if(e==null)return t!==void 0?t:"";let r=e;if(Array.isArray(r)){if(r.length===0)return t!==void 0?t:""}else if(typeof r=="object"&&Object.keys(r).length===0)return t!==void 0?t:"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e);try{return String(e)}catch{return t!==void 0?t:""}},ue=(e,t=!0)=>{if(!t||new Set(["&nbsp;"," ","  ","_space_"]).has(e))return e;let n=/[.*+?^${}()|[\]\\]/g;return e.replace(n,"\\$&")};function P(e,t,r,n){if(t<0||t>e.length)throw new Error("Start index out of bounds");if(r<t||r>e.length)throw new Error("End index out of bounds");let s=e.substring(0,t),u=e.substring(r);return s+n+u}var ce=(e,t,r="start",n="")=>{if(!e||!t||t.length===0||e.length<t.length)return e;if(r==="both"){let u=e;return u.startsWith(t)&&(u=P(u,0,t.length,n)),u.endsWith(t)&&(u=P(u,u.length-t.length,u.length,n)),u}return r==="start"&&e.startsWith(t)||r==="end"&&e.endsWith(t)?r==="start"?n+e.substring(t.length):e.substring(0,e.length-t.length)+n:e},fe=(e,t)=>{let{pattern:r,position:n,newValue:s,useRegex:u=!1,flags:h}={...t};if(!e)return e;s||(s="");let a,c=typeof n>"u"||n==="start";if(u&&r instanceof RegExp){a=r;let i=a.source;n&&(n==="start"?r=`^${i}`:n==="end"?r=`${i}$`:r=`^${i}|${i}$`,r=new RegExp(r,h))}else if(u)n&&(n==="start"?r=`^${r}`:n==="end"?r=`${r}$`:n==="both"&&(r=`^${r}|${r}$`)),a=new RegExp(r,h);else{let i=r;a=new RegExp(c?`^${i}`:n==="end"?`${i}$`:n==="both"?`^${i}|${i}$`:`${i}`,h||"g")}return e.replace(a,s)},$=e=>{if(!e.startsWith("[")||!e.endsWith("]"))return e;let t=e.slice(1,-1).trim();if(t==="")return[];try{let c=`[${t}]`,i=JSON.parse(c);if(Array.isArray(i))return i}catch{}let r=[],n="",s=!1,u="",h=!1,a=0;for(let c=0;c<t.length;c++){let i=t[c];if(h){n+=i,h=!1;continue}if(i==="\\"&&s){h=!0;continue}(i==='"'||i==="'")&&!s?(s=!0,u=i):i===u&&s?(s=!1,u=""):i==="["&&!s?(a++,n+=i):i==="]"&&!s?(a--,n+=i):i===","&&!s&&a===0?(r.push(n.trim()),n=""):n+=i}return n.trim()&&r.push(n.trim()),r.map(c=>{let i=c.trim();return i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'")?i.slice(1,-1):i})},ge=e=>{let t=e.trim();if(t.startsWith("[")&&t.endsWith("]")){let r=$(t);return Array.isArray(r)?r:t}if(t.startsWith("{")&&t.endsWith("}"))try{return JSON.parse(t)}catch{let r=S(t);if(r!==void 0)return r;let n=t.replace(/([{,]\s*)(\w+)(\s*:)/g,'$1"$2"$3').replace(/:\s*'([^']*)'/g,':"$1"');try{return JSON.parse(n)}catch{return t}}try{return JSON.parse(t)}catch{return t}},pe=e=>Array.isArray(e)&&e.every(t=>typeof t=="string"),w=(e,t={})=>{let{delimiters:r=["|"],valueKey:n,labelKey:s,defaultObject:u,trimItems:h=!0,filterEmpty:a=!0,returnObjects:c,parsePrimitives:i=!1,preserveNullUndefined:f=!1}=t,b=c??(n!==void 0||s!==void 0||u!==void 0),l=o=>{let p=u?{...u}:{},d=h?o.trim():o;if(n!==void 0&&(p[n]=i?g(d):d),n!==s||n===void 0&&s===void 0){let x;n===void 0&&s===void 0?x=c?"label":n:x=s,x!==void 0&&(p[x]=d)}return p},g=o=>{let p=o.trim();if(p==="")return f?null:"";if(p.toLowerCase()==="null")return f?null:"null";if(p.toLowerCase()==="undefined")return f?null:"undefined";if(p.toLowerCase()==="true")return!0;if(p.toLowerCase()==="false")return!1;if(/^-?\d+$/.test(p)){let d=parseInt(p,10);return isNaN(d)?h?p:o:d}if(/^-?\d+\.\d+$/.test(p)){let d=parseFloat(p);return isNaN(d)?h?p:o:d}return h?p:o},m=o=>{if(o==null)return f?o:null;if(typeof o=="string"){let d=h?o.trim():o;return o==="null"?null:o==="undefined"?f?void 0:"undefined":o===""?f?null:"":a&&d===""?f?d:null:b?l(d):i?g(d):d}if(typeof o=="number"||typeof o=="boolean")if(b){let d=u?{...u}:{};return n!==void 0&&(d[n]=o),s!==void 0&&s!==n&&(d[s]=String(o)),d}else return o;if(typeof o=="object"&&!Array.isArray(o))return b?u?{...u,...o}:o:n&&o[n]!==void 0?o[n]:o;if(Array.isArray(o)){let d=JSON.stringify(o);return b?l(d):d}let p=String(o);return b?l(p):p};if(Array.isArray(e)){let o=e.map(m);return f?o:o.filter(p=>p!==null)}if(typeof e!="string")return e==null?[]:m(String(e))?[m(String(e))]:[];let y=e.trim();if(y==="")return[];if(y.startsWith("[")&&y.endsWith("]")||y.startsWith("{")&&y.endsWith("}"))try{let o=JSON.parse(y);if(Array.isArray(o)){let d=o.map(m);return f?d:d.filter(x=>x!==null)}let p=m(o);return p?[p]:[]}catch{}let T=$(y);if(Array.isArray(T)){let o=T.map(p=>m(p));return f?o:o.filter(p=>p!==null)}for(let o of r)if(y.includes(o)){let d=(h?y:e).split(o).map(x=>m(x));return f?d:d.filter(x=>x!==null&&(!a||x!==""))}let C=m(y);return C?[C]:[]},de=(e,t={})=>w(e,{...t,returnObjects:!1}),he=(e,t={})=>w(e,{...t,returnObjects:!0}),be=e=>e.every(t=>t==null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"),me=e=>{let t=e.trim();if(t===""||t.toLowerCase()==="null")return null;if(t.toLowerCase()!=="undefined"){if(t.toLowerCase()==="true")return!0;if(t.toLowerCase()==="false")return!1;if(/^-?\d+$/.test(t)){let r=parseInt(t,10);return isNaN(r)?t:r}if(/^-?\d+\.\d+$/.test(t)){let r=parseFloat(t);return isNaN(r)?t:r}if(/^-?\d+(?:\.\d+)?[eE][+-]?\d+$/.test(t)){let r=parseFloat(t);return isNaN(r)?t:r}return t}},Pe={trim:j,trimStart:L,trimEnd:N,toCamelCase:W,toPascalCase:z,toKebabCase:E,toSnakeCase:Z,capitalize:_,toTitleCase:J,startsWith:U,endsWith:K,includes:F,includesIgnoreCase:q,replaceStringByIndex:P,replaceAll:I,replaceAllIgnoreCase:Q,escapeRegExp:A,escapeHtml:M,unescapeHtml:V,truncate:D,pad:H,isEmpty:B,isValidEmail:G,isValidUrl:X,extractDomain:Y,randomString:v,countOccurrences:k,removeWhitespace:ee,reverse:O,isPalindrome:te,slugify:re,mask:ne,getInitials:se,normalizeLineEndings:ie,wordWrap:ae,isString:oe,toString:le,escapeString:ue,replaceString:ce,replaceStringPattern:fe,stringToObjectArray:w,parseArrayLiteral:$,parseLiteral:ge,isStringArray:pe,stringToPrimitiveArray:de,stringToObjectArrayOnly:he,isPrimitiveArray:be,parsePrimitiveValue:me};
@@ -0,0 +1,535 @@
1
+ /**
2
+ * String utilities collection for TypeScript
3
+ * Provides optimized methods for common string operations
4
+ */
5
+ /**
6
+ * Trims whitespace from both ends of a string with high performance
7
+ * @param str - The string to trim
8
+ * @returns Trimmed string
9
+ * @example
10
+ * trim(" hello ") // "hello"
11
+ */
12
+ export declare const trim: (str: string) => string;
13
+ /**
14
+ * Trims whitespace from the start of a string
15
+ * @param str - The string to trim
16
+ * @returns Left-trimmed string
17
+ * @example
18
+ * trimStart(" hello") // "hello"
19
+ */
20
+ export declare const trimStart: (str: string) => string;
21
+ /**
22
+ * Trims whitespace from the end of a string
23
+ * @param str - The string to trim
24
+ * @returns Right-trimmed string
25
+ * @example
26
+ * trimEnd("hello ") // "hello"
27
+ */
28
+ export declare const trimEnd: (str: string) => string;
29
+ /**
30
+ * Converts string to camelCase
31
+ * @param str - The string to convert
32
+ * @returns camelCase string
33
+ * @example
34
+ * toCamelCase("hello-world") // "helloWorld"
35
+ */
36
+ export declare const toCamelCase: (str: string) => string;
37
+ /**
38
+ * Converts string to PascalCase
39
+ * @param str - The string to convert
40
+ * @returns PascalCase string
41
+ * @example
42
+ * toPascalCase("hello-world") // "HelloWorld"
43
+ */
44
+ export declare const toPascalCase: (str: string) => string;
45
+ /**
46
+ * Converts string to kebab-case
47
+ * @param str - The string to convert
48
+ * @returns kebab-case string
49
+ * @example
50
+ * toKebabCase("helloWorld") // "hello-world"
51
+ */
52
+ export declare const toKebabCase: (str: string) => string;
53
+ /**
54
+ * Converts string to snake_case
55
+ * @param str - The string to convert
56
+ * @returns snake_case string
57
+ * @example
58
+ * toSnakeCase("helloWorld") // "hello_world"
59
+ */
60
+ export declare const toSnakeCase: (str: string) => string;
61
+ /**
62
+ * Capitalizes the first letter of a string
63
+ * @param str - The string to capitalize
64
+ * @returns Capitalized string
65
+ * @example
66
+ * capitalize("hello") // "Hello"
67
+ */
68
+ export declare const capitalize: (str: string) => string;
69
+ /**
70
+ * Converts string to title case (each word capitalized)
71
+ * @param str - The string to convert
72
+ * @returns Title case string
73
+ * @example
74
+ * toTitleCase("hello world") // "Hello World"
75
+ */
76
+ export declare const toTitleCase: (str: string) => string;
77
+ /**
78
+ * Checks if string starts with a substring (case-sensitive)
79
+ * @param str - The string to check
80
+ * @param search - The substring to search for
81
+ * @param position - Position to start searching (default: 0)
82
+ * @returns True if string starts with search string
83
+ * @example
84
+ * startsWith("hello", "he") // true
85
+ */
86
+ export declare const startsWith: (str: string, search: string, position?: number) => boolean;
87
+ /**
88
+ * Checks if string ends with a substring (case-sensitive)
89
+ * @param str - The string to check
90
+ * @param search - The substring to search for
91
+ * @param length - Length to use (default: str.length)
92
+ * @returns True if string ends with search string
93
+ * @example
94
+ * endsWith("hello", "lo") // true
95
+ */
96
+ export declare const endsWith: (str: string, search: string, length?: number) => boolean;
97
+ /**
98
+ * Checks if string contains a substring (case-sensitive)
99
+ * @param str - The string to check
100
+ * @param search - The substring to search for
101
+ * @returns True if string contains search string
102
+ * @example
103
+ * includes("hello", "ell") // true
104
+ */
105
+ export declare const includes: (str: string, search: string) => boolean;
106
+ /**
107
+ * Checks if string contains a substring (case-insensitive)
108
+ * @param str - The string to check
109
+ * @param search - The substring to search for
110
+ * @returns True if string contains search string (case-insensitive)
111
+ * @example
112
+ * includesIgnoreCase("Hello", "hello") // true
113
+ */
114
+ export declare const includesIgnoreCase: (str: string, search: string) => boolean;
115
+ /**
116
+ * Replaces all occurrences of a substring (case-sensitive)
117
+ * @param str - The string to process
118
+ * @param search - The substring to replace
119
+ * @param replacement - The replacement string
120
+ * @returns String with all occurrences replaced
121
+ * @example
122
+ * replaceAll("hello world", "l", "x") // "hexxo worxd"
123
+ */
124
+ export declare const replaceAll: (str: string, search: string, replacement: string) => string;
125
+ /**
126
+ * Replaces all occurrences of a substring (case-insensitive)
127
+ * @param str - The string to process
128
+ * @param search - The substring to replace
129
+ * @param replacement - The replacement string
130
+ * @returns String with all occurrences replaced (case-insensitive)
131
+ * @example
132
+ * replaceAllIgnoreCase("Hello World", "hello", "Hi") // "Hi World"
133
+ */
134
+ export declare const replaceAllIgnoreCase: (str: string, search: string, replacement: string) => string;
135
+ /**
136
+ * Escapes regex special characters in a string
137
+ * @param str - The string to escape
138
+ * @returns Escaped string safe for use in regex
139
+ * @example
140
+ * escapeRegExp(".*+?^${}()|[]\\") // "\\.\\*\\+\\?\\^\\$\\{\\}\\(\\)\\|\\[\\]\\\\"
141
+ */
142
+ export declare const escapeRegExp: (str: string) => string;
143
+ /**
144
+ * Escapes HTML special characters
145
+ * @param str - The string to escape
146
+ * @returns HTML-escaped string
147
+ * @example
148
+ * escapeHtml("<div>") // "&lt;div&gt;"
149
+ */
150
+ export declare const escapeHtml: (str: string) => string;
151
+ /**
152
+ * Unescapes HTML entities
153
+ * @param str - The string to unescape
154
+ * @returns Unescaped string
155
+ * @example
156
+ * unescapeHtml("&lt;div&gt;") // "<div>"
157
+ */
158
+ export declare const unescapeHtml: (str: string) => string;
159
+ /**
160
+ * Truncates string to specified length with ellipsis
161
+ * @param str - The string to truncate
162
+ * @param length - Maximum length
163
+ * @param ellipsis - Ellipsis string (default: "...")
164
+ * @returns Truncated string
165
+ * @example
166
+ * truncate("Hello world", 8) // "Hello..."
167
+ */
168
+ export declare const truncate: (str: string, length: number, ellipsis?: string) => string;
169
+ /**
170
+ * Pads string to specified length with character
171
+ * @param str - The string to pad
172
+ * @param length - Target length
173
+ * @param padChar - Character to pad with (default: " ")
174
+ * @param side - Which side to pad: "start", "end", or "both" (default: "start")
175
+ * @returns Padded string
176
+ * @example
177
+ * pad("hello", 10, "*", "both") // "**hello***"
178
+ */
179
+ export declare const pad: (str: string, length: number, padChar?: string, side?: "start" | "end" | "both") => string;
180
+ /**
181
+ * Checks if string is empty or whitespace only
182
+ * @param str - The string to check
183
+ * @returns True if string is empty or whitespace only
184
+ * @example
185
+ * isEmpty(" ") // true
186
+ * isEmpty("hello") // false
187
+ */
188
+ export declare const isEmpty: (str: string) => boolean;
189
+ /**
190
+ * Checks if string is a valid email address
191
+ * @param email - The email string to validate
192
+ * @returns True if string is a valid email
193
+ * @example
194
+ * isValidEmail("test@example.com") // true
195
+ */
196
+ export declare const isValidEmail: (email: string) => boolean;
197
+ /**
198
+ * Checks if string is a valid URL
199
+ * @param url - The URL string to validate
200
+ * @returns True if string is a valid URL
201
+ * @example
202
+ * isValidUrl("https://example.com") // true
203
+ */
204
+ export declare const isValidUrl: (url: string) => boolean;
205
+ /**
206
+ * Extracts domain from URL
207
+ * @param url - The URL string
208
+ * @returns Domain name or empty string
209
+ * @example
210
+ * extractDomain("https://www.example.com/path") // "example.com"
211
+ */
212
+ export declare const extractDomain: (url: string) => string;
213
+ /**
214
+ * Generates a random string of specified length
215
+ * @param length - Length of random string
216
+ * @param charset - Character set to use (default: alphanumeric)
217
+ * @returns Random string
218
+ * @example
219
+ * randomString(10) // "aB3xYz78pQ"
220
+ */
221
+ export declare const randomString: (length?: number, charset?: string) => string;
222
+ /**
223
+ * Counts occurrences of substring in string
224
+ * @param str - The string to search
225
+ * @param search - The substring to count
226
+ * @param caseSensitive - Whether search is case-sensitive (default: true)
227
+ * @returns Number of occurrences
228
+ * @example
229
+ * countOccurrences("hello hello", "lo") // 2
230
+ */
231
+ export declare const countOccurrences: (str: string, search: string, caseSensitive?: boolean) => number;
232
+ /**
233
+ * Removes all whitespace from string
234
+ * @param str - The string to process
235
+ * @returns String without whitespace
236
+ * @example
237
+ * removeWhitespace("hello world") // "helloworld"
238
+ */
239
+ export declare const removeWhitespace: (str: string) => string;
240
+ /**
241
+ * Reverses a string
242
+ * @param str - The string to reverse
243
+ * @returns Reversed string
244
+ * @example
245
+ * reverse("hello") // "olleh"
246
+ */
247
+ export declare const reverse: (str: string) => string;
248
+ /**
249
+ * Checks if string is palindrome (reads same forwards and backwards)
250
+ * @param str - The string to check
251
+ * @param caseSensitive - Whether comparison is case-sensitive (default: false)
252
+ * @returns True if string is palindrome
253
+ * @example
254
+ * isPalindrome("racecar") // true
255
+ */
256
+ export declare const isPalindrome: (str: string, caseSensitive?: boolean) => boolean;
257
+ /**
258
+ * Generates slug from string (URL-friendly)
259
+ * @param str - The string to convert
260
+ * @returns URL-friendly slug
261
+ * @example
262
+ * slugify("Hello World!") // "hello-world"
263
+ */
264
+ export declare const slugify: (str: string) => string;
265
+ /**
266
+ * Masks part of a string (e.g., for hiding sensitive data)
267
+ * @param str - The string to mask
268
+ * @param visibleStart - Number of characters to keep at start
269
+ * @param visibleEnd - Number of characters to keep at end
270
+ * @param maskChar - Character to use for masking (default: "*")
271
+ * @returns Masked string
272
+ * @example
273
+ * mask("1234567890", 3, 2) // "123*****90"
274
+ */
275
+ export declare const mask: (str: string, visibleStart?: number, visibleEnd?: number, maskChar?: string) => string;
276
+ /**
277
+ * Generates initials from name
278
+ * @param name - The full name
279
+ * @param maxInitials - Maximum number of initials (default: 2)
280
+ * @returns Initials string
281
+ * @example
282
+ * getInitials("John Doe") // "JD"
283
+ */
284
+ export declare const getInitials: (name: string, maxInitials?: number) => string;
285
+ /**
286
+ * Normalizes line endings to LF (Unix-style)
287
+ * @param str - The string to normalize
288
+ * @returns String with normalized line endings
289
+ * @example
290
+ * normalizeLineEndings("hello\r\nworld") // "hello\nworld"
291
+ */
292
+ export declare const normalizeLineEndings: (str: string) => string;
293
+ /**
294
+ * Wraps text to specified line length
295
+ * @param text - The text to wrap
296
+ * @param lineLength - Maximum line length
297
+ * @returns Array of wrapped lines
298
+ * @example
299
+ * wordWrap("Hello world, this is a test.", 10)
300
+ * // ["Hello", "world, this", "is a test."]
301
+ */
302
+ export declare const wordWrap: (text: string, lineLength?: number) => string[];
303
+ /**
304
+ * Type guard for string values
305
+ * @param value - Value to check
306
+ * @returns True if value is a string
307
+ */
308
+ export declare const isString: (value: unknown) => value is string;
309
+ /**
310
+ * Safely converts any value to string
311
+ * @param value - Value to convert
312
+ * @param fallback - Fallback value if conversion fails (default: "")
313
+ * @returns String representation or fallback
314
+ */
315
+ export declare const toString: <T = string>(value: unknown, fallback?: T) => string | T;
316
+ /**
317
+ * Escapes regex special characters in a string
318
+ * @param str - The string to escape
319
+ * @param escape - Whether to escape the string (default: true)
320
+ * @returns Escaped string or original if escape is false or string is in exclude list
321
+ * @example
322
+ * escapeString("test[123]") // "test\\[123\\]"
323
+ * escapeString("&nbsp;", true) // "&nbsp;" (not escaped due to exclude list)
324
+ */
325
+ export declare const escapeString: (str: string, escape?: boolean) => string;
326
+ /**
327
+ * Replaces a substring by index position
328
+ * @param {string} original - Original string
329
+ * @param {number} startIndex - Start index (inclusive)
330
+ * @param {number} endIndex - End index (exclusive)
331
+ * @param {string} replacement - Replacement string
332
+ * @returns {string} Modified string
333
+ */
334
+ declare function replaceStringByIndex(original: string, startIndex: number, endIndex: number, replacement: string): string;
335
+ /**
336
+ * Replaces a substring at the beginning or end of a string
337
+ * @param originalString - The original string to modify
338
+ * @param valueToReplace - The substring to replace
339
+ * @param position - Position to replace: "start", "end", or "both" (default: "start")
340
+ * @param newValue - The replacement value (default: "")
341
+ * @returns Modified string or original if replacement not applicable
342
+ * @example
343
+ * replaceString("hello world", "hello", "start") // " world"
344
+ * replaceString("hello world", "world", "end") // "hello "
345
+ * replaceString("test.test", ".", "both", "-") // "test-test"
346
+ */
347
+ export declare const replaceString: (originalString: string, valueToReplace: string, position?: "start" | "end" | "both", newValue?: string) => string;
348
+ interface ReplaceString {
349
+ pattern: string | RegExp;
350
+ /**
351
+ * Position to replace: "start", "end", or "both"
352
+ * @default "start"
353
+ */
354
+ position?: 'start' | 'end' | 'both' | 'alone';
355
+ newValue?: string;
356
+ useRegex?: boolean;
357
+ flags?: string;
358
+ }
359
+ /**
360
+ * Alternative version with regex for more complex patterns
361
+ * Replaces a pattern at start/end using regex for more control
362
+ * @param originalString - The original string to modify
363
+ * @param pattern - Regex pattern or string to match
364
+ * @param position - Position to replace: "start", "end", or "both"
365
+ * @param newValue - The replacement value
366
+ * @param useRegex - Whether pattern is a regex pattern
367
+ * @returns Modified string
368
+ */
369
+ export declare const replaceStringPattern: (originalString: string, options: ReplaceString) => string;
370
+ /**
371
+ * Options for parsing strings to object arrays
372
+ */
373
+ interface StringToObjectArrayOptions {
374
+ /** Delimiters to split string (default: ["|"]) */
375
+ delimiters?: string[];
376
+ /** Key name for value when creating objects (default: "value") */
377
+ valueKey?: string;
378
+ /** Key name for label when creating objects (default: "label") */
379
+ labelKey?: string;
380
+ /** Default object properties to merge with each item */
381
+ defaultObject?: Record<string, any>;
382
+ /** Whether to trim whitespace from items (default: true) */
383
+ trimItems?: boolean;
384
+ /** Whether to filter out empty strings (default: true) */
385
+ filterEmpty?: boolean;
386
+ }
387
+ /**
388
+ * Type for the parsed object in stringToObjectArray
389
+ */
390
+ /**
391
+ * Parses a string representation of an array literal
392
+ * Supports formats like: [a, b, c], ["a", "b"], ['a', 'b']
393
+ * @param str - The string to parse
394
+ * @returns Array of strings if successful, original string otherwise
395
+ * @example
396
+ * parseArrayLiteral("[apple, banana, cherry]") // ["apple", "banana", "cherry"]
397
+ * parseArrayLiteral('["apple", "banana"]') // ["apple", "banana"]
398
+ */
399
+ export declare const parseArrayLiteral: (str: string) => string[] | string;
400
+ /**
401
+ * Enhanced version that handles both array literals and object literals
402
+ * @param str - The string to parse
403
+ * @returns Parsed array, object, or original string
404
+ */
405
+ export declare const parseLiteral: (str: string) => any;
406
+ /**
407
+ * Type guard to check if a value is a string array
408
+ * @param value - Value to check
409
+ * @returns True if value is a string array
410
+ */
411
+ export declare const isStringArray: (value: any) => value is string[];
412
+ /**
413
+ * Type for the parsed result in stringToObjectArray
414
+ * Can be either primitive values or objects
415
+ */
416
+ type ParsedResult<T extends boolean> = T extends true ? Record<string, any> : string | number | boolean | null;
417
+ /**
418
+ * Options for parsing strings to arrays
419
+ */
420
+ interface StringToObjectArrayOptions<T extends boolean = boolean> {
421
+ /** Delimiters to split string (default: ["|"]) */
422
+ delimiters?: string[];
423
+ /** Key name for value when creating objects (default: "value") */
424
+ valueKey?: string;
425
+ /** Key name for label when creating objects (default: "label") */
426
+ labelKey?: string;
427
+ /** Default object properties to merge with each item */
428
+ defaultObject?: Record<string, any>;
429
+ /** Whether to trim whitespace from items (default: true) */
430
+ trimItems?: boolean;
431
+ /** Whether to filter out empty strings (default: true) */
432
+ filterEmpty?: boolean;
433
+ /** Whether to return objects (true) or primitive values (false) (default: auto-detected) */
434
+ returnObjects?: T;
435
+ /** Whether to attempt parsing numbers and booleans from strings (default: false) */
436
+ parsePrimitives?: boolean;
437
+ /** Whether to preserve null/undefined values (default: false) */
438
+ preserveNullUndefined?: boolean;
439
+ }
440
+ /**
441
+ * Parses a string or string array into an array of objects or primitive values
442
+ * Supports JSON, delimited strings, and various formats
443
+ * @param input - The input string or array to parse
444
+ * @param options - Configuration options for parsing
445
+ * @returns Array of parsed objects or primitive values
446
+ * @example
447
+ * // Returns primitive array: ["apple", "banana"]
448
+ * stringToObjectArray("apple|banana")
449
+ *
450
+ * // Returns object array: [{value: "apple", label: "apple"}, {value: "banana", label: "banana"}]
451
+ * stringToObjectArray("apple|banana", {valueKey: "value", labelKey: "label"})
452
+ *
453
+ * // Returns object array with defaults: [{id: "apple", name: "apple", type: "fruit"}, ...]
454
+ * stringToObjectArray("apple|banana", {valueKey: "id", labelKey: "name", defaultObject: {type: "fruit"}})
455
+ *
456
+ * // Returns parsed primitives: [1, 2, 3]
457
+ * stringToObjectArray("1|2|3", {parsePrimitives: true})
458
+ */
459
+ export declare const stringToObjectArray: <T extends boolean = boolean>(input: string | string[] | any[], options?: StringToObjectArrayOptions<T>) => ParsedResult<T>[];
460
+ /**
461
+ * Simplified version that always returns primitive values
462
+ * @param input - The input string or array to parse
463
+ * @param options - Configuration options (delimiters, trim, etc.)
464
+ * @returns Array of primitive values
465
+ * @example
466
+ * stringToPrimitiveArray("apple|banana") // ["apple", "banana"]
467
+ * stringToPrimitiveArray("1,2,3", {delimiters: [","], parsePrimitives: true}) // [1, 2, 3]
468
+ */
469
+ export declare const stringToPrimitiveArray: (input: string | string[] | any[], options?: Omit<StringToObjectArrayOptions<false>, "valueKey" | "labelKey" | "defaultObject" | "returnObjects">) => Array<string | number | boolean | null>;
470
+ /**
471
+ * Simplified version that always returns objects
472
+ * @param input - The input string or array to parse
473
+ * @param options - Configuration options including valueKey, labelKey, etc.
474
+ * @returns Array of objects
475
+ * @example
476
+ * stringToObjectArray("apple|banana", {valueKey: "id"}) // [{id: "apple"}, {id: "banana"}]
477
+ */
478
+ export declare const stringToObjectArrayOnly: (input: string | string[] | any[], options?: Omit<StringToObjectArrayOptions<true>, "returnObjects">) => Record<string, any>[];
479
+ /**
480
+ * Type guard to check if parsed result is primitive array
481
+ */
482
+ export declare const isPrimitiveArray: (arr: any[]) => arr is Array<string | number | boolean | null>;
483
+ export declare const parsePrimitiveValue: (str: string) => string | number | boolean | null | undefined;
484
+ declare const _default: {
485
+ trim: (str: string) => string;
486
+ trimStart: (str: string) => string;
487
+ trimEnd: (str: string) => string;
488
+ toCamelCase: (str: string) => string;
489
+ toPascalCase: (str: string) => string;
490
+ toKebabCase: (str: string) => string;
491
+ toSnakeCase: (str: string) => string;
492
+ capitalize: (str: string) => string;
493
+ toTitleCase: (str: string) => string;
494
+ startsWith: (str: string, search: string, position?: number) => boolean;
495
+ endsWith: (str: string, search: string, length?: number) => boolean;
496
+ includes: (str: string, search: string) => boolean;
497
+ includesIgnoreCase: (str: string, search: string) => boolean;
498
+ replaceStringByIndex: typeof replaceStringByIndex;
499
+ replaceAll: (str: string, search: string, replacement: string) => string;
500
+ replaceAllIgnoreCase: (str: string, search: string, replacement: string) => string;
501
+ escapeRegExp: (str: string) => string;
502
+ escapeHtml: (str: string) => string;
503
+ unescapeHtml: (str: string) => string;
504
+ truncate: (str: string, length: number, ellipsis?: string) => string;
505
+ pad: (str: string, length: number, padChar?: string, side?: "start" | "end" | "both") => string;
506
+ isEmpty: (str: string) => boolean;
507
+ isValidEmail: (email: string) => boolean;
508
+ isValidUrl: (url: string) => boolean;
509
+ extractDomain: (url: string) => string;
510
+ randomString: (length?: number, charset?: string) => string;
511
+ countOccurrences: (str: string, search: string, caseSensitive?: boolean) => number;
512
+ removeWhitespace: (str: string) => string;
513
+ reverse: (str: string) => string;
514
+ isPalindrome: (str: string, caseSensitive?: boolean) => boolean;
515
+ slugify: (str: string) => string;
516
+ mask: (str: string, visibleStart?: number, visibleEnd?: number, maskChar?: string) => string;
517
+ getInitials: (name: string, maxInitials?: number) => string;
518
+ normalizeLineEndings: (str: string) => string;
519
+ wordWrap: (text: string, lineLength?: number) => string[];
520
+ isString: (value: unknown) => value is string;
521
+ toString: <T = string>(value: unknown, fallback?: T) => string | T;
522
+ escapeString: (str: string, escape?: boolean) => string;
523
+ replaceString: (originalString: string, valueToReplace: string, position?: "start" | "end" | "both", newValue?: string) => string;
524
+ replaceStringPattern: (originalString: string, options: ReplaceString) => string;
525
+ stringToObjectArray: <T extends boolean = boolean>(input: string | string[] | any[], options?: StringToObjectArrayOptions<T>) => ParsedResult<T>[];
526
+ parseArrayLiteral: (str: string) => string[] | string;
527
+ parseLiteral: (str: string) => any;
528
+ isStringArray: (value: any) => value is string[];
529
+ stringToPrimitiveArray: (input: string | string[] | any[], options?: Omit<StringToObjectArrayOptions<false>, "valueKey" | "labelKey" | "defaultObject" | "returnObjects">) => Array<string | number | boolean | null>;
530
+ stringToObjectArrayOnly: (input: string | string[] | any[], options?: Omit<StringToObjectArrayOptions<true>, "returnObjects">) => Record<string, any>[];
531
+ isPrimitiveArray: (arr: any[]) => arr is Array<string | number | boolean | null>;
532
+ parsePrimitiveValue: (str: string) => string | number | boolean | null | undefined;
533
+ };
534
+ export default _default;
535
+ //# sourceMappingURL=string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../../src/lib/primitive/string/string.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,GAAI,KAAK,MAAM,KAAG,MAGlC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,MAEvC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAErC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MAIzC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAI1C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MAKzC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MAKzC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,MAGxC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MAKzC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GACrB,KAAK,MAAM,EACX,QAAQ,MAAM,EACd,WAAU,MAAU,KACnB,OAEF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,GACnB,KAAK,MAAM,EACX,QAAQ,MAAM,EACd,SAAS,MAAM,KACd,OAEF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,EAAE,QAAQ,MAAM,KAAG,OAEtD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,EAAE,QAAQ,MAAM,KAAG,OAEhE,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GACrB,KAAK,MAAM,EACX,QAAQ,MAAM,EACd,aAAa,MAAM,KAClB,MAMF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAC/B,KAAK,MAAM,EACX,QAAQ,MAAM,EACd,aAAa,MAAM,KAClB,MAEF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAE1C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,MAWxC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAc1C,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,GACnB,KAAK,MAAM,EACX,QAAQ,MAAM,EACd,WAAU,MAAc,KACvB,MAGF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,GAAG,GACd,KAAK,MAAM,EACX,QAAQ,MAAM,EACd,UAAS,MAAY,EACrB,OAAM,OAAO,GAAG,KAAK,GAAG,MAAgB,KACvC,MAgBF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,OAErC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,OAK5C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,OAOxC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,MAO3C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GACvB,SAAQ,MAAW,EACnB,UAAS,MAAyE,KACjF,MASF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAC3B,KAAK,MAAM,EACX,QAAQ,MAAM,EACd,gBAAe,OAAc,KAC5B,MAeF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,MAE9C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAErC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GACvB,KAAK,MAAM,EACX,gBAAe,OAAe,KAC7B,OAIF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAOrC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,IAAI,GACf,KAAK,MAAM,EACX,eAAc,MAAU,EACxB,aAAY,MAAU,EACtB,WAAU,MAAY,KACrB,MAUF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,cAAa,MAAU,KAAG,MAMnE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,MAAM,KAAG,MAElD,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,EAAE,aAAY,MAAW,KAAG,MAAM,EAsBtE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAElD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,GAAG,MAAM,EACjC,OAAO,OAAO,EACd,WAAW,CAAC,KACX,MAAM,GAAG,CA4BX,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,EAAE,gBAAa,KAAG,MAoBzD,CAAC;AAEF;;;;;;;GAOG;AACH,iBAAS,oBAAoB,CAC3B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,CAWR;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,GACxB,gBAAgB,MAAM,EACtB,gBAAgB,MAAM,EACtB,WAAU,OAAO,GAAG,KAAK,GAAG,MAAgB,EAC5C,WAAU,MAAW,KACpB,MA0DF,CAAC;AA4CF,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAC/B,gBAAgB,MAAM,EACtB,SAAS,aAAa,KACrB,MAkDF,CAAC;AAEF;;GAEG;AACH,UAAU,0BAA0B;IAClC,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,4DAA4D;IAC5D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AA6IH;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,MAAM,EAAE,GAAG,MA4F1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,GAsC1C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,MAAM,EAIzD,CAAC;AAEF;;;GAGG;AACH,KAAK,YAAY,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,IAAI,GACjD,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnB,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAErC;;GAEG;AACH,UAAU,0BAA0B,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO;IAC9D,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,4DAA4D;IAC5D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4FAA4F;IAC5F,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,oFAAoF;IACpF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,OAAO,GAAG,OAAO,EAC7D,OAAO,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,EAAE,EAChC,UAAS,0BAA0B,CAAC,CAAC,CAAM,KAC1C,YAAY,CAAC,CAAC,CAAC,EA2PjB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GACjC,OAAO,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,EAAE,EAChC,UAAS,IAAI,CACX,0BAA0B,CAAC,KAAK,CAAC,EACjC,UAAU,GAAG,UAAU,GAAG,eAAe,GAAG,eAAe,CACvD,KACL,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAKxC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAClC,OAAO,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,EAAE,EAChC,UAAS,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,eAAe,CAAM,KACpE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAKrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,KAAK,GAAG,EAAE,KACT,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAQ/C,CAAC;AAGF,eAAO,MAAM,mBAAmB,GAC9B,KAAK,MAAM,KACV,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SA4BrC,CAAC;;gBAriDwB,MAAM,KAAG,MAAM;qBAYV,MAAM,KAAG,MAAM;mBAWjB,MAAM,KAAG,MAAM;uBAWX,MAAM,KAAG,MAAM;wBAad,MAAM,KAAG,MAAM;uBAahB,MAAM,KAAG,MAAM;uBAcf,MAAM,KAAG,MAAM;sBAchB,MAAM,KAAG,MAAM;uBAYd,MAAM,KAAG,MAAM;sBAiBzC,MAAM,UACH,MAAM,aACJ,MAAM,KACf,OAAO;oBAcH,MAAM,UACH,MAAM,WACL,MAAM,KACd,OAAO;oBAYoB,MAAM,UAAU,MAAM,KAAG,OAAO;8BAYtB,MAAM,UAAU,MAAM,KAAG,OAAO;;sBAcjE,MAAM,UACH,MAAM,eACD,MAAM,KAClB,MAAM;gCAkBF,MAAM,UACH,MAAM,eACD,MAAM,KAClB,MAAM;wBAWyB,MAAM,KAAG,MAAM;sBAWjB,MAAM,KAAG,MAAM;wBAoBb,MAAM,KAAG,MAAM;oBA0B1C,MAAM,UACH,MAAM,aACJ,MAAM,KACf,MAAM;eAgBF,MAAM,UACH,MAAM,YACL,MAAM,SACT,OAAO,GAAG,KAAK,GAAG,MAAM,KAC7B,MAAM;mBA0BoB,MAAM,KAAG,OAAO;0BAWT,MAAM,KAAG,OAAO;sBAcpB,MAAM,KAAG,OAAO;yBAgBb,MAAM,KAAG,MAAM;4BAkBxC,MAAM,YACL,MAAM,KACd,MAAM;4BAqBF,MAAM,UACH,MAAM,kBACC,OAAO,KACrB,MAAM;4BAwB6B,MAAM,KAAG,MAAM;mBAWxB,MAAM,KAAG,MAAM;wBAarC,MAAM,kBACI,OAAO,KACrB,OAAO;mBAamB,MAAM,KAAG,MAAM;gBAoBrC,MAAM,iBACG,MAAM,eACR,MAAM,aACR,MAAM,KACf,MAAM;wBAoByB,MAAM,gBAAe,MAAM,KAAO,MAAM;gCAehC,MAAM,KAAG,MAAM;qBAa1B,MAAM,eAAc,MAAM,KAAQ,MAAM,EAAE;sBA6BzC,OAAO,KAAG,KAAK,IAAI,MAAM;eAUhC,CAAC,kBACjB,OAAO,aACH,CAAC,KACX,MAAM,GAAG,CAAC;wBAuCqB,MAAM,uBAAkB,MAAM;oCA6D9C,MAAM,kBACN,MAAM,aACZ,OAAO,GAAG,KAAK,GAAG,MAAM,aACxB,MAAM,KACf,MAAM;2CA4HS,MAAM,WACb,aAAa,KACrB,MAAM;0BAua2B,CAAC,SAAS,OAAO,mBAC5C,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,EAAE,YACvB,0BAA0B,CAAC,CAAC,CAAC,KACrC,YAAY,CAAC,CAAC,CAAC,EAAE;6BA5MmB,MAAM,KAAG,MAAM,EAAE,GAAG,MAAM;wBAmG/B,MAAM,KAAG,GAAG;2BA6CT,GAAG,KAAG,KAAK,IAAI,MAAM,EAAE;oCAmUnD,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,EAAE,YACvB,IAAI,CACX,0BAA0B,CAAC,KAAK,CAAC,EACjC,UAAU,GAAG,UAAU,GAAG,eAAe,GAAG,eAAe,CAC5D,KACA,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;qCAgBjC,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,EAAE,YACvB,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,KAC/D,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;4BAWjB,GAAG,EAAE,KACT,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;+BAY1C,MAAM,KACV,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS;;AA+B/C,wBAiDE"}