@bgord/bun 1.0.12 → 1.1.1

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 (77) hide show
  1. package/dist/build-info-repository.service.d.ts +1 -1
  2. package/dist/build-info-repository.service.d.ts.map +1 -1
  3. package/dist/cache-file.service.js +2 -2
  4. package/dist/cache-file.service.js.map +1 -1
  5. package/dist/clock-fixed.adapter.d.ts +4 -4
  6. package/dist/clock-fixed.adapter.d.ts.map +1 -1
  7. package/dist/clock-fixed.adapter.js +5 -6
  8. package/dist/clock-fixed.adapter.js.map +1 -1
  9. package/dist/clock-system.adapter.d.ts +2 -2
  10. package/dist/clock-system.adapter.d.ts.map +1 -1
  11. package/dist/clock-system.adapter.js +2 -2
  12. package/dist/clock-system.adapter.js.map +1 -1
  13. package/dist/clock.port.d.ts +2 -2
  14. package/dist/clock.port.d.ts.map +1 -1
  15. package/dist/command-envelope.d.ts +2 -2
  16. package/dist/command-envelope.d.ts.map +1 -1
  17. package/dist/command-envelope.js +1 -1
  18. package/dist/command-envelope.js.map +1 -1
  19. package/dist/event-envelope.d.ts +2 -2
  20. package/dist/event-envelope.js +1 -1
  21. package/dist/event-envelope.js.map +1 -1
  22. package/dist/file-hash-noop.adapter.d.ts +1 -1
  23. package/dist/file-hash-noop.adapter.js +1 -1
  24. package/dist/file-hash-noop.adapter.js.map +1 -1
  25. package/dist/file-hash-sha256-bun.adapter.d.ts +1 -1
  26. package/dist/file-hash-sha256-bun.adapter.js +1 -1
  27. package/dist/file-hash-sha256-bun.adapter.js.map +1 -1
  28. package/dist/file-hash.port.d.ts +1 -1
  29. package/dist/file-hash.port.d.ts.map +1 -1
  30. package/dist/healthcheck.service.js +1 -1
  31. package/dist/healthcheck.service.js.map +1 -1
  32. package/dist/http-logger.middleware.js +1 -1
  33. package/dist/http-logger.middleware.js.map +1 -1
  34. package/dist/jobs.service.js +1 -1
  35. package/dist/jobs.service.js.map +1 -1
  36. package/dist/modules/history/events/HISTORY_CLEARED_EVENT.d.ts +1 -1
  37. package/dist/modules/history/events/HISTORY_POPULATED_EVENT.d.ts +1 -1
  38. package/dist/modules/history/value-objects/history-created-at.d.ts +1 -1
  39. package/dist/modules/history/value-objects/history-created-at.d.ts.map +1 -1
  40. package/dist/modules/history/value-objects/history-created-at.js +1 -1
  41. package/dist/modules/history/value-objects/history-created-at.js.map +1 -1
  42. package/dist/modules/history/value-objects/history.d.ts +2 -2
  43. package/dist/modules/preferences/commands/SET_USER_LANGUAGE_COMMAND.d.ts +1 -1
  44. package/dist/modules/preferences/events/USER_LANGUAGE_SET_EVENT.d.ts +1 -1
  45. package/dist/prerequisites.service.d.ts +2 -2
  46. package/dist/prerequisites.service.d.ts.map +1 -1
  47. package/dist/remote-file-storage-noop.adapter.js +1 -1
  48. package/dist/remote-file-storage-noop.adapter.js.map +1 -1
  49. package/dist/shield-rate-limit.middleware.js +1 -1
  50. package/dist/shield-rate-limit.middleware.js.map +1 -1
  51. package/dist/time-zone-offset.middleware.d.ts +1 -2
  52. package/dist/time-zone-offset.middleware.d.ts.map +1 -1
  53. package/dist/time-zone-offset.middleware.js +1 -4
  54. package/dist/time-zone-offset.middleware.js.map +1 -1
  55. package/dist/tsconfig.tsbuildinfo +1 -1
  56. package/dist/uptime.service.js +1 -1
  57. package/dist/uptime.service.js.map +1 -1
  58. package/package.json +2 -2
  59. package/src/build-info-repository.service.ts +1 -1
  60. package/src/cache-file.service.ts +2 -2
  61. package/src/clock-fixed.adapter.ts +6 -10
  62. package/src/clock-system.adapter.ts +3 -3
  63. package/src/clock.port.ts +2 -2
  64. package/src/command-envelope.ts +1 -1
  65. package/src/event-envelope.ts +1 -1
  66. package/src/file-hash-noop.adapter.ts +1 -1
  67. package/src/file-hash-sha256-bun.adapter.ts +1 -1
  68. package/src/file-hash.port.ts +1 -1
  69. package/src/healthcheck.service.ts +1 -1
  70. package/src/http-logger.middleware.ts +1 -1
  71. package/src/jobs.service.ts +1 -1
  72. package/src/modules/history/value-objects/history-created-at.ts +1 -1
  73. package/src/prerequisites.service.ts +2 -2
  74. package/src/remote-file-storage-noop.adapter.ts +1 -1
  75. package/src/shield-rate-limit.middleware.ts +1 -1
  76. package/src/time-zone-offset.middleware.ts +2 -6
  77. package/src/uptime.service.ts +1 -1
