UNPKG

@zendesk/react-measure-timing-hooks

Version:

react hooks for measuring time to interactive and time to render of components

51 lines 1.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createMockSpanAndAnnotation = exports.createMockSpan = exports.createAnnotation = exports.createTimestamp = void 0; const EPOCH_START = 1_000; const createTimestamp = (now) => ({ epoch: EPOCH_START + now, now, }); exports.createTimestamp = createTimestamp; const createAnnotation = (span, traceStartTime, partial = {}) => ({ id: 'test-id', operationRelativeStartTime: span.startTime.now - traceStartTime.now, operationRelativeEndTime: span.startTime.now + span.duration - traceStartTime.now, occurrence: 1, recordedInState: 'active', labels: [], ...partial, }); exports.createAnnotation = createAnnotation; const createMockSpan = (startTimeNow, partial) => (partial.type === 'component-render' ? { name: 'test-component', type: 'component-render', relatedTo: {}, startTime: (0, exports.createTimestamp)(startTimeNow), duration: 100, attributes: {}, isIdle: true, renderCount: 1, renderedOutput: 'content', ...partial, } : { name: 'test-span', type: 'mark', startTime: (0, exports.createTimestamp)(startTimeNow), duration: 100, attributes: {}, ...partial, }); exports.createMockSpan = createMockSpan; // eslint-disable-next-line @typescript-eslint/no-explicit-any const createMockSpanAndAnnotation = (startTimeNow, spanPartial = {}, annotationPartial = {}) => { const span = (0, exports.createMockSpan)(startTimeNow, spanPartial); return { span, annotation: (0, exports.createAnnotation)(span, (0, exports.createTimestamp)(0), annotationPartial), }; }; exports.createMockSpanAndAnnotation = createMockSpanAndAnnotation; //# sourceMappingURL=createMockFactory.js.map