1
0
Fork 0
firefox/toolkit/components/normandy/lib/TelemetryEvents.sys.mjs
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

27 lines
830 B
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
export const TelemetryEvents = {
sendEvent(method, object, value, extra) {
for (const [key, val] of Object.entries(extra)) {
if (val == null) {
throw new Error(
`Extra parameter ${key} in telemetry events must not be null`
);
}
}
let words = (method + "_" + object).split("_");
let name =
words[0] +
words
.slice(1)
.map(word => word[0].toUpperCase() + word.slice(1))
.join("");
if (value !== undefined) {
extra = Object.assign({}, extra);
extra.value = value;
}
Glean.normandy[name]?.record(extra);
},
};