@digitraffic/common 2026.8.31-2 → 2026.9.4-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 (30) hide show
  1. package/dist/__test__/imports.test.js +304 -82
  2. package/dist/__test__/infra/acl-builder.test.js +0 -18
  3. package/dist/__test__/stack/dt-function.test.js +121 -3
  4. package/dist/aws/infra/acl-builder.d.ts +2 -21
  5. package/dist/aws/infra/acl-builder.js +6 -54
  6. package/dist/aws/infra/canaries/database-checker.js +3 -2
  7. package/dist/aws/infra/stack/dt-function.d.ts +11 -13
  8. package/dist/aws/infra/stack/dt-function.js +49 -23
  9. package/dist/aws/infra/stack/stack-checking-aspect.js +2 -1
  10. package/dist/aws/infra/stack/stack.d.ts +0 -2
  11. package/dist/aws/infra/stack/stack.js +8 -9
  12. package/dist/aws/runtime/dt-logger.d.ts +0 -1
  13. package/dist/aws/runtime/dt-logger.js +0 -5
  14. package/dist/aws/runtime/environment.d.ts +0 -1
  15. package/dist/aws/runtime/environment.js +0 -1
  16. package/dist/aws/runtime/secrets/proxy-holder.d.ts +1 -6
  17. package/dist/aws/runtime/secrets/proxy-holder.js +4 -6
  18. package/dist/aws/runtime/secrets/rds-holder.d.ts +1 -4
  19. package/dist/aws/runtime/secrets/rds-holder.js +4 -6
  20. package/dist/database/database.d.ts +1 -1
  21. package/dist/database/database.js +1 -1
  22. package/package.json +1 -1
  23. package/dist/__test__/infra/stack/dt-function.test.d.ts +0 -1
  24. package/dist/__test__/infra/stack/dt-function.test.js +0 -70
  25. package/dist/__test__/infra/stack/stack.test.d.ts +0 -1
  26. package/dist/__test__/infra/stack/stack.test.js +0 -33
  27. package/dist/__test__/utils/lead-time-logging.test.d.ts +0 -1
  28. package/dist/__test__/utils/lead-time-logging.test.js +0 -153
  29. package/dist/utils/lead-time-logging.d.ts +0 -10
  30. package/dist/utils/lead-time-logging.js +0 -33
