@bgord/bun 1.16.1 → 1.16.2

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 (239) hide show
  1. package/dist/antivirus-clamav.adapter.js +1 -1
  2. package/dist/antivirus-clamav.adapter.js.map +1 -1
  3. package/dist/antivirus-with-logger.adapter.d.ts +17 -0
  4. package/dist/antivirus-with-logger.adapter.d.ts.map +1 -0
  5. package/dist/antivirus-with-logger.adapter.js +35 -0
  6. package/dist/antivirus-with-logger.adapter.js.map +1 -0
  7. package/dist/antivirus-with-semaphore.adapter.d.ts +14 -0
  8. package/dist/antivirus-with-semaphore.adapter.d.ts.map +1 -0
  9. package/dist/antivirus-with-semaphore.adapter.js +10 -0
  10. package/dist/antivirus-with-semaphore.adapter.js.map +1 -0
  11. package/dist/csv-stringifier-noop.adapter.d.ts +5 -0
  12. package/dist/csv-stringifier-noop.adapter.d.ts.map +1 -0
  13. package/dist/csv-stringifier-noop.adapter.js +6 -0
  14. package/dist/csv-stringifier-noop.adapter.js.map +1 -0
  15. package/dist/environment-loader-encrypted.adapter.d.ts.map +1 -1
  16. package/dist/environment-loader-encrypted.adapter.js +0 -1
  17. package/dist/environment-loader-encrypted.adapter.js.map +1 -1
  18. package/dist/environment-loader-noop.adapter.d.ts.map +1 -1
  19. package/dist/environment-loader-noop.adapter.js +0 -1
  20. package/dist/environment-loader-noop.adapter.js.map +1 -1
  21. package/dist/environment-loader-process-safe.adapter.d.ts.map +1 -1
  22. package/dist/environment-loader-process-safe.adapter.js +0 -1
  23. package/dist/environment-loader-process-safe.adapter.js.map +1 -1
  24. package/dist/environment-loader-process.adapter.d.ts.map +1 -1
  25. package/dist/environment-loader-process.adapter.js +0 -1
  26. package/dist/environment-loader-process.adapter.js.map +1 -1
  27. package/dist/event-loop-lag.service.js +1 -1
  28. package/dist/event-loop-lag.service.js.map +1 -1
  29. package/dist/event-loop-utilization.service.d.ts.map +1 -1
  30. package/dist/event-loop-utilization.service.js +0 -2
  31. package/dist/event-loop-utilization.service.js.map +1 -1
  32. package/dist/event-store-with-logger.adapter.d.ts.map +1 -1
  33. package/dist/event-store-with-logger.adapter.js +0 -1
  34. package/dist/event-store-with-logger.adapter.js.map +1 -1
  35. package/dist/event-upcaster-chain.adapter.js +1 -1
  36. package/dist/event-upcaster-chain.adapter.js.map +1 -1
  37. package/dist/event-validator-registry.adapter.d.ts.map +1 -1
  38. package/dist/event-validator-registry.adapter.js +0 -1
  39. package/dist/event-validator-registry.adapter.js.map +1 -1
  40. package/dist/file-copier.adapter.d.ts.map +1 -1
  41. package/dist/file-copier.adapter.js +0 -2
  42. package/dist/file-copier.adapter.js.map +1 -1
  43. package/dist/file-writer-forgiving.adapter.d.ts +6 -0
  44. package/dist/file-writer-forgiving.adapter.d.ts.map +1 -0
  45. package/dist/file-writer-forgiving.adapter.js +10 -0
  46. package/dist/file-writer-forgiving.adapter.js.map +1 -0
  47. package/dist/graceful-shutdown.service.d.ts.map +1 -1
  48. package/dist/graceful-shutdown.service.js +1 -3
  49. package/dist/graceful-shutdown.service.js.map +1 -1
  50. package/dist/image-alpha-with-semaphore.adapter.d.ts +14 -0
  51. package/dist/image-alpha-with-semaphore.adapter.d.ts.map +1 -0
  52. package/dist/image-alpha-with-semaphore.adapter.js +10 -0
  53. package/dist/image-alpha-with-semaphore.adapter.js.map +1 -0
  54. package/dist/image-blur-with-semaphore.adapter.d.ts +14 -0
  55. package/dist/image-blur-with-semaphore.adapter.d.ts.map +1 -0
  56. package/dist/image-blur-with-semaphore.adapter.js +10 -0
  57. package/dist/image-blur-with-semaphore.adapter.js.map +1 -0
  58. package/dist/image-compressor-with-semaphore.adapter.d.ts +14 -0
  59. package/dist/image-compressor-with-semaphore.adapter.d.ts.map +1 -0
  60. package/dist/image-compressor-with-semaphore.adapter.js +10 -0
  61. package/dist/image-compressor-with-semaphore.adapter.js.map +1 -0
  62. package/dist/image-exif-clear-with-semaphore.adapter.d.ts +14 -0
  63. package/dist/image-exif-clear-with-semaphore.adapter.d.ts.map +1 -0
  64. package/dist/image-exif-clear-with-semaphore.adapter.js +10 -0
  65. package/dist/image-exif-clear-with-semaphore.adapter.js.map +1 -0
  66. package/dist/image-formatter-with-semaphore.adapter.d.ts +14 -0
  67. package/dist/image-formatter-with-semaphore.adapter.d.ts.map +1 -0
  68. package/dist/image-formatter-with-semaphore.adapter.js +10 -0
  69. package/dist/image-formatter-with-semaphore.adapter.js.map +1 -0
  70. package/dist/image-grayscale-with-semaphore.adapter.d.ts +14 -0
  71. package/dist/image-grayscale-with-semaphore.adapter.d.ts.map +1 -0
  72. package/dist/image-grayscale-with-semaphore.adapter.js +10 -0
  73. package/dist/image-grayscale-with-semaphore.adapter.js.map +1 -0
  74. package/dist/image-info-with-semaphore.adapter.d.ts +14 -0
  75. package/dist/image-info-with-semaphore.adapter.d.ts.map +1 -0
  76. package/dist/image-info-with-semaphore.adapter.js +10 -0
  77. package/dist/image-info-with-semaphore.adapter.js.map +1 -0
  78. package/dist/image-processor-with-semaphore.adapter.d.ts +14 -0
  79. package/dist/image-processor-with-semaphore.adapter.d.ts.map +1 -0
  80. package/dist/image-processor-with-semaphore.adapter.js +10 -0
  81. package/dist/image-processor-with-semaphore.adapter.js.map +1 -0
  82. package/dist/image-resizer-with-semaphore.adapter.d.ts +14 -0
  83. package/dist/image-resizer-with-semaphore.adapter.d.ts.map +1 -0
  84. package/dist/image-resizer-with-semaphore.adapter.js +10 -0
  85. package/dist/image-resizer-with-semaphore.adapter.js.map +1 -0
  86. package/dist/index.d.ts +15 -1
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/index.js +15 -1
  89. package/dist/index.js.map +1 -1
  90. package/dist/language-detector-header.strategy.d.ts.map +1 -1
  91. package/dist/language-detector-header.strategy.js +0 -2
  92. package/dist/language-detector-header.strategy.js.map +1 -1
  93. package/dist/logger.port.d.ts +1 -2
  94. package/dist/logger.port.d.ts.map +1 -1
  95. package/dist/logger.port.js.map +1 -1
  96. package/dist/prerequisite-verifier-dns.adapter.js +1 -1
  97. package/dist/prerequisite-verifier-dns.adapter.js.map +1 -1
  98. package/dist/prerequisite-verifier-with-retry.adapter.d.ts.map +1 -1
  99. package/dist/prerequisite-verifier-with-retry.adapter.js +0 -2
  100. package/dist/prerequisite-verifier-with-retry.adapter.js.map +1 -1
  101. package/dist/prerequisite-verifier.port.d.ts +2 -2
  102. package/dist/prerequisite-verifier.port.d.ts.map +1 -1
  103. package/dist/prerequisite-verifier.port.js +2 -2
  104. package/dist/prerequisite-verifier.port.js.map +1 -1
  105. package/dist/randomness-crypto.strategy.js +1 -1
  106. package/dist/randomness-crypto.strategy.js.map +1 -1
  107. package/dist/redactor-error-cause-depth-limit.strategy.d.ts.map +1 -1
  108. package/dist/redactor-error-cause-depth-limit.strategy.js +2 -6
  109. package/dist/redactor-error-cause-depth-limit.strategy.js.map +1 -1
  110. package/dist/redactor-error-stack-hide.strategy.d.ts.map +1 -1
  111. package/dist/redactor-error-stack-hide.strategy.js +3 -6
  112. package/dist/redactor-error-stack-hide.strategy.js.map +1 -1
  113. package/dist/redactor-mask.strategy.js +2 -2
  114. package/dist/redactor-mask.strategy.js.map +1 -1
  115. package/dist/redactor-metadata-compact-array.strategy.d.ts.map +1 -1
  116. package/dist/redactor-metadata-compact-array.strategy.js +2 -4
  117. package/dist/redactor-metadata-compact-array.strategy.js.map +1 -1
  118. package/dist/redactor-metadata-compact-object.strategy.d.ts.map +1 -1
  119. package/dist/redactor-metadata-compact-object.strategy.js +3 -5
  120. package/dist/redactor-metadata-compact-object.strategy.js.map +1 -1
  121. package/dist/remote-file-storage-noop.adapter.d.ts +4 -7
  122. package/dist/remote-file-storage-noop.adapter.d.ts.map +1 -1
  123. package/dist/remote-file-storage-noop.adapter.js +4 -26
  124. package/dist/remote-file-storage-noop.adapter.js.map +1 -1
  125. package/dist/remote-file-storage-with-logger.adapter.d.ts +21 -0
  126. package/dist/remote-file-storage-with-logger.adapter.d.ts.map +1 -0
  127. package/dist/remote-file-storage-with-logger.adapter.js +111 -0
  128. package/dist/remote-file-storage-with-logger.adapter.js.map +1 -0
  129. package/dist/retry.service.d.ts +0 -3
  130. package/dist/retry.service.d.ts.map +1 -1
  131. package/dist/retry.service.js +0 -3
  132. package/dist/retry.service.js.map +1 -1
  133. package/dist/semaphore.service.d.ts +10 -0
  134. package/dist/semaphore.service.d.ts.map +1 -0
  135. package/dist/semaphore.service.js +19 -0
  136. package/dist/semaphore.service.js.map +1 -0
  137. package/dist/setup-hono.service.d.ts.map +1 -1
  138. package/dist/setup-hono.service.js +1 -12
  139. package/dist/setup-hono.service.js.map +1 -1
  140. package/dist/shield-ip-whitelist.strategy.d.ts.map +1 -1
  141. package/dist/shield-ip-whitelist.strategy.js +0 -2
  142. package/dist/shield-ip-whitelist.strategy.js.map +1 -1
  143. package/dist/sse-registry.adapter.js +1 -1
  144. package/dist/sse-registry.adapter.js.map +1 -1
  145. package/dist/static-files-hono.service.d.ts.map +1 -1
  146. package/dist/static-files-hono.service.js +0 -2
  147. package/dist/static-files-hono.service.js.map +1 -1
  148. package/dist/translations-hono.handler.d.ts +1 -1
  149. package/dist/translations-hono.handler.d.ts.map +1 -1
  150. package/dist/translations-hono.handler.js.map +1 -1
  151. package/dist/woodchopper-diagnostics-collecting.strategy.js +2 -2
  152. package/dist/woodchopper-diagnostics-collecting.strategy.js.map +1 -1
  153. package/dist/woodchopper-diagnostics-console-error.strategy.js +2 -2
  154. package/dist/woodchopper-diagnostics-console-error.strategy.js.map +1 -1
  155. package/dist/woodchopper-dispatcher-async.strategy.d.ts.map +1 -1
  156. package/dist/woodchopper-dispatcher-async.strategy.js +0 -2
  157. package/dist/woodchopper-dispatcher-async.strategy.js.map +1 -1
  158. package/dist/woodchopper-sampling-correlation-id.strategy.js +1 -1
  159. package/dist/woodchopper-sampling-correlation-id.strategy.js.map +1 -1
  160. package/dist/woodchopper-sink-stderr.strategy.js +1 -1
  161. package/dist/woodchopper-sink-stderr.strategy.js.map +1 -1
  162. package/dist/woodchopper-sink-stdout-human.strategy.js +1 -1
  163. package/dist/woodchopper-sink-stdout-human.strategy.js.map +1 -1
  164. package/dist/woodchopper-sink-stdout.strategy.js +1 -1
  165. package/dist/woodchopper-sink-stdout.strategy.js.map +1 -1
  166. package/dist/woodchopper.d.ts.map +1 -1
  167. package/dist/woodchopper.js +1 -2
  168. package/dist/woodchopper.js.map +1 -1
  169. package/package.json +4 -3
  170. package/readme.md +15 -3
  171. package/src/antivirus-clamav.adapter.ts +1 -1
  172. package/src/antivirus-with-logger.adapter.ts +44 -0
  173. package/src/antivirus-with-semaphore.adapter.ts +13 -0
  174. package/src/csv-stringifier-noop.adapter.ts +7 -0
  175. package/src/environment-loader-encrypted.adapter.ts +0 -1
  176. package/src/environment-loader-noop.adapter.ts +0 -1
  177. package/src/environment-loader-process-safe.adapter.ts +0 -1
  178. package/src/environment-loader-process.adapter.ts +0 -1
  179. package/src/event-loop-lag.service.ts +1 -1
  180. package/src/event-loop-utilization.service.ts +0 -2
  181. package/src/event-store-with-logger.adapter.ts +0 -1
  182. package/src/event-upcaster-chain.adapter.ts +1 -1
  183. package/src/event-validator-registry.adapter.ts +0 -1
  184. package/src/file-copier.adapter.ts +0 -2
  185. package/src/file-writer-forgiving.adapter.ts +14 -0
  186. package/src/graceful-shutdown.service.ts +0 -2
  187. package/src/image-alpha-with-semaphore.adapter.ts +13 -0
  188. package/src/image-blur-with-semaphore.adapter.ts +13 -0
  189. package/src/image-compressor-with-semaphore.adapter.ts +13 -0
  190. package/src/image-exif-clear-with-semaphore.adapter.ts +13 -0
  191. package/src/image-formatter-with-semaphore.adapter.ts +13 -0
  192. package/src/image-grayscale-with-semaphore.adapter.ts +13 -0
  193. package/src/image-info-with-semaphore.adapter.ts +13 -0
  194. package/src/image-processor-with-semaphore.adapter.ts +13 -0
  195. package/src/image-resizer-with-semaphore.adapter.ts +13 -0
  196. package/src/index.ts +15 -1
  197. package/src/language-detector-header.strategy.ts +0 -2
  198. package/src/logger.port.ts +1 -2
  199. package/src/prerequisite-verifier-dns.adapter.ts +1 -1
  200. package/src/prerequisite-verifier-with-retry.adapter.ts +0 -2
  201. package/src/prerequisite-verifier.port.ts +3 -3
  202. package/src/randomness-crypto.strategy.ts +1 -1
  203. package/src/redactor-error-cause-depth-limit.strategy.ts +3 -7
  204. package/src/redactor-error-stack-hide.strategy.ts +4 -7
  205. package/src/redactor-mask.strategy.ts +2 -2
  206. package/src/redactor-metadata-compact-array.strategy.ts +2 -4
  207. package/src/redactor-metadata-compact-object.strategy.ts +3 -5
  208. package/src/remote-file-storage-noop.adapter.ts +5 -32
  209. package/src/remote-file-storage-with-logger.adapter.ts +140 -0
  210. package/src/retry.service.ts +0 -4
  211. package/src/semaphore.service.ts +26 -0
  212. package/src/setup-hono.service.ts +1 -12
  213. package/src/shield-ip-whitelist.strategy.ts +0 -2
  214. package/src/sse-registry.adapter.ts +1 -1
  215. package/src/static-files-hono.service.ts +0 -2
  216. package/src/translations-hono.handler.ts +1 -1
  217. package/src/woodchopper-diagnostics-collecting.strategy.ts +2 -2
  218. package/src/woodchopper-diagnostics-console-error.strategy.ts +2 -2
  219. package/src/woodchopper-dispatcher-async.strategy.ts +0 -2
  220. package/src/woodchopper-sampling-correlation-id.strategy.ts +1 -1
  221. package/src/woodchopper-sink-stderr.strategy.ts +1 -1
  222. package/src/woodchopper-sink-stdout-human.strategy.ts +1 -1
  223. package/src/woodchopper-sink-stdout.strategy.ts +1 -1
  224. package/src/woodchopper.ts +1 -2
  225. package/dist/deep-clone-with.d.ts +0 -4
  226. package/dist/deep-clone-with.d.ts.map +0 -1
  227. package/dist/deep-clone-with.js +0 -22
  228. package/dist/deep-clone-with.js.map +0 -1
  229. package/dist/error-normalizer.service.d.ts +0 -12
  230. package/dist/error-normalizer.service.d.ts.map +0 -1
  231. package/dist/error-normalizer.service.js +0 -24
  232. package/dist/error-normalizer.service.js.map +0 -1
  233. package/dist/is-plain-object.d.ts +0 -2
  234. package/dist/is-plain-object.d.ts.map +0 -1
  235. package/dist/is-plain-object.js +0 -7
  236. package/dist/is-plain-object.js.map +0 -1
  237. package/src/deep-clone-with.ts +0 -31
  238. package/src/error-normalizer.service.ts +0 -32
  239. package/src/is-plain-object.ts +0 -7
