@bgord/bun 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. package/dist/prerequisites.service.d.ts +2 -2
  2. package/dist/prerequisites.service.d.ts.map +1 -1
  3. package/dist/prerequisites.service.js.map +1 -1
  4. package/dist/tsconfig.tsbuildinfo +1 -1
  5. package/package.json +2 -2
  6. package/src/prerequisites.service.ts +2 -2
  7. package/dist/api-key-shield.d.ts +0 -14
  8. package/dist/api-key-shield.d.ts.map +0 -1
  9. package/dist/api-key-shield.js +0 -19
  10. package/dist/api-key-shield.js.map +0 -1
  11. package/dist/api-version.d.ts +0 -6
  12. package/dist/api-version.d.ts.map +0 -1
  13. package/dist/api-version.js +0 -12
  14. package/dist/api-version.js.map +0 -1
  15. package/dist/auth-shield.d.ts +0 -31
  16. package/dist/auth-shield.d.ts.map +0 -1
  17. package/dist/auth-shield.js +0 -83
  18. package/dist/auth-shield.js.map +0 -1
  19. package/dist/basic-auth-shield.d.ts +0 -14
  20. package/dist/basic-auth.d.ts +0 -14
  21. package/dist/basic-auth.d.ts.map +0 -1
  22. package/dist/basic-auth.js +0 -13
  23. package/dist/basic-auth.js.map +0 -1
  24. package/dist/bgord-bun.cjs +0 -2
  25. package/dist/bgord-bun.cjs.map +0 -1
  26. package/dist/bgord-bun.modern.js +0 -2
  27. package/dist/bgord-bun.modern.js.map +0 -1
  28. package/dist/bgord-bun.module.js +0 -2
  29. package/dist/bgord-bun.module.js.map +0 -1
  30. package/dist/bgord-bun.umd.js +0 -2
  31. package/dist/bgord-bun.umd.js.map +0 -1
  32. package/dist/build-info-repository.d.ts +0 -10
  33. package/dist/build-info-repository.d.ts.map +0 -1
  34. package/dist/build-info-repository.js +0 -18
  35. package/dist/build-info-repository.js.map +0 -1
  36. package/dist/bun/api-key-shield.d.ts +0 -16
  37. package/dist/bun/api-version.d.ts +0 -8
  38. package/dist/bun/context.d.ts +0 -12
  39. package/dist/bun/etag-extractor.d.ts +0 -17
  40. package/dist/bun/graceful-shutdown.d.ts +0 -6
  41. package/dist/bun/healthcheck.d.ts +0 -22
  42. package/dist/bun/http-logger.d.ts +0 -9
  43. package/dist/bun/index.d.ts +0 -9
  44. package/dist/bun/rate-limit-shield.d.ts +0 -11
  45. package/dist/bun/time-zone-offset.d.ts +0 -16
  46. package/dist/cache-resolver.d.ts +0 -46
  47. package/dist/cache-resolver.d.ts.map +0 -1
  48. package/dist/cache-resolver.js +0 -44
  49. package/dist/cache-resolver.js.map +0 -1
  50. package/dist/cache-response.d.ts +0 -9
  51. package/dist/cache-response.d.ts.map +0 -1
  52. package/dist/cache-response.js +0 -25
  53. package/dist/cache-response.js.map +0 -1
  54. package/dist/cache-static-files.d.ts +0 -9
  55. package/dist/cache-static-files.d.ts.map +0 -1
  56. package/dist/cache-static-files.js +0 -25
  57. package/dist/cache-static-files.js.map +0 -1
  58. package/dist/cache.d.ts +0 -1
  59. package/dist/clock.d.ts +0 -49
  60. package/dist/context.d.ts +0 -14
  61. package/dist/context.d.ts.map +0 -1
  62. package/dist/context.js +0 -11
  63. package/dist/context.js.map +0 -1
  64. package/dist/correlation-id.d.ts +0 -4
  65. package/dist/correlation-id.d.ts.map +0 -1
  66. package/dist/correlation-id.js +0 -3
  67. package/dist/correlation-id.js.map +0 -1
  68. package/dist/credentials.d.ts +0 -28
  69. package/dist/dates.d.ts +0 -37
  70. package/dist/decorators.d.ts +0 -12
  71. package/dist/decorators.d.ts.map +0 -1
  72. package/dist/decorators.js +0 -62
  73. package/dist/decorators.js.map +0 -1
  74. package/dist/deep-merge.d.ts +0 -7
  75. package/dist/dll.d.ts +0 -29
  76. package/dist/download-file.d.ts +0 -13
  77. package/dist/download-file.d.ts.map +0 -1
  78. package/dist/download-file.js +0 -11
  79. package/dist/download-file.js.map +0 -1
  80. package/dist/email-censor.d.ts +0 -4
  81. package/dist/encryption.d.ts +0 -25
  82. package/dist/encryption.d.ts.map +0 -1
  83. package/dist/encryption.js +0 -37
  84. package/dist/encryption.js.map +0 -1
  85. package/dist/env-validator.d.ts +0 -21
  86. package/dist/env-validator.d.ts.map +0 -1
  87. package/dist/env-validator.js +0 -28
  88. package/dist/env-validator.js.map +0 -1
  89. package/dist/environment-validator.d.ts +0 -23
  90. package/dist/errors.d.ts +0 -49
  91. package/dist/etag-extractor.d.ts +0 -11
  92. package/dist/etag-extractor.d.ts.map +0 -1
  93. package/dist/etag-extractor.js +0 -18
  94. package/dist/etag-extractor.js.map +0 -1
  95. package/dist/etag.d.ts +0 -19
  96. package/dist/event-handler.d.ts +0 -8
  97. package/dist/event-handler.d.ts.map +0 -1
  98. package/dist/event-handler.js +0 -21
  99. package/dist/event-handler.js.map +0 -1
  100. package/dist/event-logger.d.ts +0 -8
  101. package/dist/event-logger.d.ts.map +0 -1
  102. package/dist/event-logger.js +0 -19
  103. package/dist/event-logger.js.map +0 -1
  104. package/dist/event.d.ts +0 -20
  105. package/dist/event.d.ts.map +0 -1
  106. package/dist/event.js +0 -23
  107. package/dist/event.js.map +0 -1
  108. package/dist/express-essentials.d.ts +0 -35
  109. package/dist/feature-flag.d.ts +0 -5
  110. package/dist/file-location.d.ts +0 -32
  111. package/dist/file-location.d.ts.map +0 -1
  112. package/dist/file-location.js +0 -46
  113. package/dist/file-location.js.map +0 -1
  114. package/dist/file-uploader.d.ts +0 -13
  115. package/dist/file-uploader.d.ts.map +0 -1
  116. package/dist/file-uploader.js +0 -35
  117. package/dist/file-uploader.js.map +0 -1
  118. package/dist/file.d.ts +0 -4
  119. package/dist/filter.d.ts +0 -17
  120. package/dist/graceful-shutdown.d.ts +0 -7
  121. package/dist/graceful-shutdown.d.ts.map +0 -1
  122. package/dist/graceful-shutdown.js +0 -32
  123. package/dist/graceful-shutdown.js.map +0 -1
  124. package/dist/gzip.d.ts +0 -13
  125. package/dist/gzip.d.ts.map +0 -1
  126. package/dist/gzip.js +0 -18
  127. package/dist/gzip.js.map +0 -1
  128. package/dist/handlebars.d.ts +0 -10
  129. package/dist/hcaptcha-shield.d.ts +0 -23
  130. package/dist/hcaptcha-shield.d.ts.map +0 -1
  131. package/dist/hcaptcha-shield.js +0 -34
  132. package/dist/hcaptcha-shield.js.map +0 -1
  133. package/dist/healthcheck.d.ts +0 -22
  134. package/dist/healthcheck.d.ts.map +0 -1
  135. package/dist/healthcheck.js +0 -35
  136. package/dist/healthcheck.js.map +0 -1
  137. package/dist/http-logger.d.ts +0 -7
  138. package/dist/http-logger.d.ts.map +0 -1
  139. package/dist/http-logger.js +0 -89
  140. package/dist/http-logger.js.map +0 -1
  141. package/dist/i18n.d.ts +0 -22
  142. package/dist/i18n.d.ts.map +0 -1
  143. package/dist/i18n.js +0 -35
  144. package/dist/i18n.js.map +0 -1
  145. package/dist/image-compressor.d.ts +0 -15
  146. package/dist/image-compressor.d.ts.map +0 -1
  147. package/dist/image-compressor.js +0 -13
  148. package/dist/image-compressor.js.map +0 -1
  149. package/dist/image-converter.d.ts +0 -11
  150. package/dist/image-exif.d.ts +0 -19
  151. package/dist/image-exif.d.ts.map +0 -1
  152. package/dist/image-exif.js +0 -21
  153. package/dist/image-exif.js.map +0 -1
  154. package/dist/image-processor.d.ts +0 -5
  155. package/dist/image-processor.d.ts.map +0 -1
  156. package/dist/image-processor.js +0 -5
  157. package/dist/image-processor.js.map +0 -1
  158. package/dist/image-resizer.d.ts +0 -16
  159. package/dist/jobs.d.ts +0 -33
  160. package/dist/jobs.d.ts.map +0 -1
  161. package/dist/jobs.js +0 -72
  162. package/dist/jobs.js.map +0 -1
  163. package/dist/leap-year-checker.d.ts +0 -4
  164. package/dist/logger.d.ts +0 -69
  165. package/dist/logger.d.ts.map +0 -1
  166. package/dist/logger.js +0 -87
  167. package/dist/logger.js.map +0 -1
  168. package/dist/mailer.d.ts +0 -38
  169. package/dist/mailer.d.ts.map +0 -1
  170. package/dist/mailer.js +0 -33
  171. package/dist/mailer.js.map +0 -1
  172. package/dist/mean.d.ts +0 -4
  173. package/dist/memory-consumption.d.ts +0 -5
  174. package/dist/memory-consumption.d.ts.map +0 -1
  175. package/dist/memory-consumption.js +0 -8
  176. package/dist/memory-consumption.js.map +0 -1
  177. package/dist/method-override.d.ts +0 -4
  178. package/dist/mime-types.d.ts +0 -2
  179. package/dist/mime.d.ts +0 -10
  180. package/dist/min-max-scaler.d.ts +0 -36
  181. package/dist/money.d.ts +0 -24
  182. package/dist/new-uuid.d.ts +0 -4
  183. package/dist/new-uuid.d.ts.map +0 -1
  184. package/dist/new-uuid.js +0 -6
  185. package/dist/new-uuid.js.map +0 -1
  186. package/dist/noop.d.ts +0 -2
  187. package/dist/open-graph.d.ts +0 -110
  188. package/dist/open-graph.d.ts.map +0 -1
  189. package/dist/open-graph.js +0 -172
  190. package/dist/open-graph.js.map +0 -1
  191. package/dist/outlier-detector.d.ts +0 -6
  192. package/dist/package-version.d.ts +0 -20
  193. package/dist/pagination.d.ts +0 -58
  194. package/dist/passwords.d.ts +0 -21
  195. package/dist/passwords.d.ts.map +0 -1
  196. package/dist/passwords.js +0 -42
  197. package/dist/passwords.js.map +0 -1
  198. package/dist/path.d.ts +0 -4
  199. package/dist/path.d.ts.map +0 -1
  200. package/dist/path.js +0 -3
  201. package/dist/path.js.map +0 -1
  202. package/dist/percentage.d.ts +0 -4
  203. package/dist/policy.d.ts +0 -11
  204. package/dist/polyfills.d.ts +0 -0
  205. package/dist/population-standard-deviation.d.ts +0 -4
  206. package/dist/port.d.ts +0 -4
  207. package/dist/port.d.ts.map +0 -1
  208. package/dist/port.js +0 -3
  209. package/dist/port.js.map +0 -1
  210. package/dist/prerequisites.d.ts +0 -48
  211. package/dist/prerequisites.d.ts.map +0 -1
  212. package/dist/prerequisites.js +0 -85
  213. package/dist/prerequisites.js.map +0 -1
  214. package/dist/random.d.ts +0 -8
  215. package/dist/rate-limit-shield.d.ts +0 -9
  216. package/dist/rate-limit-shield.d.ts.map +0 -1
  217. package/dist/rate-limit-shield.js +0 -18
  218. package/dist/rate-limit-shield.js.map +0 -1
  219. package/dist/rate-limiter.d.ts +0 -18
  220. package/dist/recaptcha-shield.d.ts +0 -20
  221. package/dist/recaptcha-shield.d.ts.map +0 -1
  222. package/dist/recaptcha-shield.js +0 -50
  223. package/dist/recaptcha-shield.js.map +0 -1
  224. package/dist/redirector.d.ts +0 -4
  225. package/dist/reordering.d.ts +0 -49
  226. package/dist/request-id.d.ts +0 -13
  227. package/dist/response-body-in-locals.d.ts +0 -4
  228. package/dist/revision.d.ts +0 -12
  229. package/dist/rounding.d.ts +0 -17
  230. package/dist/schema.d.ts +0 -189
  231. package/dist/server-timing.d.ts +0 -7
  232. package/dist/session-id.d.ts +0 -7
  233. package/dist/session-id.d.ts.map +0 -1
  234. package/dist/session-id.js +0 -10
  235. package/dist/session-id.js.map +0 -1
  236. package/dist/setup.d.ts +0 -9
  237. package/dist/setup.d.ts.map +0 -1
  238. package/dist/setup.js +0 -39
  239. package/dist/setup.js.map +0 -1
  240. package/dist/simple-linear-regression.d.ts +0 -18
  241. package/dist/simulated-error.d.ts +0 -4
  242. package/dist/simulated-error.d.ts.map +0 -1
  243. package/dist/simulated-error.js +0 -7
  244. package/dist/simulated-error.js.map +0 -1
  245. package/dist/sitemap.d.ts +0 -29
  246. package/dist/sitemap.d.ts.map +0 -1
  247. package/dist/sitemap.js +0 -57
  248. package/dist/sitemap.js.map +0 -1
  249. package/dist/size.d.ts +0 -31
  250. package/dist/sleep.d.ts +0 -3
  251. package/dist/slower.d.ts +0 -5
  252. package/dist/slower.d.ts.map +0 -1
  253. package/dist/slower.js +0 -8
  254. package/dist/slower.js.map +0 -1
  255. package/dist/static-files.d.ts +0 -14
  256. package/dist/stepper.d.ts +0 -23
  257. package/dist/stopwatch.d.ts +0 -14
  258. package/dist/streak-calculator.d.ts +0 -14
  259. package/dist/sum.d.ts +0 -3
  260. package/dist/thousands-separator.d.ts +0 -4
  261. package/dist/time-zone-offset.d.ts +0 -15
  262. package/dist/time-zone-offset.d.ts.map +0 -1
  263. package/dist/time-zone-offset.js +0 -22
  264. package/dist/time-zone-offset.js.map +0 -1
  265. package/dist/time.d.ts +0 -21
  266. package/dist/timeout.d.ts +0 -9
  267. package/dist/ts-utils.d.ts +0 -3
  268. package/dist/uploaded-file-location.d.ts +0 -10
  269. package/dist/uptime.d.ts +0 -9
  270. package/dist/uptime.d.ts.map +0 -1
  271. package/dist/uptime.js +0 -10
  272. package/dist/uptime.js.map +0 -1
  273. package/dist/url-wo-trailing-slash.d.ts +0 -4
  274. package/dist/url-wo-trailing-slash.d.ts.map +0 -1
  275. package/dist/url-wo-trailing-slash.js +0 -9
  276. package/dist/url-wo-trailing-slash.js.map +0 -1
  277. package/dist/username.d.ts +0 -11
  278. package/dist/username.d.ts.map +0 -1
  279. package/dist/username.js +0 -13
  280. package/dist/username.js.map +0 -1
  281. package/dist/uuid.d.ts +0 -4
  282. package/dist/uuid.d.ts.map +0 -1
  283. package/dist/uuid.js +0 -4
  284. package/dist/uuid.js.map +0 -1
  285. package/dist/visually-unambiguous-characters-generator.d.ts +0 -4
  286. package/dist/weak-etag-extractor.d.ts +0 -7
  287. package/dist/weak-etag-extractor.d.ts.map +0 -1
  288. package/dist/weak-etag-extractor.js +0 -18
  289. package/dist/weak-etag-extractor.js.map +0 -1
  290. package/dist/z-score.d.ts +0 -8
