@catbee/utils 0.0.8-rc.1 → 0.0.8-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/build/{esnext → cjs}/config.d.ts +0 -1
  2. package/build/{src → cjs}/config.js +0 -1
  3. package/build/{esnext → cjs}/index.d.ts +0 -1
  4. package/build/{src → cjs}/index.js +0 -1
  5. package/build/{esnext → cjs}/servers/server.builder.d.ts +0 -1
  6. package/build/{src → cjs}/servers/server.builder.js +10 -13
  7. package/build/{src → cjs}/servers/server.d.ts +0 -1
  8. package/build/{src → cjs}/servers/server.js +83 -75
  9. package/build/{src → cjs}/types/api-response.d.ts +0 -1
  10. package/build/{src → cjs}/types/api-response.js +0 -1
  11. package/build/{src → cjs}/types/index.d.ts +0 -1
  12. package/build/{src → cjs}/types/index.js +0 -1
  13. package/build/{src → cjs}/types/server.d.ts +0 -1
  14. package/build/{src → cjs}/types/server.js +0 -1
  15. package/build/{src → cjs}/utils/array.utils.d.ts +0 -1
  16. package/build/{src → cjs}/utils/array.utils.js +0 -1
  17. package/build/{src → cjs}/utils/async.utils.d.ts +0 -1
  18. package/build/{src → cjs}/utils/async.utils.js +2 -3
  19. package/build/{esnext → cjs}/utils/cache.utils.d.ts +0 -1
  20. package/build/{src → cjs}/utils/cache.utils.js +7 -6
  21. package/build/{esnext → cjs}/utils/context-store.utils.d.ts +1 -2
  22. package/build/{src → cjs}/utils/context-store.utils.js +10 -9
  23. package/build/{esnext → cjs}/utils/crypto.utils.d.ts +0 -1
  24. package/build/{src → cjs}/utils/crypto.utils.js +5 -3
  25. package/build/{src → cjs}/utils/date.utils.d.ts +0 -1
  26. package/build/{src → cjs}/utils/date.utils.js +1 -2
  27. package/build/{src → cjs}/utils/decorators.utils.d.ts +30 -27
  28. package/build/{src → cjs}/utils/decorators.utils.js +169 -30
  29. package/build/{esnext → cjs}/utils/dir.utils.d.ts +0 -1
  30. package/build/{src → cjs}/utils/dir.utils.js +6 -7
  31. package/build/{esnext → cjs}/utils/env.utils.d.ts +0 -1
  32. package/build/{src → cjs}/utils/env.utils.js +5 -8
  33. package/build/{src → cjs}/utils/exception.utils.d.ts +0 -1
  34. package/build/{src → cjs}/utils/exception.utils.js +2 -1
  35. package/build/{src → cjs}/utils/fs.utils.d.ts +0 -1
  36. package/build/{src → cjs}/utils/fs.utils.js +12 -13
  37. package/build/{esnext → cjs}/utils/http-status-codes.d.ts +0 -1
  38. package/build/{src → cjs}/utils/http-status-codes.js +0 -1
  39. package/build/{esnext → cjs}/utils/id.utils.d.ts +0 -1
  40. package/build/{src → cjs}/utils/id.utils.js +0 -1
  41. package/build/{src → cjs}/utils/logger.utils.d.ts +0 -1
  42. package/build/{src → cjs}/utils/logger.utils.js +10 -6
  43. package/build/{esnext → cjs}/utils/middleware.utils.d.ts +0 -1
  44. package/build/{src → cjs}/utils/middleware.utils.js +16 -17
  45. package/build/{esnext → cjs}/utils/obj.utils.d.ts +0 -1
  46. package/build/{src → cjs}/utils/obj.utils.js +1 -2
  47. package/build/{src → cjs}/utils/performance.utils.d.ts +0 -1
  48. package/build/{src → cjs}/utils/performance.utils.js +6 -4
  49. package/build/{esnext → cjs}/utils/request.utils.d.ts +0 -1
  50. package/build/{src → cjs}/utils/request.utils.js +7 -3
  51. package/build/{esnext → cjs}/utils/response.utils.d.ts +0 -1
  52. package/build/{src → cjs}/utils/response.utils.js +42 -28
  53. package/build/{esnext → cjs}/utils/stream.utils.d.ts +0 -1
  54. package/build/{src → cjs}/utils/stream.utils.js +0 -1
  55. package/build/{esnext → cjs}/utils/string.utils.d.ts +0 -1
  56. package/build/{src → cjs}/utils/string.utils.js +0 -1
  57. package/build/{src → cjs}/utils/type.utils.d.ts +0 -1
  58. package/build/{src → cjs}/utils/type.utils.js +2 -3
  59. package/build/{src → cjs}/utils/url.utils.d.ts +0 -1
  60. package/build/{src → cjs}/utils/url.utils.js +8 -9
  61. package/build/{src → cjs}/utils/validate.utils.d.ts +0 -1
  62. package/build/{src → cjs}/utils/validate.utils.js +2 -3
  63. package/build/esm/config.d.ts +0 -1
  64. package/build/esm/config.js +6 -7
  65. package/build/esm/index.d.ts +0 -1
  66. package/build/esm/index.js +0 -1
  67. package/build/esm/servers/server.builder.d.ts +0 -1
  68. package/build/esm/servers/server.builder.js +99 -147
  69. package/build/esm/servers/server.d.ts +0 -1
  70. package/build/esm/servers/server.js +591 -876
  71. package/build/esm/types/api-response.d.ts +0 -1
  72. package/build/esm/types/api-response.js +0 -1
  73. package/build/esm/types/index.d.ts +0 -1
  74. package/build/esm/types/index.js +0 -1
  75. package/build/esm/types/server.d.ts +0 -1
  76. package/build/esm/types/server.js +0 -1
  77. package/build/esm/utils/array.utils.d.ts +0 -1
  78. package/build/esm/utils/array.utils.js +48 -86
  79. package/build/esm/utils/async.utils.d.ts +0 -1
  80. package/build/esm/utils/async.utils.js +247 -524
  81. package/build/esm/utils/cache.utils.d.ts +0 -1
  82. package/build/esm/utils/cache.utils.js +96 -301
  83. package/build/esm/utils/context-store.utils.d.ts +1 -2
  84. package/build/esm/utils/context-store.utils.js +62 -79
  85. package/build/esm/utils/crypto.utils.d.ts +0 -1
  86. package/build/esm/utils/crypto.utils.js +78 -175
  87. package/build/esm/utils/date.utils.d.ts +0 -1
  88. package/build/esm/utils/date.utils.js +47 -53
  89. package/build/esm/utils/decorators.utils.d.ts +30 -27
  90. package/build/esm/utils/decorators.utils.js +417 -461
  91. package/build/esm/utils/dir.utils.d.ts +0 -1
  92. package/build/esm/utils/dir.utils.js +264 -786
  93. package/build/esm/utils/env.utils.d.ts +0 -1
  94. package/build/esm/utils/env.utils.js +180 -271
  95. package/build/esm/utils/exception.utils.d.ts +0 -1
  96. package/build/esm/utils/exception.utils.js +112 -289
  97. package/build/esm/utils/fs.utils.d.ts +0 -1
  98. package/build/esm/utils/fs.utils.js +169 -401
  99. package/build/esm/utils/http-status-codes.d.ts +0 -1
  100. package/build/esm/utils/http-status-codes.js +0 -1
  101. package/build/esm/utils/id.utils.d.ts +0 -1
  102. package/build/esm/utils/id.utils.js +5 -9
  103. package/build/esm/utils/logger.utils.d.ts +0 -1
  104. package/build/esm/utils/logger.utils.js +34 -71
  105. package/build/esm/utils/middleware.utils.d.ts +0 -1
  106. package/build/esm/utils/middleware.utils.js +65 -155
  107. package/build/esm/utils/obj.utils.d.ts +0 -1
  108. package/build/esm/utils/obj.utils.js +69 -176
  109. package/build/esm/utils/performance.utils.d.ts +0 -1
  110. package/build/esm/utils/performance.utils.js +92 -195
  111. package/build/esm/utils/request.utils.d.ts +0 -1
  112. package/build/esm/utils/request.utils.js +41 -74
  113. package/build/esm/utils/response.utils.d.ts +0 -1
  114. package/build/esm/utils/response.utils.js +84 -107
  115. package/build/esm/utils/stream.utils.d.ts +0 -1
  116. package/build/esm/utils/stream.utils.js +38 -113
  117. package/build/esm/utils/string.utils.d.ts +0 -1
  118. package/build/esm/utils/string.utils.js +6 -11
  119. package/build/esm/utils/type.utils.d.ts +0 -1
  120. package/build/esm/utils/type.utils.js +8 -12
  121. package/build/esm/utils/url.utils.d.ts +0 -1
  122. package/build/esm/utils/url.utils.js +49 -127
  123. package/build/esm/utils/validate.utils.d.ts +0 -1
  124. package/build/esm/utils/validate.utils.js +23 -40
  125. package/package.json +288 -63
  126. package/build/esm/config.js.map +0 -1
  127. package/build/esm/index.js.map +0 -1
  128. package/build/esm/servers/server.builder.js.map +0 -1
  129. package/build/esm/servers/server.js.map +0 -1
  130. package/build/esm/types/api-response.js.map +0 -1
  131. package/build/esm/types/index.js.map +0 -1
  132. package/build/esm/types/server.js.map +0 -1
  133. package/build/esm/utils/array.utils.js.map +0 -1
  134. package/build/esm/utils/async.utils.js.map +0 -1
  135. package/build/esm/utils/cache.utils.js.map +0 -1
  136. package/build/esm/utils/context-store.utils.js.map +0 -1
  137. package/build/esm/utils/crypto.utils.js.map +0 -1
  138. package/build/esm/utils/date.utils.js.map +0 -1
  139. package/build/esm/utils/decorators.utils.js.map +0 -1
  140. package/build/esm/utils/dir.utils.js.map +0 -1
  141. package/build/esm/utils/env.utils.js.map +0 -1
  142. package/build/esm/utils/exception.utils.js.map +0 -1
  143. package/build/esm/utils/fs.utils.js.map +0 -1
  144. package/build/esm/utils/http-status-codes.js.map +0 -1
  145. package/build/esm/utils/id.utils.js.map +0 -1
  146. package/build/esm/utils/logger.utils.js.map +0 -1
  147. package/build/esm/utils/middleware.utils.js.map +0 -1
  148. package/build/esm/utils/obj.utils.js.map +0 -1
  149. package/build/esm/utils/performance.utils.js.map +0 -1
  150. package/build/esm/utils/request.utils.js.map +0 -1
  151. package/build/esm/utils/response.utils.js.map +0 -1
  152. package/build/esm/utils/stream.utils.js.map +0 -1
  153. package/build/esm/utils/string.utils.js.map +0 -1
  154. package/build/esm/utils/type.utils.js.map +0 -1
  155. package/build/esm/utils/url.utils.js.map +0 -1
  156. package/build/esm/utils/validate.utils.js.map +0 -1
  157. package/build/esnext/config.js +0 -133
  158. package/build/esnext/config.js.map +0 -1
  159. package/build/esnext/index.js +0 -50
  160. package/build/esnext/index.js.map +0 -1
  161. package/build/esnext/servers/server.builder.js +0 -657
  162. package/build/esnext/servers/server.builder.js.map +0 -1
  163. package/build/esnext/servers/server.d.ts +0 -256
  164. package/build/esnext/servers/server.js +0 -955
  165. package/build/esnext/servers/server.js.map +0 -1
  166. package/build/esnext/types/api-response.d.ts +0 -152
  167. package/build/esnext/types/api-response.js +0 -34
  168. package/build/esnext/types/api-response.js.map +0 -1
  169. package/build/esnext/types/index.d.ts +0 -125
  170. package/build/esnext/types/index.js +0 -25
  171. package/build/esnext/types/index.js.map +0 -1
  172. package/build/esnext/types/server.d.ts +0 -268
  173. package/build/esnext/types/server.js +0 -25
  174. package/build/esnext/types/server.js.map +0 -1
  175. package/build/esnext/utils/array.utils.d.ts +0 -168
  176. package/build/esnext/utils/array.utils.js +0 -345
  177. package/build/esnext/utils/array.utils.js.map +0 -1
  178. package/build/esnext/utils/async.utils.d.ts +0 -265
  179. package/build/esnext/utils/async.utils.js +0 -620
  180. package/build/esnext/utils/async.utils.js.map +0 -1
  181. package/build/esnext/utils/cache.utils.js +0 -293
  182. package/build/esnext/utils/cache.utils.js.map +0 -1
  183. package/build/esnext/utils/context-store.utils.js +0 -289
  184. package/build/esnext/utils/context-store.utils.js.map +0 -1
  185. package/build/esnext/utils/crypto.utils.js +0 -276
  186. package/build/esnext/utils/crypto.utils.js.map +0 -1
  187. package/build/esnext/utils/date.utils.d.ts +0 -159
  188. package/build/esnext/utils/date.utils.js +0 -384
  189. package/build/esnext/utils/date.utils.js.map +0 -1
  190. package/build/esnext/utils/decorators.utils.d.ts +0 -508
  191. package/build/esnext/utils/decorators.utils.js +0 -877
  192. package/build/esnext/utils/decorators.utils.js.map +0 -1
  193. package/build/esnext/utils/dir.utils.js +0 -477
  194. package/build/esnext/utils/dir.utils.js.map +0 -1
  195. package/build/esnext/utils/env.utils.js +0 -785
  196. package/build/esnext/utils/env.utils.js.map +0 -1
  197. package/build/esnext/utils/exception.utils.d.ts +0 -230
  198. package/build/esnext/utils/exception.utils.js +0 -381
  199. package/build/esnext/utils/exception.utils.js.map +0 -1
  200. package/build/esnext/utils/fs.utils.d.ts +0 -164
  201. package/build/esnext/utils/fs.utils.js +0 -349
  202. package/build/esnext/utils/fs.utils.js.map +0 -1
  203. package/build/esnext/utils/http-status-codes.js +0 -295
  204. package/build/esnext/utils/http-status-codes.js.map +0 -1
  205. package/build/esnext/utils/id.utils.js +0 -84
  206. package/build/esnext/utils/id.utils.js.map +0 -1
  207. package/build/esnext/utils/logger.utils.d.ts +0 -160
  208. package/build/esnext/utils/logger.utils.js +0 -300
  209. package/build/esnext/utils/logger.utils.js.map +0 -1
  210. package/build/esnext/utils/middleware.utils.js +0 -236
  211. package/build/esnext/utils/middleware.utils.js.map +0 -1
  212. package/build/esnext/utils/obj.utils.js +0 -413
  213. package/build/esnext/utils/obj.utils.js.map +0 -1
  214. package/build/esnext/utils/performance.utils.d.ts +0 -136
  215. package/build/esnext/utils/performance.utils.js +0 -271
  216. package/build/esnext/utils/performance.utils.js.map +0 -1
  217. package/build/esnext/utils/request.utils.js +0 -186
  218. package/build/esnext/utils/request.utils.js.map +0 -1
  219. package/build/esnext/utils/response.utils.js +0 -247
  220. package/build/esnext/utils/response.utils.js.map +0 -1
  221. package/build/esnext/utils/stream.utils.js +0 -210
  222. package/build/esnext/utils/stream.utils.js.map +0 -1
  223. package/build/esnext/utils/string.utils.js +0 -165
  224. package/build/esnext/utils/string.utils.js.map +0 -1
  225. package/build/esnext/utils/type.utils.d.ts +0 -90
  226. package/build/esnext/utils/type.utils.js +0 -187
  227. package/build/esnext/utils/type.utils.js.map +0 -1
  228. package/build/esnext/utils/url.utils.d.ts +0 -141
  229. package/build/esnext/utils/url.utils.js +0 -304
  230. package/build/esnext/utils/url.utils.js.map +0 -1
  231. package/build/esnext/utils/validate.utils.d.ts +0 -177
  232. package/build/esnext/utils/validate.utils.js +0 -320
  233. package/build/esnext/utils/validate.utils.js.map +0 -1
  234. package/build/src/config.d.ts +0 -122
  235. package/build/src/config.js.map +0 -1
  236. package/build/src/index.d.ts +0 -27
  237. package/build/src/index.js.map +0 -1
  238. package/build/src/servers/server.builder.d.ts +0 -508
  239. package/build/src/servers/server.builder.js.map +0 -1
  240. package/build/src/servers/server.js.map +0 -1
  241. package/build/src/types/api-response.js.map +0 -1
  242. package/build/src/types/index.js.map +0 -1
  243. package/build/src/types/server.js.map +0 -1
  244. package/build/src/utils/array.utils.js.map +0 -1
  245. package/build/src/utils/async.utils.js.map +0 -1
  246. package/build/src/utils/cache.utils.d.ts +0 -153
  247. package/build/src/utils/cache.utils.js.map +0 -1
  248. package/build/src/utils/context-store.utils.d.ts +0 -189
  249. package/build/src/utils/context-store.utils.js.map +0 -1
  250. package/build/src/utils/crypto.utils.d.ts +0 -160
  251. package/build/src/utils/crypto.utils.js.map +0 -1
  252. package/build/src/utils/date.utils.js.map +0 -1
  253. package/build/src/utils/decorators.utils.js.map +0 -1
  254. package/build/src/utils/dir.utils.d.ts +0 -196
  255. package/build/src/utils/dir.utils.js.map +0 -1
  256. package/build/src/utils/env.utils.d.ts +0 -377
  257. package/build/src/utils/env.utils.js.map +0 -1
  258. package/build/src/utils/exception.utils.js.map +0 -1
  259. package/build/src/utils/fs.utils.js.map +0 -1
  260. package/build/src/utils/http-status-codes.d.ts +0 -266
  261. package/build/src/utils/http-status-codes.js.map +0 -1
  262. package/build/src/utils/id.utils.d.ts +0 -36
  263. package/build/src/utils/id.utils.js.map +0 -1
  264. package/build/src/utils/logger.utils.js.map +0 -1
  265. package/build/src/utils/middleware.utils.d.ts +0 -100
  266. package/build/src/utils/middleware.utils.js.map +0 -1
  267. package/build/src/utils/obj.utils.d.ts +0 -124
  268. package/build/src/utils/obj.utils.js.map +0 -1
  269. package/build/src/utils/performance.utils.js.map +0 -1
  270. package/build/src/utils/request.utils.d.ts +0 -86
  271. package/build/src/utils/request.utils.js.map +0 -1
  272. package/build/src/utils/response.utils.d.ts +0 -163
  273. package/build/src/utils/response.utils.js.map +0 -1
  274. package/build/src/utils/stream.utils.d.ts +0 -88
  275. package/build/src/utils/stream.utils.js.map +0 -1
  276. package/build/src/utils/string.utils.d.ts +0 -93
  277. package/build/src/utils/string.utils.js.map +0 -1
  278. package/build/src/utils/type.utils.js.map +0 -1
  279. package/build/src/utils/url.utils.js.map +0 -1
  280. package/build/src/utils/validate.utils.js.map +0 -1
