@zendesk/retrace
Version:
define and capture Product Operation Traces along with computed metrics with an optional friendly React beacon API
25 lines • 1.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
const vitest_1 = require("vitest");
const generateAsciiTimeline_1 = require("./generateAsciiTimeline");
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const isValid = (item) => Boolean(typeof item === 'object' &&
item !== null &&
((typeof item.duration === 'number' &&
(typeof item.startTime === 'number' ||
(typeof item.startTime === 'object' &&
typeof item.startTime?.now === 'number'))) ||
('span' in item &&
typeof item.span === 'object' &&
isValid(item.span))));
const asciiTimelineSerializer = {
test: (val) => Array.isArray(val) && val.every((item) => isValid(item)),
print: (val) => (0, generateAsciiTimeline_1.generateAsciiTimeline)(val, {
width: 80,
}),
};
vitest_1.expect.addSnapshotSerializer(asciiTimelineSerializer);
// eslint-disable-next-line import/no-default-export
exports.default = asciiTimelineSerializer;
//# sourceMappingURL=asciiTimelineSerializer.js.map