@@ -3,7 +3,7 @@ export class Uptime {
3
3
  static rounding = new tools.RoundToNearest();
4
4
  static get(clock) {
5
5
  const duration = tools.Duration.Seconds(Uptime.rounding.round(process.uptime()));
6
- const formatted = tools.DateFormatters.relative(clock.now().Minus(duration));
6
+ const formatted = tools.DateFormatters.relative(clock.now().subtract(duration).ms);
7
7
  return { duration, formatted };
8
8
  }
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"uptime.service.js","sourceRoot":"","sources":["../src/uptime.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAQtC,MAAM,OAAO,MAAM;IACT,MAAM,CAAU,QAAQ,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;IAE9D,MAAM,CAAC,GAAG,CAAC,KAAgB;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjF,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE7E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACjC,CAAC"}
1
+ {"version":3,"file":"uptime.service.js","sourceRoot":"","sources":["../src/uptime.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAQtC,MAAM,OAAO,MAAM;IACT,MAAM,CAAU,QAAQ,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;IAE9D,MAAM,CAAC,GAAG,CAAC,KAAgB;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjF,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;QAEnF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACjC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bgord/bun",
3
- "version": "1.0.12",
3
+ "version": "1.1.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "author": "Bartosz Gordon",
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "@axiomhq/winston": "1.3.1",
41
- "@bgord/tools": "1.0.5",
41
+ "@bgord/tools": "1.1.1",
42
42
  "@hono/ua-blocker": "0.1.15",
43
43
  "better-auth": "1.3.34",
44
44
  "croner": "9.1.0",
@@ -2,7 +2,7 @@ import * as tools from "@bgord/tools";
2
2
  import type { ClockPort } from "./clock.port";
3
3
  import type { JsonFileReaderPort } from "./json-file-reader.port";
4
4
 
5
- export type BuildInfoType = { BUILD_DATE: tools.TimestampType; BUILD_VERSION?: string };
5
+ export type BuildInfoType = { BUILD_DATE: tools.TimestampValueType; BUILD_VERSION?: string };
6
6
 
7
7
  type Dependencies = { Clock: ClockPort; JsonFileReader: JsonFileReaderPort };
8
8
 
@@ -15,7 +15,7 @@ export const CacheFileMustRevalidate: CacheFileHandler = {
15
15
  headers: new Headers({
16
16
  ETag: options.etag,
17
17
  "Cache-Control": "private, max-age=0, must-revalidate",
18
- "Last-Modified": new Date(options.lastModified).toUTCString(),
18
+ "Last-Modified": new Date(options.lastModified.ms).toUTCString(),
19
19
  Vary: "Authorization, Cookie",
20
20
  ...overrides,
21
21
  }),
@@ -28,7 +28,7 @@ export const CacheFileMustRevalidate: CacheFileHandler = {
28
28
  "Cache-Control": "private, max-age=0, must-revalidate",
29
29
  ETag: options.etag,
30
30
  "Content-Length": options.size.toBytes().toString(),
31
- "Last-Modified": new Date(options.lastModified).toUTCString(),
31
+ "Last-Modified": new Date(options.lastModified.ms).toUTCString(),
32
32
  "Accept-Ranges": "bytes",
33
33
  Vary: "Authorization, Cookie",
34
34
  ...overrides,
@@ -1,22 +1,18 @@
1
- import * as tools from "@bgord/tools";
1
+ import type * as tools from "@bgord/tools";
2
2
  import type { ClockPort } from "./clock.port";
3
3
 
4
4
  export class ClockFixedAdapter implements ClockPort {
5
- private value: tools.TimestampType;
6
-
7
- constructor(candidate: number) {
8
- this.value = tools.Timestamp.parse(candidate);
9
- }
5
+ constructor(private value: tools.TimestampVO) {}
10
6
 
11
7
  nowMs() {
12
- return this.value;
8
+ return this.value.ms;
13
9
  }
14
10
 
15
- now(): ReturnType<typeof tools.Time.Now> {
16
- return tools.Time.Now(this.value);
11
+ now() {
12
+ return this.value;
17
13
  }
18
14
 
19
15
  advanceBy(duration: tools.Duration): void {
20
- this.value = tools.Time.Now(this.value).Add(duration);
16
+ this.value = this.value.add(duration);
21
17
  }
22
18
  }
@@ -3,10 +3,10 @@ import type { ClockPort } from "./clock.port";
3
3
 
4
4
  export class ClockSystemAdapter implements ClockPort {
5
5
  nowMs() {
6
- return tools.Timestamp.parse(Date.now());
6
+ return tools.TimestampVO.fromNumber(Date.now()).ms;
7
7
  }
8
8
 
9
- now(): ReturnType<typeof tools.Time.Now> {
10
- return tools.Time.Now(tools.Timestamp.parse(Date.now()));
9
+ now() {
10
+ return tools.TimestampVO.fromNumber(Date.now());
11
11
  }
12
12
  }
package/src/clock.port.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type * as tools from "@bgord/tools";
2
2
 
3
3
  export interface ClockPort {
4
- nowMs(): tools.TimestampType;
4
+ nowMs(): tools.TimestampValueType;
5
5
 
6
- now(): ReturnType<typeof tools.Time.Now>;
6
+ now(): tools.TimestampVO;
7
7
  }
@@ -6,7 +6,7 @@ import { UUID } from "./uuid.vo";
6
6
 
7
7
  type Dependencies = { IdProvider: IdProviderPort; Clock: ClockPort };
8
8
 
9
- export const CommandEnvelopeSchema = { id: UUID, correlationId: UUID, createdAt: tools.Timestamp };
9
+ export const CommandEnvelopeSchema = { id: UUID, correlationId: UUID, createdAt: tools.TimestampValue };
10
10
 
11
11
  export const createCommandEnvelope = (deps: Dependencies) =>
12
12
  ({
@@ -11,7 +11,7 @@ type Dependencies = { IdProvider: IdProviderPort; Clock: ClockPort };
11
11
  export const EventEnvelopeSchema = {
12
12
  id: UUID,
13
13
  correlationId: UUID,
14
- createdAt: tools.Timestamp,
14
+ createdAt: tools.TimestampValue,
15
15
  stream: z.string().min(1),
16
16
  version: z.literal(1),
17
17
  revision: tools.RevisionValue.optional(),
@@ -6,7 +6,7 @@ export class FileHashNoopAdapter implements FileHashPort {
6
6
  return {
7
7
  etag: "noop",
8
8
  size: tools.Size.fromBytes(10),
9
- lastModified: tools.Timestamp.parse(1000),
9
+ lastModified: tools.TimestampVO.fromNumber(1000),
10
10
  mime: new tools.Mime("text/plain"),
11
11
  };
12
12
  }
@@ -13,7 +13,7 @@ export class FileHashSha256BunAdapter implements FileHashPort {
13
13
  return {
14
14
  etag,
15
15
  size: tools.Size.fromBytes(arrayBuffer.byteLength),
16
- lastModified: tools.Timestamp.parse(file.lastModified),
16
+ lastModified: tools.TimestampVO.fromNumber(file.lastModified),
17
17
  mime: tools.Mime.fromExtension(extension),
18
18
  };
19
19
  }
@@ -3,7 +3,7 @@ import type * as tools from "@bgord/tools";
3
3
  export type FileHashResult = {
4
4
  etag: string;
5
5
  size: tools.Size;
6
- lastModified: tools.TimestampType;
6
+ lastModified: tools.TimestampVO;
7
7
  mime: tools.Mime;
8
8
  };
9
9
 
@@ -24,7 +24,7 @@ type Dependencies = { Clock: ClockPort; JsonFileReader: JsonFileReaderPort; Logg
24
24
  export class Healthcheck {
25
25
  static build = (prerequisites: prereqs.Prerequisite[], deps: Dependencies) =>
26
26
  handler.createHandlers(async (c) => {
27
- const stopwatch = new tools.Stopwatch(deps.Clock.nowMs());
27
+ const stopwatch = new tools.Stopwatch(deps.Clock.now());
28
28
 
29
29
  const buildInfo = await BuildInfoRepository.extract(deps);
30
30
 
@@ -77,7 +77,7 @@ export class HttpLogger {
77
77
  ),
78
78
  });
79
79
 
80
- const stopwatch = new tools.Stopwatch(deps.Clock.nowMs());
80
+ const stopwatch = new tools.Stopwatch(deps.Clock.now());
81
81
  await next();
82
82
  const duration = stopwatch.stop();
83
83
 
@@ -35,7 +35,7 @@ export class JobHandler {
35
35
  const that = this;
36
36
 
37
37
  return async () => {
38
- const stopwatch = new tools.Stopwatch(this.deps.Clock.nowMs());
38
+ const stopwatch = new tools.Stopwatch(this.deps.Clock.now());
39
39
 
40
40
  try {
41
41
  that.deps.Logger.info({ message: `${jobProcessor.label} start`, correlationId, ...this.base });
@@ -1,6 +1,6 @@
1
1
  import * as tools from "@bgord/tools";
2
2
  import type { z } from "zod/v4";
3
3
 
4
- export const HistoryCreatedAt = tools.Timestamp;
4
+ export const HistoryCreatedAt = tools.TimestampValue;
5
5
 
6
6
  export type HistoryCreatedAtType = z.infer<typeof HistoryCreatedAt>;
@@ -25,8 +25,8 @@ export interface Prerequisite {
25
25
  export type PrerequisiteResult = Readonly<{
26
26
  label: PrerequisiteLabelType;
27
27
  status: PrerequisiteStatusEnum;
28
- checkedAt: tools.TimestampType;
29
- durationMs: number;
28
+ checkedAt: tools.TimestampVO;
29
+ durationMs: tools.DurationMsType;
30
30
  kind: string;
31
31
  error?: ErrorInfo;
32
32
  }>;
@@ -30,7 +30,7 @@ export class RemoteFileStorageNoopAdapter implements RemoteFileStoragePort {
30
30
  return {
31
31
  etag: "noop",
32
32
  size: tools.Size.fromBytes(10),
33
- lastModified: this.config.Clock.nowMs(),
33
+ lastModified: this.config.Clock.now(),
34
34
  mime: new tools.Mime("text/plain"),
35
35
  };
36
36
  }
@@ -27,7 +27,7 @@ export const ShieldRateLimit = (options: RateLimitShieldOptionsType, deps: Depen
27
27
  options.store.set(subject, limiter);
28
28
  }
29
29
 
30
- const check = limiter.verify(deps.Clock.nowMs());
30
+ const check = limiter.verify(deps.Clock.now());
31
31
 
32
32
  if (!check.allowed) throw TooManyRequestsError;
33
33
 
@@ -13,11 +13,7 @@ export class TimeZoneOffset {
13
13
  await next();
14
14
  });
15
15
 
16
- static adjustTimestamp(timestamp: tools.TimestampType, offset: tools.Duration): tools.TimestampType {
17
- return tools.Timestamp.parse(timestamp - offset.ms);
18
- }
19
-
20
- static adjustDate(timestamp: tools.TimestampType, offset: tools.Duration): Date {
21
- return new Date(timestamp - offset.ms);
16
+ static adjustDate(timestamp: tools.TimestampVO, offset: tools.Duration): Date {
17
+ return new Date(timestamp.subtract(offset).ms);
22
18
  }
23
19
  }
@@ -11,7 +11,7 @@ export class Uptime {
11
11
 
12
12
  static get(clock: ClockPort): UptimeResultType {
13
13
  const duration = tools.Duration.Seconds(Uptime.rounding.round(process.uptime()));
14
- const formatted = tools.DateFormatters.relative(clock.now().Minus(duration));
14
+ const formatted = tools.DateFormatters.relative(clock.now().subtract(duration).ms);
15
15
 
16
16
  return { duration, formatted };
17
17
  }