@atlaskit/react-ufo 3.6.5 → 3.6.7
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/CHANGELOG.md +16 -0
- package/dist/cjs/additional-payload/utils/cache-hit-ratio/index.js +5 -6
- package/dist/cjs/additional-payload/utils/lighthouse-metrics/cls/index.js +3 -4
- package/dist/cjs/additional-payload/utils/lighthouse-metrics/index.js +6 -6
- package/dist/cjs/additional-payload/utils/lighthouse-metrics/tbt/index.js +3 -4
- package/dist/cjs/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +0 -3
- package/dist/cjs/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +10 -10
- package/dist/cjs/assets/index.js +14 -17
- package/dist/cjs/assets/utils.js +13 -10
- package/dist/cjs/bundle-eval-timing/index.js +8 -8
- package/dist/cjs/coinflip/index.js +2 -3
- package/dist/cjs/config/index.js +42 -30
- package/dist/cjs/create-experimental-interaction-metrics-payload/index.js +41 -29
- package/dist/cjs/create-payload/common/utils/index.js +20 -16
- package/dist/cjs/create-payload/index.js +120 -128
- package/dist/cjs/create-payload/utils/get-interaction-status.js +2 -3
- package/dist/cjs/create-payload/utils/get-page-visibility-up-to-ttai.js +2 -3
- package/dist/cjs/create-payload/utils/get-react-ufo-payload-version.js +3 -4
- package/dist/cjs/create-payload/utils/get-ssr-done-time-value.js +2 -3
- package/dist/cjs/create-payload/utils/get-vc-metrics.js +7 -8
- package/dist/cjs/create-post-interaction-log-payload/index.js +12 -13
- package/dist/cjs/custom-data/index.js +14 -6
- package/dist/cjs/custom-mark/index.js +3 -4
- package/dist/cjs/custom-spans/index.js +3 -4
- package/dist/cjs/custom-timings/index.js +6 -6
- package/dist/cjs/experience-trace-id-context/index.js +21 -16
- package/dist/cjs/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +3 -4
- package/dist/cjs/feature-flags-accessed/common/utils/index.js +12 -12
- package/dist/cjs/feature-flags-accessed/index.js +4 -4
- package/dist/cjs/generate-id/index.js +2 -3
- package/dist/cjs/global-error-handler/index.js +16 -15
- package/dist/cjs/initial-page-load-extra-timing/index.js +6 -6
- package/dist/cjs/interaction-metrics/index.js +146 -110
- package/dist/cjs/interaction-metrics/post-interaction-log.js +0 -10
- package/dist/cjs/interaction-metrics-init/index.js +15 -16
- package/dist/cjs/interaction-metrics-init/schedule-idle-callback.js +2 -3
- package/dist/cjs/resource-timing/common/utils/config.js +10 -10
- package/dist/cjs/resource-timing/common/utils/resource-timing-buffer.js +14 -14
- package/dist/cjs/resource-timing/main.js +24 -37
- package/dist/cjs/resource-timing/utils.js +3 -4
- package/dist/cjs/round-number/index.js +3 -4
- package/dist/cjs/route-name/index.js +2 -3
- package/dist/cjs/segment/schedule-on-paint.js +2 -4
- package/dist/cjs/segment/segment.js +4 -5
- package/dist/cjs/set-interaction-error/index.js +3 -4
- package/dist/cjs/short-id/index.js +2 -3
- package/dist/cjs/ssr/index.js +21 -18
- package/dist/cjs/trace-interaction/index.js +4 -5
- package/dist/cjs/trace-pageload/index.js +6 -6
- package/dist/cjs/trace-press/index.js +2 -3
- package/dist/cjs/trace-redirect/index.js +2 -3
- package/dist/cjs/trace-transition/index.js +2 -3
- package/dist/cjs/trace-transition/utils/generate-span-id/index.js +3 -4
- package/dist/cjs/trace-transition/utils/set-interaction-active-trace/index.js +3 -4
- package/dist/cjs/vc/index.js +6 -17
- package/dist/cjs/vc/vc-observer/attachAbortListeners.js +3 -4
- package/dist/cjs/vc/vc-observer/getVCRevisionsData.js +22 -13
- package/dist/cjs/vc/vc-observer/getViewport.js +6 -6
- package/dist/cjs/vc/vc-observer/heatmap/heatmap.js +10 -20
- package/dist/cjs/vc/vc-observer/index.js +119 -145
- package/dist/cjs/vc/vc-observer/media-wrapper/vc-utils.js +3 -4
- package/dist/cjs/vc/vc-observer/observers/editor-lnv/index.js +0 -17
- package/dist/cjs/vc/vc-observer/observers/index.js +2 -29
- package/dist/cjs/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.js +2 -3
- package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/index.js +0 -16
- package/dist/cjs/vc/vc-observer/revisions/fy25_01.js +0 -2
- package/dist/cjs/vc/vc-observer/revisions/fy25_02.js +0 -2
- package/dist/cjs/vc/vc-observer/revisions/revisions.js +3 -4
- package/dist/cjs/vc/vc-observer-new/entries-timeline/index.js +0 -9
- package/dist/cjs/vc/vc-observer-new/get-element-name.js +2 -3
- package/dist/cjs/vc/vc-observer-new/get-unique-element-name.js +10 -11
- package/dist/cjs/vc/vc-observer-new/index.js +0 -9
- package/dist/cjs/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +0 -2
- package/dist/cjs/vc/vc-observer-new/metric-calculator/fy25_03/index.js +1 -6
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +12 -20
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +26 -26
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +6 -18
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +13 -25
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +7 -8
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +39 -48
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +7 -8
- package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.js +2 -3
- package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.js +2 -3
- package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.js +2 -3
- package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/task-yield.js +7 -8
- package/dist/cjs/vc/vc-observer-new/viewport-observer/index.js +7 -15
- package/dist/cjs/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +7 -8
- package/dist/cjs/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +14 -15
- package/dist/cjs/vc/vc-observer-new/viewport-observer/performance-observer/index.js +9 -9
- package/dist/cjs/vc/vc-observer-new/window-event-observer/index.js +1 -7
- package/dist/es2019/additional-payload/utils/cache-hit-ratio/index.js +4 -5
- package/dist/es2019/additional-payload/utils/lighthouse-metrics/cls/index.js +2 -3
- package/dist/es2019/additional-payload/utils/lighthouse-metrics/index.js +4 -5
- package/dist/es2019/additional-payload/utils/lighthouse-metrics/tbt/index.js +2 -3
- package/dist/es2019/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +0 -3
- package/dist/es2019/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +8 -9
- package/dist/es2019/assets/index.js +14 -19
- package/dist/es2019/assets/utils.js +8 -10
- package/dist/es2019/bundle-eval-timing/index.js +6 -7
- package/dist/es2019/coinflip/index.js +2 -4
- package/dist/es2019/config/index.js +28 -29
- package/dist/es2019/create-experimental-interaction-metrics-payload/index.js +15 -18
- package/dist/es2019/create-payload/common/utils/index.js +14 -15
- package/dist/es2019/create-payload/index.js +75 -84
- package/dist/es2019/create-payload/utils/get-interaction-status.js +2 -4
- package/dist/es2019/create-payload/utils/get-page-visibility-up-to-ttai.js +2 -3
- package/dist/es2019/create-payload/utils/get-react-ufo-payload-version.js +2 -3
- package/dist/es2019/create-payload/utils/get-ssr-done-time-value.js +2 -3
- package/dist/es2019/create-payload/utils/get-vc-metrics.js +2 -3
- package/dist/es2019/create-post-interaction-log-payload/index.js +12 -13
- package/dist/es2019/custom-data/index.js +13 -5
- package/dist/es2019/custom-mark/index.js +2 -3
- package/dist/es2019/custom-spans/index.js +2 -3
- package/dist/es2019/custom-timings/index.js +4 -5
- package/dist/es2019/experience-trace-id-context/index.js +14 -15
- package/dist/es2019/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +2 -3
- package/dist/es2019/feature-flags-accessed/common/utils/index.js +10 -11
- package/dist/es2019/feature-flags-accessed/index.js +2 -3
- package/dist/es2019/generate-id/index.js +2 -3
- package/dist/es2019/global-error-handler/index.js +13 -14
- package/dist/es2019/initial-page-load-extra-timing/index.js +4 -5
- package/dist/es2019/interaction-metrics/index.js +108 -109
- package/dist/es2019/interaction-metrics/post-interaction-log.js +0 -10
- package/dist/es2019/interaction-metrics-init/index.js +14 -15
- package/dist/es2019/interaction-metrics-init/schedule-idle-callback.js +2 -3
- package/dist/es2019/resource-timing/common/utils/config.js +8 -9
- package/dist/es2019/resource-timing/common/utils/resource-timing-buffer.js +12 -13
- package/dist/es2019/resource-timing/main.js +23 -36
- package/dist/es2019/resource-timing/utils.js +2 -3
- package/dist/es2019/round-number/index.js +2 -3
- package/dist/es2019/route-name/index.js +2 -3
- package/dist/es2019/segment/schedule-on-paint.js +2 -4
- package/dist/es2019/segment/segment.js +4 -5
- package/dist/es2019/set-interaction-error/index.js +2 -3
- package/dist/es2019/short-id/index.js +2 -3
- package/dist/es2019/ssr/index.js +16 -17
- package/dist/es2019/trace-interaction/index.js +4 -5
- package/dist/es2019/trace-pageload/index.js +4 -5
- package/dist/es2019/trace-press/index.js +2 -3
- package/dist/es2019/trace-redirect/index.js +2 -3
- package/dist/es2019/trace-transition/index.js +2 -3
- package/dist/es2019/trace-transition/utils/generate-span-id/index.js +2 -3
- package/dist/es2019/trace-transition/utils/set-interaction-active-trace/index.js +2 -3
- package/dist/es2019/vc/index.js +4 -16
- package/dist/es2019/vc/vc-observer/attachAbortListeners.js +2 -3
- package/dist/es2019/vc/vc-observer/getVCRevisionsData.js +4 -5
- package/dist/es2019/vc/vc-observer/getViewport.js +4 -5
- package/dist/es2019/vc/vc-observer/heatmap/heatmap.js +8 -20
- package/dist/es2019/vc/vc-observer/index.js +104 -134
- package/dist/es2019/vc/vc-observer/media-wrapper/vc-utils.js +2 -3
- package/dist/es2019/vc/vc-observer/observers/editor-lnv/index.js +0 -17
- package/dist/es2019/vc/vc-observer/observers/index.js +2 -29
- package/dist/es2019/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.js +2 -4
- package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/index.js +0 -16
- package/dist/es2019/vc/vc-observer/revisions/fy25_01.js +0 -2
- package/dist/es2019/vc/vc-observer/revisions/fy25_02.js +0 -2
- package/dist/es2019/vc/vc-observer/revisions/revisions.js +2 -3
- package/dist/es2019/vc/vc-observer-new/entries-timeline/index.js +0 -9
- package/dist/es2019/vc/vc-observer-new/get-element-name.js +2 -3
- package/dist/es2019/vc/vc-observer-new/get-unique-element-name.js +10 -11
- package/dist/es2019/vc/vc-observer-new/index.js +0 -9
- package/dist/es2019/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +0 -2
- package/dist/es2019/vc/vc-observer-new/metric-calculator/fy25_03/index.js +0 -3
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +4 -14
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +4 -5
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +6 -18
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +8 -20
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +2 -3
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +8 -9
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +2 -3
- package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.js +2 -3
- package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.js +2 -3
- package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.js +2 -3
- package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/task-yield.js +2 -4
- package/dist/es2019/vc/vc-observer-new/viewport-observer/index.js +7 -15
- package/dist/es2019/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +8 -8
- package/dist/es2019/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +15 -15
- package/dist/es2019/vc/vc-observer-new/viewport-observer/performance-observer/index.js +8 -9
- package/dist/es2019/vc/vc-observer-new/window-event-observer/index.js +1 -7
- package/dist/esm/additional-payload/utils/cache-hit-ratio/index.js +4 -5
- package/dist/esm/additional-payload/utils/lighthouse-metrics/cls/index.js +2 -3
- package/dist/esm/additional-payload/utils/lighthouse-metrics/index.js +4 -5
- package/dist/esm/additional-payload/utils/lighthouse-metrics/tbt/index.js +2 -3
- package/dist/esm/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +0 -3
- package/dist/esm/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +8 -9
- package/dist/esm/assets/index.js +14 -17
- package/dist/esm/assets/utils.js +8 -10
- package/dist/esm/bundle-eval-timing/index.js +6 -7
- package/dist/esm/coinflip/index.js +2 -4
- package/dist/esm/config/index.js +28 -29
- package/dist/esm/create-experimental-interaction-metrics-payload/index.js +36 -28
- package/dist/esm/create-payload/common/utils/index.js +14 -15
- package/dist/esm/create-payload/index.js +119 -127
- package/dist/esm/create-payload/utils/get-interaction-status.js +2 -4
- package/dist/esm/create-payload/utils/get-page-visibility-up-to-ttai.js +2 -3
- package/dist/esm/create-payload/utils/get-react-ufo-payload-version.js +2 -3
- package/dist/esm/create-payload/utils/get-ssr-done-time-value.js +2 -3
- package/dist/esm/create-payload/utils/get-vc-metrics.js +7 -8
- package/dist/esm/create-post-interaction-log-payload/index.js +12 -13
- package/dist/esm/custom-data/index.js +13 -5
- package/dist/esm/custom-mark/index.js +2 -3
- package/dist/esm/custom-spans/index.js +2 -3
- package/dist/esm/custom-timings/index.js +4 -5
- package/dist/esm/experience-trace-id-context/index.js +14 -15
- package/dist/esm/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +2 -3
- package/dist/esm/feature-flags-accessed/common/utils/index.js +10 -11
- package/dist/esm/feature-flags-accessed/index.js +2 -3
- package/dist/esm/generate-id/index.js +2 -3
- package/dist/esm/global-error-handler/index.js +13 -14
- package/dist/esm/initial-page-load-extra-timing/index.js +4 -5
- package/dist/esm/interaction-metrics/index.js +108 -109
- package/dist/esm/interaction-metrics/post-interaction-log.js +0 -10
- package/dist/esm/interaction-metrics-init/index.js +14 -15
- package/dist/esm/interaction-metrics-init/schedule-idle-callback.js +2 -3
- package/dist/esm/resource-timing/common/utils/config.js +8 -9
- package/dist/esm/resource-timing/common/utils/resource-timing-buffer.js +12 -13
- package/dist/esm/resource-timing/main.js +23 -36
- package/dist/esm/resource-timing/utils.js +2 -3
- package/dist/esm/round-number/index.js +2 -3
- package/dist/esm/route-name/index.js +2 -3
- package/dist/esm/segment/schedule-on-paint.js +2 -4
- package/dist/esm/segment/segment.js +4 -5
- package/dist/esm/set-interaction-error/index.js +2 -3
- package/dist/esm/short-id/index.js +2 -3
- package/dist/esm/ssr/index.js +16 -17
- package/dist/esm/trace-interaction/index.js +4 -5
- package/dist/esm/trace-pageload/index.js +4 -5
- package/dist/esm/trace-press/index.js +2 -3
- package/dist/esm/trace-redirect/index.js +2 -3
- package/dist/esm/trace-transition/index.js +2 -3
- package/dist/esm/trace-transition/utils/generate-span-id/index.js +2 -3
- package/dist/esm/trace-transition/utils/set-interaction-active-trace/index.js +2 -3
- package/dist/esm/vc/index.js +4 -16
- package/dist/esm/vc/vc-observer/attachAbortListeners.js +2 -3
- package/dist/esm/vc/vc-observer/getVCRevisionsData.js +21 -12
- package/dist/esm/vc/vc-observer/getViewport.js +4 -5
- package/dist/esm/vc/vc-observer/heatmap/heatmap.js +10 -20
- package/dist/esm/vc/vc-observer/index.js +119 -145
- package/dist/esm/vc/vc-observer/media-wrapper/vc-utils.js +2 -3
- package/dist/esm/vc/vc-observer/observers/editor-lnv/index.js +0 -17
- package/dist/esm/vc/vc-observer/observers/index.js +2 -29
- package/dist/esm/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.js +2 -4
- package/dist/esm/vc/vc-observer/observers/ssr-placeholders/index.js +0 -16
- package/dist/esm/vc/vc-observer/revisions/fy25_01.js +0 -2
- package/dist/esm/vc/vc-observer/revisions/fy25_02.js +0 -2
- package/dist/esm/vc/vc-observer/revisions/revisions.js +2 -3
- package/dist/esm/vc/vc-observer-new/entries-timeline/index.js +0 -9
- package/dist/esm/vc/vc-observer-new/get-element-name.js +2 -3
- package/dist/esm/vc/vc-observer-new/get-unique-element-name.js +10 -11
- package/dist/esm/vc/vc-observer-new/index.js +0 -9
- package/dist/esm/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +0 -2
- package/dist/esm/vc/vc-observer-new/metric-calculator/fy25_03/index.js +1 -6
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +9 -19
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +24 -25
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +6 -18
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +13 -25
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +7 -8
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +39 -48
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +7 -8
- package/dist/esm/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.js +2 -3
- package/dist/esm/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.js +2 -3
- package/dist/esm/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.js +2 -3
- package/dist/esm/vc/vc-observer-new/metric-calculator/utils/task-yield.js +7 -9
- package/dist/esm/vc/vc-observer-new/viewport-observer/index.js +7 -15
- package/dist/esm/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +7 -8
- package/dist/esm/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +14 -15
- package/dist/esm/vc/vc-observer-new/viewport-observer/performance-observer/index.js +7 -9
- package/dist/esm/vc/vc-observer-new/window-event-observer/index.js +1 -7
- package/dist/types/additional-payload/utils/cache-hit-ratio/index.d.ts +2 -2
- package/dist/types/additional-payload/utils/lighthouse-metrics/cls/index.d.ts +1 -1
- package/dist/types/additional-payload/utils/lighthouse-metrics/index.d.ts +3 -3
- package/dist/types/additional-payload/utils/lighthouse-metrics/tbt/index.d.ts +1 -1
- package/dist/types/additional-payload/utils/lighthouse-metrics/utils/observer/index.d.ts +2 -2
- package/dist/types/assets/index.d.ts +1 -3
- package/dist/types/assets/utils.d.ts +4 -4
- package/dist/types/bundle-eval-timing/index.d.ts +2 -2
- package/dist/types/coinflip/index.d.ts +1 -1
- package/dist/types/common/react-ufo-payload-schema.d.ts +1 -0
- package/dist/types/config/index.d.ts +16 -14
- package/dist/types/create-experimental-interaction-metrics-payload/index.d.ts +4 -5
- package/dist/types/create-payload/common/utils/index.d.ts +8 -7
- package/dist/types/create-payload/index.d.ts +1 -97
- package/dist/types/create-payload/utils/get-interaction-status.d.ts +1 -1
- package/dist/types/create-payload/utils/get-page-visibility-up-to-ttai.d.ts +1 -1
- package/dist/types/create-payload/utils/get-react-ufo-payload-version.d.ts +1 -1
- package/dist/types/create-payload/utils/get-ssr-done-time-value.d.ts +1 -1
- package/dist/types/create-payload/utils/get-vc-metrics.d.ts +2 -2
- package/dist/types/create-post-interaction-log-payload/index.d.ts +1 -1
- package/dist/types/custom-data/index.d.ts +1 -1
- package/dist/types/custom-mark/index.d.ts +1 -1
- package/dist/types/custom-spans/index.d.ts +1 -1
- package/dist/types/custom-timings/index.d.ts +2 -2
- package/dist/types/experience-trace-id-context/index.d.ts +7 -7
- package/dist/types/experience-trace-id-context/utils/make-trace-http-request-headers/index.d.ts +1 -1
- package/dist/types/feature-flags-accessed/common/utils/index.d.ts +2 -2
- package/dist/types/feature-flags-accessed/index.d.ts +1 -1
- package/dist/types/generate-id/index.d.ts +1 -1
- package/dist/types/global-error-handler/index.d.ts +3 -3
- package/dist/types/initial-page-load-extra-timing/index.d.ts +2 -2
- package/dist/types/interaction-context/index.d.ts +1 -1
- package/dist/types/interaction-metrics/index.d.ts +44 -44
- package/dist/types/interaction-metrics/post-interaction-log.d.ts +0 -1
- package/dist/types/interaction-metrics-init/index.d.ts +1 -1
- package/dist/types/interaction-metrics-init/schedule-idle-callback.d.ts +1 -1
- package/dist/types/resource-timing/common/utils/config.d.ts +2 -2
- package/dist/types/resource-timing/common/utils/resource-timing-buffer.d.ts +5 -5
- package/dist/types/resource-timing/main.d.ts +1 -1
- package/dist/types/resource-timing/utils.d.ts +1 -1
- package/dist/types/round-number/index.d.ts +1 -1
- package/dist/types/route-name/index.d.ts +3 -3
- package/dist/types/segment/schedule-on-paint.d.ts +1 -1
- package/dist/types/set-interaction-error/index.d.ts +1 -1
- package/dist/types/short-id/index.d.ts +1 -1
- package/dist/types/ssr/index.d.ts +5 -5
- package/dist/types/trace-interaction/index.d.ts +1 -1
- package/dist/types/trace-pageload/index.d.ts +2 -2
- package/dist/types/trace-press/index.d.ts +1 -1
- package/dist/types/trace-redirect/index.d.ts +1 -1
- package/dist/types/trace-transition/index.d.ts +1 -1
- package/dist/types/trace-transition/utils/generate-span-id/index.d.ts +1 -1
- package/dist/types/trace-transition/utils/set-interaction-active-trace/index.d.ts +1 -1
- package/dist/types/vc/index.d.ts +2 -2
- package/dist/types/vc/vc-observer/attachAbortListeners.d.ts +2 -2
- package/dist/types/vc/vc-observer/getVCRevisionsData.d.ts +5 -5
- package/dist/types/vc/vc-observer/getViewport.d.ts +2 -2
- package/dist/types/vc/vc-observer/heatmap/heatmap.d.ts +1 -1
- package/dist/types/vc/vc-observer/index.d.ts +4 -4
- package/dist/types/vc/vc-observer/media-wrapper/vc-utils.d.ts +1 -1
- package/dist/types/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.d.ts +4 -4
- package/dist/types/vc/vc-observer/revisions/revisions.d.ts +1 -1
- package/dist/types/vc/vc-observer-new/get-element-name.d.ts +1 -1
- package/dist/types/vc/vc-observer-new/get-unique-element-name.d.ts +1 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.d.ts +3 -2
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +2 -2
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +2 -2
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +1 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +1 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +2 -2
- package/dist/types/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.d.ts +1 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.d.ts +1 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.d.ts +1 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/utils/task-yield.d.ts +1 -1
- package/dist/types/vc/vc-observer-new/viewport-observer/index.d.ts +1 -1
- package/dist/types/vc/vc-observer-new/viewport-observer/intersection-observer/index.d.ts +1 -1
- package/dist/types/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +1 -1
- package/dist/types/vc/vc-observer-new/viewport-observer/performance-observer/index.d.ts +2 -2
- package/dist/types-ts4.5/additional-payload/utils/cache-hit-ratio/index.d.ts +2 -2
- package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/cls/index.d.ts +1 -1
- package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/index.d.ts +3 -3
- package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/tbt/index.d.ts +1 -1
- package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/utils/observer/index.d.ts +2 -2
- package/dist/types-ts4.5/assets/index.d.ts +1 -3
- package/dist/types-ts4.5/assets/utils.d.ts +4 -4
- package/dist/types-ts4.5/bundle-eval-timing/index.d.ts +2 -2
- package/dist/types-ts4.5/coinflip/index.d.ts +1 -1
- package/dist/types-ts4.5/common/react-ufo-payload-schema.d.ts +1 -0
- package/dist/types-ts4.5/config/index.d.ts +20 -14
- package/dist/types-ts4.5/create-experimental-interaction-metrics-payload/index.d.ts +4 -5
- package/dist/types-ts4.5/create-payload/common/utils/index.d.ts +8 -7
- package/dist/types-ts4.5/create-payload/index.d.ts +1 -97
- package/dist/types-ts4.5/create-payload/utils/get-interaction-status.d.ts +1 -1
- package/dist/types-ts4.5/create-payload/utils/get-page-visibility-up-to-ttai.d.ts +1 -1
- package/dist/types-ts4.5/create-payload/utils/get-react-ufo-payload-version.d.ts +1 -1
- package/dist/types-ts4.5/create-payload/utils/get-ssr-done-time-value.d.ts +1 -1
- package/dist/types-ts4.5/create-payload/utils/get-vc-metrics.d.ts +2 -2
- package/dist/types-ts4.5/create-post-interaction-log-payload/index.d.ts +1 -1
- package/dist/types-ts4.5/custom-data/index.d.ts +1 -1
- package/dist/types-ts4.5/custom-mark/index.d.ts +1 -1
- package/dist/types-ts4.5/custom-spans/index.d.ts +1 -1
- package/dist/types-ts4.5/custom-timings/index.d.ts +2 -2
- package/dist/types-ts4.5/experience-trace-id-context/index.d.ts +7 -7
- package/dist/types-ts4.5/experience-trace-id-context/utils/make-trace-http-request-headers/index.d.ts +1 -1
- package/dist/types-ts4.5/feature-flags-accessed/common/utils/index.d.ts +2 -2
- package/dist/types-ts4.5/feature-flags-accessed/index.d.ts +1 -1
- package/dist/types-ts4.5/generate-id/index.d.ts +1 -1
- package/dist/types-ts4.5/global-error-handler/index.d.ts +3 -3
- package/dist/types-ts4.5/initial-page-load-extra-timing/index.d.ts +2 -2
- package/dist/types-ts4.5/interaction-context/index.d.ts +1 -1
- package/dist/types-ts4.5/interaction-metrics/index.d.ts +44 -44
- package/dist/types-ts4.5/interaction-metrics/post-interaction-log.d.ts +0 -1
- package/dist/types-ts4.5/interaction-metrics-init/index.d.ts +1 -1
- package/dist/types-ts4.5/interaction-metrics-init/schedule-idle-callback.d.ts +1 -1
- package/dist/types-ts4.5/resource-timing/common/utils/config.d.ts +2 -2
- package/dist/types-ts4.5/resource-timing/common/utils/resource-timing-buffer.d.ts +5 -5
- package/dist/types-ts4.5/resource-timing/main.d.ts +1 -1
- package/dist/types-ts4.5/resource-timing/utils.d.ts +1 -1
- package/dist/types-ts4.5/round-number/index.d.ts +1 -1
- package/dist/types-ts4.5/route-name/index.d.ts +3 -3
- package/dist/types-ts4.5/segment/schedule-on-paint.d.ts +1 -1
- package/dist/types-ts4.5/set-interaction-error/index.d.ts +1 -1
- package/dist/types-ts4.5/short-id/index.d.ts +1 -1
- package/dist/types-ts4.5/ssr/index.d.ts +5 -5
- package/dist/types-ts4.5/trace-interaction/index.d.ts +1 -1
- package/dist/types-ts4.5/trace-pageload/index.d.ts +2 -2
- package/dist/types-ts4.5/trace-press/index.d.ts +1 -1
- package/dist/types-ts4.5/trace-redirect/index.d.ts +1 -1
- package/dist/types-ts4.5/trace-transition/index.d.ts +1 -1
- package/dist/types-ts4.5/trace-transition/utils/generate-span-id/index.d.ts +1 -1
- package/dist/types-ts4.5/trace-transition/utils/set-interaction-active-trace/index.d.ts +1 -1
- package/dist/types-ts4.5/vc/index.d.ts +2 -2
- package/dist/types-ts4.5/vc/vc-observer/attachAbortListeners.d.ts +2 -2
- package/dist/types-ts4.5/vc/vc-observer/getVCRevisionsData.d.ts +5 -5
- package/dist/types-ts4.5/vc/vc-observer/getViewport.d.ts +2 -2
- package/dist/types-ts4.5/vc/vc-observer/heatmap/heatmap.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer/index.d.ts +4 -4
- package/dist/types-ts4.5/vc/vc-observer/media-wrapper/vc-utils.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.d.ts +4 -4
- package/dist/types-ts4.5/vc/vc-observer/revisions/revisions.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer-new/get-element-name.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer-new/get-unique-element-name.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.d.ts +3 -2
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +2 -2
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +2 -2
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +2 -2
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/task-yield.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/index.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/intersection-observer/index.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/performance-observer/index.d.ts +2 -2
- package/package.json +4 -4
- package/dist/cjs/self-measurements/index.js +0 -261
- package/dist/es2019/self-measurements/index.js +0 -213
- package/dist/esm/self-measurements/index.js +0 -246
- package/dist/types/self-measurements/index.d.ts +0 -57
- package/dist/types-ts4.5/self-measurements/index.d.ts +0 -57
|
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
-
var _selfMeasurements = require("../../../../../self-measurements");
|
|
11
10
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
12
11
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
13
12
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
@@ -21,7 +20,7 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
|
|
|
21
20
|
* @param rectangles
|
|
22
21
|
* @returns
|
|
23
22
|
*/
|
|
24
|
-
|
|
23
|
+
function calculateUnionArea(rectangles) {
|
|
25
24
|
// Step 1: Create sweep line events
|
|
26
25
|
var events = createSweepLineEvents(rectangles);
|
|
27
26
|
|
|
@@ -29,35 +28,27 @@ var calculateUnionArea = (0, _selfMeasurements.withProfiling)(function calculate
|
|
|
29
28
|
var activeIntervals = new Map();
|
|
30
29
|
var totalArea = 0;
|
|
31
30
|
var previousX = 0;
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
previousX = event.x;
|
|
43
|
-
// Update active intervals
|
|
44
|
-
updateActiveIntervals(activeIntervals, event);
|
|
45
|
-
}
|
|
46
|
-
} catch (err) {
|
|
47
|
-
_iterator.e(err);
|
|
48
|
-
} finally {
|
|
49
|
-
_iterator.f();
|
|
31
|
+
for (var _i = 0, _events = events; _i < _events.length; _i++) {
|
|
32
|
+
var event = _events[_i];
|
|
33
|
+
// Calculate height at current x-position
|
|
34
|
+
var currentHeight = calculateActiveHeight(activeIntervals);
|
|
35
|
+
// Add area since last x-position
|
|
36
|
+
totalArea += currentHeight * (event.x - previousX);
|
|
37
|
+
// Update x-position
|
|
38
|
+
previousX = event.x;
|
|
39
|
+
// Update active intervals
|
|
40
|
+
updateActiveIntervals(activeIntervals, event);
|
|
50
41
|
}
|
|
51
42
|
return totalArea;
|
|
52
|
-
}
|
|
43
|
+
}
|
|
53
44
|
var _default = exports.default = calculateUnionArea;
|
|
54
|
-
|
|
45
|
+
function createSweepLineEvents(rectangles) {
|
|
55
46
|
var events = [];
|
|
56
|
-
var
|
|
57
|
-
|
|
47
|
+
var _iterator = _createForOfIteratorHelper(rectangles),
|
|
48
|
+
_step;
|
|
58
49
|
try {
|
|
59
|
-
for (
|
|
60
|
-
var rect =
|
|
50
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
51
|
+
var rect = _step.value;
|
|
61
52
|
// Create start and end events for each rectangle
|
|
62
53
|
events.push({
|
|
63
54
|
x: rect.left,
|
|
@@ -74,26 +65,26 @@ var createSweepLineEvents = (0, _selfMeasurements.withProfiling)(function create
|
|
|
74
65
|
}
|
|
75
66
|
// Sort events by x-coordinate (and type as tiebreaker)
|
|
76
67
|
} catch (err) {
|
|
77
|
-
|
|
68
|
+
_iterator.e(err);
|
|
78
69
|
} finally {
|
|
79
|
-
|
|
70
|
+
_iterator.f();
|
|
80
71
|
}
|
|
81
72
|
return events.sort(function (a, b) {
|
|
82
73
|
return a.x === b.x ? a.type === 'end' ? 1 : -1 : a.x - b.x;
|
|
83
74
|
});
|
|
84
|
-
}
|
|
85
|
-
|
|
75
|
+
}
|
|
76
|
+
function calculateActiveHeight(intervals) {
|
|
86
77
|
if (intervals.size === 0) {
|
|
87
78
|
return 0;
|
|
88
79
|
}
|
|
89
80
|
// Get all unique y-coordinates
|
|
90
81
|
var coordinates = [];
|
|
91
|
-
var
|
|
92
|
-
|
|
82
|
+
var _iterator2 = _createForOfIteratorHelper(intervals),
|
|
83
|
+
_step2;
|
|
93
84
|
try {
|
|
94
|
-
for (
|
|
95
|
-
var
|
|
96
|
-
_key =
|
|
85
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
86
|
+
var _step2$value = (0, _slicedToArray2.default)(_step2.value, 1),
|
|
87
|
+
_key = _step2$value[0];
|
|
97
88
|
var _key$split$map3 = _key.split(',').map(Number),
|
|
98
89
|
_key$split$map4 = (0, _slicedToArray2.default)(_key$split$map3, 2),
|
|
99
90
|
_start = _key$split$map4[0],
|
|
@@ -102,9 +93,9 @@ var calculateActiveHeight = (0, _selfMeasurements.withProfiling)(function calcul
|
|
|
102
93
|
}
|
|
103
94
|
// Sort coordinates
|
|
104
95
|
} catch (err) {
|
|
105
|
-
|
|
96
|
+
_iterator2.e(err);
|
|
106
97
|
} finally {
|
|
107
|
-
|
|
98
|
+
_iterator2.f();
|
|
108
99
|
}
|
|
109
100
|
var sortedCoords = (0, _toConsumableArray2.default)(new Set(coordinates)).sort(function (a, b) {
|
|
110
101
|
return a - b;
|
|
@@ -116,13 +107,13 @@ var calculateActiveHeight = (0, _selfMeasurements.withProfiling)(function calcul
|
|
|
116
107
|
var y2 = sortedCoords[i + 1];
|
|
117
108
|
// Check if this segment is covered by any active interval
|
|
118
109
|
var covered = false;
|
|
119
|
-
var
|
|
120
|
-
|
|
110
|
+
var _iterator3 = _createForOfIteratorHelper(intervals),
|
|
111
|
+
_step3;
|
|
121
112
|
try {
|
|
122
|
-
for (
|
|
123
|
-
var
|
|
124
|
-
key =
|
|
125
|
-
count =
|
|
113
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
114
|
+
var _step3$value = (0, _slicedToArray2.default)(_step3.value, 2),
|
|
115
|
+
key = _step3$value[0],
|
|
116
|
+
count = _step3$value[1];
|
|
126
117
|
if (count <= 0) {
|
|
127
118
|
continue;
|
|
128
119
|
}
|
|
@@ -136,17 +127,17 @@ var calculateActiveHeight = (0, _selfMeasurements.withProfiling)(function calcul
|
|
|
136
127
|
}
|
|
137
128
|
}
|
|
138
129
|
} catch (err) {
|
|
139
|
-
|
|
130
|
+
_iterator3.e(err);
|
|
140
131
|
} finally {
|
|
141
|
-
|
|
132
|
+
_iterator3.f();
|
|
142
133
|
}
|
|
143
134
|
if (covered) {
|
|
144
135
|
totalHeight += y2 - y1;
|
|
145
136
|
}
|
|
146
137
|
}
|
|
147
138
|
return totalHeight;
|
|
148
|
-
}
|
|
149
|
-
|
|
139
|
+
}
|
|
140
|
+
function updateActiveIntervals(intervals, event) {
|
|
150
141
|
var key = "".concat(event.top, ",").concat(event.bottom);
|
|
151
142
|
if (event.type === 'start') {
|
|
152
143
|
intervals.set(key, (intervals.get(key) || 0) + 1);
|
|
@@ -158,4 +149,4 @@ var updateActiveIntervals = (0, _selfMeasurements.withProfiling)(function update
|
|
|
158
149
|
intervals.delete(key);
|
|
159
150
|
}
|
|
160
151
|
}
|
|
161
|
-
}
|
|
152
|
+
}
|
package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js
CHANGED
|
@@ -8,12 +8,14 @@ exports.default = void 0;
|
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
-
var _selfMeasurements = require("../../../../../self-measurements");
|
|
12
11
|
var _isViewportEntryData = _interopRequireDefault(require("../../utils/is-viewport-entry-data"));
|
|
13
12
|
var _taskYield = _interopRequireDefault(require("../../utils/task-yield"));
|
|
14
13
|
var _calcUnionArea = _interopRequireDefault(require("./calc-union-area"));
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
function calculateTTVCPercentiles(_x) {
|
|
15
|
+
return _calculateTTVCPercentiles.apply(this, arguments);
|
|
16
|
+
}
|
|
17
|
+
function _calculateTTVCPercentiles() {
|
|
18
|
+
_calculateTTVCPercentiles = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref) {
|
|
17
19
|
var orderedEntries, viewport, percentiles, startTime, sortedPercentiles, viewportArea, checkpoints, activeRects, removeActiveRect, domElementsBuffer, i, iEntry, iEntryData, rect, elementName, exclusionArea, currentArea, currVCPercent, matchesAnyCheckpoints, _checkpoint, domElements;
|
|
18
20
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
19
21
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -101,9 +103,6 @@ var calculateTTVCPercentiles = (0, _selfMeasurements.withProfiling)( /*#__PURE__
|
|
|
101
103
|
}
|
|
102
104
|
}, _callee);
|
|
103
105
|
}));
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
return calculateTTVCPercentiles;
|
|
108
|
-
}(), ['vc']);
|
|
106
|
+
return _calculateTTVCPercentiles.apply(this, arguments);
|
|
107
|
+
}
|
|
109
108
|
var _default = exports.default = calculateTTVCPercentiles;
|
|
@@ -4,8 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var getViewportHeight = (0, _selfMeasurements.withProfiling)(function getViewportHeight() {
|
|
7
|
+
function getViewportHeight() {
|
|
9
8
|
var document = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.document;
|
|
10
9
|
var documentHeight;
|
|
11
10
|
try {
|
|
@@ -14,5 +13,5 @@ var getViewportHeight = (0, _selfMeasurements.withProfiling)(function getViewpor
|
|
|
14
13
|
documentHeight = 0;
|
|
15
14
|
}
|
|
16
15
|
return Math.max(documentHeight, window.innerHeight || 0);
|
|
17
|
-
}
|
|
16
|
+
}
|
|
18
17
|
var _default = exports.default = getViewportHeight;
|
|
@@ -4,8 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var getViewportWidth = (0, _selfMeasurements.withProfiling)(function getViewportWidth() {
|
|
7
|
+
function getViewportWidth() {
|
|
9
8
|
var document = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.document;
|
|
10
9
|
var documentWidth;
|
|
11
10
|
try {
|
|
@@ -14,5 +13,5 @@ var getViewportWidth = (0, _selfMeasurements.withProfiling)(function getViewport
|
|
|
14
13
|
documentWidth = 0;
|
|
15
14
|
}
|
|
16
15
|
return Math.max(documentWidth, window.innerWidth || 0);
|
|
17
|
-
}
|
|
16
|
+
}
|
|
18
17
|
var _default = exports.default = getViewportWidth;
|
|
@@ -4,8 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var isViewportEntryData = (0, _selfMeasurements.withProfiling)(function isViewportEntryData(data) {
|
|
7
|
+
function isViewportEntryData(data) {
|
|
9
8
|
if (data) {
|
|
10
9
|
var hasElementName = typeof data.elementName === 'string';
|
|
11
10
|
var hasRect = typeof data.rect !== 'undefined';
|
|
@@ -14,5 +13,5 @@ var isViewportEntryData = (0, _selfMeasurements.withProfiling)(function isViewpo
|
|
|
14
13
|
}
|
|
15
14
|
}
|
|
16
15
|
return false;
|
|
17
|
-
}
|
|
16
|
+
}
|
|
18
17
|
var _default = exports.default = isViewportEntryData;
|
|
@@ -7,10 +7,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
-
var _selfMeasurements = require("../../../../self-measurements");
|
|
11
10
|
// See https://developer.mozilla.org/en-US/docs/Web/API/Prioritized_Task_Scheduling_API
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
function taskYield() {
|
|
12
|
+
return _taskYield.apply(this, arguments);
|
|
13
|
+
}
|
|
14
|
+
function _taskYield() {
|
|
15
|
+
_taskYield = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
14
16
|
var resolve, p;
|
|
15
17
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
16
18
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -39,9 +41,6 @@ var taskYield = (0, _selfMeasurements.withProfiling)( /*#__PURE__*/function () {
|
|
|
39
41
|
}
|
|
40
42
|
}, _callee);
|
|
41
43
|
}));
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
return taskYield;
|
|
46
|
-
}(), ['vc']);
|
|
44
|
+
return _taskYield.apply(this, arguments);
|
|
45
|
+
}
|
|
47
46
|
var _default = exports.default = taskYield;
|
|
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
-
var _selfMeasurements = require("../../../self-measurements");
|
|
11
10
|
var _vcUtils = require("../../vc-observer/media-wrapper/vc-utils");
|
|
12
11
|
var _isNonVisualStyleMutation = _interopRequireDefault(require("../../vc-observer/observers/non-visual-styles/is-non-visual-style-mutation"));
|
|
13
12
|
var _intersectionObserver = require("./intersection-observer");
|
|
@@ -16,7 +15,7 @@ var _performanceObserver = _interopRequireDefault(require("./performance-observe
|
|
|
16
15
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
17
16
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
18
17
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
19
|
-
|
|
18
|
+
function isElementVisible(element) {
|
|
20
19
|
if (!(element instanceof HTMLElement)) {
|
|
21
20
|
return true;
|
|
22
21
|
}
|
|
@@ -32,26 +31,24 @@ var isElementVisible = (0, _selfMeasurements.withProfiling)(function isElementVi
|
|
|
32
31
|
// there is no support for checkVisibility
|
|
33
32
|
return true;
|
|
34
33
|
}
|
|
35
|
-
}
|
|
36
|
-
|
|
34
|
+
}
|
|
35
|
+
function sameRectSize(a, b) {
|
|
37
36
|
if (!a || !b) {
|
|
38
37
|
return false;
|
|
39
38
|
}
|
|
40
39
|
return a.width === b.width && a.height === b.height;
|
|
41
|
-
}
|
|
42
|
-
|
|
40
|
+
}
|
|
41
|
+
function sameRectDimensions(a, b) {
|
|
43
42
|
if (!a || !b) {
|
|
44
43
|
return false;
|
|
45
44
|
}
|
|
46
45
|
return a.width === b.width && a.height === b.height && a.x === b.x && a.y === b.y;
|
|
47
|
-
}
|
|
46
|
+
}
|
|
48
47
|
var ViewportObserver = exports.default = /*#__PURE__*/function () {
|
|
49
48
|
function ViewportObserver(_ref) {
|
|
50
49
|
var _this = this;
|
|
51
|
-
var
|
|
50
|
+
var onChange = _ref.onChange;
|
|
52
51
|
(0, _classCallCheck2.default)(this, ViewportObserver);
|
|
53
|
-
var onChange = (0, _selfMeasurements.withProfiling)(_onChange, ['vc']);
|
|
54
|
-
var operationTimer = (0, _selfMeasurements.markProfilingStart)('ViewportObserver constructor');
|
|
55
52
|
this.mapVisibleNodeRects = new WeakMap();
|
|
56
53
|
this.intersectionObserver = (0, _intersectionObserver.createIntersectionObserver)({
|
|
57
54
|
onEntry: function onEntry(_ref2) {
|
|
@@ -189,11 +186,6 @@ var ViewportObserver = exports.default = /*#__PURE__*/function () {
|
|
|
189
186
|
}
|
|
190
187
|
}
|
|
191
188
|
});
|
|
192
|
-
this.start = (0, _selfMeasurements.withProfiling)(this.start.bind(this), ['vc']);
|
|
193
|
-
this.stop = (0, _selfMeasurements.withProfiling)(this.stop.bind(this), ['vc']);
|
|
194
|
-
(0, _selfMeasurements.markProfilingEnd)(operationTimer, {
|
|
195
|
-
tags: ['vc']
|
|
196
|
-
});
|
|
197
189
|
}
|
|
198
190
|
return (0, _createClass2.default)(ViewportObserver, [{
|
|
199
191
|
key: "start",
|
|
@@ -4,18 +4,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createIntersectionObserver = createIntersectionObserver;
|
|
7
|
-
|
|
8
|
-
var isValidEntry = (0, _selfMeasurements.withProfiling)(function isValidEntry(entry) {
|
|
7
|
+
function isValidEntry(entry) {
|
|
9
8
|
return entry.isIntersecting && entry.intersectionRect.width > 0 && entry.intersectionRect.height > 0;
|
|
10
|
-
}
|
|
11
|
-
function createIntersectionObserver(
|
|
9
|
+
}
|
|
10
|
+
function createIntersectionObserver(_ref) {
|
|
11
|
+
var onEntry = _ref.onEntry,
|
|
12
|
+
onObserved = _ref.onObserved;
|
|
12
13
|
if (!window || typeof window.IntersectionObserver !== 'function') {
|
|
13
14
|
return null;
|
|
14
15
|
}
|
|
15
|
-
var onEntry = (0, _selfMeasurements.withProfiling)(args.onEntry, ['vc']);
|
|
16
|
-
var onObserved = typeof args.onObserved === 'function' ? (0, _selfMeasurements.withProfiling)(args.onObserved, ['vc']) : undefined;
|
|
17
16
|
var callbacksPerElement = new WeakMap();
|
|
18
|
-
var intersectionObserverCallback =
|
|
17
|
+
var intersectionObserverCallback = function intersectionObserverCallback(entries) {
|
|
19
18
|
var validEntries = [];
|
|
20
19
|
var startTime = performance.now();
|
|
21
20
|
entries.forEach(function (entry) {
|
|
@@ -56,7 +55,7 @@ function createIntersectionObserver(args) {
|
|
|
56
55
|
time: startTime,
|
|
57
56
|
elements: validEntries
|
|
58
57
|
});
|
|
59
|
-
}
|
|
58
|
+
};
|
|
60
59
|
var observer = new IntersectionObserver(intersectionObserverCallback);
|
|
61
60
|
return {
|
|
62
61
|
disconnect: function disconnect() {
|
|
@@ -4,18 +4,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var _selfMeasurements = require("../../../../self-measurements");
|
|
8
7
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
9
8
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
10
9
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
11
|
-
|
|
10
|
+
function createMutationObserver(_ref) {
|
|
11
|
+
var onAttributeMutation = _ref.onAttributeMutation,
|
|
12
|
+
onChildListMutation = _ref.onChildListMutation,
|
|
13
|
+
onMutationFinished = _ref.onMutationFinished;
|
|
12
14
|
if (!window || typeof window.IntersectionObserver !== 'function') {
|
|
13
15
|
return null;
|
|
14
16
|
}
|
|
15
|
-
var
|
|
16
|
-
var onChildListMutation = (0, _selfMeasurements.withProfiling)(props.onChildListMutation, ['vc']);
|
|
17
|
-
var onMutationFinished = typeof props.onMutationFinished === 'function' ? (0, _selfMeasurements.withProfiling)(props.onMutationFinished, ['vc']) : undefined;
|
|
18
|
-
var mutationObserverCallback = (0, _selfMeasurements.withProfiling)(function mutationObserverCallback(mutations) {
|
|
17
|
+
var mutationObserverCallback = function mutationObserverCallback(mutations) {
|
|
19
18
|
var addedNodes = [];
|
|
20
19
|
var removedNodes = [];
|
|
21
20
|
var targets = [];
|
|
@@ -30,13 +29,13 @@ var createMutationObserver = (0, _selfMeasurements.withProfiling)(function creat
|
|
|
30
29
|
if (mut.type === 'attributes') {
|
|
31
30
|
var _mut$oldValue;
|
|
32
31
|
/*
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
32
|
+
"MutationObserver was explicitly designed to work that way, but I can't now recall the reasoning.
|
|
33
|
+
I think it might have been something along the lines that for consistency every setAttribute call should create a record.
|
|
34
|
+
Conceptually there is after all a mutation: there is an old value replaced with a new one,
|
|
35
|
+
and whether or not they are the same doesn't really matter.
|
|
36
|
+
And Custom elements should work the same way as MutationObserver."
|
|
37
|
+
https://github.com/whatwg/dom/issues/520#issuecomment-336574796
|
|
38
|
+
*/
|
|
40
39
|
var oldValue = (_mut$oldValue = mut.oldValue) !== null && _mut$oldValue !== void 0 ? _mut$oldValue : undefined;
|
|
41
40
|
var newValue = mut.attributeName ? mut.target.getAttribute(mut.attributeName) : undefined;
|
|
42
41
|
if (oldValue !== newValue) {
|
|
@@ -74,8 +73,8 @@ var createMutationObserver = (0, _selfMeasurements.withProfiling)(function creat
|
|
|
74
73
|
onMutationFinished === null || onMutationFinished === void 0 || onMutationFinished({
|
|
75
74
|
targets: targets
|
|
76
75
|
});
|
|
77
|
-
}
|
|
76
|
+
};
|
|
78
77
|
var observer = new MutationObserver(mutationObserverCallback);
|
|
79
78
|
return observer;
|
|
80
|
-
}
|
|
79
|
+
}
|
|
81
80
|
var _default = exports.default = createMutationObserver;
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
|
|
6
|
+
exports.convertPhysicalToLogicalResolution = convertPhysicalToLogicalResolution;
|
|
7
|
+
exports.default = void 0;
|
|
8
8
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
9
9
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
10
10
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
11
11
|
// The LayoutShiftAttribution API is returning the numbers on physical dimension
|
|
12
|
-
|
|
12
|
+
function convertPhysicalToLogicalResolution(rect) {
|
|
13
13
|
if (typeof window.devicePixelRatio !== 'number') {
|
|
14
14
|
return rect;
|
|
15
15
|
}
|
|
@@ -19,13 +19,13 @@ var convertPhysicalToLogicalResolution = exports.convertPhysicalToLogicalResolut
|
|
|
19
19
|
|
|
20
20
|
// eslint-disable-next-line compat/compat
|
|
21
21
|
return new DOMRect(rect.x / window.devicePixelRatio, rect.y / window.devicePixelRatio, rect.width / window.devicePixelRatio, rect.height / window.devicePixelRatio);
|
|
22
|
-
}
|
|
23
|
-
|
|
22
|
+
}
|
|
23
|
+
function createPerformanceObserver(_ref) {
|
|
24
|
+
var onLayoutShift = _ref.onLayoutShift;
|
|
24
25
|
if (!window || typeof window.PerformanceObserver !== 'function') {
|
|
25
26
|
return null;
|
|
26
27
|
}
|
|
27
|
-
var
|
|
28
|
-
var performanceObserverCallback = (0, _selfMeasurements.withProfiling)(function performanceObserverCallback(entries) {
|
|
28
|
+
var performanceObserverCallback = function performanceObserverCallback(entries) {
|
|
29
29
|
var _iterator = _createForOfIteratorHelper(entries.getEntries()),
|
|
30
30
|
_step;
|
|
31
31
|
try {
|
|
@@ -53,8 +53,8 @@ var createPerformanceObserver = (0, _selfMeasurements.withProfiling)(function cr
|
|
|
53
53
|
} finally {
|
|
54
54
|
_iterator.f();
|
|
55
55
|
}
|
|
56
|
-
}
|
|
56
|
+
};
|
|
57
57
|
var observer = new PerformanceObserver(performanceObserverCallback);
|
|
58
58
|
return observer;
|
|
59
|
-
}
|
|
59
|
+
}
|
|
60
60
|
var _default = exports.default = createPerformanceObserver;
|
|
@@ -9,17 +9,11 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
|
|
9
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
var _bindEventListener = require("bind-event-listener");
|
|
12
|
-
var _selfMeasurements = require("../../../self-measurements");
|
|
13
12
|
var WindowEventObserver = exports.default = /*#__PURE__*/function () {
|
|
14
13
|
function WindowEventObserver(opts) {
|
|
15
14
|
(0, _classCallCheck2.default)(this, WindowEventObserver);
|
|
16
15
|
(0, _defineProperty2.default)(this, "unbindFns", []);
|
|
17
|
-
|
|
18
|
-
this.onEvent = (0, _selfMeasurements.withProfiling)(opts.onEvent, ['vc']);
|
|
19
|
-
this.bindEvent = (0, _selfMeasurements.withProfiling)(this.bindEvent.bind(this), ['vc']);
|
|
20
|
-
this.start = (0, _selfMeasurements.withProfiling)(this.start.bind(this), ['vc']);
|
|
21
|
-
this.stop = (0, _selfMeasurements.withProfiling)(this.stop.bind(this), ['vc']);
|
|
22
|
-
(0, _selfMeasurements.markProfilingEnd)(operationTimer);
|
|
16
|
+
this.onEvent = opts.onEvent;
|
|
23
17
|
}
|
|
24
18
|
return (0, _createClass2.default)(WindowEventObserver, [{
|
|
25
19
|
key: "bindEvent",
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { withProfiling } from '../../../self-measurements';
|
|
2
1
|
/* Borrowed from https://bitbucket.org/atlassian/atlassian-frontend/src/master/packages/performance/browser-metrics/src/plugins/timings/resource.ts */
|
|
3
2
|
const cacheableTypes = ['script', 'link'];
|
|
4
3
|
const CACHE_NETWORK = 'network';
|
|
5
4
|
const CACHE_MEMORY = 'memory';
|
|
6
5
|
const CACHE_DISK = 'disk';
|
|
7
|
-
|
|
6
|
+
function calculateTransferType(type, duration, size) {
|
|
8
7
|
if (!cacheableTypes.includes(type)) {
|
|
9
8
|
return CACHE_NETWORK;
|
|
10
9
|
}
|
|
@@ -18,8 +17,8 @@ const calculateTransferType = withProfiling(function calculateTransferType(type,
|
|
|
18
17
|
return null;
|
|
19
18
|
}
|
|
20
19
|
return CACHE_NETWORK;
|
|
21
|
-
}
|
|
22
|
-
export
|
|
20
|
+
}
|
|
21
|
+
export function getCacheHitRatio({
|
|
23
22
|
start
|
|
24
23
|
}) {
|
|
25
24
|
let fromCache = 0;
|
|
@@ -61,4 +60,4 @@ export const getCacheHitRatio = withProfiling(function getCacheHitRatio({
|
|
|
61
60
|
} catch (e) {
|
|
62
61
|
return {};
|
|
63
62
|
}
|
|
64
|
-
}
|
|
63
|
+
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export const getCLS = withProfiling(function getCLS(start, stop, buffer) {
|
|
1
|
+
export function getCLS(start, stop, buffer) {
|
|
3
2
|
const layoutShifts = buffer.getAll().filter(entry => entry.startTime >= start && entry.startTime <= stop);
|
|
4
3
|
const sessionWindows = [];
|
|
5
4
|
let currentWindow = null;
|
|
@@ -31,4 +30,4 @@ export const getCLS = withProfiling(function getCLS(start, stop, buffer) {
|
|
|
31
30
|
|
|
32
31
|
// Return score of largest burst as CLS metric
|
|
33
32
|
return Math.round(maxScore * 10000) / 10000;
|
|
34
|
-
}
|
|
33
|
+
}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { withProfiling } from '../../../self-measurements';
|
|
2
1
|
import { getCLS } from './cls';
|
|
3
2
|
import { PerformanceObserverEntryTypes } from './const';
|
|
4
3
|
import { getTBT } from './tbt';
|
|
5
4
|
import { EntriesBuffer } from './utils/buffer';
|
|
6
5
|
import { startLSObserver, startLTObserver } from './utils/observer';
|
|
7
|
-
export
|
|
6
|
+
export function startLighthouseObserver() {
|
|
8
7
|
startLSObserver();
|
|
9
8
|
startLTObserver();
|
|
10
|
-
}
|
|
11
|
-
export
|
|
9
|
+
}
|
|
10
|
+
export function getLighthouseMetrics({
|
|
12
11
|
start,
|
|
13
12
|
stop
|
|
14
13
|
}) {
|
|
@@ -21,4 +20,4 @@ export const getLighthouseMetrics = withProfiling(function getLighthouseMetrics(
|
|
|
21
20
|
'metric:tbt:observed': Math.round(tbt.observed),
|
|
22
21
|
'metric:cls': cls
|
|
23
22
|
};
|
|
24
|
-
}
|
|
23
|
+
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { withProfiling } from '../../../../self-measurements';
|
|
2
1
|
const MAX_ACCEPTABLE_TASK_DURATION = 50;
|
|
3
|
-
export
|
|
2
|
+
export function getTBT(start, stop, buffer) {
|
|
4
3
|
return buffer.getAll().filter(entry => entry.startTime <= stop && entry.duration > MAX_ACCEPTABLE_TASK_DURATION && (entry.startTime >= start || entry.startTime + entry.duration >= start || entry.startTime <= start && entry.startTime + entry.duration >= stop)).reduce((tbt, entry) => {
|
|
5
4
|
const longTaskStop = entry.startTime + entry.duration;
|
|
6
5
|
const intersectStart = Math.max(entry.startTime + MAX_ACCEPTABLE_TASK_DURATION, start);
|
|
@@ -15,4 +14,4 @@ export const getTBT = withProfiling(function getTBT(start, stop, buffer) {
|
|
|
15
14
|
total: 0,
|
|
16
15
|
observed: 0
|
|
17
16
|
});
|
|
18
|
-
}
|
|
17
|
+
}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
import { withProfiling } from '../../../../../self-measurements';
|
|
3
2
|
import { PerformanceObserverEntryTypes } from '../../const';
|
|
4
3
|
export class BufferWithMaxLength {
|
|
5
4
|
constructor(maxLength = 1000) {
|
|
6
5
|
_defineProperty(this, "buffer", []);
|
|
7
6
|
_defineProperty(this, "full", false);
|
|
8
7
|
this.maxLength = maxLength;
|
|
9
|
-
this.push = withProfiling(this.push.bind(this));
|
|
10
|
-
this.getAll = withProfiling(this.getAll.bind(this));
|
|
11
8
|
}
|
|
12
9
|
push(item) {
|
|
13
10
|
if (this.full || this.maxLength === this.buffer.length) {
|