@zendesk/retrace
Version:
define and capture Product Operation Traces along with computed metrics with an optional friendly React beacon API
25 lines (21 loc) • 711 B
text/typescript
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
/* eslint-disable import/no-extraneous-dependencies */
import { expect } from 'vitest'
import { generateAsciiTimeline } from './generateAsciiTimeline'
const asciiTimelineSerializer = {
test: (val: unknown) =>
Array.isArray(val) &&
val.every(
(item) =>
item &&
typeof item.startTime === 'number' &&
typeof item.duration === 'number',
),
print: (val: unknown) =>
generateAsciiTimeline(val as PerformanceEntry[], {
width: 80,
}),
} as const
expect.addSnapshotSerializer(asciiTimelineSerializer)
// eslint-disable-next-line import/no-default-export
export default asciiTimelineSerializer