@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.
- package/dist/build-info-repository.service.d.ts +1 -1
- package/dist/build-info-repository.service.d.ts.map +1 -1
- package/dist/cache-file.service.js +2 -2
- package/dist/cache-file.service.js.map +1 -1
- package/dist/clock-fixed.adapter.d.ts +4 -4
- package/dist/clock-fixed.adapter.d.ts.map +1 -1
- package/dist/clock-fixed.adapter.js +5 -6
- package/dist/clock-fixed.adapter.js.map +1 -1
- package/dist/clock-system.adapter.d.ts +2 -2
- package/dist/clock-system.adapter.d.ts.map +1 -1
- package/dist/clock-system.adapter.js +2 -2
- package/dist/clock-system.adapter.js.map +1 -1
- package/dist/clock.port.d.ts +2 -2
- package/dist/clock.port.d.ts.map +1 -1
- package/dist/command-envelope.d.ts +2 -2
- package/dist/command-envelope.d.ts.map +1 -1
- package/dist/command-envelope.js +1 -1
- package/dist/command-envelope.js.map +1 -1
- package/dist/event-envelope.d.ts +2 -2
- package/dist/event-envelope.js +1 -1
- package/dist/event-envelope.js.map +1 -1
- package/dist/file-hash-noop.adapter.d.ts +1 -1
- package/dist/file-hash-noop.adapter.js +1 -1
- package/dist/file-hash-noop.adapter.js.map +1 -1
- package/dist/file-hash-sha256-bun.adapter.d.ts +1 -1
- package/dist/file-hash-sha256-bun.adapter.js +1 -1
- package/dist/file-hash-sha256-bun.adapter.js.map +1 -1
- package/dist/file-hash.port.d.ts +1 -1
- package/dist/file-hash.port.d.ts.map +1 -1
- package/dist/healthcheck.service.js +1 -1
- package/dist/healthcheck.service.js.map +1 -1
- package/dist/http-logger.middleware.js +1 -1
- package/dist/http-logger.middleware.js.map +1 -1
- package/dist/jobs.service.js +1 -1
- package/dist/jobs.service.js.map +1 -1
- package/dist/modules/history/events/HISTORY_CLEARED_EVENT.d.ts +1 -1
- package/dist/modules/history/events/HISTORY_POPULATED_EVENT.d.ts +1 -1
- package/dist/modules/history/value-objects/history-created-at.d.ts +1 -1
- package/dist/modules/history/value-objects/history-created-at.d.ts.map +1 -1
- package/dist/modules/history/value-objects/history-created-at.js +1 -1
- package/dist/modules/history/value-objects/history-created-at.js.map +1 -1
- package/dist/modules/history/value-objects/history.d.ts +2 -2
- package/dist/modules/preferences/commands/SET_USER_LANGUAGE_COMMAND.d.ts +1 -1
- package/dist/modules/preferences/events/USER_LANGUAGE_SET_EVENT.d.ts +1 -1
- package/dist/prerequisites.service.d.ts +2 -2
- package/dist/prerequisites.service.d.ts.map +1 -1
- package/dist/remote-file-storage-noop.adapter.js +1 -1
- package/dist/remote-file-storage-noop.adapter.js.map +1 -1
- package/dist/shield-rate-limit.middleware.js +1 -1
- package/dist/shield-rate-limit.middleware.js.map +1 -1
- package/dist/time-zone-offset.middleware.d.ts +1 -2
- package/dist/time-zone-offset.middleware.d.ts.map +1 -1
- package/dist/time-zone-offset.middleware.js +1 -4
- package/dist/time-zone-offset.middleware.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/uptime.service.js +1 -1
- package/dist/uptime.service.js.map +1 -1
- package/package.json +2 -2
- package/src/build-info-repository.service.ts +1 -1
- package/src/cache-file.service.ts +2 -2
- package/src/clock-fixed.adapter.ts +6 -10
- package/src/clock-system.adapter.ts +3 -3
- package/src/clock.port.ts +2 -2
- package/src/command-envelope.ts +1 -1
- package/src/event-envelope.ts +1 -1
- package/src/file-hash-noop.adapter.ts +1 -1
- package/src/file-hash-sha256-bun.adapter.ts +1 -1
- package/src/file-hash.port.ts +1 -1
- package/src/healthcheck.service.ts +1 -1
- package/src/http-logger.middleware.ts +1 -1
- package/src/jobs.service.ts +1 -1
- package/src/modules/history/value-objects/history-created-at.ts +1 -1
- package/src/prerequisites.service.ts +2 -2
- package/src/remote-file-storage-noop.adapter.ts +1 -1
- package/src/shield-rate-limit.middleware.ts +1 -1
- package/src/time-zone-offset.middleware.ts +2 -6
- package/src/uptime.service.ts +1 -1
package/dist/uptime.service.js
CHANGED
|
@@ -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().
|
|
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,
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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()
|
|
16
|
-
return
|
|
11
|
+
now() {
|
|
12
|
+
return this.value;
|
|
17
13
|
}
|
|
18
14
|
|
|
19
15
|
advanceBy(duration: tools.Duration): void {
|
|
20
|
-
this.value =
|
|
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.
|
|
6
|
+
return tools.TimestampVO.fromNumber(Date.now()).ms;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
now()
|
|
10
|
-
return tools.
|
|
9
|
+
now() {
|
|
10
|
+
return tools.TimestampVO.fromNumber(Date.now());
|
|
11
11
|
}
|
|
12
12
|
}
|
package/src/clock.port.ts
CHANGED
package/src/command-envelope.ts
CHANGED
|
@@ -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.
|
|
9
|
+
export const CommandEnvelopeSchema = { id: UUID, correlationId: UUID, createdAt: tools.TimestampValue };
|
|
10
10
|
|
|
11
11
|
export const createCommandEnvelope = (deps: Dependencies) =>
|
|
12
12
|
({
|
package/src/event-envelope.ts
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
16
|
+
lastModified: tools.TimestampVO.fromNumber(file.lastModified),
|
|
17
17
|
mime: tools.Mime.fromExtension(extension),
|
|
18
18
|
};
|
|
19
19
|
}
|
package/src/file-hash.port.ts
CHANGED
|
@@ -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.
|
|
27
|
+
const stopwatch = new tools.Stopwatch(deps.Clock.now());
|
|
28
28
|
|
|
29
29
|
const buildInfo = await BuildInfoRepository.extract(deps);
|
|
30
30
|
|
package/src/jobs.service.ts
CHANGED
|
@@ -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.
|
|
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 });
|
|
@@ -25,8 +25,8 @@ export interface Prerequisite {
|
|
|
25
25
|
export type PrerequisiteResult = Readonly<{
|
|
26
26
|
label: PrerequisiteLabelType;
|
|
27
27
|
status: PrerequisiteStatusEnum;
|
|
28
|
-
checkedAt: tools.
|
|
29
|
-
durationMs:
|
|
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.
|
|
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.
|
|
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
|
|
17
|
-
return
|
|
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
|
}
|
package/src/uptime.service.ts
CHANGED
|
@@ -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().
|
|
14
|
+
const formatted = tools.DateFormatters.relative(clock.now().subtract(duration).ms);
|
|
15
15
|
|
|
16
16
|
return { duration, formatted };
|
|
17
17
|
}
|