@odinlin/utils 0.0.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/README.md +16 -20
  2. package/dist/browser/_virtual/rolldown_runtime.cjs +29 -0
  3. package/dist/browser/array/arrayCast.cjs +29 -0
  4. package/dist/browser/array/arrayCast.d.ts +27 -0
  5. package/dist/browser/array/arrayCast.d.ts.map +1 -0
  6. package/dist/browser/array/arrayCast.js +30 -0
  7. package/dist/browser/array/arrayCast.js.map +1 -0
  8. package/dist/browser/array/index.cjs +3 -0
  9. package/dist/browser/array/index.d.ts +2 -0
  10. package/dist/browser/array/index.js +3 -0
  11. package/dist/browser/browser.cjs +196 -0
  12. package/dist/browser/browser.d.ts +37 -0
  13. package/dist/browser/browser.js +30 -0
  14. package/dist/browser/constants/index.cjs +19 -0
  15. package/dist/browser/constants/index.d.ts +16 -0
  16. package/dist/browser/constants/index.d.ts.map +1 -0
  17. package/dist/browser/constants/index.js +17 -0
  18. package/dist/browser/constants/index.js.map +1 -0
  19. package/dist/browser/date/index.cjs +8 -0
  20. package/dist/browser/date/index.d.ts +3 -0
  21. package/dist/browser/date/index.js +4 -0
  22. package/dist/browser/date/prettyMs.cjs +9 -0
  23. package/dist/browser/date/prettyMs.d.ts +8 -0
  24. package/dist/browser/date/prettyMs.d.ts.map +1 -0
  25. package/dist/browser/date/prettyMs.js +8 -0
  26. package/dist/browser/date/prettyMs.js.map +1 -0
  27. package/dist/browser/date/timeAgo.cjs +14 -0
  28. package/dist/browser/date/timeAgo.d.ts +15 -0
  29. package/dist/browser/date/timeAgo.d.ts.map +1 -0
  30. package/dist/browser/date/timeAgo.js +11 -0
  31. package/dist/browser/date/timeAgo.js.map +1 -0
  32. package/dist/browser/file/browser.cjs +25 -0
  33. package/dist/browser/file/browser.d.ts +7 -0
  34. package/dist/browser/file/browser.js +7 -0
  35. package/dist/browser/file/fileBuffer.browser.cjs +115 -0
  36. package/dist/browser/file/fileBuffer.browser.d.ts +88 -0
  37. package/dist/browser/file/fileBuffer.browser.d.ts.map +1 -0
  38. package/dist/browser/file/fileBuffer.browser.js +115 -0
  39. package/dist/browser/file/fileBuffer.browser.js.map +1 -0
  40. package/dist/browser/file/fileBytes.cjs +9 -0
  41. package/dist/browser/file/fileBytes.d.ts +8 -0
  42. package/dist/browser/file/fileBytes.d.ts.map +1 -0
  43. package/dist/browser/file/fileBytes.js +8 -0
  44. package/dist/browser/file/fileBytes.js.map +1 -0
  45. package/dist/browser/file/fileType.browser.cjs +22 -0
  46. package/dist/browser/file/fileType.browser.d.ts +19 -0
  47. package/dist/browser/file/fileType.browser.d.ts.map +1 -0
  48. package/dist/browser/file/fileType.browser.js +15 -0
  49. package/dist/browser/file/fileType.browser.js.map +1 -0
  50. package/dist/browser/file/fileXml.browser.cjs +8 -0
  51. package/dist/browser/file/fileXml.browser.d.ts +12 -0
  52. package/dist/browser/file/fileXml.browser.d.ts.map +1 -0
  53. package/dist/browser/file/fileXml.browser.js +7 -0
  54. package/dist/browser/file/fileXml.browser.js.map +1 -0
  55. package/dist/browser/file/interface.d.ts +26 -0
  56. package/dist/browser/file/interface.d.ts.map +1 -0
  57. package/dist/browser/function/index.cjs +10 -0
  58. package/dist/browser/function/index.d.ts +8 -0
  59. package/dist/browser/function/index.d.ts.map +1 -0
  60. package/dist/browser/function/index.js +9 -0
  61. package/dist/browser/function/index.js.map +1 -0
  62. package/dist/browser/is/index.cjs +42 -0
  63. package/dist/browser/is/index.d.ts +7 -0
  64. package/dist/browser/is/index.js +8 -0
  65. package/dist/browser/is/isJSON.cjs +44 -0
  66. package/dist/browser/is/isJSON.d.ts +30 -0
  67. package/dist/browser/is/isJSON.d.ts.map +1 -0
  68. package/dist/browser/is/isJSON.js +41 -0
  69. package/dist/browser/is/isJSON.js.map +1 -0
  70. package/dist/browser/is/isPlatform.cjs +20 -0
  71. package/dist/browser/is/isPlatform.d.ts +16 -0
  72. package/dist/browser/is/isPlatform.d.ts.map +1 -0
  73. package/dist/browser/is/isPlatform.js +19 -0
  74. package/dist/browser/is/isPlatform.js.map +1 -0
  75. package/dist/browser/is/isPrimitive.cjs +91 -0
  76. package/dist/browser/is/isPrimitive.d.ts +79 -0
  77. package/dist/browser/is/isPrimitive.d.ts.map +1 -0
  78. package/dist/browser/is/isPrimitive.js +79 -0
  79. package/dist/browser/is/isPrimitive.js.map +1 -0
  80. package/dist/browser/is/isPrimitiveWithout.cjs +86 -0
  81. package/dist/browser/is/isPrimitiveWithout.d.ts +72 -0
  82. package/dist/browser/is/isPrimitiveWithout.d.ts.map +1 -0
  83. package/dist/browser/is/isPrimitiveWithout.js +74 -0
  84. package/dist/browser/is/isPrimitiveWithout.js.map +1 -0
  85. package/dist/browser/is/isTagOf.cjs +21 -0
  86. package/dist/browser/is/isTagOf.d.ts +12 -0
  87. package/dist/browser/is/isTagOf.d.ts.map +1 -0
  88. package/dist/browser/is/isTagOf.js +21 -0
  89. package/dist/browser/is/isTagOf.js.map +1 -0
  90. package/dist/browser/is/isTypeOf.cjs +29 -0
  91. package/dist/browser/is/isTypeOf.d.ts +16 -0
  92. package/dist/browser/is/isTypeOf.d.ts.map +1 -0
  93. package/dist/browser/is/isTypeOf.js +28 -0
  94. package/dist/browser/is/isTypeOf.js.map +1 -0
  95. package/dist/browser/object/index.cjs +3 -0
  96. package/dist/browser/object/index.d.ts +2 -0
  97. package/dist/browser/object/index.js +3 -0
  98. package/dist/browser/object/objectClone.cjs +22 -0
  99. package/dist/browser/object/objectClone.d.ts +8 -0
  100. package/dist/browser/object/objectClone.d.ts.map +1 -0
  101. package/dist/browser/object/objectClone.js +22 -0
  102. package/dist/browser/object/objectClone.js.map +1 -0
  103. package/dist/browser/promise/awaitTo.cjs +8 -0
  104. package/dist/browser/promise/awaitTo.d.ts +7 -0
  105. package/dist/browser/promise/awaitTo.d.ts.map +1 -0
  106. package/dist/browser/promise/awaitTo.js +8 -0
  107. package/dist/browser/promise/awaitTo.js.map +1 -0
  108. package/dist/browser/promise/index.cjs +6 -0
  109. package/dist/browser/promise/index.d.ts +3 -0
  110. package/dist/browser/promise/index.js +4 -0
  111. package/dist/browser/promise/pLimit.cjs +11 -0
  112. package/dist/browser/promise/pLimit.d.ts +10 -0
  113. package/dist/browser/promise/pLimit.d.ts.map +1 -0
  114. package/dist/browser/promise/pLimit.js +9 -0
  115. package/dist/browser/promise/pLimit.js.map +1 -0
  116. package/dist/browser/regexp/OTHERS.cjs +16 -0
  117. package/dist/browser/regexp/OTHERS.d.ts +14 -0
  118. package/dist/browser/regexp/OTHERS.d.ts.map +1 -0
  119. package/dist/browser/regexp/OTHERS.js +15 -0
  120. package/dist/browser/regexp/OTHERS.js.map +1 -0
  121. package/dist/browser/regexp/RULES.cjs +698 -0
  122. package/dist/browser/regexp/RULES.d.ts +434 -0
  123. package/dist/browser/regexp/RULES.d.ts.map +1 -0
  124. package/dist/browser/regexp/RULES.js +615 -0
  125. package/dist/browser/regexp/RULES.js.map +1 -0
  126. package/dist/browser/regexp/index.cjs +89 -0
  127. package/dist/browser/regexp/index.d.ts +13 -0
  128. package/dist/browser/regexp/index.d.ts.map +1 -0
  129. package/dist/browser/regexp/index.js +4 -0
  130. package/dist/browser/request/browser.cjs +8 -0
  131. package/dist/browser/request/browser.d.ts +4 -0
  132. package/dist/browser/request/browser.js +4 -0
  133. package/dist/browser/request/instance.cjs +135 -0
  134. package/dist/browser/request/instance.d.ts +45 -0
  135. package/dist/browser/request/instance.d.ts.map +1 -0
  136. package/dist/browser/request/instance.js +134 -0
  137. package/dist/browser/request/instance.js.map +1 -0
  138. package/dist/browser/request/interceptors.browser.cjs +66 -0
  139. package/dist/browser/request/interceptors.browser.d.ts +25 -0
  140. package/dist/browser/request/interceptors.browser.d.ts.map +1 -0
  141. package/dist/browser/request/interceptors.browser.js +63 -0
  142. package/dist/browser/request/interceptors.browser.js.map +1 -0
  143. package/dist/browser/request/interface.d.ts +54 -0
  144. package/dist/browser/request/interface.d.ts.map +1 -0
  145. package/dist/browser/string/className.cjs +13 -0
  146. package/dist/browser/string/className.d.ts +11 -0
  147. package/dist/browser/string/className.d.ts.map +1 -0
  148. package/dist/browser/string/className.js +10 -0
  149. package/dist/browser/string/className.js.map +1 -0
  150. package/dist/browser/string/index.cjs +7 -0
  151. package/dist/browser/string/index.d.ts +3 -0
  152. package/dist/browser/string/index.js +4 -0
  153. package/dist/browser/string/proto.cjs +37 -0
  154. package/dist/browser/string/proto.d.ts +19 -0
  155. package/dist/browser/string/proto.d.ts.map +1 -0
  156. package/dist/browser/string/proto.js +36 -0
  157. package/dist/browser/string/proto.js.map +1 -0
  158. package/dist/browser/tree/index.cjs +7 -0
  159. package/dist/browser/tree/index.d.ts +5 -0
  160. package/dist/browser/tree/index.js +5 -0
  161. package/dist/browser/tree/interface.d.ts +40 -0
  162. package/dist/browser/tree/interface.d.ts.map +1 -0
  163. package/dist/browser/tree/treeFilter.cjs +58 -0
  164. package/dist/browser/tree/treeFilter.d.ts +14 -0
  165. package/dist/browser/tree/treeFilter.d.ts.map +1 -0
  166. package/dist/browser/tree/treeFilter.js +59 -0
  167. package/dist/browser/tree/treeFilter.js.map +1 -0
  168. package/dist/browser/tree/treeFlatten.cjs +23 -0
  169. package/dist/browser/tree/treeFlatten.d.ts +15 -0
  170. package/dist/browser/tree/treeFlatten.d.ts.map +1 -0
  171. package/dist/browser/tree/treeFlatten.js +24 -0
  172. package/dist/browser/tree/treeFlatten.js.map +1 -0
  173. package/dist/browser/tree/treeGenerate.cjs +37 -0
  174. package/dist/browser/tree/treeGenerate.d.ts +16 -0
  175. package/dist/browser/tree/treeGenerate.d.ts.map +1 -0
  176. package/dist/browser/tree/treeGenerate.js +37 -0
  177. package/dist/browser/tree/treeGenerate.js.map +1 -0
  178. package/dist/noExternal/browser.esm.html +94 -0
  179. package/dist/noExternal/browser.esm.js +10734 -0
  180. package/dist/noExternal/browser.esm.min.js +16 -0
  181. package/dist/noExternal/browser.esm.min.js.map +1 -0
  182. package/dist/noExternal/browser.umd.html +28 -0
  183. package/dist/noExternal/browser.umd.js +10905 -0
  184. package/dist/noExternal/browser.umd.min.js +16 -0
  185. package/dist/noExternal/browser.umd.min.js.map +1 -0
  186. package/dist/noExternal/node.cjs.js +18282 -0
  187. package/dist/noExternal/node.cjs.min.js +0 -0
  188. package/dist/noExternal/node.cjs.min.js.map +1 -0
  189. package/dist/noExternal/node.esm.js +21727 -0
  190. package/dist/noExternal/node.esm.min.js +36 -0
  191. package/dist/noExternal/node.esm.min.js.map +1 -0
  192. package/dist/node/_virtual/rolldown_runtime.cjs +29 -0
  193. package/dist/node/array/arrayCast.cjs +29 -0
  194. package/dist/node/array/arrayCast.d.ts +27 -0
  195. package/dist/node/array/arrayCast.d.ts.map +1 -0
  196. package/dist/node/array/arrayCast.js +30 -0
  197. package/dist/node/array/arrayCast.js.map +1 -0
  198. package/dist/node/array/index.cjs +3 -0
  199. package/dist/node/array/index.d.ts +2 -0
  200. package/dist/node/array/index.js +3 -0
  201. package/dist/node/constants/index.cjs +19 -0
  202. package/dist/node/constants/index.d.ts +16 -0
  203. package/dist/node/constants/index.d.ts.map +1 -0
  204. package/dist/node/constants/index.js +17 -0
  205. package/dist/node/constants/index.js.map +1 -0
  206. package/dist/node/date/index.cjs +8 -0
  207. package/dist/node/date/index.d.ts +3 -0
  208. package/dist/node/date/index.js +4 -0
  209. package/dist/node/date/prettyMs.cjs +9 -0
  210. package/dist/node/date/prettyMs.d.ts +8 -0
  211. package/dist/node/date/prettyMs.d.ts.map +1 -0
  212. package/dist/node/date/prettyMs.js +8 -0
  213. package/dist/node/date/prettyMs.js.map +1 -0
  214. package/dist/node/date/timeAgo.cjs +14 -0
  215. package/dist/node/date/timeAgo.d.ts +15 -0
  216. package/dist/node/date/timeAgo.d.ts.map +1 -0
  217. package/dist/node/date/timeAgo.js +11 -0
  218. package/dist/node/date/timeAgo.js.map +1 -0
  219. package/dist/node/file/fileBuffer.node.cjs +115 -0
  220. package/dist/node/file/fileBuffer.node.d.ts +88 -0
  221. package/dist/node/file/fileBuffer.node.d.ts.map +1 -0
  222. package/dist/node/file/fileBuffer.node.js +115 -0
  223. package/dist/node/file/fileBuffer.node.js.map +1 -0
  224. package/dist/node/file/fileBytes.cjs +9 -0
  225. package/dist/node/file/fileBytes.d.ts +8 -0
  226. package/dist/node/file/fileBytes.d.ts.map +1 -0
  227. package/dist/node/file/fileBytes.js +8 -0
  228. package/dist/node/file/fileBytes.js.map +1 -0
  229. package/dist/node/file/fileType.node.cjs +22 -0
  230. package/dist/node/file/fileType.node.d.ts +19 -0
  231. package/dist/node/file/fileType.node.d.ts.map +1 -0
  232. package/dist/node/file/fileType.node.js +15 -0
  233. package/dist/node/file/fileType.node.js.map +1 -0
  234. package/dist/node/file/fileXml.node.cjs +10 -0
  235. package/dist/node/file/fileXml.node.d.ts +8 -0
  236. package/dist/node/file/fileXml.node.d.ts.map +1 -0
  237. package/dist/node/file/fileXml.node.js +9 -0
  238. package/dist/node/file/fileXml.node.js.map +1 -0
  239. package/dist/node/file/interface.d.ts +26 -0
  240. package/dist/node/file/interface.d.ts.map +1 -0
  241. package/dist/node/file/node.cjs +25 -0
  242. package/dist/node/file/node.d.ts +7 -0
  243. package/dist/node/file/node.js +7 -0
  244. package/dist/node/function/index.cjs +10 -0
  245. package/dist/node/function/index.d.ts +8 -0
  246. package/dist/node/function/index.d.ts.map +1 -0
  247. package/dist/node/function/index.js +9 -0
  248. package/dist/node/function/index.js.map +1 -0
  249. package/dist/node/is/index.cjs +42 -0
  250. package/dist/node/is/index.d.ts +7 -0
  251. package/dist/node/is/index.js +8 -0
  252. package/dist/node/is/isJSON.cjs +44 -0
  253. package/dist/node/is/isJSON.d.ts +30 -0
  254. package/dist/node/is/isJSON.d.ts.map +1 -0
  255. package/dist/node/is/isJSON.js +41 -0
  256. package/dist/node/is/isJSON.js.map +1 -0
  257. package/dist/node/is/isPlatform.cjs +20 -0
  258. package/dist/node/is/isPlatform.d.ts +16 -0
  259. package/dist/node/is/isPlatform.d.ts.map +1 -0
  260. package/dist/node/is/isPlatform.js +19 -0
  261. package/dist/node/is/isPlatform.js.map +1 -0
  262. package/dist/node/is/isPrimitive.cjs +91 -0
  263. package/dist/node/is/isPrimitive.d.ts +79 -0
  264. package/dist/node/is/isPrimitive.d.ts.map +1 -0
  265. package/dist/node/is/isPrimitive.js +79 -0
  266. package/dist/node/is/isPrimitive.js.map +1 -0
  267. package/dist/node/is/isPrimitiveWithout.cjs +86 -0
  268. package/dist/node/is/isPrimitiveWithout.d.ts +72 -0
  269. package/dist/node/is/isPrimitiveWithout.d.ts.map +1 -0
  270. package/dist/node/is/isPrimitiveWithout.js +74 -0
  271. package/dist/node/is/isPrimitiveWithout.js.map +1 -0
  272. package/dist/node/is/isTagOf.cjs +21 -0
  273. package/dist/node/is/isTagOf.d.ts +12 -0
  274. package/dist/node/is/isTagOf.d.ts.map +1 -0
  275. package/dist/node/is/isTagOf.js +21 -0
  276. package/dist/node/is/isTagOf.js.map +1 -0
  277. package/dist/node/is/isTypeOf.cjs +29 -0
  278. package/dist/node/is/isTypeOf.d.ts +16 -0
  279. package/dist/node/is/isTypeOf.d.ts.map +1 -0
  280. package/dist/node/is/isTypeOf.js +28 -0
  281. package/dist/node/is/isTypeOf.js.map +1 -0
  282. package/dist/node/node.cjs +196 -0
  283. package/dist/node/node.d.ts +37 -0
  284. package/dist/node/node.js +30 -0
  285. package/dist/node/object/index.cjs +3 -0
  286. package/dist/node/object/index.d.ts +2 -0
  287. package/dist/node/object/index.js +3 -0
  288. package/dist/node/object/objectClone.cjs +22 -0
  289. package/dist/node/object/objectClone.d.ts +8 -0
  290. package/dist/node/object/objectClone.d.ts.map +1 -0
  291. package/dist/node/object/objectClone.js +22 -0
  292. package/dist/node/object/objectClone.js.map +1 -0
  293. package/dist/node/promise/awaitTo.cjs +8 -0
  294. package/dist/node/promise/awaitTo.d.ts +7 -0
  295. package/dist/node/promise/awaitTo.d.ts.map +1 -0
  296. package/dist/node/promise/awaitTo.js +8 -0
  297. package/dist/node/promise/awaitTo.js.map +1 -0
  298. package/dist/node/promise/index.cjs +6 -0
  299. package/dist/node/promise/index.d.ts +3 -0
  300. package/dist/node/promise/index.js +4 -0
  301. package/dist/node/promise/pLimit.cjs +11 -0
  302. package/dist/node/promise/pLimit.d.ts +10 -0
  303. package/dist/node/promise/pLimit.d.ts.map +1 -0
  304. package/dist/node/promise/pLimit.js +9 -0
  305. package/dist/node/promise/pLimit.js.map +1 -0
  306. package/dist/node/regexp/OTHERS.cjs +16 -0
  307. package/dist/node/regexp/OTHERS.d.ts +14 -0
  308. package/dist/node/regexp/OTHERS.d.ts.map +1 -0
  309. package/dist/node/regexp/OTHERS.js +15 -0
  310. package/dist/node/regexp/OTHERS.js.map +1 -0
  311. package/dist/node/regexp/RULES.cjs +698 -0
  312. package/dist/node/regexp/RULES.d.ts +434 -0
  313. package/dist/node/regexp/RULES.d.ts.map +1 -0
  314. package/dist/node/regexp/RULES.js +615 -0
  315. package/dist/node/regexp/RULES.js.map +1 -0
  316. package/dist/node/regexp/index.cjs +89 -0
  317. package/dist/node/regexp/index.d.ts +13 -0
  318. package/dist/node/regexp/index.d.ts.map +1 -0
  319. package/dist/node/regexp/index.js +4 -0
  320. package/dist/node/request/instance.cjs +135 -0
  321. package/dist/node/request/instance.d.ts +45 -0
  322. package/dist/node/request/instance.d.ts.map +1 -0
  323. package/dist/node/request/instance.js +134 -0
  324. package/dist/node/request/instance.js.map +1 -0
  325. package/dist/node/request/interceptors.node.cjs +66 -0
  326. package/dist/node/request/interceptors.node.d.ts +25 -0
  327. package/dist/node/request/interceptors.node.d.ts.map +1 -0
  328. package/dist/node/request/interceptors.node.js +63 -0
  329. package/dist/node/request/interceptors.node.js.map +1 -0
  330. package/dist/node/request/interface.d.ts +54 -0
  331. package/dist/node/request/interface.d.ts.map +1 -0
  332. package/dist/node/request/node.cjs +8 -0
  333. package/dist/node/request/node.d.ts +4 -0
  334. package/dist/node/request/node.js +4 -0
  335. package/dist/node/string/className.cjs +13 -0
  336. package/dist/node/string/className.d.ts +11 -0
  337. package/dist/node/string/className.d.ts.map +1 -0
  338. package/dist/node/string/className.js +10 -0
  339. package/dist/node/string/className.js.map +1 -0
  340. package/dist/node/string/index.cjs +7 -0
  341. package/dist/node/string/index.d.ts +3 -0
  342. package/dist/node/string/index.js +4 -0
  343. package/dist/node/string/proto.cjs +37 -0
  344. package/dist/node/string/proto.d.ts +19 -0
  345. package/dist/node/string/proto.d.ts.map +1 -0
  346. package/dist/node/string/proto.js +36 -0
  347. package/dist/node/string/proto.js.map +1 -0
  348. package/dist/node/tree/index.cjs +7 -0
  349. package/dist/node/tree/index.d.ts +5 -0
  350. package/dist/node/tree/index.js +5 -0
  351. package/dist/node/tree/interface.d.ts +40 -0
  352. package/dist/node/tree/interface.d.ts.map +1 -0
  353. package/dist/node/tree/treeFilter.cjs +58 -0
  354. package/dist/node/tree/treeFilter.d.ts +14 -0
  355. package/dist/node/tree/treeFilter.d.ts.map +1 -0
  356. package/dist/node/tree/treeFilter.js +59 -0
  357. package/dist/node/tree/treeFilter.js.map +1 -0
  358. package/dist/node/tree/treeFlatten.cjs +23 -0
  359. package/dist/node/tree/treeFlatten.d.ts +15 -0
  360. package/dist/node/tree/treeFlatten.d.ts.map +1 -0
  361. package/dist/node/tree/treeFlatten.js +24 -0
  362. package/dist/node/tree/treeFlatten.js.map +1 -0
  363. package/dist/node/tree/treeGenerate.cjs +37 -0
  364. package/dist/node/tree/treeGenerate.d.ts +16 -0
  365. package/dist/node/tree/treeGenerate.d.ts.map +1 -0
  366. package/dist/node/tree/treeGenerate.js +37 -0
  367. package/dist/node/tree/treeGenerate.js.map +1 -0
  368. package/dist/version.d.ts +5 -0
  369. package/dist/version.d.ts.map +1 -0
  370. package/dist/version.js +10 -0
  371. package/dist/version.js.map +1 -0
  372. package/package.json +95 -53
  373. package/LICENSE +0 -21
  374. package/dist/index.cjs +0 -403
  375. package/dist/index.d.ts +0 -496
  376. package/dist/index.mjs +0 -307