@@ -21,42 +21,6 @@
21
21
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
22
  * SOFTWARE.
23
23
  */
24
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
25
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
26
- return new (P || (P = Promise))(function (resolve, reject) {
27
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
28
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
29
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
30
- step((generator = generator.apply(thisArg, _arguments || [])).next());
31
- });
32
- };
33
- var __generator = (this && this.__generator) || function (thisArg, body) {
34
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
35
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
36
- function verb(n) { return function (v) { return step([n, v]); }; }
37
- function step(op) {
38
- if (f) throw new TypeError("Generator is already executing.");
39
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
40
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
41
- if (y = 0, t) op = [op[0] & 2, t.value];
42
- switch (op[0]) {
43
- case 0: case 1: t = op; break;
44
- case 4: _.label++; return { value: op[1], done: false };
45
- case 5: _.label++; y = op[1]; op = [0]; continue;
46
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
47
- default:
48
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
49
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
50
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
51
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
52
- if (t[2]) _.ops.pop();
53
- _.trys.pop(); continue;
54
- }
55
- op = body.call(thisArg, _);
56
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
57
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
58
- }
59
- };
60
24
  import fs from 'fs/promises';
61
25
  import { createReadStream, createWriteStream } from 'fs';
62
26
  import { tmpdir } from 'os';