@@ -1,8 +0,0 @@
1
- import { EventType } from "./event";
2
- import { Logger } from "./logger";
3
- export declare class EventHandler {
4
- private readonly logger;
5
- constructor(logger: Logger);
6
- handle<T extends Pick<EventType, "name">>(fn: (event: T) => Promise<void>): (event: T) => Promise<void>;
7
- }
8
- //# sourceMappingURL=event-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-handler.d.ts","sourceRoot":"","sources":["../src/event-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,MAAM,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IACzD,OAAO,CAAC;CAYzB"}
@@ -1,21 +0,0 @@
1
- export class EventHandler {
2
- logger;
3
- constructor(logger) {
4
- this.logger = logger;
5
- }
6
- handle(fn) {
7
- return async (event) => {
8
- try {
9
- await fn(event);
10
- }
11
- catch (error) {
12
- this.logger.error({
13
- message: `Unknown ${event.name} event handler error`,
14
- operation: "unknown_event_handler_error",
15
- metadata: this.logger.formatError(error),
16
- });
17
- }
18
- };
19
- }
20
- }
21
- //# sourceMappingURL=event-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-handler.js","sourceRoot":"","sources":["../src/event-handler.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,YAAY;IACM;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,MAAM,CAAoC,EAA+B;QACvE,OAAO,KAAK,EAAE,KAAQ,EAAE,EAAE;YACxB,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBAChB,OAAO,EAAE,WAAW,KAAK,CAAC,IAAI,sBAAsB;oBACpD,SAAS,EAAE,6BAA6B;oBACxC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;iBACzC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF"}
@@ -1,8 +0,0 @@
1
- import { Logger } from "./logger";
2
- export declare class EventLogger {
3
- private readonly logger;
4
- constructor(logger: Logger);
5
- private _handle;
6
- handle: (type: string, _debugName: string, eventName: string | undefined, eventData: Record<string, any> | undefined) => void;
7
- }
8
- //# sourceMappingURL=event-logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-logger.d.ts","sourceRoot":"","sources":["../src/event-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,OAAO,CAAC,OAAO;IAiBf,MAAM,SAhBE,MAAM,cACA,MAAM,aACP,MAAM,GAAG,SAAS,aAClB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,UAaX;CAClC"}
@@ -1,19 +0,0 @@
1
- export class EventLogger {
2
- logger;
3
- constructor(logger) {
4
- this.logger = logger;
5
- }
6
- _handle(type, _debugName, eventName, eventData) {
7
- if (type === "subscribe")
8
- return;
9
- if (typeof eventName === "symbol")
10
- return;
11
- this.logger.info({
12
- message: `${eventName} emitted`,
13
- operation: "event_emitted",
14
- metadata: eventData,
15
- });
16
- }
17
- handle = this._handle.bind(this);
18
- }
19
- //# sourceMappingURL=event-logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-logger.js","sourceRoot":"","sources":["../src/event-logger.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAW;IACO;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAEvC,OAAO,CACb,IAAY,EACZ,UAAkB,EAClB,SAA6B,EAC7B,SAA0C;QAE1C,IAAI,IAAI,KAAK,WAAW;YAAE,OAAO;QAEjC,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,OAAO;QAE1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,OAAO,EAAE,GAAG,SAAS,UAAU;YAC/B,SAAS,EAAE,eAAe;YAC1B,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;CAClC"}
package/dist/event.d.ts DELETED
@@ -1,20 +0,0 @@
1
- import { z } from "zod/v4";
2
- export declare const Event: z.ZodObject<{
3
- id: z.ZodDefault<z.ZodUUID>;
4
- createdAt: z.ZodDate;
5
- stream: z.ZodString;
6
- name: z.ZodString;
7
- version: z.ZodNumber;
8
- payload: z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodTransform<string, Record<string, any>>>;
9
- }, z.core.$strip>;
10
- export declare const ParsedEvent: z.ZodObject<{
11
- id: z.ZodDefault<z.ZodUUID>;
12
- createdAt: z.ZodDate;
13
- stream: z.ZodString;
14
- name: z.ZodString;
15
- version: z.ZodNumber;
16
- payload: z.ZodRecord<z.ZodString, z.ZodAny>;
17
- }, z.core.$strip>;
18
- export type EventType = z.infer<typeof Event>;
19
- export type ParsedEventType = z.infer<typeof ParsedEvent>;
20
- //# sourceMappingURL=event.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,eAAO,MAAM,KAAK;;;;;;;iBAmBhB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;iBAAoE,CAAC;AAE7F,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;AAC9C,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC"}
package/dist/event.js DELETED
@@ -1,23 +0,0 @@
1
- import { z } from "zod/v4";
2
- import { UUID } from "./uuid";
3
- export const Event = z.object({
4
- id: UUID,
5
- createdAt: z.date(),
6
- stream: z.string().min(1),
7
- name: z.string().min(1),
8
- version: z.number().int().positive(),
9
- payload: z
10
- .record(z.string(), z.any())
11
- .refine((value) => {
12
- try {
13
- JSON.parse(JSON.stringify(value));
14
- return true;
15
- }
16
- catch (error) {
17
- return false;
18
- }
19
- })
20
- .transform((value) => JSON.stringify(value)),
21
- });
22
- export const ParsedEvent = Event.merge(z.object({ payload: z.record(z.string(), z.any()) }));
23
- //# sourceMappingURL=event.js.map
package/dist/event.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,EAAE,EAAE,IAAI;IACR,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;IAEnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC;SACP,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;SAC3B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAChB,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;SACD,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC"}
@@ -1,35 +0,0 @@
1
- import "./polyfills";
2
- import express from "express";
3
- import bodyparser from "body-parser";
4
- import helmet from "helmet";
5
- import cors from "cors";
6
- import { StaticFilesConfigType } from "./static-files";
7
- import { Stopwatch } from "./stopwatch";
8
- export type ExpressEssentialsConfig = Partial<{
9
- helmet: Parameters<typeof helmet>[0];
10
- json: bodyparser.OptionsJson;
11
- urlencoded: bodyparser.OptionsUrlencoded;
12
- cors: cors.CorsOptions;
13
- staticFiles: StaticFilesConfigType;
14
- }>;
15
- declare global {
16
- namespace Express {
17
- interface Locals {
18
- startup: Stopwatch;
19
- }
20
- }
21
- }
22
- export declare const DEFAULT_HELMET_CONFIG: {
23
- contentSecurityPolicy: {
24
- useDefaults: boolean;
25
- directives: {
26
- "script-src": string[];
27
- "script-src-attr": null;
28
- "style-src": string[];
29
- "frame-src": string[];
30
- "connect-src": string[];
31
- "img-src": string[];
32
- };
33
- };
34
- };
35
- export declare function addExpressEssentials(app: express.Express, config?: ExpressEssentialsConfig): void;
@@ -1,5 +0,0 @@
1
- import * as Schema from "./schema";
2
- export declare class FeatureFlag {
3
- static isEnabled(flag: Schema.FeatureFlagType): boolean;
4
- static isDisabled(flag: Schema.FeatureFlagType): boolean;
5
- }
@@ -1,32 +0,0 @@
1
- import { PathType } from "./path";
2
- type FileLocationBasenameType = string;
3
- type FileLocationExtensionType = string;
4
- type FileLocationParentType = string;
5
- export type FileLocationConfigType = {
6
- parent: FileLocationParentType;
7
- basename: FileLocationBasenameType;
8
- extension: FileLocationExtensionType;
9
- };
10
- export declare class FileLocation {
11
- readonly parent: PathType;
12
- private basename;
13
- private extension;
14
- constructor(config: FileLocationConfigType);
15
- getBasename(): FileLocationBasenameType;
16
- getExtension(): FileLocationExtensionType;
17
- getFilename(extension?: FileLocationExtensionType): PathType;
18
- getPath(extension?: FileLocationExtensionType): PathType;
19
- getGzippedPath(): PathType;
20
- summary(): {
21
- parent: string;
22
- basename: string;
23
- extension: string;
24
- filename: string;
25
- path: string;
26
- gzipped: string;
27
- };
28
- setBasename(basename: FileLocationBasenameType): FileLocation;
29
- delete(): Promise<void>;
30
- }
31
- export {};
32
- //# sourceMappingURL=file-location.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-location.d.ts","sourceRoot":"","sources":["../src/file-location.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAExC,KAAK,wBAAwB,GAAG,MAAM,CAAC;AAEvC,KAAK,yBAAyB,GAAG,MAAM,CAAC;AAExC,KAAK,sBAAsB,GAAG,MAAM,CAAC;AAErC,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,QAAQ,EAAE,wBAAwB,CAAC;IACnC,SAAS,EAAE,yBAAyB,CAAC;CACtC,CAAC;AAEF,qBAAa,YAAY;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAE1B,OAAO,CAAC,QAAQ,CAA2B;IAE3C,OAAO,CAAC,SAAS,CAA4B;gBAEjC,MAAM,EAAE,sBAAsB;IAM1C,WAAW,IAAI,wBAAwB;IAIvC,YAAY,IAAI,yBAAyB;IAIzC,WAAW,CAAC,SAAS,CAAC,EAAE,yBAAyB,GAAG,QAAQ;IAI5D,OAAO,CAAC,SAAS,CAAC,EAAE,yBAAyB,GAAG,QAAQ;IAKxD,cAAc,IAAI,QAAQ;IAI1B,OAAO;;;;;;;;IAWP,WAAW,CAAC,QAAQ,EAAE,wBAAwB,GAAG,YAAY;IAKvD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
@@ -1,46 +0,0 @@
1
- import * as path from "node:path";
2
- import { Path } from "./path";
3
- export class FileLocation {
4
- parent; // /parent/dir
5
- basename; // index
6
- extension; // .html
7
- constructor(config) {
8
- this.parent = Path.parse(config.parent);
9
- this.basename = config.basename;
10
- this.extension = config.extension;
11
- }
12
- getBasename() {
13
- return this.basename; // index
14
- }
15
- getExtension() {
16
- return this.extension; // .html
17
- }
18
- getFilename(extension) {
19
- return Path.parse(`${this.basename}${extension ?? this.extension}`); // index.html
20
- }
21
- getPath(extension) {
22
- const filename = this.getFilename(extension);
23
- return Path.parse(path.join(this.parent, filename)); // parent/index.html
24
- }
25
- getGzippedPath() {
26
- return Path.parse(`${this.getPath()}.gz`); // parent/index.html.gz
27
- }
28
- summary() {
29
- return {
30
- parent: this.parent,
31
- basename: this.getBasename(),
32
- extension: this.getExtension(),
33
- filename: this.getFilename(),
34
- path: this.getPath(),
35
- gzipped: this.getGzippedPath(),
36
- };
37
- }
38
- setBasename(basename) {
39
- this.basename = basename;
40
- return this;
41
- }
42
- async delete() {
43
- return Bun.file(this.getPath()).unlink();
44
- }
45
- }
46
- //# sourceMappingURL=file-location.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-location.js","sourceRoot":"","sources":["../src/file-location.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,IAAI,EAAY,MAAM,QAAQ,CAAC;AAcxC,MAAM,OAAO,YAAY;IACd,MAAM,CAAW,CAAC,cAAc;IAEjC,QAAQ,CAA2B,CAAC,QAAQ;IAE5C,SAAS,CAA4B,CAAC,QAAQ;IAEtD,YAAY,MAA8B;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ;IAChC,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ;IACjC,CAAC;IAED,WAAW,CAAC,SAAqC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,aAAa;IACpF,CAAC;IAED,OAAO,CAAC,SAAqC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,oBAAoB;IAC3E,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,uBAAuB;IACpE,CAAC;IAED,OAAO;QACL,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;YAC9B,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;YACpB,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE;SAC/B,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,QAAkC;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3C,CAAC;CACF"}
@@ -1,13 +0,0 @@
1
- import * as tools from "@bgord/tools";
2
- import { HTTPException } from "hono/http-exception";
3
- export declare const InvalidFileMimeTypeError: HTTPException;
4
- export declare const FileTooBigError: HTTPException;
5
- type FileUploaderConfigType = {
6
- mimeTypes: string[];
7
- maxFilesSize: tools.SizeValueType;
8
- };
9
- export declare class FileUploader {
10
- static validate(config: FileUploaderConfigType): import("hono").MiddlewareHandler<any, string, {}>[];
11
- }
12
- export {};
13
- //# sourceMappingURL=file-uploader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-uploader.d.ts","sourceRoot":"","sources":["../src/file-uploader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,eAAO,MAAM,wBAAwB,eAEnC,CAAC;AAEH,eAAO,MAAM,eAAe,eAE1B,CAAC;AAEH,KAAK,sBAAsB,GAAG;IAC5B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC;CACnC,CAAC;AAEF,qBAAa,YAAY;IACvB,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,sBAAsB;CA4B/C"}
@@ -1,35 +0,0 @@
1
- import * as tools from "@bgord/tools";
2
- import { bodyLimit } from "hono/body-limit";
3
- import { createMiddleware } from "hono/factory";
4
- import { HTTPException } from "hono/http-exception";
5
- export const InvalidFileMimeTypeError = new HTTPException(400, {
6
- message: "invalid_file_mime_type_error",
7
- });
8
- export const FileTooBigError = new HTTPException(400, {
9
- message: "file_too_big_error",
10
- });
11
- export class FileUploader {
12
- static validate(config) {
13
- return [
14
- bodyLimit({
15
- maxSize: config.maxFilesSize,
16
- onError: () => {
17
- throw FileTooBigError;
18
- },
19
- }),
20
- createMiddleware(async (c, next) => {
21
- const body = await c.req.raw.clone().formData();
22
- const file = body.get("file");
23
- if (!(file instanceof File)) {
24
- throw InvalidFileMimeTypeError;
25
- }
26
- const contentType = new tools.Mime(file.type);
27
- const accepted = config.mimeTypes.some((acceptedMimeType) => new tools.Mime(acceptedMimeType).isSatisfiedBy(contentType));
28
- if (!accepted)
29
- throw InvalidFileMimeTypeError;
30
- return next();
31
- }),
32
- ];
33
- }
34
- }
35
- //# sourceMappingURL=file-uploader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-uploader.js","sourceRoot":"","sources":["../src/file-uploader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE;IAC7D,OAAO,EAAE,8BAA8B;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE;IACpD,OAAO,EAAE,oBAAoB;CAC9B,CAAC,CAAC;AAOH,MAAM,OAAO,YAAY;IACvB,MAAM,CAAC,QAAQ,CAAC,MAA8B;QAC5C,OAAO;YACL,SAAS,CAAC;gBACR,OAAO,EAAE,MAAM,CAAC,YAAY;gBAC5B,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,eAAe,CAAC;gBACxB,CAAC;aACF,CAAC;YAEF,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAEhD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAE9B,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;oBAC5B,MAAM,wBAAwB,CAAC;gBACjC,CAAC;gBAED,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAC1D,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAC5D,CAAC;gBAEF,IAAI,CAAC,QAAQ;oBAAE,MAAM,wBAAwB,CAAC;gBAC9C,OAAO,IAAI,EAAE,CAAC;YAChB,CAAC,CAAC;SACH,CAAC;IACJ,CAAC;CACF"}
package/dist/file.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import * as Schema from "./schema";
2
- export declare class File {
3
- static getSizeInBytes(path: Schema.PathType): Promise<Schema.SizeInBytesType>;
4
- }
package/dist/filter.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import * as z from "zod";
2
- export type DefaultFilterSchemaType = z.ZodRawShape;
3
- export type FilterValuesType = Record<string, unknown>;
4
- export type FilterSchemaType<T extends DefaultFilterSchemaType> = z.ZodObject<T>;
5
- export type FilterParseConfigType<T extends DefaultFilterSchemaType> = {
6
- schema: FilterSchemaType<T>;
7
- values: FilterValuesType;
8
- };
9
- export declare class Filter<T extends DefaultFilterSchemaType> {
10
- private readonly schema;
11
- constructor(schema: FilterSchemaType<T>);
12
- parse(values: FilterValuesType): (z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T>, { [k_1 in keyof z.baseObjectOutputType<T>]: undefined extends z.baseObjectOutputType<T>[k_1] ? never : k_1; }[keyof T]> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T>, { [k_1 in keyof z.baseObjectOutputType<T>]: undefined extends z.baseObjectOutputType<T>[k_1] ? never : k_1; }[keyof T]>[k]; } : never) | undefined;
13
- default(): (z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T>, { [k_1 in keyof z.baseObjectOutputType<T>]: undefined extends z.baseObjectOutputType<T>[k_1] ? never : k_1; }[keyof T]> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T>, { [k_1 in keyof z.baseObjectOutputType<T>]: undefined extends z.baseObjectOutputType<T>[k_1] ? never : k_1; }[keyof T]>[k]; } : never) | undefined;
14
- static parse<T extends DefaultFilterSchemaType>(config: FilterParseConfigType<T>): (z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T>, { [k_1 in keyof z.baseObjectOutputType<T>]: undefined extends z.baseObjectOutputType<T>[k_1] ? never : k_1; }[keyof T]> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T>, { [k_1 in keyof z.baseObjectOutputType<T>]: undefined extends z.baseObjectOutputType<T>[k_1] ? never : k_1; }[keyof T]>[k]; } : never) | undefined;
15
- static default<T extends DefaultFilterSchemaType>(config: Omit<FilterParseConfigType<T>, "values">): (z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T>, { [k_1 in keyof z.baseObjectOutputType<T>]: undefined extends z.baseObjectOutputType<T>[k_1] ? never : k_1; }[keyof T]> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T>, { [k_1 in keyof z.baseObjectOutputType<T>]: undefined extends z.baseObjectOutputType<T>[k_1] ? never : k_1; }[keyof T]>[k]; } : never) | undefined;
16
- private static _parse;
17
- }
@@ -1,7 +0,0 @@
1
- type ServerType = ReturnType<typeof Bun.serve>;
2
- export declare class GracefulShutdown {
3
- private static shutdown;
4
- static applyTo(server: ServerType, callback?: () => any): void;
5
- }
6
- export {};
7
- //# sourceMappingURL=graceful-shutdown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graceful-shutdown.d.ts","sourceRoot":"","sources":["../src/graceful-shutdown.ts"],"names":[],"mappings":"AAEA,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AAE/C,qBAAa,gBAAgB;mBACN,QAAQ;IAO7B,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,GAAE,MAAM,GAAgB;CA0BpE"}
@@ -1,32 +0,0 @@
1
- import * as tools from "@bgord/tools";
2
- export class GracefulShutdown {
3
- static async shutdown(server, callback = tools.noop) {
4
- server.stop();
5
- await callback();
6
- // biome-ignore lint: lint/suspicious/noConsoleLog
7
- console.log("HTTP server closed");
8
- }
9
- static applyTo(server, callback = tools.noop) {
10
- process.on("SIGTERM", async () => {
11
- // biome-ignore lint: lint/suspicious/noConsoleLog
12
- console.log("SIGTERM signal received: closing HTTP server");
13
- await GracefulShutdown.shutdown(server, callback);
14
- process.exit(0);
15
- });
16
- process.on("SIGINT", async () => {
17
- // biome-ignore lint: lint/suspicious/noConsoleLog
18
- console.log("SIGINT signal received: closing HTTP server");
19
- await GracefulShutdown.shutdown(server, callback);
20
- process.exit(0);
21
- });
22
- process.on("unhandledRejection", async (event) => {
23
- // biome-ignore lint: lint/suspicious/noConsoleLog
24
- console.log("UnhandledPromiseRejectionWarning received: closing HTTP server");
25
- // biome-ignore lint: lint/suspicious/noConsoleLog
26
- console.log(JSON.stringify(event));
27
- await GracefulShutdown.shutdown(server, callback);
28
- process.exit(1);
29
- });
30
- }
31
- }
32
- //# sourceMappingURL=graceful-shutdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graceful-shutdown.js","sourceRoot":"","sources":["../src/graceful-shutdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAkB,EAAE,WAAsB,KAAK,CAAC,IAAI;QAChF,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,QAAQ,EAAE,CAAC;QACjB,kDAAkD;QAClD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,MAAkB,EAAE,WAAsB,KAAK,CAAC,IAAI;QACjE,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC/B,kDAAkD;YAClD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC5D,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,kDAAkD;YAClD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC3D,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/C,kDAAkD;YAClD,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;YAE9E,kDAAkD;YAClD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEnC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
package/dist/gzip.d.ts DELETED
@@ -1,13 +0,0 @@
1
- import { PathLike } from "node:fs";
2
- type GzipCompressConfigType = {
3
- input: PathLike;
4
- output: PathLike;
5
- };
6
- export declare class Gzip {
7
- static createCompress(): import("zlib").Gzip;
8
- static createDecompress(): import("zlib").Gunzip;
9
- static compress(config: GzipCompressConfigType): Promise<void>;
10
- static uncompress(config: GzipCompressConfigType): Promise<void>;
11
- }
12
- export {};
13
- //# sourceMappingURL=gzip.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gzip.d.ts","sourceRoot":"","sources":["../src/gzip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuC,MAAM,SAAS,CAAC;AAIxE,KAAK,sBAAsB,GAAG;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEpE,qBAAa,IAAI;IACf,MAAM,CAAC,cAAc;IAIrB,MAAM,CAAC,gBAAgB;WAIV,QAAQ,CAAC,MAAM,EAAE,sBAAsB;WAIvC,UAAU,CAAC,MAAM,EAAE,sBAAsB;CAGvD"}
package/dist/gzip.js DELETED
@@ -1,18 +0,0 @@
1
- import { createReadStream, createWriteStream } from "node:fs";
2
- import { pipeline } from "node:stream/promises";
3
- import { createGunzip, createGzip } from "node:zlib";
4
- export class Gzip {
5
- static createCompress() {
6
- return createGzip();
7
- }
8
- static createDecompress() {
9
- return createGunzip();
10
- }
11
- static async compress(config) {
12
- return pipeline(createReadStream(config.input), createGzip(), createWriteStream(config.output));
13
- }
14
- static async uncompress(config) {
15
- return pipeline(createReadStream(config.input), createGunzip(), createWriteStream(config.output));
16
- }
17
- }
18
- //# sourceMappingURL=gzip.js.map
package/dist/gzip.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"gzip.js","sourceRoot":"","sources":["../src/gzip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIrD,MAAM,OAAO,IAAI;IACf,MAAM,CAAC,cAAc;QACnB,OAAO,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAA8B;QAClD,OAAO,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAA8B;QACpD,OAAO,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpG,CAAC;CACF"}
@@ -1,10 +0,0 @@
1
- import express from "express";
2
- import handlebars from "express-handlebars";
3
- import * as Schema from "./schema";
4
- export type HandlebarsConfigType = handlebars.ExpressHandlebars["config"] & {
5
- path: Schema.PathType;
6
- };
7
- export declare class Handlebars {
8
- static handlebarsDefaultConfig: HandlebarsConfigType;
9
- static applyTo(app: express.Application, _config?: HandlebarsConfigType): void;
10
- }
@@ -1,23 +0,0 @@
1
- import { HTTPException } from "hono/http-exception";
2
- import { z } from "zod/v4";
3
- export declare const HCaptchaSecretKey: z.ZodString;
4
- export type HCaptchaSecretKeyType = z.infer<typeof HCaptchaSecretKey>;
5
- export declare const HCaptchaSiteKey: z.ZodString;
6
- export type HCaptchaSiteKeyType = z.infer<typeof HCaptchaSiteKey>;
7
- export declare const HCaptchaResponseToken: z.ZodString;
8
- export type HCaptchaResponseTokenType = z.infer<typeof HCaptchaResponseToken>;
9
- type HCaptchaVerifierModeType = "local" | "production";
10
- export declare const AccessDeniedHcaptchaError: HTTPException;
11
- export type HCaptchaVerifierConfigType = {
12
- secretKey: HCaptchaSecretKeyType;
13
- mode: HCaptchaVerifierModeType;
14
- };
15
- export declare class HcaptchaShield {
16
- private readonly secretKey;
17
- private readonly mode;
18
- private readonly LOCAL_HCAPTCHA_RESPONSE_PLACEHOLDER;
19
- constructor(config: HCaptchaVerifierConfigType);
20
- build: import("hono").MiddlewareHandler<any, string, {}>;
21
- }
22
- export {};
23
- //# sourceMappingURL=hcaptcha-shield.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hcaptcha-shield.d.ts","sourceRoot":"","sources":["../src/hcaptcha-shield.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,eAAO,MAAM,iBAAiB,aAA+B,CAAC;AAE9D,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEtE,eAAO,MAAM,eAAe,aAA+B,CAAC;AAC5D,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAElE,eAAO,MAAM,qBAAqB,aAAoB,CAAC;AACvD,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE9E,KAAK,wBAAwB,GAAG,OAAO,GAAG,YAAY,CAAC;AAEvD,eAAO,MAAM,yBAAyB,eAEpC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,EAAE,qBAAqB,CAAC;IACjC,IAAI,EAAE,wBAAwB,CAAC;CAChC,CAAC;AAEF,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA2B;IAEhD,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAA0C;gBAElF,MAAM,EAAE,0BAA0B;IAK9C,KAAK,oDAkBF;CACJ"}
@@ -1,34 +0,0 @@
1
- import hcaptcha from "hcaptcha";
2
- import { createMiddleware } from "hono/factory";
3
- import { HTTPException } from "hono/http-exception";
4
- import { z } from "zod/v4";
5
- export const HCaptchaSecretKey = z.string().trim().length(42);
6
- export const HCaptchaSiteKey = z.string().trim().length(36);
7
- export const HCaptchaResponseToken = z.string().trim();
8
- export const AccessDeniedHcaptchaError = new HTTPException(403, {
9
- message: "access_denied_recaptcha",
10
- });
11
- export class HcaptchaShield {
12
- secretKey;
13
- mode;
14
- LOCAL_HCAPTCHA_RESPONSE_PLACEHOLDER = "10000000-aaaa-bbbb-cccc-000000000001";
15
- constructor(config) {
16
- this.mode = config.mode;
17
- this.secretKey = config.secretKey;
18
- }
19
- build = createMiddleware(async (c, next) => {
20
- try {
21
- const form = await c.req.formData();
22
- const hcaptchaTokenFormData = form.get("h-captcha-response")?.toString();
23
- const result = await hcaptcha.verify(this.secretKey, this.mode === "production" ? hcaptchaTokenFormData : this.LOCAL_HCAPTCHA_RESPONSE_PLACEHOLDER);
24
- if (!result?.success) {
25
- throw AccessDeniedHcaptchaError;
26
- }
27
- return next();
28
- }
29
- catch (error) {
30
- throw AccessDeniedHcaptchaError;
31
- }
32
- });
33
- }
34
- //# sourceMappingURL=hcaptcha-shield.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hcaptcha-shield.js","sourceRoot":"","sources":["../src/hcaptcha-shield.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAI9D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAG5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAKvD,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE;IAC9D,OAAO,EAAE,yBAAyB;CACnC,CAAC,CAAC;AAOH,MAAM,OAAO,cAAc;IACR,SAAS,CAAwB;IACjC,IAAI,CAA2B;IAE/B,mCAAmC,GAAG,sCAAsC,CAAC;IAE9F,YAAY,MAAkC;QAC5C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACzC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAEpC,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,QAAQ,EAA+B,CAAC;YAEtG,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAClC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAC9F,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACrB,MAAM,yBAAyB,CAAC;YAClC,CAAC;YACD,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,yBAAyB,CAAC;QAClC,CAAC;IACH,CAAC,CAAC,CAAC;CACJ"}
@@ -1,22 +0,0 @@
1
- import * as tools from "@bgord/tools";
2
- import * as prereqs from "./prerequisites";
3
- export declare class Healthcheck {
4
- static build: (prerequisites: prereqs.AbstractPrerequisite<prereqs.BasePrerequisiteConfig>[]) => [import("hono/types").H<import("hono").Env, string, {}, Promise<Response & import("hono").TypedResponse<{
5
- ok: prereqs.PrerequisiteStatusEnum;
6
- version: tools.BuildVersionType;
7
- details: {
8
- label: prereqs.PrerequisiteLabelType;
9
- status: prereqs.PrerequisiteStatusEnum;
10
- }[];
11
- uptime: {
12
- seconds: tools.TimestampType;
13
- formatted: ReturnType<(typeof tools.DateFormatters)["relative"]>;
14
- };
15
- memory: {
16
- bytes: tools.Size["bytes"];
17
- formatted: ReturnType<tools.Size["format"]>;
18
- };
19
- durationMs: tools.TimestampType;
20
- }, 200 | 424, "json">>>];
21
- }
22
- //# sourceMappingURL=healthcheck.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"healthcheck.d.ts","sourceRoot":"","sources":["../src/healthcheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAKtC,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAmB3C,qBAAa,WAAW;IACtB,MAAM,CAAC,KAAK,GAAI,eAAe,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE;YAdzF,OAAO,CAAC,sBAAsB;iBACzB,KAAK,CAAC,gBAAgB;;mBAEtB,OAAO,CAAC,qBAAqB;oBAC5B,OAAO,CAAC,sBAAsB;;;;mCAZE,2BACpC;;;mBAeG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;uBACf,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;;6BAqCxC;CACN"}
@@ -1,35 +0,0 @@
1
- import * as tools from "@bgord/tools";
2
- import { createFactory } from "hono/factory";
3
- import { BuildInfoRepository } from "./build-info-repository";
4
- import { MemoryConsumption } from "./memory-consumption";
5
- import * as prereqs from "./prerequisites";
6
- import { Uptime } from "./uptime";
7
- const handler = createFactory();
8
- export class Healthcheck {
9
- static build = (prerequisites) => handler.createHandlers(async (c) => {
10
- const stopwatch = new tools.Stopwatch();
11
- const build = await BuildInfoRepository.extract();
12
- const details = [];
13
- for (const prerequisite of prerequisites) {
14
- const status = await prerequisite.verify();
15
- details.push({ label: prerequisite.label, status });
16
- }
17
- const ok = details.every((result) => result.status !== prereqs.PrerequisiteStatusEnum.failure)
18
- ? prereqs.PrerequisiteStatusEnum.success
19
- : prereqs.PrerequisiteStatusEnum.failure;
20
- const code = ok === prereqs.PrerequisiteStatusEnum.success ? 200 : 424;
21
- const result = {
22
- ok,
23
- details,
24
- version: build.BUILD_VERSION ?? tools.BuildVersion.parse("unknown"),
25
- uptime: Uptime.get(),
26
- memory: {
27
- bytes: MemoryConsumption.get().toBytes(),
28
- formatted: MemoryConsumption.get().format(tools.SizeUnit.MB),
29
- },
30
- ...stopwatch.stop(),
31
- };
32
- return c.json(result, code);
33
- });
34
- }
35
- //# sourceMappingURL=healthcheck.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"healthcheck.js","sourceRoot":"","sources":["../src/healthcheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAC;AAEpD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAgBhC,MAAM,OAAO,WAAW;IACtB,MAAM,CAAC,KAAK,GAAG,CAAC,aAA6E,EAAE,EAAE,CAC/F,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAExC,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,CAAC;QAElD,MAAM,OAAO,GAA+C,EAAE,CAAC;QAE/D,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC;YAC5F,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO;YACxC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC;QAE3C,MAAM,IAAI,GAAG,EAAE,KAAK,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAEvE,MAAM,MAAM,GAA0B;YACpC,EAAE;YACF,OAAO;YACP,OAAO,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC;YACnE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE;YACpB,MAAM,EAAE;gBACN,KAAK,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBACxC,SAAS,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;aAC7D;YACD,GAAG,SAAS,CAAC,IAAI,EAAE;SACpB,CAAC;QAEF,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { Logger } from "./logger";
2
- export declare class HttpLogger {
3
- private static simplify;
4
- private static uninformativeHeaders;
5
- static build: (logger: Logger) => import("hono").MiddlewareHandler<any, string, {}>;
6
- }
7
- //# sourceMappingURL=http-logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-logger.d.ts","sourceRoot":"","sources":["../src/http-logger.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ;IAQvB,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAoBjC;IAEF,MAAM,CAAC,KAAK,GAAI,QAAQ,MAAM,uDAoEzB;CACN"}