@@ -55,10 +55,8 @@ export class StaticFilesHono {
55
55
  [path]: new Hono().use(path, async (context, next) => {
56
56
  await next();
57
57
  const contentType = context.res.headers.get("Content-Type");
58
- // Stryker disable all
59
58
  if (contentType?.startsWith("text/html"))
60
59
  staticDocumentHeaders(context, noop);
61
- // Stryker restore all
62
60
  else
63
61
  staticAssetHeaders(context, noop);
64
62
  }, etag(), serveStatic({ root, precompressed: true, onFound: strategy })).fetch,
@@ -1 +1 @@
1
- {"version":3,"file":"static-files-hono.service.js","sourceRoot":"","sources":["../src/static-files-hono.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"static-files-hono.service.js","sourceRoot":"","sources":["../src/static-files-hono.service.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export declare class TranslationsHonoHandler<T extends tools.LanguageType> imple
13
13
  constructor(config: Languages<T>, deps: Dependencies);
14
14
  handle(): [import("hono/types").H<{
15
15
  Variables: LanguageDetectorVariables;
16
- }, string, {}, any>];
16
+ }, string, any, any>];
17
17
  }
18
18
  export {};
19
19
  //# sourceMappingURL=translations-hono.handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"translations-hono.handler.d.ts","sourceRoot":"","sources":["../src/translations-hono.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,KAAK,YAAY,GAAG;IAAE,cAAc,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAI/E,qBAAa,uBAAuB,CAAC,CAAC,SAAS,KAAK,CAAC,YAAY,CAAE,YAAW,eAAe;IAC3F,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;gBAErC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY;IAIpD,MAAM;mBACgD,yBAAyB;;CAOhF"}
