@bgord/bun 1.2.7 → 1.2.8

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 (33) hide show
  1. package/dist/decorators.service.d.ts +0 -3
  2. package/dist/decorators.service.d.ts.map +1 -1
  3. package/dist/decorators.service.js +0 -13
  4. package/dist/decorators.service.js.map +1 -1
  5. package/dist/file-draft-zip.service.d.ts +2 -1
  6. package/dist/file-draft-zip.service.d.ts.map +1 -1
  7. package/dist/file-draft-zip.service.js +2 -2
  8. package/dist/file-draft-zip.service.js.map +1 -1
  9. package/dist/file-draft.service.d.ts +3 -3
  10. package/dist/file-draft.service.d.ts.map +1 -1
  11. package/dist/file-draft.service.js +1 -1
  12. package/dist/file-draft.service.js.map +1 -1
  13. package/dist/file-hash-noop.adapter.js +1 -1
  14. package/dist/file-hash-noop.adapter.js.map +1 -1
  15. package/dist/file-uploader.middleware.d.ts +1 -1
  16. package/dist/file-uploader.middleware.d.ts.map +1 -1
  17. package/dist/file-uploader.middleware.js +2 -2
  18. package/dist/file-uploader.middleware.js.map +1 -1
  19. package/dist/prerequisites/ssl-certificate-expiry.d.ts +2 -2
  20. package/dist/prerequisites/ssl-certificate-expiry.d.ts.map +1 -1
  21. package/dist/prerequisites/ssl-certificate-expiry.js +3 -3
  22. package/dist/prerequisites/ssl-certificate-expiry.js.map +1 -1
  23. package/dist/remote-file-storage-noop.adapter.js +1 -1
  24. package/dist/remote-file-storage-noop.adapter.js.map +1 -1
  25. package/dist/tsconfig.tsbuildinfo +1 -1
  26. package/package.json +2 -2
  27. package/src/decorators.service.ts +0 -15
  28. package/src/file-draft-zip.service.ts +3 -3
  29. package/src/file-draft.service.ts +2 -2
  30. package/src/file-hash-noop.adapter.ts +1 -1
  31. package/src/file-uploader.middleware.ts +3 -5
  32. package/src/prerequisites/ssl-certificate-expiry.ts +4 -4
  33. package/src/remote-file-storage-noop.adapter.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bgord/bun",
3
- "version": "1.2.7",
3
+ "version": "1.2.8",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "author": "Bartosz Gordon",
@@ -37,7 +37,7 @@
37
37
  },
38
38
  "dependencies": {
39
39
  "@axiomhq/winston": "1.3.1",
40
- "@bgord/tools": "1.1.11",
40
+ "@bgord/tools": "1.1.13",
41
41
  "@hono/ua-blocker": "0.1.20",
42
42
  "better-auth": "1.4.5",
43
43
  "croner": "9.1.0",
@@ -1,8 +1,6 @@
1
1
  import * as tools from "@bgord/tools";
2
2
  import type { LoggerPort } from "./logger.port";
3
3
 
4
- export class DecoratorTimeoutError extends Error {}
5
-
6
4
  export class Decorators {
7
5
  private readonly rounding = new tools.RoundToDecimal(2);
8
6
 
@@ -63,17 +61,4 @@ export class Decorators {
63
61
  };
64
62
  };
65
63
  }
66
-
67
- timeout(ms: number) {
68
- return (_target: any, _key: string, descriptor: PropertyDescriptor) => {
69
- const original: (...args: unknown[]) => unknown = descriptor.value;
70
-
71
- descriptor.value = async function (...args: any[]) {
72
- return await Promise.race([
73
- original.apply(this, args),
74
- new Promise((_, reject) => setTimeout(() => reject(new DecoratorTimeoutError()), ms)),
75
- ]);
76
- };
77
- };
78
- }
79
64
  }