@@ -1,153 +0,0 @@
1
- import { afterEach, describe, expect, test, vi } from "vitest";
2
- import { logger } from "../../aws/runtime/dt-logger-default.js";
3
- import { logLeadTime, logLeadTimes } from "../../utils/lead-time-logging.js";
4
- describe("lead-time-logging", () => {
5
- afterEach(() => {
6
- vi.restoreAllMocks();
7
- });
8
- test("logLeadTime logs expected payload", () => {
9
- const infoSpy = vi
10
- .spyOn(logger, "info")
11
- .mockImplementation(() => undefined);
12
- const errorSpy = vi
13
- .spyOn(logger, "error")
14
- .mockImplementation(() => undefined);
15
- logLeadTime("lead-time", "test-target", 123);
16
- expect(infoSpy).toHaveBeenCalledTimes(1);
17
- expect(infoSpy).toHaveBeenCalledWith({
18
- method: "LeadTimeLogging.logLeadTime",
19
- customLeadTime: true,
20
- customName: "lead-time",
21
- customTarget: "test-target",
22
- tookMs: 123,
23
- });
24
- expect(errorSpy).toHaveBeenCalledTimes(0);
25
- });
26
- test("logLeadTime merges extra fields", () => {
27
- const infoSpy = vi
28
- .spyOn(logger, "info")
29
- .mockImplementation(() => undefined);
30
- logLeadTime("mqtt-time", "mqtt", 88, {
31
- customSource: "mqtt",
32
- customRetriesCount: 2,
33
- });
34
- expect(infoSpy).toHaveBeenCalledTimes(1);
35
- expect(infoSpy).toHaveBeenCalledWith({
36
- method: "LeadTimeLogging.logLeadTime",
37
- customLeadTime: true,
38
- customName: "mqtt-time",
39
- customTarget: "mqtt",
40
- tookMs: 88,
41
- customSource: "mqtt",
42
- customRetriesCount: 2,
43
- });
44
- });
45
- test("logLeadTime logs error if logger.info throws", () => {
46
- const infoError = new Error("boom");
47
- vi.spyOn(logger, "info").mockImplementation(() => {
48
- throw infoError;
49
- });
50
- const errorSpy = vi
51
- .spyOn(logger, "error")
52
- .mockImplementation(() => undefined);
53
- logLeadTime("process-time", "target", 10);
54
- expect(errorSpy).toHaveBeenCalledTimes(1);
55
- expect(errorSpy).toHaveBeenCalledWith({
56
- method: "LeadTimeLogging.logLeadTime",
57
- message: "Error logging lead time",
58
- error: infoError,
59
- });
60
- });
61
- test("logLeadTimes logs only lead-time when only leadTimeMs is safe", () => {
62
- const infoSpy = vi
63
- .spyOn(logger, "info")
64
- .mockImplementation(() => undefined);
65
- logLeadTimes({ target: "x", leadTimeMs: 10 });
66
- expect(infoSpy).toHaveBeenCalledTimes(1);
67
- expect(infoSpy).toHaveBeenNthCalledWith(1, {
68
- method: "LeadTimeLogging.logLeadTime",
69
- customLeadTime: true,
70
- customName: "lead-time",
71
- customTarget: "x",
72
- tookMs: 10,
73
- });
74
- });
75
- test("logLeadTimes logs only process-time when only processTimeMs is safe", () => {
76
- const infoSpy = vi
77
- .spyOn(logger, "info")
78
- .mockImplementation(() => undefined);
79
- logLeadTimes({ target: "x", processTimeMs: 20 });
80
- expect(infoSpy).toHaveBeenCalledTimes(1);
81
- expect(infoSpy).toHaveBeenNthCalledWith(1, {
82
- method: "LeadTimeLogging.logLeadTime",
83
- customLeadTime: true,
84
- customName: "process-time",
85
- customTarget: "x",
86
- tookMs: 20,
87
- });
88
- });
89
- test("logLeadTimes logs both in order with extra fields", () => {
90
- const infoSpy = vi
91
- .spyOn(logger, "info")
92
- .mockImplementation(() => undefined);
93
- const input = {
94
- target: "device",
95
- leadTimeMs: 11,
96
- processTimeMs: 22,
97
- extraFields: { customSource: "mqtt", customPartition: 3 },
98
- };
99
- logLeadTimes(input);
100
- expect(infoSpy).toHaveBeenCalledTimes(2);
101
- expect(infoSpy).toHaveBeenNthCalledWith(1, {
102
- method: "LeadTimeLogging.logLeadTime",
103
- customLeadTime: true,
104
- customName: "lead-time",
105
- customTarget: "device",
106
- tookMs: 11,
107
- customSource: "mqtt",
108
- customPartition: 3,
109
- });
110
- expect(infoSpy).toHaveBeenNthCalledWith(2, {
111
- method: "LeadTimeLogging.logLeadTime",
112
- customLeadTime: true,
113
- customName: "process-time",
114
- customTarget: "device",
115
- tookMs: 22,
116
- customSource: "mqtt",
117
- customPartition: 3,
118
- });
119
- });
120
- test("logLeadTimes ignores non-safe values", () => {
121
- const infoSpy = vi
122
- .spyOn(logger, "info")
123
- .mockImplementation(() => undefined);
124
- logLeadTimes({
125
- target: "x",
126
- leadTimeMs: 1.5,
127
- processTimeMs: Number.MAX_SAFE_INTEGER + 1,
128
- });
129
- logLeadTimes({
130
- target: "x",
131
- leadTimeMs: Number.NaN,
132
- processTimeMs: Infinity,
133
- });
134
- logLeadTimes({ target: "x" });
135
- expect(infoSpy).toHaveBeenCalledTimes(0);
136
- });
137
- test("logLeadTimes logs negative safe integer values", () => {
138
- const infoSpy = vi
139
- .spyOn(logger, "info")
140
- .mockImplementation(() => undefined);
141
- logLeadTimes({ target: "x", leadTimeMs: -5 });
142
- expect(infoSpy).toHaveBeenCalledTimes(1);
143
- expect(infoSpy).toHaveBeenNthCalledWith(1, {
144
- method: "LeadTimeLogging.logLeadTime",
145
- customLeadTime: true,
146
- customName: "lead-time",
147
- customTarget: "x",
148
- tookMs: -5,
149
- });
150
- });
151
- });
152
- // clean comment
153
- //# sourceMappingURL=lead-time-logging.test.js.map
@@ -1,10 +0,0 @@
1
- import type { CustomParams } from "../aws/runtime/dt-logger.js";
2
- export interface LeadTimeLogging {
3
- readonly target: string;
4
- readonly leadTimeMs?: number;
5
- readonly processTimeMs?: number;
6
- readonly extraFields?: CustomParams;
7
- }
8
- export type LeadTimeType = "lead-time" | "process-time" | "mqtt-time";
9
- export declare function logLeadTime(name: LeadTimeType, target: string, tookMs: number, extraFields?: CustomParams): void;
10
- export declare function logLeadTimes(ptl: LeadTimeLogging): void;
@@ -1,33 +0,0 @@
1
- import { logger } from "../aws/runtime/dt-logger-default.js";
2
- export function logLeadTime(name, target, tookMs, extraFields) {
3
- const method = "LeadTimeLogging.logLeadTime";
4
- try {
5
- logger.info({
6
- ...(extraFields ?? {}),
7
- method,
8
- customLeadTime: true,
9
- customName: name,
10
- customTarget: target,
11
- tookMs,
12
- });
13
- }
14
- catch (error) {
15
- logger.error({
16
- method,
17
- message: "Error logging lead time",
18
- error,
19
- });
20
- }
21
- }
22
- function isSafe(value) {
23
- return Number.isSafeInteger(value);
24
- }
25
- export function logLeadTimes(ptl) {
26
- if (isSafe(ptl.leadTimeMs)) {
27
- logLeadTime("lead-time", ptl.target, ptl.leadTimeMs, ptl.extraFields);
28
- }
29
- if (isSafe(ptl.processTimeMs)) {
30
- logLeadTime("process-time", ptl.target, ptl.processTimeMs, ptl.extraFields);
31
- }
32
- }
33
- //# sourceMappingURL=lead-time-logging.js.map