@@ -0,0 +1,29 @@
1
+ //#region rolldown:runtime
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
11
+ key = keys[i];
12
+ if (!__hasOwnProp.call(to, key) && key !== except) {
13
+ __defProp(to, key, {
14
+ get: ((k) => from[k]).bind(null, key),
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ }
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
23
+ value: mod,
24
+ enumerable: true
25
+ }) : target, mod));
26
+
27
+ //#endregion
28
+
29
+ exports.__toESM = __toESM;
@@ -0,0 +1,29 @@
1
+ const require_isPrimitive = require('../is/isPrimitive.cjs');
2
+ const require_isPrimitiveWithout = require('../is/isPrimitiveWithout.cjs');
3
+
4
+ //#region src/array/arrayCast.ts
5
+ /**
6
+ * Converts a value to an array.
7
+ *
8
+ * @param {unknown} value - The value to convert.
9
+ * @returns {any[]} Returns the converted array.
10
+ *
11
+ * @example
12
+ * arrayCast(null) // => returns []
13
+ * arrayCast(undefined) // => returns []
14
+ * arrayCast(1) // => returns [1]
15
+ * arrayCast([1, 2, 3]) // => returns [1, 2, 3]
16
+ * arrayCast('a') // => returns ['a']
17
+ * arrayCast(['a', 'b', 'c']) // => returns ['a', 'b', 'c']
18
+ * arrayCast(true) // => returns [true]
19
+ * arrayCast(false) // => returns [false]
20
+ * arrayCast([true, false]) // => returns [true, false]
21
+ * arrayCast({ a: '1' }) // => returns [{ a: '1' }]
22
+ */
23
+ function arrayCast(value) {
24
+ if (require_isPrimitive.isNil(value)) return [];
25
+ return require_isPrimitiveWithout.isArray(value) ? Array.from(value) : [value];
26
+ }
27
+
28
+ //#endregion
29
+ exports.arrayCast = arrayCast;
@@ -0,0 +1,27 @@
1
+ //#region src/array/arrayCast.d.ts
2
+ /**
3
+ * 函数 arrayCast 的返回值
4
+ */
5
+ type ArrayCastReturn<T> = T extends Array<infer U> ? U[] : (T extends null | undefined ? any[] : T[]);
6
+ /**
7
+ * Converts a value to an array.
8
+ *
9
+ * @param {unknown} value - The value to convert.
10
+ * @returns {any[]} Returns the converted array.
11
+ *
12
+ * @example
13
+ * arrayCast(null) // => returns []
14
+ * arrayCast(undefined) // => returns []
15
+ * arrayCast(1) // => returns [1]
16
+ * arrayCast([1, 2, 3]) // => returns [1, 2, 3]
17
+ * arrayCast('a') // => returns ['a']
18
+ * arrayCast(['a', 'b', 'c']) // => returns ['a', 'b', 'c']
19
+ * arrayCast(true) // => returns [true]
20
+ * arrayCast(false) // => returns [false]
21
+ * arrayCast([true, false]) // => returns [true, false]
22
+ * arrayCast({ a: '1' }) // => returns [{ a: '1' }]
23
+ */
24
+ declare function arrayCast<T>(value?: T): ArrayCastReturn<T>;
25
+ //#endregion
26
+ export { ArrayCastReturn, arrayCast };
27
+ //# sourceMappingURL=arrayCast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrayCast.d.ts","names":[],"sources":["../../../src/array/arrayCast.ts"],"sourcesContent":[],"mappings":";;AAKA;;AAA2C,KAA/B,eAA+B,CAAA,CAAA,CAAA,GAAV,CAAU,SAAA,KAAA,CAAA,KAAA,EAAA,CAAA,GAAiB,CAAjB,EAAA,GAAA,CAAwB,CAAxB,SAAA,IAAA,GAAA,SAAA,GAAA,GAAA,EAAA,GAA6D,CAA7D,EAAA,CAAA;;;;;AAoB3C;;;;;;;;;;;;;;iBAAgB,qBAAqB,IAAI,gBAAgB"}
@@ -0,0 +1,30 @@
1
+ import { isNil } from "../is/isPrimitive.js";
2
+ import { isArray } from "../is/isPrimitiveWithout.js";
3
+
4
+ //#region src/array/arrayCast.ts
5
+ /**
6
+ * Converts a value to an array.
7
+ *
8
+ * @param {unknown} value - The value to convert.
9
+ * @returns {any[]} Returns the converted array.
10
+ *
11
+ * @example
12
+ * arrayCast(null) // => returns []
13
+ * arrayCast(undefined) // => returns []
14
+ * arrayCast(1) // => returns [1]
15
+ * arrayCast([1, 2, 3]) // => returns [1, 2, 3]
16
+ * arrayCast('a') // => returns ['a']
17
+ * arrayCast(['a', 'b', 'c']) // => returns ['a', 'b', 'c']
18
+ * arrayCast(true) // => returns [true]
19
+ * arrayCast(false) // => returns [false]
20
+ * arrayCast([true, false]) // => returns [true, false]
21
+ * arrayCast({ a: '1' }) // => returns [{ a: '1' }]
22
+ */
23
+ function arrayCast(value) {
24
+ if (isNil(value)) return [];
25
+ return isArray(value) ? Array.from(value) : [value];
26
+ }
27
+
28
+ //#endregion
29
+ export { arrayCast };
30
+ //# sourceMappingURL=arrayCast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrayCast.js","names":[],"sources":["../../../src/array/arrayCast.ts"],"sourcesContent":["import { isArray, isNil } from '../is'\n\n/**\n * 函数 arrayCast 的返回值\n */\nexport type ArrayCastReturn<T> = T extends Array<infer U> ? U[] : (T extends null | undefined ? any[] : T[])\n\n/**\n * Converts a value to an array.\n *\n * @param {unknown} value - The value to convert.\n * @returns {any[]} Returns the converted array.\n *\n * @example\n * arrayCast(null) // => returns []\n * arrayCast(undefined) // => returns []\n * arrayCast(1) // => returns [1]\n * arrayCast([1, 2, 3]) // => returns [1, 2, 3]\n * arrayCast('a') // => returns ['a']\n * arrayCast(['a', 'b', 'c']) // => returns ['a', 'b', 'c']\n * arrayCast(true) // => returns [true]\n * arrayCast(false) // => returns [false]\n * arrayCast([true, false]) // => returns [true, false]\n * arrayCast({ a: '1' }) // => returns [{ a: '1' }]\n */\nexport function arrayCast<T>(value?: T): ArrayCastReturn<T> {\n if (isNil(value)) return ([] as unknown as ArrayCastReturn<T>)\n return (isArray(value) ? Array.from(value) : [value]) as ArrayCastReturn<T>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAyBA,SAAgB,UAAa,OAA+B;AAC1D,KAAI,MAAM,MAAM,CAAE,QAAQ,EAAE;AAC5B,QAAQ,QAAQ,MAAM,GAAG,MAAM,KAAK,MAAM,GAAG,CAAC,MAAM"}
@@ -0,0 +1,3 @@
1
+ const require_arrayCast = require('./arrayCast.cjs');
2
+
3
+ exports.arrayCast = require_arrayCast.arrayCast;
@@ -0,0 +1,2 @@
1
+ import { ArrayCastReturn, arrayCast } from "./arrayCast.js";
2
+ export { ArrayCastReturn, arrayCast };
@@ -0,0 +1,3 @@
1
+ import { arrayCast } from "./arrayCast.js";
2
+
3
+ export { arrayCast };
@@ -0,0 +1,19 @@
1
+
2
+ //#region src/constants/index.ts
3
+ /**
4
+ * 空对象
5
+ */
6
+ const CONSTANT_EMPTY_ARRAY = [];
7
+ /**
8
+ * 空数组
9
+ */
10
+ const CONSTANT_EMPTY_OBJECT = {};
11
+ /**
12
+ * 空函数
13
+ */
14
+ function CONSTANT_NOOP() {}
15
+
16
+ //#endregion
17
+ exports.CONSTANT_EMPTY_ARRAY = CONSTANT_EMPTY_ARRAY;
18
+ exports.CONSTANT_EMPTY_OBJECT = CONSTANT_EMPTY_OBJECT;
19
+ exports.CONSTANT_NOOP = CONSTANT_NOOP;
@@ -0,0 +1,16 @@
1
+ //#region src/constants/index.d.ts
2
+ /**
3
+ * 空对象
4
+ */
5
+ declare const CONSTANT_EMPTY_ARRAY: never[];
6
+ /**
7
+ * 空数组
8
+ */
9
+ declare const CONSTANT_EMPTY_OBJECT: {};
10
+ /**
11
+ * 空函数
12
+ */
13
+ declare function CONSTANT_NOOP(): void;
14
+ //#endregion
15
+ export { CONSTANT_EMPTY_ARRAY, CONSTANT_EMPTY_OBJECT, CONSTANT_NOOP };
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/constants/index.ts"],"sourcesContent":[],"mappings":";;AAGA;AAKA;AAKgB,cAVH,oBAUgB,EAAA,KAAA,EAAA;;;;cALhB;;;;iBAKG,aAAA,CAAA"}
@@ -0,0 +1,17 @@
1
+ //#region src/constants/index.ts
2
+ /**
3
+ * 空对象
4
+ */
5
+ const CONSTANT_EMPTY_ARRAY = [];
6
+ /**
7
+ * 空数组
8
+ */
9
+ const CONSTANT_EMPTY_OBJECT = {};
10
+ /**
11
+ * 空函数
12
+ */
13
+ function CONSTANT_NOOP() {}
14
+
15
+ //#endregion
16
+ export { CONSTANT_EMPTY_ARRAY, CONSTANT_EMPTY_OBJECT, CONSTANT_NOOP };
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/constants/index.ts"],"sourcesContent":["/**\n * 空对象\n */\nexport const CONSTANT_EMPTY_ARRAY = []\n\n/**\n * 空数组\n */\nexport const CONSTANT_EMPTY_OBJECT = {}\n\n/**\n * 空函数\n */\nexport function CONSTANT_NOOP(): void { }\n"],"mappings":";;;;AAGA,MAAa,uBAAuB,EAAE;;;;AAKtC,MAAa,wBAAwB,EAAE;;;;AAKvC,SAAgB,gBAAsB"}
@@ -0,0 +1,8 @@
1
+ const require_prettyMs = require('./prettyMs.cjs');
2
+ const require_timeAgo = require('./timeAgo.cjs');
3
+
4
+ exports.datePrettyMs = require_prettyMs.datePrettyMs;
5
+ exports.dateTimeAgoFormat = require_timeAgo.dateTimeAgoFormat;
6
+ exports.dateTimeAgoLocale = require_timeAgo.dateTimeAgoLocale;
7
+ exports.dateTimeAgoRender = require_timeAgo.dateTimeAgoRender;
8
+ exports.dateTimeAgoRenderCancel = require_timeAgo.dateTimeAgoRenderCancel;
@@ -0,0 +1,3 @@
1
+ import { DatePrettyMsOptions, datePrettyMs } from "./prettyMs.js";
2
+ import { DateTimeAgoLocaleFunc, DateTimeAgoLocaleMap, DateTimeAgoOpts, DateTimeAgoTDate, DateTimeAgoTimerPool, dateTimeAgoFormat, dateTimeAgoLocale, dateTimeAgoRender, dateTimeAgoRenderCancel } from "./timeAgo.js";
3
+ export { DatePrettyMsOptions, DateTimeAgoLocaleFunc, DateTimeAgoLocaleMap, DateTimeAgoOpts, DateTimeAgoTDate, DateTimeAgoTimerPool, datePrettyMs, dateTimeAgoFormat, dateTimeAgoLocale, dateTimeAgoRender, dateTimeAgoRenderCancel };
@@ -0,0 +1,4 @@
1
+ import { datePrettyMs } from "./prettyMs.js";
2
+ import { dateTimeAgoFormat, dateTimeAgoLocale, dateTimeAgoRender, dateTimeAgoRenderCancel } from "./timeAgo.js";
3
+
4
+ export { datePrettyMs, dateTimeAgoFormat, dateTimeAgoLocale, dateTimeAgoRender, dateTimeAgoRenderCancel };
@@ -0,0 +1,9 @@
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ let pretty_ms = require("pretty-ms");
3
+ pretty_ms = require_rolldown_runtime.__toESM(pretty_ms);
4
+
5
+ //#region src/date/prettyMs.ts
6
+ const datePrettyMs = pretty_ms.default;
7
+
8
+ //#endregion
9
+ exports.datePrettyMs = datePrettyMs;
@@ -0,0 +1,8 @@
1
+ import prettyMs, { Options } from "pretty-ms";
2
+
3
+ //#region src/date/prettyMs.d.ts
4
+ type DatePrettyMsOptions = Options;
5
+ declare const datePrettyMs: typeof prettyMs;
6
+ //#endregion
7
+ export { DatePrettyMsOptions, datePrettyMs };
8
+ //# sourceMappingURL=prettyMs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prettyMs.d.ts","names":[],"sources":["../../../src/date/prettyMs.ts"],"sourcesContent":[],"mappings":";;;KAGY,mBAAA,GAAsB;AAAtB,cAEC,YAFkB,EAAA,OAEN,QAFgB"}
@@ -0,0 +1,8 @@
1
+ import prettyMs from "pretty-ms";
2
+
3
+ //#region src/date/prettyMs.ts
4
+ const datePrettyMs = prettyMs;
5
+
6
+ //#endregion
7
+ export { datePrettyMs };
8
+ //# sourceMappingURL=prettyMs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prettyMs.js","names":[],"sources":["../../../src/date/prettyMs.ts"],"sourcesContent":["import type { Options } from 'pretty-ms'\nimport prettyMs from 'pretty-ms'\n\nexport type DatePrettyMsOptions = Options\n\nexport const datePrettyMs = prettyMs\n"],"mappings":";;;AAKA,MAAa,eAAe"}
@@ -0,0 +1,14 @@
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ let timeago_js = require("timeago.js");
3
+
4
+ //#region src/date/timeAgo.ts
5
+ const dateTimeAgoFormat = timeago_js.format;
6
+ const dateTimeAgoRender = timeago_js.render;
7
+ const dateTimeAgoRenderCancel = timeago_js.cancel;
8
+ const dateTimeAgoLocale = timeago_js.register;
9
+
10
+ //#endregion
11
+ exports.dateTimeAgoFormat = dateTimeAgoFormat;
12
+ exports.dateTimeAgoLocale = dateTimeAgoLocale;
13
+ exports.dateTimeAgoRender = dateTimeAgoRender;
14
+ exports.dateTimeAgoRenderCancel = dateTimeAgoRenderCancel;
@@ -0,0 +1,15 @@
1
+ import { LocaleFunc, LocaleMap, Opts, TDate, TimerPool, cancel, render } from "timeago.js";
2
+
3
+ //#region src/date/timeAgo.d.ts
4
+ type DateTimeAgoLocaleFunc = LocaleFunc;
5
+ type DateTimeAgoLocaleMap = LocaleMap;
6
+ type DateTimeAgoOpts = Opts;
7
+ type DateTimeAgoTDate = TDate;
8
+ type DateTimeAgoTimerPool = TimerPool;
9
+ declare const dateTimeAgoFormat: (date: TDate, locale?: string, opts?: Opts) => string;
10
+ declare const dateTimeAgoRender: typeof render;
11
+ declare const dateTimeAgoRenderCancel: typeof cancel;
12
+ declare const dateTimeAgoLocale: (locale: string, func: LocaleFunc) => void;
13
+ //#endregion
14
+ export { DateTimeAgoLocaleFunc, DateTimeAgoLocaleMap, DateTimeAgoOpts, DateTimeAgoTDate, DateTimeAgoTimerPool, dateTimeAgoFormat, dateTimeAgoLocale, dateTimeAgoRender, dateTimeAgoRenderCancel };
15
+ //# sourceMappingURL=timeAgo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeAgo.d.ts","names":[],"sources":["../../../src/date/timeAgo.ts"],"sourcesContent":[],"mappings":";;;KAGY,qBAAA,GAAwB;AAAxB,KACA,oBAAA,GAAuB,SADC;AACxB,KACA,eAAA,GAAkB,IADE;AACpB,KACA,gBAAA,GAAmB,KADD;AAClB,KACA,oBAAA,GAAuB,SADC;AACxB,cAEC,iBAFmB,EAAG,CAAA,IAAA,EAEL,KAFc,EAAA,MAAA,CAAA,EAAA,MAAA,EAAA,IAAA,CAAA,EAEd,IAFc,EAAA,GAAA,MAAA;AAE/B,cACA,iBADiB,EAAA,OACA,MADA;AACjB,cACA,uBAD0B,EAAA,OACH,MADG;AAC1B,cACA,iBADgC,EAAA,CAAA,MAAT,EAAA,MAAS,EAAA,IAAA,EACf,UADe,EAAA,GAAA,IAAA"}
@@ -0,0 +1,11 @@
1
+ import { cancel, format, register, render } from "timeago.js";
2
+
3
+ //#region src/date/timeAgo.ts
4
+ const dateTimeAgoFormat = format;
5
+ const dateTimeAgoRender = render;
6
+ const dateTimeAgoRenderCancel = cancel;
7
+ const dateTimeAgoLocale = register;
8
+
9
+ //#endregion
10
+ export { dateTimeAgoFormat, dateTimeAgoLocale, dateTimeAgoRender, dateTimeAgoRenderCancel };
11
+ //# sourceMappingURL=timeAgo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeAgo.js","names":[],"sources":["../../../src/date/timeAgo.ts"],"sourcesContent":["import type { LocaleFunc, LocaleMap, Opts, TDate, TimerPool } from 'timeago.js'\nimport { cancel, format, register, render } from 'timeago.js'\n\nexport type DateTimeAgoLocaleFunc = LocaleFunc\nexport type DateTimeAgoLocaleMap = LocaleMap\nexport type DateTimeAgoOpts = Opts\nexport type DateTimeAgoTDate = TDate\nexport type DateTimeAgoTimerPool = TimerPool\n\nexport const dateTimeAgoFormat = format\nexport const dateTimeAgoRender = render\nexport const dateTimeAgoRenderCancel = cancel\nexport const dateTimeAgoLocale = register\n"],"mappings":";;;AASA,MAAa,oBAAoB;AACjC,MAAa,oBAAoB;AACjC,MAAa,0BAA0B;AACvC,MAAa,oBAAoB"}
@@ -0,0 +1,115 @@
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ let es_toolkit = require("es-toolkit");
3
+ let node_buffer = require("node:buffer");
4
+
5
+ //#region src/file/fileBuffer.node.ts
6
+ /**
7
+ * 仅涉及到 Buffer/TypedArray/ArrayBuffer/String/Blob 之间的转换,不涉及修改操作
8
+ * From:
9
+ * Buffer/TypedArray/ArrayBuffer/String/Blob -> Buffer
10
+ * To:
11
+ * Buffer -> ArrayBuffer -> Blob -> File/ObjectURL
12
+ * Buffer -> ArrayBuffer -> TypedArray
13
+ * Buffer -> String
14
+ * 参考转化关系:
15
+ * typedArray
16
+ * ⬇️ typedArray.buffer <=> new Uint8Array/DataView(buffer)
17
+ * ArrayBuffer
18
+ * ⬇️ new Blob([buffer], { type: mimeType }) <=> await blob.arrayBuffer()
19
+ * Blob
20
+ * ⬇️ new File([blob], 'filename', { type: blob.type }) <=> file.slice(0, file.size, file.type)
21
+ * ⬇️ URL.createObjectURL(blob)
22
+ * File/ObjectURL
23
+ */
24
+ var FileBuffer = class FileBuffer {
25
+ #buf;
26
+ /**
27
+ * 判断 TypedArray 类型的类型谓词
28
+ * @description 通过 ArrayBuffer.isView 判断是否为视图,并排除 DataView 类型
29
+ * @param {unknown} x 待检测值
30
+ */
31
+ static isTypedArray(x) {
32
+ return (0, es_toolkit.isTypedArray)(x);
33
+ }
34
+ /**
35
+ * 判断 TypedArray 类型的类型谓词
36
+ * @description 通过 ArrayBuffer.isView 判断是否为视图,并排除 DataView 类型
37
+ * @param {unknown} x 待检测值
38
+ */
39
+ static isDataView(x) {
40
+ return x instanceof DataView;
41
+ }
42
+ /**
43
+ * 判断 ArrayBuffer 类型的类型谓词
44
+ * @param {unknown} x 待检测值
45
+ */
46
+ static isArrayBuffer(x) {
47
+ return (0, es_toolkit.isArrayBuffer)(x);
48
+ }
49
+ /**
50
+ * 判断 Buffer 类型的类型谓词
51
+ * @param {unknown} x 待检测值
52
+ */
53
+ static isBuffer(x) {
54
+ return typeof node_buffer.Buffer !== "undefined" && node_buffer.Buffer.isBuffer(x);
55
+ }
56
+ /**
57
+ * 判断 Blob 类型的类型谓词
58
+ * @param {unknown} x 待检测值
59
+ */
60
+ static isBlob(x) {
61
+ return (0, es_toolkit.isBlob)(x);
62
+ }
63
+ /**
64
+ * 判断 File 类型的类型谓词
65
+ * @param {unknown} x 待检测值
66
+ */
67
+ static isFile(x) {
68
+ return (0, es_toolkit.isFile)(x);
69
+ }
70
+ constructor(...args) {
71
+ if (new.target === FileBuffer) throw new Error("请使用静态方法 fromXXX 创建实例");
72
+ this.#buf = node_buffer.Buffer.from(...args);
73
+ }
74
+ /** Buffer -> Buffer ➡️ 新创建的 Buffer 与原 Buffer 共享相同的数据但修改互不影响 */
75
+ static fromBuffer(buffer) {
76
+ return new class extends FileBuffer {}(buffer);
77
+ }
78
+ toBuffer() {
79
+ return node_buffer.Buffer.from(this.#buf);
80
+ }
81
+ /** Buffer -> ArrayBuffer ➡️ 可指定区间;修改 Buffer 会直接修改 ArrayBuffer 的内容 */
82
+ static fromArrayBuffer(arrayBuffer, byteOffset, length) {
83
+ return new class extends FileBuffer {}(arrayBuffer, byteOffset, length);
84
+ }
85
+ toArrayBuffer() {
86
+ const begin = this.#buf.byteOffset;
87
+ const end = begin + this.#buf.length;
88
+ return this.#buf.buffer.slice(begin, end);
89
+ }
90
+ /** Buffer -> ArrayBuffer -> TypedArray ➡️ 修改 Buffer 会直接修改 TypedArray 的内容 */
91
+ static fromUint8Array(uint8Array) {
92
+ return new class extends FileBuffer {}(uint8Array);
93
+ }
94
+ toUint8Array() {
95
+ return new Uint8Array(this.toArrayBuffer());
96
+ }
97
+ /** Buffer -> ArrayBuffer -> Blob -> File/ObjectURL ➡️ 异步 + 参数指定 MIME 类型 */
98
+ static async fromBlob(blob) {
99
+ const arrayBuffer = await blob.arrayBuffer();
100
+ return new class extends FileBuffer {}(arrayBuffer);
101
+ }
102
+ toBlob(options) {
103
+ return new Blob([this.toArrayBuffer()], options);
104
+ }
105
+ /** Buffer -> String ➡️ 无需手动通过 Blob 和 FileReader 转换, Buffer.toString() 已实现 */
106
+ static fromString(str, encoding) {
107
+ return new class extends FileBuffer {}(str, encoding);
108
+ }
109
+ toString(encoding) {
110
+ return this.#buf.toString(encoding);
111
+ }
112
+ };
113
+
114
+ //#endregion
115
+ exports.FileBuffer = FileBuffer;
@@ -0,0 +1,88 @@
1
+ import { FileBlobOptions, FileBufferEncoding } from "./interface.js";
2
+ import { TypeTypedArray } from "../is/isPrimitiveWithout.js";
3
+ import { Buffer } from "node:buffer";
4
+
5
+ //#region src/file/fileBuffer.node.d.ts
6
+
7
+ /**
8
+ * 仅涉及到 Buffer/TypedArray/ArrayBuffer/String/Blob 之间的转换,不涉及修改操作
9
+ * From:
10
+ * Buffer/TypedArray/ArrayBuffer/String/Blob -> Buffer
11
+ * To:
12
+ * Buffer -> ArrayBuffer -> Blob -> File/ObjectURL
13
+ * Buffer -> ArrayBuffer -> TypedArray
14
+ * Buffer -> String
15
+ * 参考转化关系:
16
+ * typedArray
17
+ * ⬇️ typedArray.buffer <=> new Uint8Array/DataView(buffer)
18
+ * ArrayBuffer
19
+ * ⬇️ new Blob([buffer], { type: mimeType }) <=> await blob.arrayBuffer()
20
+ * Blob
21
+ * ⬇️ new File([blob], 'filename', { type: blob.type }) <=> file.slice(0, file.size, file.type)
22
+ * ⬇️ URL.createObjectURL(blob)
23
+ * File/ObjectURL
24
+ */
25
+ declare class FileBuffer {
26
+ #private;
27
+ /**
28
+ * 判断 TypedArray 类型的类型谓词
29
+ * @description 通过 ArrayBuffer.isView 判断是否为视图,并排除 DataView 类型
30
+ * @param {unknown} x 待检测值
31
+ */
32
+ static isTypedArray(x: unknown): x is TypeTypedArray;
33
+ /**
34
+ * 判断 TypedArray 类型的类型谓词
35
+ * @description 通过 ArrayBuffer.isView 判断是否为视图,并排除 DataView 类型
36
+ * @param {unknown} x 待检测值
37
+ */
38
+ static isDataView(x: unknown): x is DataView;
39
+ /**
40
+ * 判断 ArrayBuffer 类型的类型谓词
41
+ * @param {unknown} x 待检测值
42
+ */
43
+ static isArrayBuffer(x: unknown): x is ArrayBuffer;
44
+ /**
45
+ * 判断 Buffer 类型的类型谓词
46
+ * @param {unknown} x 待检测值
47
+ */
48
+ static isBuffer(x: unknown): x is Buffer;
49
+ /**
50
+ * 判断 Blob 类型的类型谓词
51
+ * @param {unknown} x 待检测值
52
+ */
53
+ static isBlob(x: unknown): x is Blob;
54
+ /**
55
+ * 判断 File 类型的类型谓词
56
+ * @param {unknown} x 待检测值
57
+ */
58
+ static isFile(x: unknown): x is File;
59
+ constructor(...args: any[]);
60
+ /*************************************************************************/
61
+ /** Buffer -> Buffer ➡️ 新创建的 Buffer 与原 Buffer 共享相同的数据但修改互不影响 */
62
+ /*************************************************************************/
63
+ static fromBuffer(buffer: Buffer): FileBuffer;
64
+ toBuffer(): Uint8Array;
65
+ /***********************************************************************************/
66
+ /** Buffer -> ArrayBuffer ➡️ 可指定区间;修改 Buffer 会直接修改 ArrayBuffer 的内容 */
67
+ /***********************************************************************************/
68
+ static fromArrayBuffer(arrayBuffer: ArrayBuffer, byteOffset?: number, length?: number): FileBuffer;
69
+ toArrayBuffer(): ArrayBuffer;
70
+ /***********************************************************************************/
71
+ /** Buffer -> ArrayBuffer -> TypedArray ➡️ 修改 Buffer 会直接修改 TypedArray 的内容 */
72
+ /***********************************************************************************/
73
+ static fromUint8Array(uint8Array: Uint8Array): FileBuffer;
74
+ toUint8Array(): Uint8Array;
75
+ /***********************************************************************************/
76
+ /** Buffer -> ArrayBuffer -> Blob -> File/ObjectURL ➡️ 异步 + 参数指定 MIME 类型 */
77
+ /***********************************************************************************/
78
+ static fromBlob(blob: Blob): Promise<FileBuffer>;
79
+ toBlob(options?: FileBlobOptions): Blob;
80
+ /***********************************************************************************/
81
+ /** Buffer -> String ➡️ 无需手动通过 Blob 和 FileReader 转换, Buffer.toString() 已实现 */
82
+ /***********************************************************************************/
83
+ static fromString(str: string, encoding?: string): FileBuffer;
84
+ toString(encoding?: FileBufferEncoding): string;
85
+ }
86
+ //#endregion
87
+ export { FileBuffer };
88
+ //# sourceMappingURL=fileBuffer.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileBuffer.node.d.ts","names":[],"sources":["../../../src/file/fileBuffer.node.ts"],"sourcesContent":[],"mappings":";;;;;;;;AA8BA;;;;;;;;;;;;;;;;AAyG8B,cAzGjB,UAAA,CAyGiB;EAAe,CAAA,OAAA;EAAR;;;;;EAiBG,OAAA,YAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,IAlHA,cAkHA;;;;;;sCAzGF;;;;;yCAQG;;;;;oCAQL;;;;;kCAQF;;;;;kCAQA;;;;;4BAgBN,SAAS;cAIvB;;;;sCAQwB,oDAAoD;mBAIvE;;;;oCAYiB,aAAa;kBAI/B;;;;wBAQY,OAAO,QAAQ;mBAK1B,kBAAkB;;;;qDAQgB;sBAI/B"}
@@ -0,0 +1,115 @@
1
+ import { isArrayBuffer, isBlob, isFile, isTypedArray } from "es-toolkit";
2
+ import { Buffer } from "node:buffer";
3
+
4
+ //#region src/file/fileBuffer.node.ts
5
+ /**
6
+ * 仅涉及到 Buffer/TypedArray/ArrayBuffer/String/Blob 之间的转换,不涉及修改操作
7
+ * From:
8
+ * Buffer/TypedArray/ArrayBuffer/String/Blob -> Buffer
9
+ * To:
10
+ * Buffer -> ArrayBuffer -> Blob -> File/ObjectURL
11
+ * Buffer -> ArrayBuffer -> TypedArray
12
+ * Buffer -> String
13
+ * 参考转化关系:
14
+ * typedArray
15
+ * ⬇️ typedArray.buffer <=> new Uint8Array/DataView(buffer)
16
+ * ArrayBuffer
17
+ * ⬇️ new Blob([buffer], { type: mimeType }) <=> await blob.arrayBuffer()
18
+ * Blob
19
+ * ⬇️ new File([blob], 'filename', { type: blob.type }) <=> file.slice(0, file.size, file.type)
20
+ * ⬇️ URL.createObjectURL(blob)
21
+ * File/ObjectURL
22
+ */
23
+ var FileBuffer = class FileBuffer {
24
+ #buf;
25
+ /**
26
+ * 判断 TypedArray 类型的类型谓词
27
+ * @description 通过 ArrayBuffer.isView 判断是否为视图,并排除 DataView 类型
28
+ * @param {unknown} x 待检测值
29
+ */
30
+ static isTypedArray(x) {
31
+ return isTypedArray(x);
32
+ }
33
+ /**
34
+ * 判断 TypedArray 类型的类型谓词
35
+ * @description 通过 ArrayBuffer.isView 判断是否为视图,并排除 DataView 类型
36
+ * @param {unknown} x 待检测值
37
+ */
38
+ static isDataView(x) {
39
+ return x instanceof DataView;
40
+ }
41
+ /**
42
+ * 判断 ArrayBuffer 类型的类型谓词
43
+ * @param {unknown} x 待检测值
44
+ */
45
+ static isArrayBuffer(x) {
46
+ return isArrayBuffer(x);
47
+ }
48
+ /**
49
+ * 判断 Buffer 类型的类型谓词
50
+ * @param {unknown} x 待检测值
51
+ */
52
+ static isBuffer(x) {
53
+ return typeof Buffer !== "undefined" && Buffer.isBuffer(x);
54
+ }
55
+ /**
56
+ * 判断 Blob 类型的类型谓词
57
+ * @param {unknown} x 待检测值
58
+ */
59
+ static isBlob(x) {
60
+ return isBlob(x);
61
+ }
62
+ /**
63
+ * 判断 File 类型的类型谓词
64
+ * @param {unknown} x 待检测值
65
+ */
66
+ static isFile(x) {
67
+ return isFile(x);
68
+ }
69
+ constructor(...args) {
70
+ if (new.target === FileBuffer) throw new Error("请使用静态方法 fromXXX 创建实例");
71
+ this.#buf = Buffer.from(...args);
72
+ }
73
+ /** Buffer -> Buffer ➡️ 新创建的 Buffer 与原 Buffer 共享相同的数据但修改互不影响 */
74
+ static fromBuffer(buffer) {
75
+ return new class extends FileBuffer {}(buffer);
76
+ }
77
+ toBuffer() {
78
+ return Buffer.from(this.#buf);
79
+ }
80
+ /** Buffer -> ArrayBuffer ➡️ 可指定区间;修改 Buffer 会直接修改 ArrayBuffer 的内容 */
81
+ static fromArrayBuffer(arrayBuffer, byteOffset, length) {
82
+ return new class extends FileBuffer {}(arrayBuffer, byteOffset, length);
83
+ }
84
+ toArrayBuffer() {
85
+ const begin = this.#buf.byteOffset;
86
+ const end = begin + this.#buf.length;
87
+ return this.#buf.buffer.slice(begin, end);
88
+ }
89
+ /** Buffer -> ArrayBuffer -> TypedArray ➡️ 修改 Buffer 会直接修改 TypedArray 的内容 */
90
+ static fromUint8Array(uint8Array) {
91
+ return new class extends FileBuffer {}(uint8Array);
92
+ }
93
+ toUint8Array() {
94
+ return new Uint8Array(this.toArrayBuffer());
95
+ }
96
+ /** Buffer -> ArrayBuffer -> Blob -> File/ObjectURL ➡️ 异步 + 参数指定 MIME 类型 */
97
+ static async fromBlob(blob) {
98
+ const arrayBuffer = await blob.arrayBuffer();
99
+ return new class extends FileBuffer {}(arrayBuffer);
100
+ }
101
+ toBlob(options) {
102
+ return new Blob([this.toArrayBuffer()], options);
103
+ }
104
+ /** Buffer -> String ➡️ 无需手动通过 Blob 和 FileReader 转换, Buffer.toString() 已实现 */
105
+ static fromString(str, encoding) {
106
+ return new class extends FileBuffer {}(str, encoding);
107
+ }
108
+ toString(encoding) {
109
+ return this.#buf.toString(encoding);
110
+ }
111
+ };
112
+
113
+ //#endregion
114
+ export { FileBuffer };
115
+ //# sourceMappingURL=fileBuffer.node.js.map