@trigger.dev/core 3.0.0-beta.5 → 3.0.0-beta.50
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/api-Pl9fxB8v.d.mts +13879 -0
- package/dist/api-sNoooMbT.d.ts +13879 -0
- package/dist/catalog-H7yFiZ60.d.mts +202 -0
- package/dist/catalog-h79CG5Wy.d.ts +202 -0
- package/dist/common-CLW82lkt.d.mts +1423 -0
- package/dist/common-CLW82lkt.d.ts +1423 -0
- package/dist/{eventFilterMatches-2kHImluE.d.mts → eventFilter-66NaBAMi.d.mts} +1 -3
- package/dist/{eventFilterMatches-2kHImluE.d.ts → eventFilter-66NaBAMi.d.ts} +1 -3
- package/dist/eventFilterMatches.d.mts +6 -0
- package/dist/eventFilterMatches.d.ts +6 -0
- package/dist/eventFilterMatches.js +165 -0
- package/dist/eventFilterMatches.js.map +1 -0
- package/dist/eventFilterMatches.mjs +163 -0
- package/dist/eventFilterMatches.mjs.map +1 -0
- package/dist/index.d.mts +14 -16657
- package/dist/index.d.ts +14 -16657
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8 -2
- package/dist/index.mjs.map +1 -1
- package/dist/json-DBPEJQRe.d.mts +16 -0
- package/dist/json-DBPEJQRe.d.ts +16 -0
- package/dist/manager-KvCabW1a.d.mts +18 -0
- package/dist/manager-OBA35PzR.d.ts +18 -0
- package/dist/messages-JvHJ83wv.d.mts +19428 -0
- package/dist/messages-JvHJ83wv.d.ts +19428 -0
- package/dist/replacements.d.mts +22 -0
- package/dist/replacements.d.ts +22 -0
- package/dist/replacements.js +33 -0
- package/dist/replacements.js.map +1 -0
- package/dist/replacements.mjs +28 -0
- package/dist/replacements.mjs.map +1 -0
- package/dist/requestFilter-HNZQEpQb.d.ts +180 -0
- package/dist/requestFilter-b5W2_1oP.d.mts +180 -0
- package/dist/requestFilterMatches.d.mts +13 -0
- package/dist/requestFilterMatches.d.ts +13 -0
- package/dist/requestFilterMatches.js +238 -0
- package/dist/requestFilterMatches.js.map +1 -0
- package/dist/requestFilterMatches.mjs +235 -0
- package/dist/requestFilterMatches.mjs.map +1 -0
- package/dist/retry.d.mts +10 -0
- package/dist/retry.d.ts +10 -0
- package/dist/retry.js +100 -0
- package/dist/retry.js.map +1 -0
- package/dist/retry.mjs +97 -0
- package/dist/retry.mjs.map +1 -0
- package/dist/schemas/index.d.mts +2611 -0
- package/dist/schemas/index.d.ts +2611 -0
- package/dist/schemas/index.js +1630 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/index.mjs +1463 -0
- package/dist/schemas/index.mjs.map +1 -0
- package/dist/schemas-C9ssfehv.d.mts +2568 -0
- package/dist/schemas-C9ssfehv.d.ts +2568 -0
- package/dist/taskLogger-CzADe4je.d.ts +33 -0
- package/dist/taskLogger-r_AFTX45.d.mts +33 -0
- package/dist/tracer-N0p2Fuuv.d.mts +23 -0
- package/dist/tracer-N0p2Fuuv.d.ts +23 -0
- package/dist/types.d.mts +11 -0
- package/dist/types.d.ts +11 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/dist/types.mjs +3 -0
- package/dist/types.mjs.map +1 -0
- package/dist/utils.d.mts +7 -0
- package/dist/utils.d.ts +7 -0
- package/dist/utils.js +33 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.mjs +30 -0
- package/dist/utils.mjs.map +1 -0
- package/dist/v3/dev/index.d.mts +29 -0
- package/dist/v3/dev/index.d.ts +29 -0
- package/dist/v3/dev/index.js +93 -0
- package/dist/v3/dev/index.js.map +1 -0
- package/dist/v3/dev/index.mjs +91 -0
- package/dist/v3/dev/index.mjs.map +1 -0
- package/dist/v3/errors.d.mts +39 -0
- package/dist/v3/errors.d.ts +39 -0
- package/dist/v3/errors.js +204 -0
- package/dist/v3/errors.js.map +1 -0
- package/dist/v3/errors.mjs +195 -0
- package/dist/v3/errors.mjs.map +1 -0
- package/dist/v3/index.d.mts +436 -20511
- package/dist/v3/index.d.ts +436 -20511
- package/dist/v3/index.js +2822 -2890
- package/dist/v3/index.js.map +1 -1
- package/dist/v3/index.mjs +2767 -2863
- package/dist/v3/index.mjs.map +1 -1
- package/dist/v3/logger-api.d.mts +24 -0
- package/dist/v3/logger-api.d.ts +24 -0
- package/dist/v3/logger-api.js +118 -0
- package/dist/v3/logger-api.js.map +1 -0
- package/dist/v3/logger-api.mjs +116 -0
- package/dist/v3/logger-api.mjs.map +1 -0
- package/dist/v3/otel/index.js +119 -53
- package/dist/v3/otel/index.js.map +1 -1
- package/dist/v3/otel/index.mjs +119 -53
- package/dist/v3/otel/index.mjs.map +1 -1
- package/dist/v3/prod/index.d.mts +46 -0
- package/dist/v3/prod/index.d.ts +46 -0
- package/dist/v3/prod/index.js +180 -0
- package/dist/v3/prod/index.js.map +1 -0
- package/dist/v3/prod/index.mjs +178 -0
- package/dist/v3/prod/index.mjs.map +1 -0
- package/dist/v3/schemas/index.d.mts +4741 -0
- package/dist/v3/schemas/index.d.ts +4741 -0
- package/dist/v3/schemas/index.js +2039 -0
- package/dist/v3/schemas/index.js.map +1 -0
- package/dist/v3/schemas/index.mjs +1900 -0
- package/dist/v3/schemas/index.mjs.map +1 -0
- package/dist/v3/semanticInternalAttributes.d.mts +56 -0
- package/dist/v3/semanticInternalAttributes.d.ts +56 -0
- package/dist/v3/semanticInternalAttributes.js +61 -0
- package/dist/v3/semanticInternalAttributes.js.map +1 -0
- package/dist/v3/semanticInternalAttributes.mjs +59 -0
- package/dist/v3/semanticInternalAttributes.mjs.map +1 -0
- package/dist/v3/utils/durations.d.mts +15 -0
- package/dist/v3/utils/durations.d.ts +15 -0
- package/dist/v3/utils/durations.js +93 -0
- package/dist/v3/utils/durations.js.map +1 -0
- package/dist/v3/utils/durations.mjs +82 -0
- package/dist/v3/utils/durations.mjs.map +1 -0
- package/dist/v3/utils/flattenAttributes.d.mts +8 -0
- package/dist/v3/utils/flattenAttributes.d.ts +8 -0
- package/dist/v3/utils/flattenAttributes.js +131 -0
- package/dist/v3/utils/flattenAttributes.js.map +1 -0
- package/dist/v3/utils/flattenAttributes.mjs +126 -0
- package/dist/v3/utils/flattenAttributes.mjs.map +1 -0
- package/dist/v3/utils/ioSerialization.d.mts +21 -0
- package/dist/v3/utils/ioSerialization.d.ts +21 -0
- package/dist/v3/utils/ioSerialization.js +2367 -0
- package/dist/v3/utils/ioSerialization.js.map +1 -0
- package/dist/v3/utils/ioSerialization.mjs +2358 -0
- package/dist/v3/utils/ioSerialization.mjs.map +1 -0
- package/dist/v3/utils/omit.d.mts +3 -0
- package/dist/v3/utils/omit.d.ts +3 -0
- package/dist/v3/utils/omit.js +20 -0
- package/dist/v3/utils/omit.js.map +1 -0
- package/dist/v3/utils/omit.mjs +18 -0
- package/dist/v3/utils/omit.mjs.map +1 -0
- package/dist/v3/utils/retries.d.mts +46 -0
- package/dist/v3/utils/retries.d.ts +46 -0
- package/dist/v3/utils/retries.js +118 -0
- package/dist/v3/utils/retries.js.map +1 -0
- package/dist/v3/utils/retries.mjs +113 -0
- package/dist/v3/utils/retries.mjs.map +1 -0
- package/dist/v3/utils/structuredLogger.d.mts +31 -0
- package/dist/v3/utils/structuredLogger.d.ts +31 -0
- package/dist/v3/utils/structuredLogger.js +88 -0
- package/dist/v3/utils/structuredLogger.js.map +1 -0
- package/dist/v3/utils/structuredLogger.mjs +86 -0
- package/dist/v3/utils/structuredLogger.mjs.map +1 -0
- package/dist/v3/utils/timers.d.mts +6 -0
- package/dist/v3/utils/timers.d.ts +6 -0
- package/dist/v3/utils/timers.js +31 -0
- package/dist/v3/utils/timers.js.map +1 -0
- package/dist/v3/utils/timers.mjs +28 -0
- package/dist/v3/utils/timers.mjs.map +1 -0
- package/dist/v3/workers/index.d.mts +144 -0
- package/dist/v3/workers/index.d.ts +144 -0
- package/dist/v3/workers/index.js +3683 -0
- package/dist/v3/workers/index.js.map +1 -0
- package/dist/v3/workers/index.mjs +3664 -0
- package/dist/v3/workers/index.mjs.map +1 -0
- package/dist/v3/zodIpc.d.mts +32 -0
- package/dist/v3/zodIpc.d.ts +32 -0
- package/dist/v3/zodIpc.js +268 -0
- package/dist/v3/zodIpc.js.map +1 -0
- package/dist/v3/zodIpc.mjs +266 -0
- package/dist/v3/zodIpc.mjs.map +1 -0
- package/dist/v3/zodMessageHandler.d.mts +82 -0
- package/dist/v3/zodMessageHandler.d.ts +82 -0
- package/dist/v3/zodMessageHandler.js +222 -0
- package/dist/v3/zodMessageHandler.js.map +1 -0
- package/dist/v3/zodMessageHandler.mjs +217 -0
- package/dist/v3/zodMessageHandler.mjs.map +1 -0
- package/dist/v3/zodNamespace.d.mts +3663 -0
- package/dist/v3/zodNamespace.d.ts +3663 -0
- package/dist/v3/zodNamespace.js +397 -0
- package/dist/v3/zodNamespace.js.map +1 -0
- package/dist/v3/zodNamespace.mjs +395 -0
- package/dist/v3/zodNamespace.mjs.map +1 -0
- package/dist/v3/zodSocket.d.mts +93 -0
- package/dist/v3/zodSocket.d.ts +93 -0
- package/dist/v3/zodSocket.js +350 -0
- package/dist/v3/zodSocket.js.map +1 -0
- package/dist/v3/zodSocket.mjs +346 -0
- package/dist/v3/zodSocket.mjs.map +1 -0
- package/dist/v3/zodfetch.d.mts +219 -0
- package/dist/v3/zodfetch.d.ts +219 -0
- package/dist/v3/zodfetch.js +834 -0
- package/dist/v3/zodfetch.js.map +1 -0
- package/dist/v3/zodfetch.mjs +811 -0
- package/dist/v3/zodfetch.mjs.map +1 -0
- package/dist/versions.d.mts +11 -0
- package/dist/versions.d.ts +11 -0
- package/dist/versions.js +31 -0
- package/dist/versions.js.map +1 -0
- package/dist/versions.mjs +27 -0
- package/dist/versions.mjs.map +1 -0
- package/package.json +223 -5
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var humanizeDuration = require('humanize-duration');
|
|
4
|
+
|
|
5
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
|
+
|
|
7
|
+
var humanizeDuration__default = /*#__PURE__*/_interopDefault(humanizeDuration);
|
|
8
|
+
|
|
9
|
+
var __defProp = Object.defineProperty;
|
|
10
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
11
|
+
function dateDifference(date1, date2) {
|
|
12
|
+
return Math.abs(date1.getTime() - date2.getTime());
|
|
13
|
+
}
|
|
14
|
+
__name(dateDifference, "dateDifference");
|
|
15
|
+
function formatDuration(start, end, options) {
|
|
16
|
+
if (!start || !end) {
|
|
17
|
+
return "\u2013";
|
|
18
|
+
}
|
|
19
|
+
return formatDurationMilliseconds(dateDifference(start, end), options);
|
|
20
|
+
}
|
|
21
|
+
__name(formatDuration, "formatDuration");
|
|
22
|
+
function nanosecondsToMilliseconds(nanoseconds) {
|
|
23
|
+
return nanoseconds / 1e6;
|
|
24
|
+
}
|
|
25
|
+
__name(nanosecondsToMilliseconds, "nanosecondsToMilliseconds");
|
|
26
|
+
function millisecondsToNanoseconds(milliseconds) {
|
|
27
|
+
return milliseconds * 1e6;
|
|
28
|
+
}
|
|
29
|
+
__name(millisecondsToNanoseconds, "millisecondsToNanoseconds");
|
|
30
|
+
function formatDurationNanoseconds(nanoseconds, options) {
|
|
31
|
+
return formatDurationMilliseconds(nanosecondsToMilliseconds(nanoseconds), options);
|
|
32
|
+
}
|
|
33
|
+
__name(formatDurationNanoseconds, "formatDurationNanoseconds");
|
|
34
|
+
var aboveOneSecondUnits = [
|
|
35
|
+
"d",
|
|
36
|
+
"h",
|
|
37
|
+
"m",
|
|
38
|
+
"s"
|
|
39
|
+
];
|
|
40
|
+
var belowOneSecondUnits = [
|
|
41
|
+
"ms"
|
|
42
|
+
];
|
|
43
|
+
function formatDurationMilliseconds(milliseconds, options) {
|
|
44
|
+
let duration = humanizeDuration__default.default(milliseconds, {
|
|
45
|
+
units: options?.units ? options.units : milliseconds < 1e3 ? belowOneSecondUnits : aboveOneSecondUnits,
|
|
46
|
+
maxDecimalPoints: options?.maxDecimalPoints ?? 1,
|
|
47
|
+
largest: 2
|
|
48
|
+
});
|
|
49
|
+
if (!options) {
|
|
50
|
+
return duration;
|
|
51
|
+
}
|
|
52
|
+
switch (options.style) {
|
|
53
|
+
case "short":
|
|
54
|
+
duration = duration.replace(" milliseconds", "ms");
|
|
55
|
+
duration = duration.replace(" millisecond", "ms");
|
|
56
|
+
duration = duration.replace(" seconds", "s");
|
|
57
|
+
duration = duration.replace(" second", "s");
|
|
58
|
+
duration = duration.replace(" minutes", "m");
|
|
59
|
+
duration = duration.replace(" minute", "m");
|
|
60
|
+
duration = duration.replace(" hours", "h");
|
|
61
|
+
duration = duration.replace(" hour", "h");
|
|
62
|
+
duration = duration.replace(" days", "d");
|
|
63
|
+
duration = duration.replace(" day", "d");
|
|
64
|
+
duration = duration.replace(" weeks", "w");
|
|
65
|
+
duration = duration.replace(" week", "w");
|
|
66
|
+
duration = duration.replace(" months", "mo");
|
|
67
|
+
duration = duration.replace(" month", "mo");
|
|
68
|
+
duration = duration.replace(" years", "y");
|
|
69
|
+
duration = duration.replace(" year", "y");
|
|
70
|
+
}
|
|
71
|
+
return duration;
|
|
72
|
+
}
|
|
73
|
+
__name(formatDurationMilliseconds, "formatDurationMilliseconds");
|
|
74
|
+
function formatDurationInDays(milliseconds) {
|
|
75
|
+
let duration = humanizeDuration__default.default(milliseconds, {
|
|
76
|
+
maxDecimalPoints: 0,
|
|
77
|
+
largest: 2,
|
|
78
|
+
units: [
|
|
79
|
+
"d"
|
|
80
|
+
]
|
|
81
|
+
});
|
|
82
|
+
return duration;
|
|
83
|
+
}
|
|
84
|
+
__name(formatDurationInDays, "formatDurationInDays");
|
|
85
|
+
|
|
86
|
+
exports.formatDuration = formatDuration;
|
|
87
|
+
exports.formatDurationInDays = formatDurationInDays;
|
|
88
|
+
exports.formatDurationMilliseconds = formatDurationMilliseconds;
|
|
89
|
+
exports.formatDurationNanoseconds = formatDurationNanoseconds;
|
|
90
|
+
exports.millisecondsToNanoseconds = millisecondsToNanoseconds;
|
|
91
|
+
exports.nanosecondsToMilliseconds = nanosecondsToMilliseconds;
|
|
92
|
+
//# sourceMappingURL=out.js.map
|
|
93
|
+
//# sourceMappingURL=durations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/v3/utils/durations.ts"],"names":["humanizeDuration","dateDifference","date1","date2","Math","abs","getTime","formatDuration","start","end","options","formatDurationMilliseconds","nanosecondsToMilliseconds","nanoseconds","millisecondsToNanoseconds","milliseconds","formatDurationNanoseconds","aboveOneSecondUnits","belowOneSecondUnits","duration","units","maxDecimalPoints","largest","style","replace","formatDurationInDays"],"mappings":";;;;AAAA,OAAOA,sBAAgC;AAEvC,SAASC,eAAeC,OAAaC,OAAa;AAChD,SAAOC,KAAKC,IAAIH,MAAMI,QAAO,IAAKH,MAAMG,QAAO,CAAA;AACjD;AAFSL;AAUF,SAASM,eACdC,OACAC,KACAC,SACQ;AACR,MAAI,CAACF,SAAS,CAACC,KAAK;AAClB,WAAO;EACT;AAEA,SAAOE,2BAA2BV,eAAeO,OAAOC,GAAAA,GAAMC,OAAAA;AAChE;AAVgBH;AAYT,SAASK,0BAA0BC,aAA6B;AACrE,SAAOA,cAAc;AACvB;AAFgBD;AAIT,SAASE,0BAA0BC,cAA8B;AACtE,SAAOA,eAAe;AACxB;AAFgBD;AAIT,SAASE,0BAA0BH,aAAqBH,SAAmC;AAChG,SAAOC,2BAA2BC,0BAA0BC,WAAAA,GAAcH,OAAAA;AAC5E;AAFgBM;AAIhB,IAAMC,sBAAsB;EAAC;EAAK;EAAK;EAAK;;AAC5C,IAAMC,sBAAsB;EAAC;;AAEtB,SAASP,2BACdI,cACAL,SACQ;AACR,MAAIS,WAAWnB,iBAAiBe,cAAc;IAC5CK,OAAOV,SAASU,QACZV,QAAQU,QACRL,eAAe,MACfG,sBACAD;IACJI,kBAAkBX,SAASW,oBAAoB;IAC/CC,SAAS;EACX,CAAA;AAEA,MAAI,CAACZ,SAAS;AACZ,WAAOS;EACT;AAEA,UAAQT,QAAQa,OAAK;IACnB,KAAK;AACHJ,iBAAWA,SAASK,QAAQ,iBAAiB,IAAA;AAC7CL,iBAAWA,SAASK,QAAQ,gBAAgB,IAAA;AAC5CL,iBAAWA,SAASK,QAAQ,YAAY,GAAA;AACxCL,iBAAWA,SAASK,QAAQ,WAAW,GAAA;AACvCL,iBAAWA,SAASK,QAAQ,YAAY,GAAA;AACxCL,iBAAWA,SAASK,QAAQ,WAAW,GAAA;AACvCL,iBAAWA,SAASK,QAAQ,UAAU,GAAA;AACtCL,iBAAWA,SAASK,QAAQ,SAAS,GAAA;AACrCL,iBAAWA,SAASK,QAAQ,SAAS,GAAA;AACrCL,iBAAWA,SAASK,QAAQ,QAAQ,GAAA;AACpCL,iBAAWA,SAASK,QAAQ,UAAU,GAAA;AACtCL,iBAAWA,SAASK,QAAQ,SAAS,GAAA;AACrCL,iBAAWA,SAASK,QAAQ,WAAW,IAAA;AACvCL,iBAAWA,SAASK,QAAQ,UAAU,IAAA;AACtCL,iBAAWA,SAASK,QAAQ,UAAU,GAAA;AACtCL,iBAAWA,SAASK,QAAQ,SAAS,GAAA;EACzC;AAEA,SAAOL;AACT;AAvCgBR;AAyCT,SAASc,qBAAqBV,cAA8B;AACjE,MAAII,WAAWnB,iBAAiBe,cAAc;IAC5CM,kBAAkB;IAClBC,SAAS;IACTF,OAAO;MAAC;;EACV,CAAA;AAEA,SAAOD;AACT;AARgBM","sourcesContent":["import humanizeDuration, { Unit } from \"humanize-duration\";\n\nfunction dateDifference(date1: Date, date2: Date) {\n return Math.abs(date1.getTime() - date2.getTime());\n}\n\ntype DurationOptions = {\n style?: \"long\" | \"short\";\n maxDecimalPoints?: number;\n units?: Unit[];\n};\n\nexport function formatDuration(\n start?: Date | null,\n end?: Date | null,\n options?: DurationOptions\n): string {\n if (!start || !end) {\n return \"–\";\n }\n\n return formatDurationMilliseconds(dateDifference(start, end), options);\n}\n\nexport function nanosecondsToMilliseconds(nanoseconds: number): number {\n return nanoseconds / 1_000_000;\n}\n\nexport function millisecondsToNanoseconds(milliseconds: number): number {\n return milliseconds * 1_000_000;\n}\n\nexport function formatDurationNanoseconds(nanoseconds: number, options?: DurationOptions): string {\n return formatDurationMilliseconds(nanosecondsToMilliseconds(nanoseconds), options);\n}\n\nconst aboveOneSecondUnits = [\"d\", \"h\", \"m\", \"s\"] as Unit[];\nconst belowOneSecondUnits = [\"ms\"] as Unit[];\n\nexport function formatDurationMilliseconds(\n milliseconds: number,\n options?: DurationOptions\n): string {\n let duration = humanizeDuration(milliseconds, {\n units: options?.units\n ? options.units\n : milliseconds < 1000\n ? belowOneSecondUnits\n : aboveOneSecondUnits,\n maxDecimalPoints: options?.maxDecimalPoints ?? 1,\n largest: 2,\n });\n\n if (!options) {\n return duration;\n }\n\n switch (options.style) {\n case \"short\":\n duration = duration.replace(\" milliseconds\", \"ms\");\n duration = duration.replace(\" millisecond\", \"ms\");\n duration = duration.replace(\" seconds\", \"s\");\n duration = duration.replace(\" second\", \"s\");\n duration = duration.replace(\" minutes\", \"m\");\n duration = duration.replace(\" minute\", \"m\");\n duration = duration.replace(\" hours\", \"h\");\n duration = duration.replace(\" hour\", \"h\");\n duration = duration.replace(\" days\", \"d\");\n duration = duration.replace(\" day\", \"d\");\n duration = duration.replace(\" weeks\", \"w\");\n duration = duration.replace(\" week\", \"w\");\n duration = duration.replace(\" months\", \"mo\");\n duration = duration.replace(\" month\", \"mo\");\n duration = duration.replace(\" years\", \"y\");\n duration = duration.replace(\" year\", \"y\");\n }\n\n return duration;\n}\n\nexport function formatDurationInDays(milliseconds: number): string {\n let duration = humanizeDuration(milliseconds, {\n maxDecimalPoints: 0,\n largest: 2,\n units: [\"d\"],\n });\n\n return duration;\n}\n"]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import humanizeDuration from 'humanize-duration';
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
5
|
+
function dateDifference(date1, date2) {
|
|
6
|
+
return Math.abs(date1.getTime() - date2.getTime());
|
|
7
|
+
}
|
|
8
|
+
__name(dateDifference, "dateDifference");
|
|
9
|
+
function formatDuration(start, end, options) {
|
|
10
|
+
if (!start || !end) {
|
|
11
|
+
return "\u2013";
|
|
12
|
+
}
|
|
13
|
+
return formatDurationMilliseconds(dateDifference(start, end), options);
|
|
14
|
+
}
|
|
15
|
+
__name(formatDuration, "formatDuration");
|
|
16
|
+
function nanosecondsToMilliseconds(nanoseconds) {
|
|
17
|
+
return nanoseconds / 1e6;
|
|
18
|
+
}
|
|
19
|
+
__name(nanosecondsToMilliseconds, "nanosecondsToMilliseconds");
|
|
20
|
+
function millisecondsToNanoseconds(milliseconds) {
|
|
21
|
+
return milliseconds * 1e6;
|
|
22
|
+
}
|
|
23
|
+
__name(millisecondsToNanoseconds, "millisecondsToNanoseconds");
|
|
24
|
+
function formatDurationNanoseconds(nanoseconds, options) {
|
|
25
|
+
return formatDurationMilliseconds(nanosecondsToMilliseconds(nanoseconds), options);
|
|
26
|
+
}
|
|
27
|
+
__name(formatDurationNanoseconds, "formatDurationNanoseconds");
|
|
28
|
+
var aboveOneSecondUnits = [
|
|
29
|
+
"d",
|
|
30
|
+
"h",
|
|
31
|
+
"m",
|
|
32
|
+
"s"
|
|
33
|
+
];
|
|
34
|
+
var belowOneSecondUnits = [
|
|
35
|
+
"ms"
|
|
36
|
+
];
|
|
37
|
+
function formatDurationMilliseconds(milliseconds, options) {
|
|
38
|
+
let duration = humanizeDuration(milliseconds, {
|
|
39
|
+
units: options?.units ? options.units : milliseconds < 1e3 ? belowOneSecondUnits : aboveOneSecondUnits,
|
|
40
|
+
maxDecimalPoints: options?.maxDecimalPoints ?? 1,
|
|
41
|
+
largest: 2
|
|
42
|
+
});
|
|
43
|
+
if (!options) {
|
|
44
|
+
return duration;
|
|
45
|
+
}
|
|
46
|
+
switch (options.style) {
|
|
47
|
+
case "short":
|
|
48
|
+
duration = duration.replace(" milliseconds", "ms");
|
|
49
|
+
duration = duration.replace(" millisecond", "ms");
|
|
50
|
+
duration = duration.replace(" seconds", "s");
|
|
51
|
+
duration = duration.replace(" second", "s");
|
|
52
|
+
duration = duration.replace(" minutes", "m");
|
|
53
|
+
duration = duration.replace(" minute", "m");
|
|
54
|
+
duration = duration.replace(" hours", "h");
|
|
55
|
+
duration = duration.replace(" hour", "h");
|
|
56
|
+
duration = duration.replace(" days", "d");
|
|
57
|
+
duration = duration.replace(" day", "d");
|
|
58
|
+
duration = duration.replace(" weeks", "w");
|
|
59
|
+
duration = duration.replace(" week", "w");
|
|
60
|
+
duration = duration.replace(" months", "mo");
|
|
61
|
+
duration = duration.replace(" month", "mo");
|
|
62
|
+
duration = duration.replace(" years", "y");
|
|
63
|
+
duration = duration.replace(" year", "y");
|
|
64
|
+
}
|
|
65
|
+
return duration;
|
|
66
|
+
}
|
|
67
|
+
__name(formatDurationMilliseconds, "formatDurationMilliseconds");
|
|
68
|
+
function formatDurationInDays(milliseconds) {
|
|
69
|
+
let duration = humanizeDuration(milliseconds, {
|
|
70
|
+
maxDecimalPoints: 0,
|
|
71
|
+
largest: 2,
|
|
72
|
+
units: [
|
|
73
|
+
"d"
|
|
74
|
+
]
|
|
75
|
+
});
|
|
76
|
+
return duration;
|
|
77
|
+
}
|
|
78
|
+
__name(formatDurationInDays, "formatDurationInDays");
|
|
79
|
+
|
|
80
|
+
export { formatDuration, formatDurationInDays, formatDurationMilliseconds, formatDurationNanoseconds, millisecondsToNanoseconds, nanosecondsToMilliseconds };
|
|
81
|
+
//# sourceMappingURL=out.js.map
|
|
82
|
+
//# sourceMappingURL=durations.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/v3/utils/durations.ts"],"names":["humanizeDuration","dateDifference","date1","date2","Math","abs","getTime","formatDuration","start","end","options","formatDurationMilliseconds","nanosecondsToMilliseconds","nanoseconds","millisecondsToNanoseconds","milliseconds","formatDurationNanoseconds","aboveOneSecondUnits","belowOneSecondUnits","duration","units","maxDecimalPoints","largest","style","replace","formatDurationInDays"],"mappings":";;;;AAAA,OAAOA,sBAAgC;AAEvC,SAASC,eAAeC,OAAaC,OAAa;AAChD,SAAOC,KAAKC,IAAIH,MAAMI,QAAO,IAAKH,MAAMG,QAAO,CAAA;AACjD;AAFSL;AAUF,SAASM,eACdC,OACAC,KACAC,SACQ;AACR,MAAI,CAACF,SAAS,CAACC,KAAK;AAClB,WAAO;EACT;AAEA,SAAOE,2BAA2BV,eAAeO,OAAOC,GAAAA,GAAMC,OAAAA;AAChE;AAVgBH;AAYT,SAASK,0BAA0BC,aAA6B;AACrE,SAAOA,cAAc;AACvB;AAFgBD;AAIT,SAASE,0BAA0BC,cAA8B;AACtE,SAAOA,eAAe;AACxB;AAFgBD;AAIT,SAASE,0BAA0BH,aAAqBH,SAAmC;AAChG,SAAOC,2BAA2BC,0BAA0BC,WAAAA,GAAcH,OAAAA;AAC5E;AAFgBM;AAIhB,IAAMC,sBAAsB;EAAC;EAAK;EAAK;EAAK;;AAC5C,IAAMC,sBAAsB;EAAC;;AAEtB,SAASP,2BACdI,cACAL,SACQ;AACR,MAAIS,WAAWnB,iBAAiBe,cAAc;IAC5CK,OAAOV,SAASU,QACZV,QAAQU,QACRL,eAAe,MACfG,sBACAD;IACJI,kBAAkBX,SAASW,oBAAoB;IAC/CC,SAAS;EACX,CAAA;AAEA,MAAI,CAACZ,SAAS;AACZ,WAAOS;EACT;AAEA,UAAQT,QAAQa,OAAK;IACnB,KAAK;AACHJ,iBAAWA,SAASK,QAAQ,iBAAiB,IAAA;AAC7CL,iBAAWA,SAASK,QAAQ,gBAAgB,IAAA;AAC5CL,iBAAWA,SAASK,QAAQ,YAAY,GAAA;AACxCL,iBAAWA,SAASK,QAAQ,WAAW,GAAA;AACvCL,iBAAWA,SAASK,QAAQ,YAAY,GAAA;AACxCL,iBAAWA,SAASK,QAAQ,WAAW,GAAA;AACvCL,iBAAWA,SAASK,QAAQ,UAAU,GAAA;AACtCL,iBAAWA,SAASK,QAAQ,SAAS,GAAA;AACrCL,iBAAWA,SAASK,QAAQ,SAAS,GAAA;AACrCL,iBAAWA,SAASK,QAAQ,QAAQ,GAAA;AACpCL,iBAAWA,SAASK,QAAQ,UAAU,GAAA;AACtCL,iBAAWA,SAASK,QAAQ,SAAS,GAAA;AACrCL,iBAAWA,SAASK,QAAQ,WAAW,IAAA;AACvCL,iBAAWA,SAASK,QAAQ,UAAU,IAAA;AACtCL,iBAAWA,SAASK,QAAQ,UAAU,GAAA;AACtCL,iBAAWA,SAASK,QAAQ,SAAS,GAAA;EACzC;AAEA,SAAOL;AACT;AAvCgBR;AAyCT,SAASc,qBAAqBV,cAA8B;AACjE,MAAII,WAAWnB,iBAAiBe,cAAc;IAC5CM,kBAAkB;IAClBC,SAAS;IACTF,OAAO;MAAC;;EACV,CAAA;AAEA,SAAOD;AACT;AARgBM","sourcesContent":["import humanizeDuration, { Unit } from \"humanize-duration\";\n\nfunction dateDifference(date1: Date, date2: Date) {\n return Math.abs(date1.getTime() - date2.getTime());\n}\n\ntype DurationOptions = {\n style?: \"long\" | \"short\";\n maxDecimalPoints?: number;\n units?: Unit[];\n};\n\nexport function formatDuration(\n start?: Date | null,\n end?: Date | null,\n options?: DurationOptions\n): string {\n if (!start || !end) {\n return \"–\";\n }\n\n return formatDurationMilliseconds(dateDifference(start, end), options);\n}\n\nexport function nanosecondsToMilliseconds(nanoseconds: number): number {\n return nanoseconds / 1_000_000;\n}\n\nexport function millisecondsToNanoseconds(milliseconds: number): number {\n return milliseconds * 1_000_000;\n}\n\nexport function formatDurationNanoseconds(nanoseconds: number, options?: DurationOptions): string {\n return formatDurationMilliseconds(nanosecondsToMilliseconds(nanoseconds), options);\n}\n\nconst aboveOneSecondUnits = [\"d\", \"h\", \"m\", \"s\"] as Unit[];\nconst belowOneSecondUnits = [\"ms\"] as Unit[];\n\nexport function formatDurationMilliseconds(\n milliseconds: number,\n options?: DurationOptions\n): string {\n let duration = humanizeDuration(milliseconds, {\n units: options?.units\n ? options.units\n : milliseconds < 1000\n ? belowOneSecondUnits\n : aboveOneSecondUnits,\n maxDecimalPoints: options?.maxDecimalPoints ?? 1,\n largest: 2,\n });\n\n if (!options) {\n return duration;\n }\n\n switch (options.style) {\n case \"short\":\n duration = duration.replace(\" milliseconds\", \"ms\");\n duration = duration.replace(\" millisecond\", \"ms\");\n duration = duration.replace(\" seconds\", \"s\");\n duration = duration.replace(\" second\", \"s\");\n duration = duration.replace(\" minutes\", \"m\");\n duration = duration.replace(\" minute\", \"m\");\n duration = duration.replace(\" hours\", \"h\");\n duration = duration.replace(\" hour\", \"h\");\n duration = duration.replace(\" days\", \"d\");\n duration = duration.replace(\" day\", \"d\");\n duration = duration.replace(\" weeks\", \"w\");\n duration = duration.replace(\" week\", \"w\");\n duration = duration.replace(\" months\", \"mo\");\n duration = duration.replace(\" month\", \"mo\");\n duration = duration.replace(\" years\", \"y\");\n duration = duration.replace(\" year\", \"y\");\n }\n\n return duration;\n}\n\nexport function formatDurationInDays(milliseconds: number): string {\n let duration = humanizeDuration(milliseconds, {\n maxDecimalPoints: 0,\n largest: 2,\n units: [\"d\"],\n });\n\n return duration;\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Attributes } from '@opentelemetry/api';
|
|
2
|
+
|
|
3
|
+
declare const NULL_SENTINEL = "$@null((";
|
|
4
|
+
declare function flattenAttributes(obj: Record<string, unknown> | Array<unknown> | string | boolean | number | null | undefined, prefix?: string): Attributes;
|
|
5
|
+
declare function unflattenAttributes(obj: Attributes): Record<string, unknown> | string | number | boolean | null | undefined;
|
|
6
|
+
declare function primitiveValueOrflattenedAttributes(obj: Record<string, unknown> | Array<unknown> | string | boolean | number | undefined, prefix: string | undefined): Attributes | string | number | boolean | undefined;
|
|
7
|
+
|
|
8
|
+
export { NULL_SENTINEL, flattenAttributes, primitiveValueOrflattenedAttributes, unflattenAttributes };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Attributes } from '@opentelemetry/api';
|
|
2
|
+
|
|
3
|
+
declare const NULL_SENTINEL = "$@null((";
|
|
4
|
+
declare function flattenAttributes(obj: Record<string, unknown> | Array<unknown> | string | boolean | number | null | undefined, prefix?: string): Attributes;
|
|
5
|
+
declare function unflattenAttributes(obj: Attributes): Record<string, unknown> | string | number | boolean | null | undefined;
|
|
6
|
+
declare function primitiveValueOrflattenedAttributes(obj: Record<string, unknown> | Array<unknown> | string | boolean | number | undefined, prefix: string | undefined): Attributes | string | number | boolean | undefined;
|
|
7
|
+
|
|
8
|
+
export { NULL_SENTINEL, flattenAttributes, primitiveValueOrflattenedAttributes, unflattenAttributes };
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
5
|
+
|
|
6
|
+
// src/v3/utils/flattenAttributes.ts
|
|
7
|
+
var NULL_SENTINEL = "$@null((";
|
|
8
|
+
function flattenAttributes(obj, prefix) {
|
|
9
|
+
const result = {};
|
|
10
|
+
if (obj === void 0) {
|
|
11
|
+
return result;
|
|
12
|
+
}
|
|
13
|
+
if (obj === null) {
|
|
14
|
+
result[prefix || ""] = NULL_SENTINEL;
|
|
15
|
+
return result;
|
|
16
|
+
}
|
|
17
|
+
if (typeof obj === "string") {
|
|
18
|
+
result[prefix || ""] = obj;
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
if (typeof obj === "number") {
|
|
22
|
+
result[prefix || ""] = obj;
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
if (typeof obj === "boolean") {
|
|
26
|
+
result[prefix || ""] = obj;
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
30
|
+
const newPrefix = `${prefix ? `${prefix}.` : ""}${Array.isArray(obj) ? `[${key}]` : key}`;
|
|
31
|
+
if (Array.isArray(value)) {
|
|
32
|
+
for (let i = 0; i < value.length; i++) {
|
|
33
|
+
if (typeof value[i] === "object" && value[i] !== null) {
|
|
34
|
+
Object.assign(result, flattenAttributes(value[i], `${newPrefix}.[${i}]`));
|
|
35
|
+
} else {
|
|
36
|
+
if (value[i] === null) {
|
|
37
|
+
result[`${newPrefix}.[${i}]`] = NULL_SENTINEL;
|
|
38
|
+
} else {
|
|
39
|
+
result[`${newPrefix}.[${i}]`] = value[i];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
} else if (isRecord(value)) {
|
|
44
|
+
Object.assign(result, flattenAttributes(value, newPrefix));
|
|
45
|
+
} else {
|
|
46
|
+
if (typeof value === "number" || typeof value === "string" || typeof value === "boolean") {
|
|
47
|
+
result[newPrefix] = value;
|
|
48
|
+
} else if (value === null) {
|
|
49
|
+
result[newPrefix] = NULL_SENTINEL;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
__name(flattenAttributes, "flattenAttributes");
|
|
56
|
+
function isRecord(value) {
|
|
57
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
58
|
+
}
|
|
59
|
+
__name(isRecord, "isRecord");
|
|
60
|
+
function unflattenAttributes(obj) {
|
|
61
|
+
if (typeof obj !== "object" || obj === null || Array.isArray(obj)) {
|
|
62
|
+
return obj;
|
|
63
|
+
}
|
|
64
|
+
if (typeof obj === "object" && obj !== null && Object.keys(obj).length === 1 && Object.keys(obj)[0] === "") {
|
|
65
|
+
return rehydrateNull(obj[""]);
|
|
66
|
+
}
|
|
67
|
+
if (Object.keys(obj).length === 0) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const result = {};
|
|
71
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
72
|
+
const parts = key.split(".").reduce((acc, part) => {
|
|
73
|
+
if (part.includes("[")) {
|
|
74
|
+
const subparts = part.split(/\[|\]/).filter((p) => p !== "");
|
|
75
|
+
acc.push(...subparts);
|
|
76
|
+
} else {
|
|
77
|
+
acc.push(part);
|
|
78
|
+
}
|
|
79
|
+
return acc;
|
|
80
|
+
}, []);
|
|
81
|
+
let current = result;
|
|
82
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
83
|
+
const part = parts[i];
|
|
84
|
+
const nextPart = parts[i + 1];
|
|
85
|
+
const isArray = /^\d+$/.test(nextPart);
|
|
86
|
+
if (isArray && !Array.isArray(current[part])) {
|
|
87
|
+
current[part] = [];
|
|
88
|
+
} else if (!isArray && current[part] === void 0) {
|
|
89
|
+
current[part] = {};
|
|
90
|
+
}
|
|
91
|
+
current = current[part];
|
|
92
|
+
}
|
|
93
|
+
const lastPart = parts[parts.length - 1];
|
|
94
|
+
current[lastPart] = rehydrateNull(value);
|
|
95
|
+
}
|
|
96
|
+
if (Object.keys(result).every((k) => /^\d+$/.test(k))) {
|
|
97
|
+
const maxIndex = Math.max(...Object.keys(result).map((k) => parseInt(k)));
|
|
98
|
+
const arrayResult = Array(maxIndex + 1);
|
|
99
|
+
for (const key in result) {
|
|
100
|
+
arrayResult[parseInt(key)] = result[key];
|
|
101
|
+
}
|
|
102
|
+
return arrayResult;
|
|
103
|
+
}
|
|
104
|
+
return result;
|
|
105
|
+
}
|
|
106
|
+
__name(unflattenAttributes, "unflattenAttributes");
|
|
107
|
+
function primitiveValueOrflattenedAttributes(obj, prefix) {
|
|
108
|
+
if (typeof obj === "string" || typeof obj === "number" || typeof obj === "boolean" || obj === null || obj === void 0) {
|
|
109
|
+
return obj;
|
|
110
|
+
}
|
|
111
|
+
const attributes = flattenAttributes(obj, prefix);
|
|
112
|
+
if (prefix !== void 0 && typeof attributes[prefix] !== "undefined" && attributes[prefix] !== null) {
|
|
113
|
+
return attributes[prefix];
|
|
114
|
+
}
|
|
115
|
+
return attributes;
|
|
116
|
+
}
|
|
117
|
+
__name(primitiveValueOrflattenedAttributes, "primitiveValueOrflattenedAttributes");
|
|
118
|
+
function rehydrateNull(value) {
|
|
119
|
+
if (value === NULL_SENTINEL) {
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
return value;
|
|
123
|
+
}
|
|
124
|
+
__name(rehydrateNull, "rehydrateNull");
|
|
125
|
+
|
|
126
|
+
exports.NULL_SENTINEL = NULL_SENTINEL;
|
|
127
|
+
exports.flattenAttributes = flattenAttributes;
|
|
128
|
+
exports.primitiveValueOrflattenedAttributes = primitiveValueOrflattenedAttributes;
|
|
129
|
+
exports.unflattenAttributes = unflattenAttributes;
|
|
130
|
+
//# sourceMappingURL=out.js.map
|
|
131
|
+
//# sourceMappingURL=flattenAttributes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/v3/utils/flattenAttributes.ts"],"names":["NULL_SENTINEL","flattenAttributes","obj","prefix","result","undefined","key","value","Object","entries","newPrefix","Array","isArray","i","length","assign","isRecord","unflattenAttributes","keys","rehydrateNull","parts","split","reduce","acc","part","includes","subparts","filter","p","push","current","nextPart","test","lastPart","every","k","maxIndex","Math","max","map","parseInt","arrayResult","primitiveValueOrflattenedAttributes","attributes"],"mappings":"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","sourcesContent":["import { Attributes } from \"@opentelemetry/api\";\n\nexport const NULL_SENTINEL = \"$@null((\";\n\nexport function flattenAttributes(\n obj: Record<string, unknown> | Array<unknown> | string | boolean | number | null | undefined,\n prefix?: string\n): Attributes {\n const result: Attributes = {};\n\n // Check if obj is null or undefined\n if (obj === undefined) {\n return result;\n }\n\n if (obj === null) {\n result[prefix || \"\"] = NULL_SENTINEL;\n return result;\n }\n\n if (typeof obj === \"string\") {\n result[prefix || \"\"] = obj;\n return result;\n }\n\n if (typeof obj === \"number\") {\n result[prefix || \"\"] = obj;\n return result;\n }\n\n if (typeof obj === \"boolean\") {\n result[prefix || \"\"] = obj;\n return result;\n }\n\n for (const [key, value] of Object.entries(obj)) {\n const newPrefix = `${prefix ? `${prefix}.` : \"\"}${Array.isArray(obj) ? `[${key}]` : key}`;\n if (Array.isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n if (typeof value[i] === \"object\" && value[i] !== null) {\n // update null check here as well\n Object.assign(result, flattenAttributes(value[i], `${newPrefix}.[${i}]`));\n } else {\n if (value[i] === null) {\n result[`${newPrefix}.[${i}]`] = NULL_SENTINEL;\n } else {\n result[`${newPrefix}.[${i}]`] = value[i];\n }\n }\n }\n } else if (isRecord(value)) {\n // update null check here\n Object.assign(result, flattenAttributes(value, newPrefix));\n } else {\n if (typeof value === \"number\" || typeof value === \"string\" || typeof value === \"boolean\") {\n result[newPrefix] = value;\n } else if (value === null) {\n result[newPrefix] = NULL_SENTINEL;\n }\n }\n }\n\n return result;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === \"object\" && !Array.isArray(value);\n}\n\nexport function unflattenAttributes(\n obj: Attributes\n): Record<string, unknown> | string | number | boolean | null | undefined {\n if (typeof obj !== \"object\" || obj === null || Array.isArray(obj)) {\n return obj;\n }\n\n if (\n typeof obj === \"object\" &&\n obj !== null &&\n Object.keys(obj).length === 1 &&\n Object.keys(obj)[0] === \"\"\n ) {\n return rehydrateNull(obj[\"\"]) as any;\n }\n\n if (Object.keys(obj).length === 0) {\n return;\n }\n\n const result: Record<string, unknown> = {};\n\n for (const [key, value] of Object.entries(obj)) {\n const parts = key.split(\".\").reduce((acc, part) => {\n if (part.includes(\"[\")) {\n // Handling nested array indices\n const subparts = part.split(/\\[|\\]/).filter((p) => p !== \"\");\n acc.push(...subparts);\n } else {\n acc.push(part);\n }\n return acc;\n }, [] as string[]);\n\n let current: any = result;\n for (let i = 0; i < parts.length - 1; i++) {\n const part = parts[i];\n const nextPart = parts[i + 1];\n const isArray = /^\\d+$/.test(nextPart);\n if (isArray && !Array.isArray(current[part])) {\n current[part] = [];\n } else if (!isArray && current[part] === undefined) {\n current[part] = {};\n }\n current = current[part];\n }\n const lastPart = parts[parts.length - 1];\n current[lastPart] = rehydrateNull(value);\n }\n\n // Convert the result to an array if all top-level keys are numeric indices\n if (Object.keys(result).every((k) => /^\\d+$/.test(k))) {\n const maxIndex = Math.max(...Object.keys(result).map((k) => parseInt(k)));\n const arrayResult = Array(maxIndex + 1);\n for (const key in result) {\n arrayResult[parseInt(key)] = result[key];\n }\n return arrayResult as any;\n }\n\n return result;\n}\n\nexport function primitiveValueOrflattenedAttributes(\n obj: Record<string, unknown> | Array<unknown> | string | boolean | number | undefined,\n prefix: string | undefined\n): Attributes | string | number | boolean | undefined {\n if (\n typeof obj === \"string\" ||\n typeof obj === \"number\" ||\n typeof obj === \"boolean\" ||\n obj === null ||\n obj === undefined\n ) {\n return obj;\n }\n\n const attributes = flattenAttributes(obj, prefix);\n\n if (\n prefix !== undefined &&\n typeof attributes[prefix] !== \"undefined\" &&\n attributes[prefix] !== null\n ) {\n return attributes[prefix] as unknown as Attributes;\n }\n\n return attributes;\n}\n\nfunction rehydrateNull(value: any): any {\n if (value === NULL_SENTINEL) {\n return null;\n }\n\n return value;\n}\n"]}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
4
|
+
// src/v3/utils/flattenAttributes.ts
|
|
5
|
+
var NULL_SENTINEL = "$@null((";
|
|
6
|
+
function flattenAttributes(obj, prefix) {
|
|
7
|
+
const result = {};
|
|
8
|
+
if (obj === void 0) {
|
|
9
|
+
return result;
|
|
10
|
+
}
|
|
11
|
+
if (obj === null) {
|
|
12
|
+
result[prefix || ""] = NULL_SENTINEL;
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
if (typeof obj === "string") {
|
|
16
|
+
result[prefix || ""] = obj;
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
if (typeof obj === "number") {
|
|
20
|
+
result[prefix || ""] = obj;
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
if (typeof obj === "boolean") {
|
|
24
|
+
result[prefix || ""] = obj;
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
28
|
+
const newPrefix = `${prefix ? `${prefix}.` : ""}${Array.isArray(obj) ? `[${key}]` : key}`;
|
|
29
|
+
if (Array.isArray(value)) {
|
|
30
|
+
for (let i = 0; i < value.length; i++) {
|
|
31
|
+
if (typeof value[i] === "object" && value[i] !== null) {
|
|
32
|
+
Object.assign(result, flattenAttributes(value[i], `${newPrefix}.[${i}]`));
|
|
33
|
+
} else {
|
|
34
|
+
if (value[i] === null) {
|
|
35
|
+
result[`${newPrefix}.[${i}]`] = NULL_SENTINEL;
|
|
36
|
+
} else {
|
|
37
|
+
result[`${newPrefix}.[${i}]`] = value[i];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
} else if (isRecord(value)) {
|
|
42
|
+
Object.assign(result, flattenAttributes(value, newPrefix));
|
|
43
|
+
} else {
|
|
44
|
+
if (typeof value === "number" || typeof value === "string" || typeof value === "boolean") {
|
|
45
|
+
result[newPrefix] = value;
|
|
46
|
+
} else if (value === null) {
|
|
47
|
+
result[newPrefix] = NULL_SENTINEL;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
__name(flattenAttributes, "flattenAttributes");
|
|
54
|
+
function isRecord(value) {
|
|
55
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
56
|
+
}
|
|
57
|
+
__name(isRecord, "isRecord");
|
|
58
|
+
function unflattenAttributes(obj) {
|
|
59
|
+
if (typeof obj !== "object" || obj === null || Array.isArray(obj)) {
|
|
60
|
+
return obj;
|
|
61
|
+
}
|
|
62
|
+
if (typeof obj === "object" && obj !== null && Object.keys(obj).length === 1 && Object.keys(obj)[0] === "") {
|
|
63
|
+
return rehydrateNull(obj[""]);
|
|
64
|
+
}
|
|
65
|
+
if (Object.keys(obj).length === 0) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const result = {};
|
|
69
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
70
|
+
const parts = key.split(".").reduce((acc, part) => {
|
|
71
|
+
if (part.includes("[")) {
|
|
72
|
+
const subparts = part.split(/\[|\]/).filter((p) => p !== "");
|
|
73
|
+
acc.push(...subparts);
|
|
74
|
+
} else {
|
|
75
|
+
acc.push(part);
|
|
76
|
+
}
|
|
77
|
+
return acc;
|
|
78
|
+
}, []);
|
|
79
|
+
let current = result;
|
|
80
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
81
|
+
const part = parts[i];
|
|
82
|
+
const nextPart = parts[i + 1];
|
|
83
|
+
const isArray = /^\d+$/.test(nextPart);
|
|
84
|
+
if (isArray && !Array.isArray(current[part])) {
|
|
85
|
+
current[part] = [];
|
|
86
|
+
} else if (!isArray && current[part] === void 0) {
|
|
87
|
+
current[part] = {};
|
|
88
|
+
}
|
|
89
|
+
current = current[part];
|
|
90
|
+
}
|
|
91
|
+
const lastPart = parts[parts.length - 1];
|
|
92
|
+
current[lastPart] = rehydrateNull(value);
|
|
93
|
+
}
|
|
94
|
+
if (Object.keys(result).every((k) => /^\d+$/.test(k))) {
|
|
95
|
+
const maxIndex = Math.max(...Object.keys(result).map((k) => parseInt(k)));
|
|
96
|
+
const arrayResult = Array(maxIndex + 1);
|
|
97
|
+
for (const key in result) {
|
|
98
|
+
arrayResult[parseInt(key)] = result[key];
|
|
99
|
+
}
|
|
100
|
+
return arrayResult;
|
|
101
|
+
}
|
|
102
|
+
return result;
|
|
103
|
+
}
|
|
104
|
+
__name(unflattenAttributes, "unflattenAttributes");
|
|
105
|
+
function primitiveValueOrflattenedAttributes(obj, prefix) {
|
|
106
|
+
if (typeof obj === "string" || typeof obj === "number" || typeof obj === "boolean" || obj === null || obj === void 0) {
|
|
107
|
+
return obj;
|
|
108
|
+
}
|
|
109
|
+
const attributes = flattenAttributes(obj, prefix);
|
|
110
|
+
if (prefix !== void 0 && typeof attributes[prefix] !== "undefined" && attributes[prefix] !== null) {
|
|
111
|
+
return attributes[prefix];
|
|
112
|
+
}
|
|
113
|
+
return attributes;
|
|
114
|
+
}
|
|
115
|
+
__name(primitiveValueOrflattenedAttributes, "primitiveValueOrflattenedAttributes");
|
|
116
|
+
function rehydrateNull(value) {
|
|
117
|
+
if (value === NULL_SENTINEL) {
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
return value;
|
|
121
|
+
}
|
|
122
|
+
__name(rehydrateNull, "rehydrateNull");
|
|
123
|
+
|
|
124
|
+
export { NULL_SENTINEL, flattenAttributes, primitiveValueOrflattenedAttributes, unflattenAttributes };
|
|
125
|
+
//# sourceMappingURL=out.js.map
|
|
126
|
+
//# sourceMappingURL=flattenAttributes.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/v3/utils/flattenAttributes.ts"],"names":["NULL_SENTINEL","flattenAttributes","obj","prefix","result","undefined","key","value","Object","entries","newPrefix","Array","isArray","i","length","assign","isRecord","unflattenAttributes","keys","rehydrateNull","parts","split","reduce","acc","part","includes","subparts","filter","p","push","current","nextPart","test","lastPart","every","k","maxIndex","Math","max","map","parseInt","arrayResult","primitiveValueOrflattenedAttributes","attributes"],"mappings":"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","sourcesContent":["import { Attributes } from \"@opentelemetry/api\";\n\nexport const NULL_SENTINEL = \"$@null((\";\n\nexport function flattenAttributes(\n obj: Record<string, unknown> | Array<unknown> | string | boolean | number | null | undefined,\n prefix?: string\n): Attributes {\n const result: Attributes = {};\n\n // Check if obj is null or undefined\n if (obj === undefined) {\n return result;\n }\n\n if (obj === null) {\n result[prefix || \"\"] = NULL_SENTINEL;\n return result;\n }\n\n if (typeof obj === \"string\") {\n result[prefix || \"\"] = obj;\n return result;\n }\n\n if (typeof obj === \"number\") {\n result[prefix || \"\"] = obj;\n return result;\n }\n\n if (typeof obj === \"boolean\") {\n result[prefix || \"\"] = obj;\n return result;\n }\n\n for (const [key, value] of Object.entries(obj)) {\n const newPrefix = `${prefix ? `${prefix}.` : \"\"}${Array.isArray(obj) ? `[${key}]` : key}`;\n if (Array.isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n if (typeof value[i] === \"object\" && value[i] !== null) {\n // update null check here as well\n Object.assign(result, flattenAttributes(value[i], `${newPrefix}.[${i}]`));\n } else {\n if (value[i] === null) {\n result[`${newPrefix}.[${i}]`] = NULL_SENTINEL;\n } else {\n result[`${newPrefix}.[${i}]`] = value[i];\n }\n }\n }\n } else if (isRecord(value)) {\n // update null check here\n Object.assign(result, flattenAttributes(value, newPrefix));\n } else {\n if (typeof value === \"number\" || typeof value === \"string\" || typeof value === \"boolean\") {\n result[newPrefix] = value;\n } else if (value === null) {\n result[newPrefix] = NULL_SENTINEL;\n }\n }\n }\n\n return result;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === \"object\" && !Array.isArray(value);\n}\n\nexport function unflattenAttributes(\n obj: Attributes\n): Record<string, unknown> | string | number | boolean | null | undefined {\n if (typeof obj !== \"object\" || obj === null || Array.isArray(obj)) {\n return obj;\n }\n\n if (\n typeof obj === \"object\" &&\n obj !== null &&\n Object.keys(obj).length === 1 &&\n Object.keys(obj)[0] === \"\"\n ) {\n return rehydrateNull(obj[\"\"]) as any;\n }\n\n if (Object.keys(obj).length === 0) {\n return;\n }\n\n const result: Record<string, unknown> = {};\n\n for (const [key, value] of Object.entries(obj)) {\n const parts = key.split(\".\").reduce((acc, part) => {\n if (part.includes(\"[\")) {\n // Handling nested array indices\n const subparts = part.split(/\\[|\\]/).filter((p) => p !== \"\");\n acc.push(...subparts);\n } else {\n acc.push(part);\n }\n return acc;\n }, [] as string[]);\n\n let current: any = result;\n for (let i = 0; i < parts.length - 1; i++) {\n const part = parts[i];\n const nextPart = parts[i + 1];\n const isArray = /^\\d+$/.test(nextPart);\n if (isArray && !Array.isArray(current[part])) {\n current[part] = [];\n } else if (!isArray && current[part] === undefined) {\n current[part] = {};\n }\n current = current[part];\n }\n const lastPart = parts[parts.length - 1];\n current[lastPart] = rehydrateNull(value);\n }\n\n // Convert the result to an array if all top-level keys are numeric indices\n if (Object.keys(result).every((k) => /^\\d+$/.test(k))) {\n const maxIndex = Math.max(...Object.keys(result).map((k) => parseInt(k)));\n const arrayResult = Array(maxIndex + 1);\n for (const key in result) {\n arrayResult[parseInt(key)] = result[key];\n }\n return arrayResult as any;\n }\n\n return result;\n}\n\nexport function primitiveValueOrflattenedAttributes(\n obj: Record<string, unknown> | Array<unknown> | string | boolean | number | undefined,\n prefix: string | undefined\n): Attributes | string | number | boolean | undefined {\n if (\n typeof obj === \"string\" ||\n typeof obj === \"number\" ||\n typeof obj === \"boolean\" ||\n obj === null ||\n obj === undefined\n ) {\n return obj;\n }\n\n const attributes = flattenAttributes(obj, prefix);\n\n if (\n prefix !== undefined &&\n typeof attributes[prefix] !== \"undefined\" &&\n attributes[prefix] !== null\n ) {\n return attributes[prefix] as unknown as Attributes;\n }\n\n return attributes;\n}\n\nfunction rehydrateNull(value: any): any {\n if (value === NULL_SENTINEL) {\n return null;\n }\n\n return value;\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Attributes } from '@opentelemetry/api';
|
|
2
|
+
import { T as TriggerTracer } from '../../tracer-N0p2Fuuv.mjs';
|
|
3
|
+
import '@opentelemetry/api-logs';
|
|
4
|
+
|
|
5
|
+
type IOPacket = {
|
|
6
|
+
data?: string | undefined;
|
|
7
|
+
dataType: string;
|
|
8
|
+
};
|
|
9
|
+
declare function parsePacket(value: IOPacket): Promise<any>;
|
|
10
|
+
declare function stringifyIO(value: any): Promise<IOPacket>;
|
|
11
|
+
declare function conditionallyExportPacket(packet: IOPacket, pathPrefix: string, tracer?: TriggerTracer): Promise<IOPacket>;
|
|
12
|
+
declare function packetRequiresOffloading(packet: IOPacket, lengthLimit?: number): {
|
|
13
|
+
needsOffloading: boolean;
|
|
14
|
+
size: number;
|
|
15
|
+
};
|
|
16
|
+
declare function conditionallyImportPacket(packet: IOPacket, tracer?: TriggerTracer): Promise<IOPacket>;
|
|
17
|
+
declare function createPacketAttributes(packet: IOPacket, dataKey: string, dataTypeKey: string): Promise<Attributes | undefined>;
|
|
18
|
+
declare function createPacketAttributesAsJson(data: any, dataType: string): Promise<Attributes>;
|
|
19
|
+
declare function prettyPrintPacket(rawData: any, dataType?: string): Promise<string>;
|
|
20
|
+
|
|
21
|
+
export { type IOPacket, conditionallyExportPacket, conditionallyImportPacket, createPacketAttributes, createPacketAttributesAsJson, packetRequiresOffloading, parsePacket, prettyPrintPacket, stringifyIO };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Attributes } from '@opentelemetry/api';
|
|
2
|
+
import { T as TriggerTracer } from '../../tracer-N0p2Fuuv.js';
|
|
3
|
+
import '@opentelemetry/api-logs';
|
|
4
|
+
|
|
5
|
+
type IOPacket = {
|
|
6
|
+
data?: string | undefined;
|
|
7
|
+
dataType: string;
|
|
8
|
+
};
|
|
9
|
+
declare function parsePacket(value: IOPacket): Promise<any>;
|
|
10
|
+
declare function stringifyIO(value: any): Promise<IOPacket>;
|
|
11
|
+
declare function conditionallyExportPacket(packet: IOPacket, pathPrefix: string, tracer?: TriggerTracer): Promise<IOPacket>;
|
|
12
|
+
declare function packetRequiresOffloading(packet: IOPacket, lengthLimit?: number): {
|
|
13
|
+
needsOffloading: boolean;
|
|
14
|
+
size: number;
|
|
15
|
+
};
|
|
16
|
+
declare function conditionallyImportPacket(packet: IOPacket, tracer?: TriggerTracer): Promise<IOPacket>;
|
|
17
|
+
declare function createPacketAttributes(packet: IOPacket, dataKey: string, dataTypeKey: string): Promise<Attributes | undefined>;
|
|
18
|
+
declare function createPacketAttributesAsJson(data: any, dataType: string): Promise<Attributes>;
|
|
19
|
+
declare function prettyPrintPacket(rawData: any, dataType?: string): Promise<string>;
|
|
20
|
+
|
|
21
|
+
export { type IOPacket, conditionallyExportPacket, conditionallyImportPacket, createPacketAttributes, createPacketAttributesAsJson, packetRequiresOffloading, parsePacket, prettyPrintPacket, stringifyIO };
|