@@ -6,8 +6,8 @@ import { FileDraft } from "./file-draft.service";
6
6
  export class FileDraftZip extends FileDraft {
7
7
  private readonly parts: FileDraft[];
8
8
 
9
- constructor(config: { filename: string; parts: FileDraft[] }) {
10
- super({ filename: config.filename, mime: new tools.Mime("application/zip") });
9
+ constructor(config: { filename: tools.Filename; parts: FileDraft[] }) {
10
+ super({ filename: config.filename, mime: tools.MIMES.text });
11
11
  this.parts = config.parts;
12
12
  }
13
13
 
@@ -17,7 +17,7 @@ export class FileDraftZip extends FileDraft {
17
17
  const chunks: Buffer[] = [];
18
18
 
19
19
  for (const part of this.parts) {
20
- zip.addReadStream((await part.create()) as Readable, part.config.filename);
20
+ zip.addReadStream((await part.create()) as Readable, part.config.filename.get());
21
21
  }
22
22
  zip.end();
23
23
 
@@ -4,12 +4,12 @@ import type * as tools from "@bgord/tools";
4
4
  export type DraftBody = BodyInit | NodeJS.ReadableStream | ReadableStream;
5
5
 
6
6
  export abstract class FileDraft {
7
- constructor(readonly config: { filename: string; mime: tools.Mime }) {}
7
+ constructor(readonly config: { filename: tools.Filename; mime: tools.Mime }) {}
8
8
 
9
9
  getHeaders(): Headers {
10
10
  return new Headers({
11
11
  "Content-Type": this.config.mime.toString(),
12
- "Content-Disposition": `attachment; filename="${this.config.filename}"`,
12
+ "Content-Disposition": `attachment; filename="${this.config.filename.get()}"`,
13
13
  });
14
14
  }
15
15
 
@@ -7,7 +7,7 @@ export class FileHashNoopAdapter implements FileHashPort {
7
7
  etag: "noop",
8
8
  size: tools.Size.fromBytes(10),
9
9
  lastModified: tools.Timestamp.fromNumber(1000),
10
- mime: new tools.Mime("text/plain"),
10
+ mime: tools.MIMES.text,
11
11
  };
12
12
  }
13
13
  }
@@ -3,7 +3,7 @@ import { bodyLimit } from "hono/body-limit";
3
3
  import { createMiddleware } from "hono/factory";
4
4
  import { HTTPException } from "hono/http-exception";
5
5
 
6
- type FileUploaderConfigType = { mimeTypes: string[]; maxFilesSize: tools.Size };
6
+ type FileUploaderConfigType = { mimeTypes: tools.Mime[]; maxFilesSize: tools.Size };
7
7
 
8
8
  export const InvalidFileMimeTypeError = new HTTPException(400, { message: "invalid_file_mime_type_error" });
9
9
  export const FileTooBigError = new HTTPException(400, { message: "file_too_big_error" });
@@ -25,10 +25,8 @@ export class FileUploader {
25
25
 
26
26
  if (!(file instanceof File)) throw InvalidFileMimeTypeError;
27
27
 
28
- const contentType = new tools.Mime(file.type);
29
- const accepted = config.mimeTypes.some((acceptedMimeType) =>
30
- new tools.Mime(acceptedMimeType).isSatisfiedBy(contentType),
31
- );
28
+ const contentType = tools.Mime.fromString(file.type);
29
+ const accepted = config.mimeTypes.some((accepted) => accepted.isSatisfiedBy(contentType));
32
30
 
33
31
  if (!accepted) throw InvalidFileMimeTypeError;
34
32
  return next();
@@ -8,13 +8,13 @@ export class PrerequisiteSSLCertificateExpiry implements prereqs.Prerequisite {
8
8
  readonly label: prereqs.PrerequisiteLabelType;
9
9
  readonly enabled?: boolean = true;
10
10
 
11
- private readonly host: string;
11
+ private readonly hostname: string;
12
12
  private readonly days: number;
13
13
  private readonly CertificateInspector: CertificateInspectorPort;
14
14
 
15
15
  constructor(
16
16
  config: prereqs.PrerequisiteConfigType & {
17
- host: string;
17
+ hostname: string;
18
18
  days: number;
19
19
  CertificateInspector: CertificateInspectorPort;
20
20
  },
@@ -22,7 +22,7 @@ export class PrerequisiteSSLCertificateExpiry implements prereqs.Prerequisite {
22
22
  this.label = config.label;
23
23
  this.enabled = config.enabled === undefined ? true : config.enabled;
24
24
 
25
- this.host = config.host;
25
+ this.hostname = config.hostname;
26
26
  this.days = config.days;
27
27
  this.CertificateInspector = config.CertificateInspector;
28
28
  }
@@ -32,7 +32,7 @@ export class PrerequisiteSSLCertificateExpiry implements prereqs.Prerequisite {
32
32
 
33
33
  if (!this.enabled) return prereqs.Verification.undetermined(stopwatch.stop());
34
34
 
35
- const result = await this.CertificateInspector.inspect(this.host);
35
+ const result = await this.CertificateInspector.inspect(this.hostname);
36
36
 
37
37
  if (!result.success)
38
38
  return prereqs.Verification.failure(stopwatch.stop(), { message: "Certificate unavailable" });
@@ -35,7 +35,7 @@ export class RemoteFileStorageNoopAdapter implements RemoteFileStoragePort {
35
35
  etag: "noop",
36
36
  size: tools.Size.fromBytes(10),
37
37
  lastModified: this.deps.Clock.now(),
38
- mime: new tools.Mime("text/plain"),
38
+ mime: tools.MIMES.text,
39
39
  };
40
40
  }
41
41