1
+ {"version":3,"file":"translations-hono.handler.d.ts","sourceRoot":"","sources":["../src/translations-hono.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,KAAK,YAAY,GAAG;IAAE,cAAc,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAI/E,qBAAa,uBAAuB,CAAC,CAAC,SAAS,KAAK,CAAC,YAAY,CAAE,YAAW,eAAe;IAC3F,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;gBAErC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY;IAIpD,MAAM;mBACiD,yBAAyB;;CAOjF"}
@@ -1 +1 @@
1
- {"version":3,"file":"translations-hono.handler.js","sourceRoot":"","sources":["../src/translations-hono.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAM7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAI7D,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC,MAAM,OAAO,uBAAuB;IACjB,OAAO,CAAyB;IAEjD,YAAY,MAAoB,EAAE,IAAkB;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,cAAc,CAAoD,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3F,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEpD,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"translations-hono.handler.js","sourceRoot":"","sources":["../src/translations-hono.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAM7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAI7D,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC,MAAM,OAAO,uBAAuB;IACjB,OAAO,CAAyB;IAEjD,YAAY,MAAoB,EAAE,IAAkB;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,cAAc,CAAqD,KAAK,EAAE,CAAC,EAAE,EAAE;YAC5F,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEpD,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,8 +1,8 @@
1
- import { ErrorNormalizer } from "./error-normalizer.service";
1
+ import * as tools from "@bgord/tools";
2
2
  export class WoodchopperDiagnosticsCollecting {
3
3
  entries = [];
4
4
  handle(diagnostic) {
5
- this.entries.push({ ...diagnostic, error: ErrorNormalizer.normalize(diagnostic.error) });
5
+ this.entries.push({ ...diagnostic, error: tools.ErrorNormalizer.normalize(diagnostic.error) });
6
6
  }
7
7
  }
8
8
  //# sourceMappingURL=woodchopper-diagnostics-collecting.strategy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"woodchopper-diagnostics-collecting.strategy.js","sourceRoot":"","sources":["../src/woodchopper-diagnostics-collecting.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAM7D,MAAM,OAAO,gCAAgC;IAClC,OAAO,GAAqC,EAAE,CAAC;IAExD,MAAM,CAAC,UAAqC;QAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC;CACF"}
1
+ {"version":3,"file":"woodchopper-diagnostics-collecting.strategy.js","sourceRoot":"","sources":["../src/woodchopper-diagnostics-collecting.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAMtC,MAAM,OAAO,gCAAgC;IAClC,OAAO,GAAqC,EAAE,CAAC;IAExD,MAAM,CAAC,UAAqC;QAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjG,CAAC;CACF"}
@@ -1,11 +1,11 @@
1
- import { ErrorNormalizer } from "./error-normalizer.service";
1
+ import * as tools from "@bgord/tools";
2
2
  export class WoodchopperDiagnosticsConsoleError {
3
3
  redactor;
4
4
  constructor(redactor) {
5
5
  this.redactor = redactor;
6
6
  }
7
7
  handle(diagnostic) {
8
- const output = { ...diagnostic, error: ErrorNormalizer.normalize(diagnostic.error) };
8
+ const output = { ...diagnostic, error: tools.ErrorNormalizer.normalize(diagnostic.error) };
9
9
  // biome-ignore lint: lint/suspicious/noConsole
10
10
  console.error(this.redactor ? this.redactor.redact(output) : output);
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"woodchopper-diagnostics-console-error.strategy.js","sourceRoot":"","sources":["../src/woodchopper-diagnostics-console-error.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAO7D,MAAM,OAAO,kCAAkC;IAChB;IAA7B,YAA6B,QAA2B;QAA3B,aAAQ,GAAR,QAAQ,CAAmB;IAAG,CAAC;IAE5D,MAAM,CAAC,UAAqC;QAC1C,MAAM,MAAM,GAAG,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAErF,+CAA+C;QAC/C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC;CACF"}
1
+ {"version":3,"file":"woodchopper-diagnostics-console-error.strategy.js","sourceRoot":"","sources":["../src/woodchopper-diagnostics-console-error.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAOtC,MAAM,OAAO,kCAAkC;IAChB;IAA7B,YAA6B,QAA2B;QAA3B,aAAQ,GAAR,QAAQ,CAAmB;IAAG,CAAC;IAE5D,MAAM,CAAC,UAAqC;QAC1C,MAAM,MAAM,GAAG,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAE3F,+CAA+C;QAC/C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"woodchopper-dispatcher-async.strategy.d.ts","sourceRoot":"","sources":["../src/woodchopper-dispatcher-async.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAO3E,eAAO,MAAM,+BAA+B;uCACP,KAAK,CAAC,mBAAmB;CAE7D,CAAC;AAEF,qBAAa,0BAA2B,YAAW,qBAAqB;IASpE,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,KAAK,CAA2C;IAExD,OAAO,CAAC,IAAI,CAAC,CAAa;gBAGP,IAAI,EAAE,uBAAuB,EAC7B,QAAQ,GAAE,KAAK,CAAC,mBAA6C;IAKhF,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAWrC,KAAK,IAAI,IAAI;YAqBC,GAAG;IAoBjB,OAAO,CAAC,YAAY;YAKN,YAAY;CAK3B"}
1
+ {"version":3,"file":"woodchopper-dispatcher-async.strategy.d.ts","sourceRoot":"","sources":["../src/woodchopper-dispatcher-async.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAO3E,eAAO,MAAM,+BAA+B;uCACP,KAAK,CAAC,mBAAmB;CAE7D,CAAC;AAEF,qBAAa,0BAA2B,YAAW,qBAAqB;IASpE,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,KAAK,CAA2C;IAExD,OAAO,CAAC,IAAI,CAAC,CAAa;gBAGP,IAAI,EAAE,uBAAuB,EAC7B,QAAQ,GAAE,KAAK,CAAC,mBAA6C;IAKhF,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAWrC,KAAK,IAAI,IAAI;YAqBC,GAAG;IAkBjB,OAAO,CAAC,YAAY;YAKN,YAAY;CAK3B"}
@@ -53,9 +53,7 @@ export class WoodchopperDispatcherAsync {
53
53
  this.sink.write(entry);
54
54
  }
55
55
  catch (error) {
56
- // Stryker disable all
57
56
  this.onError?.(error);
58
- // Stryker restore all
59
57
  }
60
58
  }
61
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"woodchopper-dispatcher-async.strategy.js","sourceRoot":"","sources":["../src/woodchopper-dispatcher-async.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAKtC,IAAK,+BAGJ;AAHD,WAAK,+BAA+B;IAClC,sDAAmB,CAAA;IACnB,oDAAiB,CAAA;AACnB,CAAC,EAHI,+BAA+B,KAA/B,+BAA+B,QAGnC;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,yBAAyB,EAAE,CAAC,KAAgC,EAAE,EAAE,CAC9D,6DAA6D,KAAK,EAAE;CACvE,CAAC;AAEF,MAAM,OAAO,0BAA0B;IASlB;IACA;IATnB,OAAO,CAA4B;IAElB,MAAM,GAAuB,EAAE,CAAC;IACzC,KAAK,GAAG,+BAA+B,CAAC,OAAO,CAAC;IAEhD,IAAI,CAAc;IAE1B,YACmB,IAA6B,EAC7B,WAAsC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QAD7D,SAAI,GAAJ,IAAI,CAAyB;QAC7B,aAAQ,GAAR,QAAQ,CAAqD;QAE9E,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC;IAED,QAAQ,CAAC,KAAkB;QACzB,IAAI,IAAI,CAAC,KAAK,KAAK,+BAA+B,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAEtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,sBAAsB;QACtB,IAAI,IAAI,CAAC,KAAK,KAAK,+BAA+B,CAAC,MAAM;YAAE,OAAO;QAClE,sBAAsB;QAEtB,IAAI,CAAC,KAAK,GAAG,+BAA+B,CAAC,MAAM,CAAC;QAEpD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,+BAA+B,CAAC,yBAAyB,CACvE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CACvC,CAAC;YAEF,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAEvB,wCAAwC;QACxC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,GAAG;QACf,OAAO,IAAI,CAAC,KAAK,KAAK,+BAA+B,CAAC,OAAO,EAAE,CAAC;YAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAE1B,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAElC,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAoB,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sBAAsB;gBACtB,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;gBACtB,sBAAsB;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"woodchopper-dispatcher-async.strategy.js","sourceRoot":"","sources":["../src/woodchopper-dispatcher-async.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAKtC,IAAK,+BAGJ;AAHD,WAAK,+BAA+B;IAClC,sDAAmB,CAAA;IACnB,oDAAiB,CAAA;AACnB,CAAC,EAHI,+BAA+B,KAA/B,+BAA+B,QAGnC;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,yBAAyB,EAAE,CAAC,KAAgC,EAAE,EAAE,CAC9D,6DAA6D,KAAK,EAAE;CACvE,CAAC;AAEF,MAAM,OAAO,0BAA0B;IASlB;IACA;IATnB,OAAO,CAA4B;IAElB,MAAM,GAAuB,EAAE,CAAC;IACzC,KAAK,GAAG,+BAA+B,CAAC,OAAO,CAAC;IAEhD,IAAI,CAAc;IAE1B,YACmB,IAA6B,EAC7B,WAAsC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QAD7D,SAAI,GAAJ,IAAI,CAAyB;QAC7B,aAAQ,GAAR,QAAQ,CAAqD;QAE9E,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC;IAED,QAAQ,CAAC,KAAkB;QACzB,IAAI,IAAI,CAAC,KAAK,KAAK,+BAA+B,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAEtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,sBAAsB;QACtB,IAAI,IAAI,CAAC,KAAK,KAAK,+BAA+B,CAAC,MAAM;YAAE,OAAO;QAClE,sBAAsB;QAEtB,IAAI,CAAC,KAAK,GAAG,+BAA+B,CAAC,MAAM,CAAC;QAEpD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,+BAA+B,CAAC,yBAAyB,CACvE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CACvC,CAAC;YAEF,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAEvB,wCAAwC;QACxC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,GAAG;QACf,OAAO,IAAI,CAAC,KAAK,KAAK,+BAA+B,CAAC,OAAO,EAAE,CAAC;YAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAE1B,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAElC,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAoB,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -5,9 +5,9 @@ export class WoodchoperSamplingCorrelationId {
5
5
  this.config = config;
6
6
  }
7
7
  decide(entry) {
8
- // Stryker disable all
9
8
  if (!entry.correlationId)
10
9
  return false;
10
+ // Stryker disable all
11
11
  return fnv1a32(entry.correlationId) % this.config.everyNth === 0;
12
12
  // Stryker restore all
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"woodchopper-sampling-correlation-id.strategy.js","sourceRoot":"","sources":["../src/woodchopper-sampling-correlation-id.strategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAM5C,MAAM,OAAO,+BAA+B;IACb;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,MAAM,CAAC,KAAkB;QACvB,sBAAsB;QACtB,IAAI,CAAC,KAAK,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACvC,OAAO,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;QACjE,sBAAsB;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"woodchopper-sampling-correlation-id.strategy.js","sourceRoot":"","sources":["../src/woodchopper-sampling-correlation-id.strategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAM5C,MAAM,OAAO,+BAA+B;IACb;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,MAAM,CAAC,KAAkB;QACvB,IAAI,CAAC,KAAK,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACvC,sBAAsB;QACtB,OAAO,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;QACjE,sBAAsB;IACxB,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  export class WoodchopperSinkStderr {
2
2
  write(entry) {
3
- process.stderr.write(JSON.stringify(entry) + "\n");
3
+ process.stderr.write(`${JSON.stringify(entry)}\n`);
4
4
  }
5
5
  }
6
6
  //# sourceMappingURL=woodchopper-sink-stderr.strategy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"woodchopper-sink-stderr.strategy.js","sourceRoot":"","sources":["../src/woodchopper-sink-stderr.strategy.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,qBAAqB;IAChC,KAAK,CAAC,KAAkB;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;CACF"}
1
+ {"version":3,"file":"woodchopper-sink-stderr.strategy.js","sourceRoot":"","sources":["../src/woodchopper-sink-stderr.strategy.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,qBAAqB;IAChC,KAAK,CAAC,KAAkB;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  export class WoodchopperSinkStdoutHuman {
2
2
  write(entry) {
3
- process.stdout.write(JSON.stringify(entry, null, 2) + "\n");
3
+ process.stdout.write(`${JSON.stringify(entry, null, 2)}\n`);
4
4
  }
5
5
  }
6
6
  //# sourceMappingURL=woodchopper-sink-stdout-human.strategy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"woodchopper-sink-stdout-human.strategy.js","sourceRoot":"","sources":["../src/woodchopper-sink-stdout-human.strategy.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,0BAA0B;IACrC,KAAK,CAAC,KAAkB;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"woodchopper-sink-stdout-human.strategy.js","sourceRoot":"","sources":["../src/woodchopper-sink-stdout-human.strategy.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,0BAA0B;IACrC,KAAK,CAAC,KAAkB;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  export class WoodchopperSinkStdout {
2
2
  write(entry) {
3
- process.stdout.write(JSON.stringify(entry) + "\n");
3
+ process.stdout.write(`${JSON.stringify(entry)}\n`);
4
4
  }
5
5
  }
6
6
  //# sourceMappingURL=woodchopper-sink-stdout.strategy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"woodchopper-sink-stdout.strategy.js","sourceRoot":"","sources":["../src/woodchopper-sink-stdout.strategy.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,qBAAqB;IAChC,KAAK,CAAC,KAAkB;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;CACF"}
1
+ {"version":3,"file":"woodchopper-sink-stdout.strategy.js","sourceRoot":"","sources":["../src/woodchopper-sink-stdout.strategy.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,qBAAqB;IAChC,KAAK,CAAC,KAAkB;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"woodchopper.d.ts","sourceRoot":"","sources":["../src/woodchopper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EACL,KAAK,aAAa,EAIlB,KAAK,UAAU,EACf,YAAY,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AACzF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAG/E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,aAAa,CAAC;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE,qBAAqB,CAAC;IAClC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,WAAW,CAAC,EAAE,8BAA8B,CAAC;CAC9C,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAYzC,qBAAa,WAAY,YAAW,UAAU,EAAE,uBAAuB;IAKnE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IALvB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;gBAG7B,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,YAAY;IAUrC,OAAO,CAAC,GAAG;IA6CX,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAkD;IAC5E,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAiD;IACzE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAiD;IACzE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAiD;IACzE,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAoD;IAClF,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAkD;IAC5E,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAkD;IAE5E,KAAK;IAOL,QAAQ,IAAI,mBAAmB;CAGhC"}
1
+ {"version":3,"file":"woodchopper.d.ts","sourceRoot":"","sources":["../src/woodchopper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACL,KAAK,aAAa,EAIlB,KAAK,UAAU,EACf,YAAY,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AACzF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAG/E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,aAAa,CAAC;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE,qBAAqB,CAAC;IAClC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,WAAW,CAAC,EAAE,8BAA8B,CAAC;CAC9C,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAYzC,qBAAa,WAAY,YAAW,UAAU,EAAE,uBAAuB;IAKnE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IALvB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;gBAG7B,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,YAAY;IAUrC,OAAO,CAAC,GAAG;IA6CX,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAkD;IAC5E,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAiD;IACzE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAiD;IACzE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAiD;IACzE,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAoD;IAClF,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAkD;IAC5E,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAkD;IAE5E,KAAK;IAOL,QAAQ,IAAI,mBAAmB;CAGhC"}
@@ -1,5 +1,4 @@
1
1
  import * as tools from "@bgord/tools";
2
- import { ErrorNormalizer } from "./error-normalizer.service";
3
2
  import { LogLevelEnum, } from "./logger.port";
4
3
  import { LoggerState, } from "./logger-stats-provider.port";
5
4
  import { WoodchopperStats } from "./woodchopper-stats.service";
@@ -34,7 +33,7 @@ export class Woodchopper {
34
33
  let withNormalization;
35
34
  try {
36
35
  withNormalization =
37
- "error" in entry ? { ...entry, error: ErrorNormalizer.normalize(entry.error) } : entry;
36
+ "error" in entry ? { ...entry, error: tools.ErrorNormalizer.normalize(entry.error) } : entry;
38
37
  }
39
38
  catch (error) {
40
39
  this.stats.recordDropped();
@@ -1 +1 @@
1
- {"version":3,"file":"woodchopper.js","sourceRoot":"","sources":["../src/woodchopper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"woodchopper.js","sourceRoot":"","sources":["../src/woodchopper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bgord/bun",
3
- "version": "1.16.1",
3
+ "version": "1.16.2",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "author": "Bartosz Gordon",
@@ -26,13 +26,14 @@
26
26
  "@commitlint/config-conventional": "20.5.0",
27
27
  "@standard-schema/spec": "1.1.0",
28
28
  "@stryker-mutator/core": "9.6.0",
29
+ "@stryker-mutator/typescript-checker": "9.6.0",
29
30
  "@types/bun": "1.3.11",
30
31
  "@types/nodemailer": "7.0.11",
31
32
  "@types/yazl": "3.3.0",
32
33
  "better-auth": "1.5.6",
33
34
  "cspell": "9.7.0",
34
35
  "csv": "6.5.1",
35
- "knip": "6.0.5",
36
+ "knip": "6.0.6",
36
37
  "lefthook": "2.1.4",
37
38
  "lockfile-lint": "5.0.0",
38
39
  "nodemailer": "8.0.4",
@@ -44,7 +45,7 @@
44
45
  "yazl": "3.3.1"
45
46
  },
46
47
  "dependencies": {
47
- "@bgord/tools": "1.4.10",
48
+ "@bgord/tools": "1.4.12",
48
49
  "emittery": "2.0.0",
49
50
  "hono": "4.12.9",
50
51
  "node-cache": "5.1.2"
package/readme.md CHANGED
@@ -49,6 +49,8 @@ src/
49
49
  ├── alert-message.vo.ts
50
50
  ├── antivirus-clamav.adapter.ts
51
51
  ├── antivirus-noop.adapter.ts
52
+ ├── antivirus-with-logger.adapter.ts
53
+ ├── antivirus-with-semaphore.adapter.ts
52
54
  ├── antivirus.port.ts
53
55
  ├── api-version-hono.middleware.ts
54
56
  ├── api-version.middleware.ts
@@ -95,9 +97,9 @@ src/
95
97
  ├── crypto-key-provider-noop.adapter.ts
96
98
  ├── crypto-key-provider-with-cache.adapter.ts
97
99
  ├── crypto-key-provider.port.ts
100
+ ├── csv-stringifier-noop.adapter.ts
98
101
  ├── csv-stringifier.adapter.ts
99
102
  ├── csv-stringifier.port.ts
100
- ├── deep-clone-with.ts
101
103
  ├── directory-ensurer-noop.adapter.ts
102
104
  ├── directory-ensurer.adapter.ts
103
105
  ├── directory-ensurer.port.ts
@@ -116,7 +118,6 @@ src/
116
118
  ├── environment-loader-process-safe.adapter.ts
117
119
  ├── environment-loader-process.adapter.ts
118
120
  ├── environment-loader.port.ts
119
- ├── error-normalizer.service.ts
120
121
  ├── etag-extractor-hono.middleware.ts
121
122
  ├── etag-extractor.middleware.ts
122
123
  ├── event-envelope.ts
@@ -178,6 +179,7 @@ src/
178
179
  ├── file-renamer.port.ts
179
180
  ├── file-uploader-hono.middleware.ts
180
181
  ├── file-uploader.middleware.ts
182
+ ├── file-writer-forgiving.adapter.ts
181
183
  ├── file-writer-noop.adapter.ts
182
184
  ├── file-writer.adapter.ts
183
185
  ├── file-writer.port.ts
@@ -209,30 +211,39 @@ src/
209
211
  ├── id-provider.port.ts
210
212
  ├── image-alpha-noop.adapter.ts
211
213
  ├── image-alpha-sharp.adapter.ts
214
+ ├── image-alpha-with-semaphore.adapter.ts
212
215
  ├── image-alpha.port.ts
213
216
  ├── image-blur-noop.adapter.ts
214
217
  ├── image-blur-sharp.adapter.ts
218
+ ├── image-blur-with-semaphore.adapter.ts
215
219
  ├── image-blur.port.ts
216
220
  ├── image-compressor-noop.adapter.ts
217
221
  ├── image-compressor-sharp.adapter.ts
222
+ ├── image-compressor-with-semaphore.adapter.ts
218
223
  ├── image-compressor.port.ts
219
224
  ├── image-exif-clear-noop.adapter.ts
220
225
  ├── image-exif-clear-sharp.adapter.ts
226
+ ├── image-exif-clear-with-semaphore.adapter.ts
221
227
  ├── image-exif-clear.port.ts
222
228
  ├── image-formatter-noop.adapter.ts
223
229
  ├── image-formatter-sharp.adapter.ts
230
+ ├── image-formatter-with-semaphore.adapter.ts
224
231
  ├── image-formatter.port.ts
225
232
  ├── image-grayscale-noop.adapter.ts
226
233
  ├── image-grayscale-sharp.adapter.ts
234
+ ├── image-grayscale-with-semaphore.adapter.ts
227
235
  ├── image-grayscale.port.ts
228
236
  ├── image-info-noop.adapter.ts
229
237
  ├── image-info-sharp.adapter.ts
238
+ ├── image-info-with-semaphore.adapter.ts
230
239
  ├── image-info.port.ts
231
240
  ├── image-processor-noop.adapter.ts
232
241
  ├── image-processor-sharp.adapter.ts
242
+ ├── image-processor-with-semaphore.adapter.ts
233
243
  ├── image-processor.port.ts
234
244
  ├── image-resizer-noop.adapter.ts
235
245
  ├── image-resizer-sharp.adapter.ts
246
+ ├── image-resizer-with-semaphore.adapter.ts
236
247
  ├── image-resizer.port.ts
237
248
  ├── in-flight-requests-hono.middleware.ts
238
249
  ├── in-flight-requests-tracker.service.ts
@@ -240,7 +251,6 @@ src/
240
251
  ├── instrumentation.service.ts
241
252
  ├── invariant-error-handler.service.ts
242
253
  ├── invariant.service.ts
243
- ├── is-plain-object.ts
244
254
  ├── job-handler-bare.strategy.ts
245
255
  ├── job-handler-noop.strategy.ts
246
256
  ├── job-handler-with-logger.strategy.ts
@@ -394,6 +404,7 @@ src/
394
404
  ├── redactor.strategy.ts
395
405
  ├── remote-file-storage-disk.adapter.ts
396
406
  ├── remote-file-storage-noop.adapter.ts
407
+ ├── remote-file-storage-with-logger.adapter.ts
397
408
  ├── remote-file-storage.port.ts
398
409
  ├── request-context-hono.adapter.ts
399
410
  ├── request-context.port.ts
@@ -428,6 +439,7 @@ src/
428
439
  ├── security-rule-user-agent.strategy.ts
429
440
  ├── security-rule-violation-threshold.strategy.ts
430
441
  ├── security-rule.strategy.ts
442
+ ├── semaphore.service.ts
431
443
  ├── setup-hono.service.ts
432
444
  ├── shield-api-key-hono.strategy.ts
433
445
  ├── shield-api-key.strategy.ts
@@ -29,7 +29,7 @@ export class AntivirusClamavAdapter implements AntivirusPort {
29
29
  const signature = stdout.match(this.signature) ?? stderr.match(this.signature);
30
30
 
31
31
  // Stryker disable all
32
- return { clean: false, signature: signature?.groups?.["signature"]?.trim() ?? "unknown" };
32
+ return { clean: false, signature: signature?.groups?.["signature"] ?? "unknown" };
33
33
  // Stryker restore all
34
34
  }
35
35
 
@@ -0,0 +1,44 @@
1
+ import type * as tools from "@bgord/tools";
2
+ import type { AntivirusPort, AntivirusScanResult } from "./antivirus.port";
3
+ import type { ClockPort } from "./clock.port";
4
+ import type { LoggerPort } from "./logger.port";
5
+ import { Stopwatch } from "./stopwatch.service";
6
+
7
+ type Dependencies = { inner: AntivirusPort; Logger: LoggerPort; Clock: ClockPort };
8
+
9
+ export class AntivirusWithLoggerAdapter implements AntivirusPort {
10
+ private readonly base = { component: "infra", operation: "antivirus" };
11
+
12
+ constructor(private readonly deps: Dependencies) {}
13
+
14
+ async scan(bytes: Uint8Array, filename?: tools.Filename): Promise<AntivirusScanResult> {
15
+ const duration = new Stopwatch(this.deps);
16
+
17
+ try {
18
+ this.deps.Logger.info({
19
+ message: "Antivirus scan attempt",
20
+ metadata: { filename, size: bytes.byteLength },
21
+ ...this.base,
22
+ });
23
+
24
+ const result = await this.deps.inner.scan(bytes, filename);
25
+
26
+ this.deps.Logger.info({
27
+ message: "Antivirus scan success",
28
+ metadata: { filename, clean: result.clean, duration: duration.stop() },
29
+ ...this.base,
30
+ });
31
+
32
+ return result;
33
+ } catch (error) {
34
+ this.deps.Logger.error({
35
+ message: "Antivirus scan error",
36
+ error,
37
+ metadata: duration.stop(),
38
+ ...this.base,
39
+ });
40
+
41
+ throw error;
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,13 @@
1
+ import type * as tools from "@bgord/tools";
2
+ import type { AntivirusPort, AntivirusScanResult } from "./antivirus.port";
3
+ import type { Semaphore } from "./semaphore.service";
4
+
5
+ type Dependencies = { inner: AntivirusPort; semaphore: Semaphore };
6
+
7
+ export class AntivirusWithSemaphoreAdapter implements AntivirusPort {
8
+ constructor(private readonly deps: Dependencies) {}
9
+
10
+ async scan(bytes: Uint8Array, filename?: tools.Filename): Promise<AntivirusScanResult> {
11
+ return this.deps.semaphore.run(() => this.deps.inner.scan(bytes, filename));
12
+ }
13
+ }
@@ -0,0 +1,7 @@
1
+ import type { CsvColumnType, CsvRowType, CsvStringifierPort } from "./csv-stringifier.port";
2
+
3
+ export class CsvStringifierNoopAdapter implements CsvStringifierPort {
4
+ async process(_columns: ReadonlyArray<CsvColumnType>, _data: ReadonlyArray<CsvRowType>): Promise<string> {
5
+ return "";
6
+ }
7
+ }
@@ -24,7 +24,6 @@ export class EnvironmentLoaderEncryptedAdapter<T extends object> implements Envi
24
24
 
25
25
  const result = this.config.EnvironmentSchema["~standard"].validate(env);
26
26
  if (result instanceof Promise) throw new Error(EnvironmentLoaderError.NoAsyncSchema);
27
- // Stryker disable next-line OptionalChaining
28
27
  if (result.issues) throw new Error(result.issues[0]?.message);
29
28
  return Object.freeze({ ...result.value, type: this.config.type });
30
29
  }
@@ -14,7 +14,6 @@ export class EnvironmentLoaderNoopAdapter<T extends object> implements Environme
14
14
  async load(): Promise<Readonly<EnvironmentResultType<T>>> {
15
15
  const result = this.config.EnvironmentSchema["~standard"].validate(this.deterministic);
16
16
  if (result instanceof Promise) throw new Error(EnvironmentLoaderError.NoAsyncSchema);
17
- // Stryker disable next-line OptionalChaining
18
17
  if (result.issues) throw new Error(result.issues[0]?.message);
19
18
  return Object.freeze({ ...result.value, type: this.config.type });
20
19
  }
@@ -25,7 +25,6 @@ export class EnvironmentLoaderProcessSafeAdapter<T extends object> implements En
25
25
  const parsed = await this.deps.CacheResolver.resolve(subject.hex, async () => {
26
26
  const result = this.config.EnvironmentSchema["~standard"].validate(this.env);
27
27
  if (result instanceof Promise) throw new Error(EnvironmentLoaderError.NoAsyncSchema);
28
- // Stryker disable next-line OptionalChaining
29
28
  if (result.issues) throw new Error(result.issues[0]?.message);
30
29
  return result.value;
31
30
  });
@@ -14,7 +14,6 @@ export class EnvironmentLoaderProcessAdapter<T extends object> implements Enviro
14
14
  async load(): Promise<Readonly<EnvironmentResultType<T>>> {
15
15
  const result = this.config.EnvironmentSchema["~standard"].validate(this.env);
16
16
  if (result instanceof Promise) throw new Error(EnvironmentLoaderError.NoAsyncSchema);
17
- // Stryker disable next-line OptionalChaining
18
17
  if (result.issues) throw new Error(result.issues[0]?.message);
19
18
  return Object.freeze({ ...result.value, type: this.config.type });
20
19
  }
@@ -1,4 +1,4 @@
1
- import perf_hooks from "perf_hooks";
1
+ import perf_hooks from "node:perf_hooks";
2
2
  import * as tools from "@bgord/tools";
3
3
 
4
4
  export type EventLoopLagSnapshotType = { p50: tools.Duration; p95: tools.Duration; p99: tools.Duration };
@@ -7,9 +7,7 @@ export class EventLoopUtilization {
7
7
  private static previous: ReturnType<typeof performance.eventLoopUtilization> | null = null;
8
8
 
9
9
  static snapshot(): EventLoopUtilizationSnapshot {
10
- // Stryker disable all
11
10
  const current = performance.eventLoopUtilization(EventLoopUtilization.previous ?? undefined);
12
- // Stryker restore all
13
11
 
14
12
  EventLoopUtilization.previous = current;
15
13
 
@@ -40,7 +40,6 @@ export class EventStoreWithLoggerAdapter<Event extends GenericEvent> implements
40
40
  component: "infra",
41
41
  operation: "event_store_save",
42
42
  correlationId: CorrelationStorage.get(),
43
- // Stryker disable next-line OptionalChaining
44
43
  metadata: { stream: events[0]?.stream, names: events.map((event) => event.name), count: events.length },
45
44
  });
46
45
 
@@ -27,7 +27,7 @@ export class EventUpcasterChainAdapter implements EventUpcasterPort {
27
27
  throw new Error(EventUpcasterChainAdapterError.DuplicateStep);
28
28
  }
29
29
 
30
- if (chain.some((step, i) => i > 0 && step.config.fromVersion !== chain[i - 1]!.config.toVersion)) {
30
+ if (chain.some((step, i) => i > 0 && step.config.fromVersion !== chain[i - 1]?.config.toVersion)) {
31
31
  throw new Error(EventUpcasterChainAdapterError.GapInChain);
32
32
  }
33
33
  }
@@ -37,7 +37,6 @@ export class EventValidatorRegistryAdapter<Event> implements EventValidatorRegis
37
37
  const result = schema["~standard"].validate(raw);
38
38
 
39
39
  if (result instanceof Promise) throw new Error(EventValidatorRegistryError.NoAsyncSchema);
40
- // Stryker disable next-line OptionalChaining
41
40
  if (result.issues) throw new Error(result.issues[0]?.message);
42
41
  return result.value;
43
42
  }
@@ -6,9 +6,7 @@ export class FileCopierAdapter implements FileCopierPort {
6
6
  source: tools.FilePathRelative | tools.FilePathAbsolute | string,
7
7
  destination: tools.FilePathRelative | tools.FilePathAbsolute | string,
8
8
  ): Promise<void> {
9
- // Stryker disable all
10
9
  const file = Bun.file(typeof source === "string" ? source : source.get());
11
- // Stryker restore all
12
10
 
13
11
  await Bun.write(typeof destination === "string" ? destination : destination.get(), file);
14
12
  }
@@ -0,0 +1,14 @@
1
+ import type * as tools from "@bgord/tools";
2
+ import type { FileWriterContent, FileWriterPort } from "./file-writer.port";
3
+
4
+ export class FileWriterForgivingAdapter implements FileWriterPort {
5
+ async write(
6
+ path: tools.FilePathRelative | tools.FilePathAbsolute | string,
7
+ content: FileWriterContent,
8
+ ): Promise<void> {
9
+ try {
10
+ // Types are different than the runtime behavior
11
+ await Bun.write(typeof path === "string" ? path : path.get(), content as any);
12
+ } catch {}
13
+ }
14
+ }
@@ -11,9 +11,7 @@ export class GracefulShutdown {
11
11
 
12
12
  constructor(
13
13
  private readonly deps: Dependencies,
14
- // Stryker disable all
15
14
  private readonly exitFn: (code: number) => never = (code: number) => process.exit(code),
16
- // Stryker restore all
17
15
  ) {}
18
16
 
19
17
  private shutdown(server: ServerType, cleanup: () => any, exitCode: number) {
@@ -0,0 +1,13 @@
1
+ import type * as tools from "@bgord/tools";
2
+ import type { ImageAlphaPort, ImageAlphaStrategy } from "./image-alpha.port";
3
+ import type { Semaphore } from "./semaphore.service";
4
+
5
+ type Dependencies = { inner: ImageAlphaPort; semaphore: Semaphore };
6
+
7
+ export class ImageAlphaWithSemaphoreAdapter implements ImageAlphaPort {
8
+ constructor(private readonly deps: Dependencies) {}
9
+
10
+ async flatten(recipe: ImageAlphaStrategy): Promise<tools.FilePathRelative | tools.FilePathAbsolute> {
11
+ return this.deps.semaphore.run(() => this.deps.inner.flatten(recipe));
12
+ }
13
+ }
@@ -0,0 +1,13 @@
1
+ import type * as tools from "@bgord/tools";
2
+ import type { ImageBlurPort, ImageBlurStrategy } from "./image-blur.port";
3
+ import type { Semaphore } from "./semaphore.service";
4
+
5
+ type Dependencies = { inner: ImageBlurPort; semaphore: Semaphore };
6
+
7
+ export class ImageBlurWithSemaphoreAdapter implements ImageBlurPort {
8
+ constructor(private readonly deps: Dependencies) {}
9
+
10
+ async blur(recipe: ImageBlurStrategy): Promise<tools.FilePathRelative | tools.FilePathAbsolute> {
11
+ return this.deps.semaphore.run(() => this.deps.inner.blur(recipe));
12
+ }
13
+ }
@@ -0,0 +1,13 @@
1
+ import type * as tools from "@bgord/tools";
2
+ import type { ImageCompressorPort, ImageCompressorStrategy } from "./image-compressor.port";
3
+ import type { Semaphore } from "./semaphore.service";
4
+
5
+ type Dependencies = { inner: ImageCompressorPort; semaphore: Semaphore };
6
+
7
+ export class ImageCompressorWithSemaphoreAdapter implements ImageCompressorPort {
8
+ constructor(private readonly deps: Dependencies) {}
9
+
10
+ async compress(recipe: ImageCompressorStrategy): Promise<tools.FilePathRelative | tools.FilePathAbsolute> {
11
+ return this.deps.semaphore.run(() => this.deps.inner.compress(recipe));
12
+ }
13
+ }
@@ -0,0 +1,13 @@
1
+ import type * as tools from "@bgord/tools";
2
+ import type { ImageExifClearPort, ImageExifClearStrategy } from "./image-exif-clear.port";
3
+ import type { Semaphore } from "./semaphore.service";
4
+
5
+ type Dependencies = { inner: ImageExifClearPort; semaphore: Semaphore };
6
+
7
+ export class ImageExifClearWithSemaphoreAdapter implements ImageExifClearPort {
8
+ constructor(private readonly deps: Dependencies) {}
9
+
10
+ async clear(recipe: ImageExifClearStrategy): Promise<tools.FilePathRelative | tools.FilePathAbsolute> {
11
+ return this.deps.semaphore.run(() => this.deps.inner.clear(recipe));
12
+ }
13
+ }