@@ -69,24 +33,14 @@ import { randomUUID } from 'crypto';
69
33
  * @param {string} path - The file or directory path to check.
70
34
  * @returns {Promise<boolean>} Resolves to `true` if the path exists, `false` otherwise.
71
35
  */
72
- export function fileExists(path) {
73
- return __awaiter(this, void 0, void 0, function () {
74
- var _a;
75
- return __generator(this, function (_b) {
76
- switch (_b.label) {
77
- case 0:
78
- _b.trys.push([0, 2, , 3]);
79
- return [4 /*yield*/, fs.access(path)];
80
- case 1:
81
- _b.sent();
82
- return [2 /*return*/, true];
83
- case 2:
84
- _a = _b.sent();
85
- return [2 /*return*/, false];
86
- case 3: return [2 /*return*/];
87
- }
88
- });
89
- });
36
+ export async function fileExists(path) {
37
+ try {
38
+ await fs.access(path);
39
+ return true;
40
+ }
41
+ catch {
42
+ return false;
43
+ }
90
44
  }
91
45
  /**
92
46
  * Reads and parses a JSON file from the specified path.
@@ -95,24 +49,14 @@ export function fileExists(path) {
95
49
  * @param {string} path - The path to the JSON file.
96
50
  * @returns {Promise<T | null>} The parsed object, or `null` if reading or parsing fails.
97
51
  */
98
- export function readJsonFile(path) {
99
- return __awaiter(this, void 0, void 0, function () {
100
- var data, _a;
101
- return __generator(this, function (_b) {
102
- switch (_b.label) {
103
- case 0:
104
- _b.trys.push([0, 2, , 3]);
105
- return [4 /*yield*/, fs.readFile(path, 'utf-8')];
106
- case 1:
107
- data = _b.sent();
108
- return [2 /*return*/, JSON.parse(data)];
109
- case 2:
110
- _a = _b.sent();
111
- return [2 /*return*/, null];
112
- case 3: return [2 /*return*/];
113
- }
114
- });
115
- });
52
+ export async function readJsonFile(path) {
53
+ try {
54
+ const data = await fs.readFile(path, 'utf-8');
55
+ return JSON.parse(data);
56
+ }
57
+ catch {
58
+ return null;
59
+ }
116
60
  }
117
61
  /**
118
62
  * Writes a JavaScript object to a file as formatted JSON.
@@ -122,21 +66,9 @@ export function readJsonFile(path) {
122
66
  * @param {number} [space=2] - Number of spaces for JSON formatting.
123
67
  * @returns {Promise<void>} Resolves when writing is complete.
124
68
  */
125
- export function writeJsonFile(path_1, data_1) {
126
- return __awaiter(this, arguments, void 0, function (path, data, space) {
127
- var json;
128
- if (space === void 0) { space = 2; }
129
- return __generator(this, function (_a) {
130
- switch (_a.label) {
131
- case 0:
132
- json = JSON.stringify(data, null, space);
133
- return [4 /*yield*/, fs.writeFile(path, json, 'utf-8')];
134
- case 1:
135
- _a.sent();
136
- return [2 /*return*/];
137
- }
138
- });
139
- });
69
+ export async function writeJsonFile(path, data, space = 2) {
70
+ const json = JSON.stringify(data, null, space);
71
+ await fs.writeFile(path, json, 'utf-8');
140
72
  }
141
73
  /**
142
74
  * Deletes a file if it exists.
@@ -144,26 +76,16 @@ export function writeJsonFile(path_1, data_1) {
144
76
  * @param {string} path - The file path to delete.
145
77
  * @returns {Promise<boolean>} Resolves to `true` if the file was deleted or didn't exist, `false` if deletion failed.
146
78
  */
147
- export function deleteFileIfExists(path) {
148
- return __awaiter(this, void 0, void 0, function () {
149
- var err_1;
150
- return __generator(this, function (_a) {
151
- switch (_a.label) {
152
- case 0:
153
- _a.trys.push([0, 2, , 3]);
154
- return [4 /*yield*/, fs.unlink(path)];
155
- case 1:
156
- _a.sent();
157
- return [2 /*return*/, true];
158
- case 2:
159
- err_1 = _a.sent();
160
- if (err_1.code === 'ENOENT')
161
- return [2 /*return*/, true];
162
- return [2 /*return*/, false];
163
- case 3: return [2 /*return*/];
164
- }
165
- });
166
- });
79
+ export async function deleteFileIfExists(path) {
80
+ try {
81
+ await fs.unlink(path);
82
+ return true;
83
+ }
84
+ catch (err) {
85
+ if (err.code === 'ENOENT')
86
+ return true;
87
+ return false;
88
+ }
167
89
  }
168
90
  /**
169
91
  * Reads a text file from the specified path.
@@ -172,23 +94,13 @@ export function deleteFileIfExists(path) {
172
94
  * @param {BufferEncoding} [encoding="utf-8"] - The encoding to use.
173
95
  * @returns {Promise<string | null>} The file contents, or `null` if reading fails.
174
96
  */
175
- export function readTextFile(path_1) {
176
- return __awaiter(this, arguments, void 0, function (path, encoding) {
177
- var _a;
178
- if (encoding === void 0) { encoding = 'utf-8'; }
179
- return __generator(this, function (_b) {
180
- switch (_b.label) {
181
- case 0:
182
- _b.trys.push([0, 2, , 3]);
183
- return [4 /*yield*/, fs.readFile(path, encoding)];
184
- case 1: return [2 /*return*/, _b.sent()];
185
- case 2:
186
- _a = _b.sent();
187
- return [2 /*return*/, null];
188
- case 3: return [2 /*return*/];
189
- }
190
- });
191
- });
97
+ export async function readTextFile(path, encoding = 'utf-8') {
98
+ try {
99
+ return await fs.readFile(path, encoding);
100
+ }
101
+ catch {
102
+ return null;
103
+ }
192
104
  }
193
105
  /**
194
106
  * Writes text content to a file.
@@ -198,25 +110,14 @@ export function readTextFile(path_1) {
198
110
  * @param {BufferEncoding} [encoding="utf-8"] - The encoding to use.
199
111
  * @returns {Promise<boolean>} Resolves to `true` if successful, `false` otherwise.
200
112
  */
201
- export function writeTextFile(path_1, content_1) {
202
- return __awaiter(this, arguments, void 0, function (path, content, encoding) {
203
- var _a;
204
- if (encoding === void 0) { encoding = 'utf-8'; }
205
- return __generator(this, function (_b) {
206
- switch (_b.label) {
207
- case 0:
208
- _b.trys.push([0, 2, , 3]);
209
- return [4 /*yield*/, fs.writeFile(path, content, encoding)];
210
- case 1:
211
- _b.sent();
212
- return [2 /*return*/, true];
213
- case 2:
214
- _a = _b.sent();
215
- return [2 /*return*/, false];
216
- case 3: return [2 /*return*/];
217
- }
218
- });
219
- });
113
+ export async function writeTextFile(path, content, encoding = 'utf-8') {
114
+ try {
115
+ await fs.writeFile(path, content, encoding);
116
+ return true;
117
+ }
118
+ catch {
119
+ return false;
120
+ }
220
121
  }
221
122
  /**
222
123
  * Appends text content to a file.
@@ -226,25 +127,14 @@ export function writeTextFile(path_1, content_1) {
226
127
  * @param {BufferEncoding} [encoding="utf-8"] - The encoding to use.
227
128
  * @returns {Promise<boolean>} Resolves to `true` if successful, `false` otherwise.
228
129
  */
229
- export function appendTextFile(path_1, content_1) {
230
- return __awaiter(this, arguments, void 0, function (path, content, encoding) {
231
- var _a;
232
- if (encoding === void 0) { encoding = 'utf-8'; }
233
- return __generator(this, function (_b) {
234
- switch (_b.label) {
235
- case 0:
236
- _b.trys.push([0, 2, , 3]);
237
- return [4 /*yield*/, fs.appendFile(path, content, encoding)];
238
- case 1:
239
- _b.sent();
240
- return [2 /*return*/, true];
241
- case 2:
242
- _a = _b.sent();
243
- return [2 /*return*/, false];
244
- case 3: return [2 /*return*/];
245
- }
246
- });
247
- });
130
+ export async function appendTextFile(path, content, encoding = 'utf-8') {
131
+ try {
132
+ await fs.appendFile(path, content, encoding);
133
+ return true;
134
+ }
135
+ catch {
136
+ return false;
137
+ }
248
138
  }
249
139
  /**
250
140
  * Copies a file from source to destination.
@@ -254,26 +144,15 @@ export function appendTextFile(path_1, content_1) {
254
144
  * @param {boolean} [overwrite=false] - Whether to overwrite if destination exists.
255
145
  * @returns {Promise<boolean>} Resolves to `true` if successful, `false` otherwise.
256
146
  */
257
- export function copyFile(source_1, destination_1) {
258
- return __awaiter(this, arguments, void 0, function (source, destination, overwrite) {
259
- var flags, _a;
260
- if (overwrite === void 0) { overwrite = false; }
261
- return __generator(this, function (_b) {
262
- switch (_b.label) {
263
- case 0:
264
- _b.trys.push([0, 2, , 3]);
265
- flags = overwrite ? 0 : fs.constants.COPYFILE_EXCL;
266
- return [4 /*yield*/, fs.copyFile(source, destination, flags)];
267
- case 1:
268
- _b.sent();
269
- return [2 /*return*/, true];
270
- case 2:
271
- _a = _b.sent();
272
- return [2 /*return*/, false];
273
- case 3: return [2 /*return*/];
274
- }
275
- });
276
- });
147
+ export async function copyFile(source, destination, overwrite = false) {
148
+ try {
149
+ const flags = overwrite ? 0 : fs.constants.COPYFILE_EXCL;
150
+ await fs.copyFile(source, destination, flags);
151
+ return true;
152
+ }
153
+ catch {
154
+ return false;
155
+ }
277
156
  }
278
157
  /**
279
158
  * Renames/moves a file.
@@ -282,37 +161,22 @@ export function copyFile(source_1, destination_1) {
282
161
  * @param {string} newPath - New file path.
283
162
  * @returns {Promise<boolean>} Resolves to `true` if successful, `false` otherwise.
284
163
  */
285
- export function moveFile(oldPath, newPath) {
286
- return __awaiter(this, void 0, void 0, function () {
287
- var _a, _b;
288
- return __generator(this, function (_c) {
289
- switch (_c.label) {
290
- case 0:
291
- _c.trys.push([0, 2, , 8]);
292
- return [4 /*yield*/, fs.rename(oldPath, newPath)];
293
- case 1:
294
- _c.sent();
295
- return [2 /*return*/, true];
296
- case 2:
297
- _a = _c.sent();
298
- _c.label = 3;
299
- case 3:
300
- _c.trys.push([3, 6, , 7]);
301
- return [4 /*yield*/, fs.copyFile(oldPath, newPath)];
302
- case 4:
303
- _c.sent();
304
- return [4 /*yield*/, fs.unlink(oldPath)];
305
- case 5:
306
- _c.sent();
307
- return [2 /*return*/, true];
308
- case 6:
309
- _b = _c.sent();
310
- return [2 /*return*/, false];
311
- case 7: return [3 /*break*/, 8];
312
- case 8: return [2 /*return*/];
313
- }
314
- });
315
- });
164
+ export async function moveFile(oldPath, newPath) {
165
+ try {
166
+ await fs.rename(oldPath, newPath);
167
+ return true;
168
+ }
169
+ catch {
170
+ // If rename fails (e.g., across devices), try copy+delete
171
+ try {
172
+ await fs.copyFile(oldPath, newPath);
173
+ await fs.unlink(oldPath);
174
+ return true;
175
+ }
176
+ catch {
177
+ return false;
178
+ }
179
+ }
316
180
  }
317
181
  /**
318
182
  * Gets file stats if the file exists.
@@ -320,22 +184,13 @@ export function moveFile(oldPath, newPath) {
320
184
  * @param {string} path - Path to the file.
321
185
  * @returns {Promise<fs.Stats | null>} File stats object or null if file doesn't exist.
322
186
  */
323
- export function getFileStats(path) {
324
- return __awaiter(this, void 0, void 0, function () {
325
- var _a;
326
- return __generator(this, function (_b) {
327
- switch (_b.label) {
328
- case 0:
329
- _b.trys.push([0, 2, , 3]);
330
- return [4 /*yield*/, fs.stat(path)];
331
- case 1: return [2 /*return*/, _b.sent()];
332
- case 2:
333
- _a = _b.sent();
334
- return [2 /*return*/, null];
335
- case 3: return [2 /*return*/];
336
- }
337
- });
338
- });
187
+ export async function getFileStats(path) {
188
+ try {
189
+ return await fs.stat(path);
190
+ }
191
+ catch {
192
+ return null;
193
+ }
339
194
  }
340
195
  /**
341
196
  * Creates a temporary file with optional content.
@@ -347,29 +202,17 @@ export function getFileStats(path) {
347
202
  * @param {string | Buffer} [options.content] - Optional content to write to the file.
348
203
  * @returns {Promise<string>} Path to the created temporary file.
349
204
  */
350
- export function createTempFile() {
351
- return __awaiter(this, arguments, void 0, function (_a) {
352
- var ext, filename, filepath;
353
- var _b = _a === void 0 ? {} : _a, _c = _b.prefix, prefix = _c === void 0 ? 'tmp-' : _c, _d = _b.extension, extension = _d === void 0 ? '' : _d, _e = _b.dir, dir = _e === void 0 ? tmpdir() : _e, content = _b.content;
354
- return __generator(this, function (_f) {
355
- switch (_f.label) {
356
- case 0:
357
- ext = extension ? (extension.startsWith('.') ? extension : ".".concat(extension)) : '';
358
- filename = "".concat(prefix).concat(randomUUID()).concat(ext);
359
- filepath = path.join(dir, filename);
360
- if (!content) return [3 /*break*/, 2];
361
- return [4 /*yield*/, fs.writeFile(filepath, content)];
362
- case 1:
363
- _f.sent();
364
- return [3 /*break*/, 4];
365
- case 2: return [4 /*yield*/, fs.writeFile(filepath, '')];
366
- case 3:
367
- _f.sent();
368
- _f.label = 4;
369
- case 4: return [2 /*return*/, filepath];
370
- }
371
- });
372
- });
205
+ export async function createTempFile({ prefix = 'tmp-', extension = '', dir = tmpdir(), content } = {}) {
206
+ const ext = extension ? (extension.startsWith('.') ? extension : `.${extension}`) : '';
207
+ const filename = `${prefix}${randomUUID()}${ext}`;
208
+ const filepath = path.join(dir, filename);
209
+ if (content) {
210
+ await fs.writeFile(filepath, content);
211
+ }
212
+ else {
213
+ await fs.writeFile(filepath, '');
214
+ }
215
+ return filepath;
373
216
  }
374
217
  /**
375
218
  * Streams a file from source to destination.
@@ -380,31 +223,18 @@ export function createTempFile() {
380
223
  * @returns {Promise<void>} Resolves when streaming completes.
381
224
  * @throws {Error} If streaming fails.
382
225
  */
383
- export function streamFile(source, destination) {
384
- return __awaiter(this, void 0, void 0, function () {
385
- var readStream, writeStream, error_1;
386
- return __generator(this, function (_a) {
387
- switch (_a.label) {
388
- case 0:
389
- readStream = createReadStream(source);
390
- writeStream = createWriteStream(destination);
391
- _a.label = 1;
392
- case 1:
393
- _a.trys.push([1, 3, , 4]);
394
- return [4 /*yield*/, pipeline(readStream, writeStream)];
395
- case 2:
396
- _a.sent();
397
- return [3 /*break*/, 4];
398
- case 3:
399
- error_1 = _a.sent();
400
- // Ensure both streams are closed in case of error
401
- readStream.destroy();
402
- writeStream.destroy();
403
- throw error_1;
404
- case 4: return [2 /*return*/];
405
- }
406
- });
407
- });
226
+ export async function streamFile(source, destination) {
227
+ const readStream = createReadStream(source);
228
+ const writeStream = createWriteStream(destination);
229
+ try {
230
+ await pipeline(readStream, writeStream);
231
+ }
232
+ catch (error) {
233
+ // Ensure both streams are closed in case of error
234
+ readStream.destroy();
235
+ writeStream.destroy();
236
+ throw error;
237
+ }
408
238
  }
409
239
  /**
410
240
  * Reads a directory and returns file names.
@@ -416,26 +246,16 @@ export function streamFile(source, destination) {
416
246
  * @returns {Promise<string[]>} Array of file names or paths.
417
247
  * @throws {Error} If directory cannot be read.
418
248
  */
419
- export function readDirectory(dirPath_1) {
420
- return __awaiter(this, arguments, void 0, function (dirPath, options) {
421
- var files, result;
422
- if (options === void 0) { options = {}; }
423
- return __generator(this, function (_a) {
424
- switch (_a.label) {
425
- case 0: return [4 /*yield*/, fs.readdir(dirPath)];
426
- case 1:
427
- files = _a.sent();
428
- result = files;
429
- if (options.filter) {
430
- result = result.filter(function (file) { return options.filter.test(file); });
431
- }
432
- if (options.fullPaths) {
433
- result = result.map(function (file) { return path.join(dirPath, file); });
434
- }
435
- return [2 /*return*/, result];
436
- }
437
- });
438
- });
249
+ export async function readDirectory(dirPath, options = {}) {
250
+ const files = await fs.readdir(dirPath);
251
+ let result = files;
252
+ if (options.filter) {
253
+ result = result.filter(file => options.filter.test(file));
254
+ }
255
+ if (options.fullPaths) {
256
+ result = result.map(file => path.join(dirPath, file));
257
+ }
258
+ return result;
439
259
  }
440
260
  /**
441
261
  * Creates a directory if it doesn't exist.
@@ -444,26 +264,15 @@ export function readDirectory(dirPath_1) {
444
264
  * @param {boolean} [recursive=true] - Whether to create parent directories.
445
265
  * @returns {Promise<boolean>} Resolves to `true` if successful, `false` otherwise.
446
266
  */
447
- export function createDirectory(dirPath_1) {
448
- return __awaiter(this, arguments, void 0, function (dirPath, recursive) {
449
- var err_2;
450
- if (recursive === void 0) { recursive = true; }
451
- return __generator(this, function (_a) {
452
- switch (_a.label) {
453
- case 0:
454
- _a.trys.push([0, 2, , 3]);
455
- return [4 /*yield*/, fs.mkdir(dirPath, { recursive: recursive })];
456
- case 1:
457
- _a.sent();
458
- return [2 /*return*/, true];
459
- case 2:
460
- err_2 = _a.sent();
461
- // Consider it success if directory already exists
462
- return [2 /*return*/, err_2.code === 'EEXIST'];
463
- case 3: return [2 /*return*/];
464
- }
465
- });
466
- });
267
+ export async function createDirectory(dirPath, recursive = true) {
268
+ try {
269
+ await fs.mkdir(dirPath, { recursive });
270
+ return true;
271
+ }
272
+ catch (err) {
273
+ // Consider it success if directory already exists
274
+ return err.code === 'EEXIST';
275
+ }
467
276
  }
468
277
  /**
469
278
  * Safely reads and parses a JSON file with error details.
@@ -472,37 +281,26 @@ export function createDirectory(dirPath_1) {
472
281
  * @param {string} path - The path to the JSON file.
473
282
  * @returns {Promise<{ data: T | null; error: Error | null }>} Object with data and error properties.
474
283
  */
475
- export function safeReadJsonFile(path) {
476
- return __awaiter(this, void 0, void 0, function () {
477
- var content, data, error_2;
478
- return __generator(this, function (_a) {
479
- switch (_a.label) {
480
- case 0:
481
- _a.trys.push([0, 2, , 3]);
482
- return [4 /*yield*/, fs.readFile(path, 'utf-8')];
483
- case 1:
484
- content = _a.sent();
485
- try {
486
- data = JSON.parse(content);
487
- return [2 /*return*/, { data: data, error: null }];
488
- }
489
- catch (error) {
490
- return [2 /*return*/, {
491
- data: null,
492
- error: new Error("Invalid JSON in file ".concat(path, ": ").concat(error.message))
493
- }];
494
- }
495
- return [3 /*break*/, 3];
496
- case 2:
497
- error_2 = _a.sent();
498
- return [2 /*return*/, {
499
- data: null,
500
- error: new Error("Failed to read file ".concat(path, ": ").concat(error_2.message))
501
- }];
502
- case 3: return [2 /*return*/];
503
- }
504
- });
505
- });
284
+ export async function safeReadJsonFile(path) {
285
+ try {
286
+ const content = await fs.readFile(path, 'utf-8');
287
+ try {
288
+ const data = JSON.parse(content);
289
+ return { data, error: null };
290
+ }
291
+ catch (error) {
292
+ return {
293
+ data: null,
294
+ error: new Error(`Invalid JSON in file ${path}: ${error.message}`)
295
+ };
296
+ }
297
+ }
298
+ catch (error) {
299
+ return {
300
+ data: null,
301
+ error: new Error(`Failed to read file ${path}: ${error.message}`)
302
+ };
303
+ }
506
304
  }
507
305
  /**
508
306
  * Checks if a path points to a file (not a directory).
@@ -510,24 +308,14 @@ export function safeReadJsonFile(path) {
510
308
  * @param {string} path - Path to check.
511
309
  * @returns {Promise<boolean>} True if the path is a file, false otherwise.
512
310
  */
513
- export function isFile(path) {
514
- return __awaiter(this, void 0, void 0, function () {
515
- var stat, _a;
516
- return __generator(this, function (_b) {
517
- switch (_b.label) {
518
- case 0:
519
- _b.trys.push([0, 2, , 3]);
520
- return [4 /*yield*/, fs.stat(path)];
521
- case 1:
522
- stat = _b.sent();
523
- return [2 /*return*/, stat.isFile()];
524
- case 2:
525
- _a = _b.sent();
526
- return [2 /*return*/, false];
527
- case 3: return [2 /*return*/];
528
- }
529
- });
530
- });
311
+ export async function isFile(path) {
312
+ try {
313
+ const stat = await fs.stat(path);
314
+ return stat.isFile();
315
+ }
316
+ catch {
317
+ return false;
318
+ }
531
319
  }
532
320
  /**
533
321
  * Gets the size of a file in bytes.
@@ -535,24 +323,14 @@ export function isFile(path) {
535
323
  * @param {string} path - Path to the file.
536
324
  * @returns {Promise<number>} Size in bytes or -1 if file doesn't exist.
537
325
  */
538
- export function getFileSize(path) {
539
- return __awaiter(this, void 0, void 0, function () {
540
- var stat, _a;
541
- return __generator(this, function (_b) {
542
- switch (_b.label) {
543
- case 0:
544
- _b.trys.push([0, 2, , 3]);
545
- return [4 /*yield*/, fs.stat(path)];
546
- case 1:
547
- stat = _b.sent();
548
- return [2 /*return*/, stat.size];
549
- case 2:
550
- _a = _b.sent();
551
- return [2 /*return*/, -1];
552
- case 3: return [2 /*return*/];
553
- }
554
- });
555
- });
326
+ export async function getFileSize(path) {
327
+ try {
328
+ const stat = await fs.stat(path);
329
+ return stat.size;
330
+ }
331
+ catch {
332
+ return -1;
333
+ }
556
334
  }
557
335
  /**
558
336
  * Reads a file as a Buffer.
@@ -560,21 +338,11 @@ export function getFileSize(path) {
560
338
  * @param {string} path - Path to the file.
561
339
  * @returns {Promise<Buffer | null>} File contents as Buffer or null if reading fails.
562
340
  */
563
- export function readFileBuffer(path) {
564
- return __awaiter(this, void 0, void 0, function () {
565
- var _a;
566
- return __generator(this, function (_b) {
567
- switch (_b.label) {
568
- case 0:
569
- _b.trys.push([0, 2, , 3]);
570
- return [4 /*yield*/, fs.readFile(path)];
571
- case 1: return [2 /*return*/, _b.sent()];
572
- case 2:
573
- _a = _b.sent();
574
- return [2 /*return*/, null];
575
- case 3: return [2 /*return*/];
576
- }
577
- });
578
- });
341
+ export async function readFileBuffer(path) {
342
+ try {
343
+ return await fs.readFile(path);
344
+ }
345
+ catch {
346
+ return null;
347
+ }
579
348
  }
580
- //# sourceMappingURL=fs.utils.js.map