@workflow/web-shared 5.0.0-beta.37 → 5.0.0-beta.39
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/README.md +3 -3
- package/dist/components/event-list-view.d.ts.map +1 -1
- package/dist/components/event-list-view.js +10 -10
- package/dist/components/index.d.ts +4 -5
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +4 -5
- package/dist/components/sidebar/attribute-panel.d.ts.map +1 -1
- package/dist/components/sidebar/attribute-panel.js +32 -8
- package/dist/components/sidebar/attributes-block.js +3 -3
- package/dist/components/sidebar/copyable-data-block.js +2 -2
- package/dist/components/sidebar/entity-detail-panel.js +3 -3
- package/dist/components/sidebar/events-list.js +2 -2
- package/dist/components/stream-viewer-skeleton.d.ts +2 -0
- package/dist/components/stream-viewer-skeleton.d.ts.map +1 -0
- package/dist/components/stream-viewer-skeleton.js +12 -0
- package/dist/components/stream-viewer.d.ts +1 -1
- package/dist/components/stream-viewer.d.ts.map +1 -1
- package/dist/components/stream-viewer.js +9 -26
- package/dist/components/trace-viewer/components/copy-button.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/copy-button.js +27 -0
- package/dist/components/trace-viewer/components/detail-panel-width.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/detail-panel-width.js +67 -0
- package/dist/components/trace-viewer/components/detail-panel.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/detail-panel.js +122 -0
- package/dist/components/trace-viewer/components/draggable-border.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/draggable-border.js +140 -0
- package/dist/components/trace-viewer/components/event-list.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/event-list.js +47 -0
- package/dist/components/trace-viewer/components/middle-truncate/copy-selection.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/middle-truncate/copy-selection.js +54 -0
- package/dist/components/trace-viewer/components/middle-truncate/middle-truncate.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/middle-truncate/middle-truncate.js +81 -0
- package/dist/components/trace-viewer/components/middle-truncate/truncate.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/middle-truncate/truncate.js +101 -0
- package/dist/components/trace-viewer/components/middle-truncate/use-middle-truncate.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/middle-truncate/use-middle-truncate.js +114 -0
- package/dist/components/trace-viewer/components/minimap.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/minimap.js +337 -0
- package/dist/components/trace-viewer/components/pane-constants.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/pane-constants.js +16 -0
- package/dist/components/trace-viewer/components/span-markers.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/span-markers.js +85 -0
- package/dist/components/trace-viewer/components/split-pane.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/split-pane.js +41 -0
- package/dist/components/trace-viewer/components/timeline.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/timeline.js +321 -0
- package/dist/components/trace-viewer/components/trace-shortcut-helper.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/trace-shortcut-helper.js +55 -0
- package/dist/components/trace-viewer/components/trace-viewer-skeleton.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/trace-viewer-skeleton.js +26 -0
- package/dist/components/trace-viewer/components/use-element-width.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/use-element-width.js +25 -0
- package/dist/components/trace-viewer/components/use-row-window.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/use-row-window.js +107 -0
- package/dist/components/trace-viewer/context.d.ts +14 -182
- package/dist/components/trace-viewer/context.d.ts.map +1 -1
- package/dist/components/trace-viewer/context.js +44 -351
- package/dist/components/trace-viewer/icons.d.ts.map +1 -0
- package/dist/components/trace-viewer/icons.js +15 -0
- package/dist/components/trace-viewer/search.d.ts.map +1 -0
- package/dist/components/trace-viewer/search.js +134 -0
- package/dist/components/trace-viewer/trace-viewer.d.ts +7 -28
- package/dist/components/trace-viewer/trace-viewer.d.ts.map +1 -1
- package/dist/components/trace-viewer/trace-viewer.js +306 -356
- package/dist/components/trace-viewer/types.d.ts +2 -211
- package/dist/components/trace-viewer/types.d.ts.map +1 -1
- package/dist/components/trace-viewer/types.js +1 -1
- package/dist/components/trace-viewer/utils.d.ts.map +1 -0
- package/dist/components/trace-viewer/utils.js +430 -0
- package/dist/components/{trace-viewer-new.d.ts → trace-viewer.d.ts} +3 -3
- package/dist/components/trace-viewer.d.ts.map +1 -0
- package/dist/components/trace-viewer.js +21 -0
- package/dist/components/ui/alert.js +2 -2
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +3 -3
- package/dist/components/ui/card.d.ts.map +1 -1
- package/dist/components/ui/card.js +3 -3
- package/dist/components/ui/error-card.js +2 -2
- package/dist/components/ui/error-stack-block.js +4 -4
- package/dist/components/ui/kbd.js +3 -3
- package/dist/components/ui/timestamp-tooltip.js +3 -3
- package/dist/components/workflow-traces/trace-span-construction.d.ts +1 -1
- package/dist/components/workflow-traces/trace-span-construction.js +1 -1
- package/dist/lib/trace-builder.d.ts +1 -1
- package/dist/lib/trace-builder.d.ts.map +1 -1
- package/dist/lib/trace-builder.js +1 -1
- package/dist/lib/trace-types.d.ts +54 -0
- package/dist/lib/trace-types.d.ts.map +1 -0
- package/dist/lib/trace-types.js +2 -0
- package/package.json +6 -6
- package/src/components/event-list-view.tsx +12 -9
- package/src/components/index.ts +4 -5
- package/src/components/sidebar/attribute-panel.tsx +46 -8
- package/src/components/sidebar/attributes-block.tsx +2 -2
- package/src/components/sidebar/copyable-data-block.tsx +1 -1
- package/src/components/sidebar/entity-detail-panel.tsx +3 -3
- package/src/components/sidebar/events-list.tsx +1 -1
- package/src/components/stream-viewer-skeleton.tsx +34 -0
- package/src/components/stream-viewer.tsx +34 -106
- package/src/components/{new-trace-viewer → trace-viewer}/components/event-list.tsx +1 -1
- package/src/components/{new-trace-viewer → trace-viewer}/components/minimap.tsx +1 -4
- package/src/components/{new-trace-viewer → trace-viewer}/components/timeline.tsx +2 -5
- package/src/components/{new-trace-viewer → trace-viewer}/components/trace-shortcut-helper.tsx +1 -1
- package/src/components/trace-viewer/context.tsx +63 -656
- package/src/components/trace-viewer/trace-viewer.tsx +563 -531
- package/src/components/trace-viewer/types.ts +2 -234
- package/src/components/{new-trace-viewer → trace-viewer}/utils.ts +2 -2
- package/src/components/{trace-viewer-new.tsx → trace-viewer.tsx} +5 -5
- package/src/components/ui/alert.tsx +1 -1
- package/src/components/ui/button.tsx +3 -3
- package/src/components/ui/card.tsx +2 -9
- package/src/components/ui/error-card.tsx +3 -3
- package/src/components/ui/error-stack-block.tsx +3 -3
- package/src/components/ui/kbd.tsx +2 -2
- package/src/components/ui/timestamp-tooltip.tsx +4 -4
- package/src/components/workflow-traces/trace-span-construction.ts +1 -1
- package/src/lib/trace-builder.ts +1 -1
- package/src/lib/trace-types.ts +56 -0
- package/dist/components/new-trace-viewer/components/copy-button.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/copy-button.js +0 -27
- package/dist/components/new-trace-viewer/components/detail-panel-width.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/detail-panel-width.js +0 -67
- package/dist/components/new-trace-viewer/components/detail-panel.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/detail-panel.js +0 -122
- package/dist/components/new-trace-viewer/components/draggable-border.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/draggable-border.js +0 -140
- package/dist/components/new-trace-viewer/components/event-list.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/event-list.js +0 -47
- package/dist/components/new-trace-viewer/components/middle-truncate/copy-selection.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/middle-truncate/copy-selection.js +0 -54
- package/dist/components/new-trace-viewer/components/middle-truncate/middle-truncate.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/middle-truncate/middle-truncate.js +0 -81
- package/dist/components/new-trace-viewer/components/middle-truncate/truncate.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/middle-truncate/truncate.js +0 -101
- package/dist/components/new-trace-viewer/components/middle-truncate/use-middle-truncate.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/middle-truncate/use-middle-truncate.js +0 -114
- package/dist/components/new-trace-viewer/components/minimap.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/minimap.js +0 -337
- package/dist/components/new-trace-viewer/components/pane-constants.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/pane-constants.js +0 -16
- package/dist/components/new-trace-viewer/components/span-markers.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/span-markers.js +0 -85
- package/dist/components/new-trace-viewer/components/split-pane.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/split-pane.js +0 -41
- package/dist/components/new-trace-viewer/components/timeline.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/timeline.js +0 -321
- package/dist/components/new-trace-viewer/components/trace-shortcut-helper.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/trace-shortcut-helper.js +0 -55
- package/dist/components/new-trace-viewer/components/trace-viewer-skeleton.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/trace-viewer-skeleton.js +0 -26
- package/dist/components/new-trace-viewer/components/use-element-width.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/use-element-width.js +0 -25
- package/dist/components/new-trace-viewer/components/use-row-window.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/use-row-window.js +0 -107
- package/dist/components/new-trace-viewer/context.d.ts +0 -17
- package/dist/components/new-trace-viewer/context.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/context.js +0 -48
- package/dist/components/new-trace-viewer/icons.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/icons.js +0 -15
- package/dist/components/new-trace-viewer/search.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/search.js +0 -134
- package/dist/components/new-trace-viewer/trace-viewer.d.ts +0 -11
- package/dist/components/new-trace-viewer/trace-viewer.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/trace-viewer.js +0 -336
- package/dist/components/new-trace-viewer/types.d.ts +0 -3
- package/dist/components/new-trace-viewer/types.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/types.js +0 -2
- package/dist/components/new-trace-viewer/utils.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/utils.js +0 -430
- package/dist/components/run-trace-view.d.ts +0 -23
- package/dist/components/run-trace-view.d.ts.map +0 -1
- package/dist/components/run-trace-view.js +0 -11
- package/dist/components/trace-viewer/components/map.d.ts +0 -8
- package/dist/components/trace-viewer/components/map.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/map.js +0 -162
- package/dist/components/trace-viewer/components/markers.d.ts +0 -23
- package/dist/components/trace-viewer/components/markers.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/markers.js +0 -416
- package/dist/components/trace-viewer/components/node.d.ts +0 -35
- package/dist/components/trace-viewer/components/node.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/node.js +0 -286
- package/dist/components/trace-viewer/components/search-input.d.ts +0 -9
- package/dist/components/trace-viewer/components/search-input.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/search-input.js +0 -9
- package/dist/components/trace-viewer/components/search.d.ts +0 -3
- package/dist/components/trace-viewer/components/search.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/search.js +0 -25
- package/dist/components/trace-viewer/components/span-content.d.ts +0 -19
- package/dist/components/trace-viewer/components/span-content.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/span-content.js +0 -137
- package/dist/components/trace-viewer/components/span-detail-panel.d.ts +0 -10
- package/dist/components/trace-viewer/components/span-detail-panel.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/span-detail-panel.js +0 -285
- package/dist/components/trace-viewer/components/span-segments.d.ts +0 -50
- package/dist/components/trace-viewer/components/span-segments.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/span-segments.js +0 -445
- package/dist/components/trace-viewer/components/span-strategies.d.ts +0 -46
- package/dist/components/trace-viewer/components/span-strategies.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/span-strategies.js +0 -108
- package/dist/components/trace-viewer/components/ui.d.ts +0 -28
- package/dist/components/trace-viewer/components/ui.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/ui.js +0 -39
- package/dist/components/trace-viewer/components/zoom-button.d.ts +0 -3
- package/dist/components/trace-viewer/components/zoom-button.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/zoom-button.js +0 -29
- package/dist/components/trace-viewer/components/zoom-icons.d.ts +0 -11
- package/dist/components/trace-viewer/components/zoom-icons.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/zoom-icons.js +0 -11
- package/dist/components/trace-viewer/index.d.ts +0 -5
- package/dist/components/trace-viewer/index.d.ts.map +0 -1
- package/dist/components/trace-viewer/index.js +0 -4
- package/dist/components/trace-viewer/trace-viewer.module.css +0 -1465
- package/dist/components/trace-viewer/util/constants.d.ts +0 -9
- package/dist/components/trace-viewer/util/constants.d.ts.map +0 -1
- package/dist/components/trace-viewer/util/constants.js +0 -9
- package/dist/components/trace-viewer/util/scrollbar-width.d.ts +0 -2
- package/dist/components/trace-viewer/util/scrollbar-width.d.ts.map +0 -1
- package/dist/components/trace-viewer/util/scrollbar-width.js +0 -14
- package/dist/components/trace-viewer/util/tree.d.ts +0 -13
- package/dist/components/trace-viewer/util/tree.d.ts.map +0 -1
- package/dist/components/trace-viewer/util/tree.js +0 -227
- package/dist/components/trace-viewer/util/use-immediate-style.d.ts +0 -15
- package/dist/components/trace-viewer/util/use-immediate-style.d.ts.map +0 -1
- package/dist/components/trace-viewer/util/use-immediate-style.js +0 -23
- package/dist/components/trace-viewer/util/use-streaming-spans.d.ts +0 -8
- package/dist/components/trace-viewer/util/use-streaming-spans.d.ts.map +0 -1
- package/dist/components/trace-viewer/util/use-streaming-spans.js +0 -345
- package/dist/components/trace-viewer/util/use-trackpad-zoom.d.ts +0 -6
- package/dist/components/trace-viewer/util/use-trackpad-zoom.d.ts.map +0 -1
- package/dist/components/trace-viewer/util/use-trackpad-zoom.js +0 -39
- package/dist/components/trace-viewer/worker.d.ts +0 -2
- package/dist/components/trace-viewer/worker.d.ts.map +0 -1
- package/dist/components/trace-viewer/worker.js +0 -109
- package/dist/components/trace-viewer-new.d.ts.map +0 -1
- package/dist/components/trace-viewer-new.js +0 -21
- package/dist/components/workflow-trace-view.d.ts +0 -39
- package/dist/components/workflow-trace-view.d.ts.map +0 -1
- package/dist/components/workflow-trace-view.js +0 -690
- package/dist/components/workflow-traces/trace-colors.d.ts +0 -15
- package/dist/components/workflow-traces/trace-colors.d.ts.map +0 -1
- package/dist/components/workflow-traces/trace-colors.js +0 -86
- package/src/components/new-trace-viewer/context.tsx +0 -93
- package/src/components/new-trace-viewer/trace-viewer.tsx +0 -632
- package/src/components/new-trace-viewer/types.ts +0 -2
- package/src/components/run-trace-view.tsx +0 -80
- package/src/components/trace-viewer/components/map.tsx +0 -226
- package/src/components/trace-viewer/components/markers.tsx +0 -612
- package/src/components/trace-viewer/components/node.tsx +0 -506
- package/src/components/trace-viewer/components/search-input.tsx +0 -52
- package/src/components/trace-viewer/components/search.tsx +0 -47
- package/src/components/trace-viewer/components/span-content.tsx +0 -247
- package/src/components/trace-viewer/components/span-detail-panel.tsx +0 -655
- package/src/components/trace-viewer/components/span-segments.ts +0 -585
- package/src/components/trace-viewer/components/span-strategies.ts +0 -205
- package/src/components/trace-viewer/components/ui.tsx +0 -156
- package/src/components/trace-viewer/components/zoom-button.tsx +0 -61
- package/src/components/trace-viewer/components/zoom-icons.tsx +0 -65
- package/src/components/trace-viewer/index.tsx +0 -4
- package/src/components/trace-viewer/trace-viewer.module.css +0 -1465
- package/src/components/trace-viewer/util/constants.ts +0 -8
- package/src/components/trace-viewer/util/scrollbar-width.ts +0 -13
- package/src/components/trace-viewer/util/tree.ts +0 -277
- package/src/components/trace-viewer/util/use-immediate-style.ts +0 -38
- package/src/components/trace-viewer/util/use-streaming-spans.ts +0 -426
- package/src/components/trace-viewer/util/use-trackpad-zoom.tsx +0 -51
- package/src/components/trace-viewer/worker.ts +0 -131
- package/src/components/workflow-trace-view.tsx +0 -1166
- package/src/components/workflow-traces/trace-colors.ts +0 -112
- package/dist/components/{new-trace-viewer → trace-viewer}/components/copy-button.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/detail-panel-width.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/detail-panel.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/draggable-border.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/event-list.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/copy-selection.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/middle-truncate.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/truncate.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/use-middle-truncate.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/minimap.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/pane-constants.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/span-markers.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/split-pane.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/timeline.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/timeline.module.css +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/trace-shortcut-helper.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/trace-shortcut-helper.module.css +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/trace-viewer-skeleton.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/use-element-width.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/use-row-window.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/icons.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/search.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/utils.d.ts +0 -0
- package/src/components/{new-trace-viewer → trace-viewer}/components/copy-button.tsx +0 -0
- package/src/components/{new-trace-viewer → trace-viewer}/components/detail-panel-width.test.ts +0 -0
- package/src/components/{new-trace-viewer → trace-viewer}/components/detail-panel-width.ts +0 -0
- package/src/components/{new-trace-viewer → trace-viewer}/components/detail-panel.tsx +0 -0
- package/src/components/{new-trace-viewer → trace-viewer}/components/draggable-border.tsx +0 -0
- package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/copy-selection.ts +0 -0
- package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/middle-truncate.tsx +1 -1
- /package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/truncate.ts +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/use-middle-truncate.ts +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/pane-constants.ts +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/span-markers.tsx +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/split-pane.tsx +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/timeline.module.css +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/trace-shortcut-helper.module.css +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/trace-viewer-skeleton.tsx +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/use-element-width.ts +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/use-row-window.ts +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/icons.tsx +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/search.ts +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/utils.test.ts +0 -0
- /package/src/{components/trace-viewer/modules.d.ts → modules.d.ts} +0 -0
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare const SEARCH_HEIGHT = 40;
|
|
2
|
-
export declare const SEARCH_GAP = 8;
|
|
3
|
-
export declare const MAP_HEIGHT = 56;
|
|
4
|
-
export declare const TIMELINE_PADDING = 8;
|
|
5
|
-
export declare const ROW_PADDING = 2;
|
|
6
|
-
export declare const ROW_HEIGHT = 24;
|
|
7
|
-
export declare const MARKER_HEIGHT = 24;
|
|
8
|
-
export declare const MARKER_NOTCH_HEIGHT = 8;
|
|
9
|
-
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/trace-viewer/util/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,mBAAmB,IAAI,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export const SEARCH_HEIGHT = 40;
|
|
2
|
-
export const SEARCH_GAP = 8;
|
|
3
|
-
export const MAP_HEIGHT = 56;
|
|
4
|
-
export const TIMELINE_PADDING = 8;
|
|
5
|
-
export const ROW_PADDING = 2;
|
|
6
|
-
export const ROW_HEIGHT = 24;
|
|
7
|
-
export const MARKER_HEIGHT = 24;
|
|
8
|
-
export const MARKER_NOTCH_HEIGHT = 8;
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdHJhY2Utdmlld2VyL3V0aWwvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7QUFDaEMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztBQUM1QixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQzdCLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQUNsQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQzdCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFDN0IsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztBQUNoQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgU0VBUkNIX0hFSUdIVCA9IDQwO1xuZXhwb3J0IGNvbnN0IFNFQVJDSF9HQVAgPSA4O1xuZXhwb3J0IGNvbnN0IE1BUF9IRUlHSFQgPSA1NjtcbmV4cG9ydCBjb25zdCBUSU1FTElORV9QQURESU5HID0gODtcbmV4cG9ydCBjb25zdCBST1dfUEFERElORyA9IDI7XG5leHBvcnQgY29uc3QgUk9XX0hFSUdIVCA9IDI0O1xuZXhwb3J0IGNvbnN0IE1BUktFUl9IRUlHSFQgPSAyNDtcbmV4cG9ydCBjb25zdCBNQVJLRVJfTk9UQ0hfSEVJR0hUID0gODtcbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scrollbar-width.d.ts","sourceRoot":"","sources":["../../../../src/components/trace-viewer/util/scrollbar-width.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,QAAO,MAYvC,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export const detectScrollbarWidth = () => {
|
|
2
|
-
if (!('document' in globalThis))
|
|
3
|
-
return 0;
|
|
4
|
-
const size = 400;
|
|
5
|
-
const container = document.createElement('div');
|
|
6
|
-
container.style.width = `${size}px`;
|
|
7
|
-
container.style.height = `${size}px`;
|
|
8
|
-
container.style.overflow = 'scroll';
|
|
9
|
-
document.body.appendChild(container);
|
|
10
|
-
const scrollbarWidth = size - container.scrollWidth;
|
|
11
|
-
container.remove();
|
|
12
|
-
return scrollbarWidth;
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLXdpZHRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdHJhY2Utdmlld2VyL3V0aWwvc2Nyb2xsYmFyLXdpZHRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQVcsRUFBRTtJQUMvQyxJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDO1FBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQztJQUNwQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDO0lBQ3JDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUNwQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQztJQUNwRCxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFbkIsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGRldGVjdFNjcm9sbGJhcldpZHRoID0gKCk6IG51bWJlciA9PiB7XG4gIGlmICghKCdkb2N1bWVudCcgaW4gZ2xvYmFsVGhpcykpIHJldHVybiAwO1xuICBjb25zdCBzaXplID0gNDAwO1xuICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgY29udGFpbmVyLnN0eWxlLndpZHRoID0gYCR7c2l6ZX1weGA7XG4gIGNvbnRhaW5lci5zdHlsZS5oZWlnaHQgPSBgJHtzaXplfXB4YDtcbiAgY29udGFpbmVyLnN0eWxlLm92ZXJmbG93ID0gJ3Njcm9sbCc7XG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcbiAgY29uc3Qgc2Nyb2xsYmFyV2lkdGggPSBzaXplIC0gY29udGFpbmVyLnNjcm9sbFdpZHRoO1xuICBjb250YWluZXIucmVtb3ZlKCk7XG5cbiAgcmV0dXJuIHNjcm9sbGJhcldpZHRoO1xufTtcbiJdfQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { RootNode, SpanNode, Trace, TraceNode, VisibleSpan } from '../types';
|
|
2
|
-
export declare const parseTrace: (trace: Trace) => {
|
|
3
|
-
root: RootNode;
|
|
4
|
-
map: Record<string, SpanNode>;
|
|
5
|
-
};
|
|
6
|
-
/**
|
|
7
|
-
* Adds a node to a row and attempts to find the ideal placement
|
|
8
|
-
* within an existing row, creating a new one if necessary
|
|
9
|
-
*/
|
|
10
|
-
export declare const addToRow: (placed: VisibleSpan[][], node: VisibleSpan, precision: number) => void;
|
|
11
|
-
export declare const spanVisiblityHelper: (node: TraceNode, scale: number, visible: VisibleSpan[]) => void;
|
|
12
|
-
export declare const adjustSpanVisibility: (span: VisibleSpan, _scale: number) => boolean;
|
|
13
|
-
//# sourceMappingURL=tree.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../src/components/trace-viewer/util/tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAER,QAAQ,EAER,KAAK,EACL,SAAS,EACT,WAAW,EACZ,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,KACX;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CA2LjD,CAAC;AAgBF;;;GAGG;AACH,eAAO,MAAM,QAAQ,GACnB,QAAQ,WAAW,EAAE,EAAE,EACvB,MAAM,WAAW,EACjB,WAAW,MAAM,KAChB,IAoBF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,SAAS,EACf,OAAO,MAAM,EACb,SAAS,WAAW,EAAE,KACrB,IAeF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,WAAW,EACjB,QAAQ,MAAM,KACb,OAMF,CAAC"}
|
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
import { getHighResInMs, getMsInHighRes } from './timing';
|
|
2
|
-
export const parseTrace = (trace) => {
|
|
3
|
-
const { spans } = trace;
|
|
4
|
-
const root = {
|
|
5
|
-
startTime: 0,
|
|
6
|
-
endTime: 0,
|
|
7
|
-
duration: 0,
|
|
8
|
-
depth: 0,
|
|
9
|
-
children: [],
|
|
10
|
-
};
|
|
11
|
-
const map = {};
|
|
12
|
-
const resourceIndices = new Map();
|
|
13
|
-
const getResourceIndex = (resource) => {
|
|
14
|
-
const existing = resourceIndices.get(resource);
|
|
15
|
-
if (existing)
|
|
16
|
-
return existing;
|
|
17
|
-
const index = resourceIndices.size + 1;
|
|
18
|
-
resourceIndices.set(resource, index);
|
|
19
|
-
return index;
|
|
20
|
-
};
|
|
21
|
-
let hasUserSpans = false;
|
|
22
|
-
for (const span of spans) {
|
|
23
|
-
const startTime = getHighResInMs(span.startTime);
|
|
24
|
-
const endTime = getHighResInMs(span.endTime);
|
|
25
|
-
const duration = getHighResInMs(span.duration);
|
|
26
|
-
if (endTime > root.endTime) {
|
|
27
|
-
root.endTime = endTime;
|
|
28
|
-
root.duration = endTime - root.startTime;
|
|
29
|
-
}
|
|
30
|
-
if (root.startTime === 0 || startTime < root.startTime) {
|
|
31
|
-
root.startTime = startTime;
|
|
32
|
-
root.duration = root.endTime - startTime;
|
|
33
|
-
}
|
|
34
|
-
const isVercelResource = span.resource.startsWith('vercel.');
|
|
35
|
-
if (!isVercelResource) {
|
|
36
|
-
hasUserSpans = true;
|
|
37
|
-
}
|
|
38
|
-
const isVercel = isVercelResource &&
|
|
39
|
-
(span.resource !== 'vercel.serverless-runtime' ||
|
|
40
|
-
!('http.method' in span.attributes));
|
|
41
|
-
const resourceIndex = isVercel ? 0 : getResourceIndex(span.resource);
|
|
42
|
-
let label;
|
|
43
|
-
if (isVercel) {
|
|
44
|
-
label = `▲ ${span.name}`;
|
|
45
|
-
}
|
|
46
|
-
map[span.spanId] = {
|
|
47
|
-
parent: null,
|
|
48
|
-
startTime,
|
|
49
|
-
endTime,
|
|
50
|
-
duration,
|
|
51
|
-
span,
|
|
52
|
-
depth: 0,
|
|
53
|
-
label,
|
|
54
|
-
events: parseEvents(span),
|
|
55
|
-
isVercel,
|
|
56
|
-
children: [],
|
|
57
|
-
resourceIndex,
|
|
58
|
-
// Pass through activeStartTime if present (for showing queued period)
|
|
59
|
-
activeStartTime: span.activeStartTime
|
|
60
|
-
? getHighResInMs(span.activeStartTime)
|
|
61
|
-
: undefined,
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
const addTo = (node, parentId) => {
|
|
65
|
-
let parent;
|
|
66
|
-
if (parentId) {
|
|
67
|
-
parent = map[parentId];
|
|
68
|
-
if (!parent) {
|
|
69
|
-
if (process.env.NODE_ENV === 'development') {
|
|
70
|
-
console.warn('Could not find parent span with spanId: %s', parentId);
|
|
71
|
-
}
|
|
72
|
-
parent = root;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
parent = root;
|
|
77
|
-
}
|
|
78
|
-
node.parent = parent;
|
|
79
|
-
parent.children.push(node);
|
|
80
|
-
};
|
|
81
|
-
const updateDepth = (node) => {
|
|
82
|
-
if ('parent' in node) {
|
|
83
|
-
node.depth = node.parent.depth + 1;
|
|
84
|
-
}
|
|
85
|
-
for (const child of node.children) {
|
|
86
|
-
updateDepth(child);
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
let hintIdCounter = 1;
|
|
90
|
-
const addInstrumentationHint = (node, name) => {
|
|
91
|
-
if ('parent' in node) {
|
|
92
|
-
if (node.span.name === name) {
|
|
93
|
-
let waitUntilStart = node.endTime;
|
|
94
|
-
// Detect the parent that's most likely to be at the bottom of the UI
|
|
95
|
-
const findParent = (span) => {
|
|
96
|
-
if (!span.children.length) {
|
|
97
|
-
if (span.span.name === 'waitUntil') {
|
|
98
|
-
waitUntilStart = span.startTime;
|
|
99
|
-
return span.parent;
|
|
100
|
-
}
|
|
101
|
-
return span;
|
|
102
|
-
}
|
|
103
|
-
return (span.children
|
|
104
|
-
.map(findParent)
|
|
105
|
-
.sort((a, b) => a.duration - b.duration)[0] || span);
|
|
106
|
-
};
|
|
107
|
-
const parent = findParent(node);
|
|
108
|
-
const spanId = `instrumentation-hint-${hintIdCounter++}`;
|
|
109
|
-
const offset = node.duration * 0.05;
|
|
110
|
-
const startTime = node.startTime + offset;
|
|
111
|
-
const endTime = Math.max(startTime + offset, Math.min(waitUntilStart - node.duration * 0.01, node.endTime - offset));
|
|
112
|
-
const duration = endTime - startTime;
|
|
113
|
-
const hint = {
|
|
114
|
-
parent,
|
|
115
|
-
startTime,
|
|
116
|
-
endTime,
|
|
117
|
-
duration,
|
|
118
|
-
span: {
|
|
119
|
-
spanId,
|
|
120
|
-
name: 'Add your spans here',
|
|
121
|
-
resource: '',
|
|
122
|
-
kind: 0,
|
|
123
|
-
library: {
|
|
124
|
-
name: '',
|
|
125
|
-
},
|
|
126
|
-
status: {
|
|
127
|
-
code: 200,
|
|
128
|
-
},
|
|
129
|
-
traceFlags: 0,
|
|
130
|
-
attributes: {},
|
|
131
|
-
links: [],
|
|
132
|
-
events: [],
|
|
133
|
-
startTime: getMsInHighRes(startTime),
|
|
134
|
-
endTime: getMsInHighRes(endTime),
|
|
135
|
-
duration: getMsInHighRes(duration),
|
|
136
|
-
},
|
|
137
|
-
depth: node.depth + 1,
|
|
138
|
-
isVercel: false,
|
|
139
|
-
isInstrumentationHint: true,
|
|
140
|
-
children: [],
|
|
141
|
-
resourceIndex: 1,
|
|
142
|
-
};
|
|
143
|
-
parent.children.push(hint);
|
|
144
|
-
map[spanId] = hint;
|
|
145
|
-
return true;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
for (const child of node.children) {
|
|
149
|
-
if (addInstrumentationHint(child, name))
|
|
150
|
-
return true;
|
|
151
|
-
}
|
|
152
|
-
return false;
|
|
153
|
-
};
|
|
154
|
-
// Create tree by matching nodes to their parents
|
|
155
|
-
for (const node of Object.values(map)) {
|
|
156
|
-
addTo(node, node.span.parentSpanId);
|
|
157
|
-
}
|
|
158
|
-
// Adjust depth of each node now that the tree is fully constructed
|
|
159
|
-
updateDepth(root);
|
|
160
|
-
// Add hints in the places where user spans would appear
|
|
161
|
-
if (!hasUserSpans) {
|
|
162
|
-
for (const name of [
|
|
163
|
-
'Invoke Function',
|
|
164
|
-
'Invoke Middleware',
|
|
165
|
-
'Vercel Runtime',
|
|
166
|
-
]) {
|
|
167
|
-
if (addInstrumentationHint(root, name))
|
|
168
|
-
break;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
return { root, map };
|
|
172
|
-
};
|
|
173
|
-
const parseEvents = (span) => {
|
|
174
|
-
if (!span.events.length)
|
|
175
|
-
return;
|
|
176
|
-
const keyPrefix = `${span.spanId}:ev`;
|
|
177
|
-
return span.events
|
|
178
|
-
.map((event, index) => ({
|
|
179
|
-
key: `${keyPrefix}${index}`,
|
|
180
|
-
timestamp: getHighResInMs(event.timestamp),
|
|
181
|
-
event,
|
|
182
|
-
}))
|
|
183
|
-
.sort((a, b) => a.timestamp - b.timestamp);
|
|
184
|
-
};
|
|
185
|
-
/**
|
|
186
|
-
* Adds a node to a row and attempts to find the ideal placement
|
|
187
|
-
* within an existing row, creating a new one if necessary
|
|
188
|
-
*/
|
|
189
|
-
export const addToRow = (placed, node, precision) => {
|
|
190
|
-
const parent = node.parent;
|
|
191
|
-
for (let y = (parent?.row || -1) + 1;; ++y) {
|
|
192
|
-
let row = placed[y];
|
|
193
|
-
if (!row) {
|
|
194
|
-
row = [];
|
|
195
|
-
placed.push(row);
|
|
196
|
-
}
|
|
197
|
-
else if (!row.every(({ startTime, endTime }) => startTime + precision > node.endTime ||
|
|
198
|
-
endTime - precision < node.startTime)) {
|
|
199
|
-
continue;
|
|
200
|
-
}
|
|
201
|
-
node.row = y;
|
|
202
|
-
row.push(node);
|
|
203
|
-
break;
|
|
204
|
-
}
|
|
205
|
-
};
|
|
206
|
-
export const spanVisiblityHelper = (node, scale, visible) => {
|
|
207
|
-
if ('parent' in node) {
|
|
208
|
-
const n = node;
|
|
209
|
-
n.row = -1;
|
|
210
|
-
// Always make spans visible regardless of width
|
|
211
|
-
n.isVisible = true;
|
|
212
|
-
n.isHovered = false;
|
|
213
|
-
if (!n.isVisible)
|
|
214
|
-
return;
|
|
215
|
-
visible.push(n);
|
|
216
|
-
}
|
|
217
|
-
for (const child of node.children) {
|
|
218
|
-
spanVisiblityHelper(child, scale, visible);
|
|
219
|
-
}
|
|
220
|
-
};
|
|
221
|
-
export const adjustSpanVisibility = (span, _scale) => {
|
|
222
|
-
// Always make spans visible regardless of width
|
|
223
|
-
span.isVisible = true;
|
|
224
|
-
span.isHovered = false;
|
|
225
|
-
return span.isVisible;
|
|
226
|
-
};
|
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RyYWNlLXZpZXdlci91dGlsL3RyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFMUQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQ3hCLEtBQVksRUFDdUMsRUFBRTtJQUNyRCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLE1BQU0sSUFBSSxHQUFhO1FBQ3JCLFNBQVMsRUFBRSxDQUFDO1FBQ1osT0FBTyxFQUFFLENBQUM7UUFDVixRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxDQUFDO1FBQ1IsUUFBUSxFQUFFLEVBQUU7S0FDYixDQUFDO0lBQ0YsTUFBTSxHQUFHLEdBQTZCLEVBQUUsQ0FBQztJQUV6QyxNQUFNLGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQUNsRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsUUFBZ0IsRUFBVSxFQUFFO1FBQ3BELE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsSUFBSSxRQUFRO1lBQUUsT0FBTyxRQUFRLENBQUM7UUFFOUIsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDdkMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7SUFFRixJQUFJLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDekIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sT0FB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LEVBQ0QsQ0FBQztZQUNELFNBQVM7UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDYixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2YsTUFBTTtJQUNSLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUNqQyxJQUFlLEVBQ2YsS0FBYSxFQUNiLE9BQXNCLEVBQ2hCLEVBQUU7SUFDUixJQUFJLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNyQixNQUFNLENBQUMsR0FBRyxJQUFtQixDQUFDO1FBQzlCLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDWCxnREFBZ0Q7UUFDaEQsQ0FBQyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDbkIsQ0FBQyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUV6QixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUNsQyxJQUFpQixFQUNqQixNQUFjLEVBQ0wsRUFBRTtJQUNYLGdEQUFnRDtJQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUV2QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7QUFDeEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSb290Tm9kZSxcbiAgU3BhbixcbiAgU3Bhbk5vZGUsXG4gIFNwYW5Ob2RlRXZlbnQsXG4gIFRyYWNlLFxuICBUcmFjZU5vZGUsXG4gIFZpc2libGVTcGFuLFxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRIaWdoUmVzSW5NcywgZ2V0TXNJbkhpZ2hSZXMgfSBmcm9tICcuL3RpbWluZyc7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVRyYWNlID0gKFxuICB0cmFjZTogVHJhY2Vcbik6IHsgcm9vdDogUm9vdE5vZGU7IG1hcDogUmVjb3JkPHN0cmluZywgU3Bhbk5vZGU+IH0gPT4ge1xuICBjb25zdCB7IHNwYW5zIH0gPSB0cmFjZTtcbiAgY29uc3Qgcm9vdDogUm9vdE5vZGUgPSB7XG4gICAgc3RhcnRUaW1lOiAwLFxuICAgIGVuZFRpbWU6IDAsXG4gICAgZHVyYXRpb246IDAsXG4gICAgZGVwdGg6IDAsXG4gICAgY2hpbGRyZW46IFtdLFxuICB9O1xuICBjb25zdCBtYXA6IFJlY29yZDxzdHJpbmcsIFNwYW5Ob2RlPiA9IHt9O1xuXG4gIGNvbnN0IHJlc291cmNlSW5kaWNlcyA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XG4gIGNvbnN0IGdldFJlc291cmNlSW5kZXggPSAocmVzb3VyY2U6IHN0cmluZyk6IG51bWJlciA9PiB7XG4gICAgY29uc3QgZXhpc3RpbmcgPSByZXNvdXJjZUluZGljZXMuZ2V0KHJlc291cmNlKTtcbiAgICBpZiAoZXhpc3RpbmcpIHJldHVybiBleGlzdGluZztcblxuICAgIGNvbnN0IGluZGV4ID0gcmVzb3VyY2VJbmRpY2VzLnNpemUgKyAxO1xuICAgIHJlc291cmNlSW5kaWNlcy5zZXQocmVzb3VyY2UsIGluZGV4KTtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH07XG5cbiAgbGV0IGhhc1VzZXJTcGFucyA9IGZhbHNlO1xuICBmb3IgKGNvbnN0IHNwYW4gb2Ygc3BhbnMpIHtcbiAgICBjb25zdCBzdGFydFRpbWUgPSBnZXRIaWdoUmVzSW5NcyhzcGFuLnN0YXJ0VGltZSk7XG4gICAgY29uc3QgZW5kVGltZSA9IGdldEhpZ2hSZXNJbk1zKHNwYW4uZW5kVGltZSk7XG4gICAgY29uc3QgZHVyYXRpb24gPSBnZXRIaWdoUmVzSW5NcyhzcGFuLmR1cmF0aW9uKTtcbiAgICBpZiAoZW5kVGltZSA+IHJvb3QuZW5kVGltZSkge1xuICAgICAgcm9vdC5lbmRUaW1lID0gZW5kVGltZTtcbiAgICAgIHJvb3QuZHVyYXRpb24gPSBlbmRUaW1lIC0gcm9vdC5zdGFydFRpbWU7XG4gICAgfVxuICAgIGlmIChyb290LnN0YXJ0VGltZSA9PT0gMCB8fCBzdGFydFRpbWUgPCByb290LnN0YXJ0VGltZSkge1xuICAgICAgcm9vdC5zdGFydFRpbWUgPSBzdGFydFRpbWU7XG4gICAgICByb290LmR1cmF0aW9uID0gcm9vdC5lbmRUaW1lIC0gc3RhcnRUaW1lO1xuICAgIH1cbiAgICBjb25zdCBpc1ZlcmNlbFJlc291cmNlID0gc3Bhbi5yZXNvdXJjZS5zdGFydHNXaXRoKCd2ZXJjZWwuJyk7XG4gICAgaWYgKCFpc1ZlcmNlbFJlc291cmNlKSB7XG4gICAgICBoYXNVc2VyU3BhbnMgPSB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGlzVmVyY2VsID1cbiAgICAgIGlzVmVyY2VsUmVzb3VyY2UgJiZcbiAgICAgIChzcGFuLnJlc291cmNlICE9PSAndmVyY2VsLnNlcnZlcmxlc3MtcnVudGltZScgfHxcbiAgICAgICAgISgnaHR0cC5tZXRob2QnIGluIHNwYW4uYXR0cmlidXRlcykpO1xuXG4gICAgY29uc3QgcmVzb3VyY2VJbmRleCA9IGlzVmVyY2VsID8gMCA6IGdldFJlc291cmNlSW5kZXgoc3Bhbi5yZXNvdXJjZSk7XG5cbiAgICBsZXQgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBpZiAoaXNWZXJjZWwpIHtcbiAgICAgIGxhYmVsID0gYOKWsiAke3NwYW4ubmFtZX1gO1xuICAgIH1cbiAgICBtYXBbc3Bhbi5zcGFuSWRdID0ge1xuICAgICAgcGFyZW50OiBudWxsIGFzIHVua25vd24gYXMgU3Bhbk5vZGUsXG4gICAgICBzdGFydFRpbWUsXG4gICAgICBlbmRUaW1lLFxuICAgICAgZHVyYXRpb24sXG4gICAgICBzcGFuLFxuICAgICAgZGVwdGg6IDAsXG4gICAgICBsYWJlbCxcbiAgICAgIGV2ZW50czogcGFyc2VFdmVudHMoc3BhbiksXG4gICAgICBpc1ZlcmNlbCxcbiAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgIHJlc291cmNlSW5kZXgsXG4gICAgICAvLyBQYXNzIHRocm91Z2ggYWN0aXZlU3RhcnRUaW1lIGlmIHByZXNlbnQgKGZvciBzaG93aW5nIHF1ZXVlZCBwZXJpb2QpXG4gICAgICBhY3RpdmVTdGFydFRpbWU6IHNwYW4uYWN0aXZlU3RhcnRUaW1lXG4gICAgICAgID8gZ2V0SGlnaFJlc0luTXMoc3Bhbi5hY3RpdmVTdGFydFRpbWUpXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBhZGRUbyA9IChub2RlOiBTcGFuTm9kZSwgcGFyZW50SWQ/OiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICBsZXQgcGFyZW50OiBUcmFjZU5vZGUgfCB1bmRlZmluZWQ7XG4gICAgaWYgKHBhcmVudElkKSB7XG4gICAgICBwYXJlbnQgPSBtYXBbcGFyZW50SWRdO1xuICAgICAgaWYgKCFwYXJlbnQpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdDb3VsZCBub3QgZmluZCBwYXJlbnQgc3BhbiB3aXRoIHNwYW5JZDogJXMnLCBwYXJlbnRJZCk7XG4gICAgICAgIH1cbiAgICAgICAgcGFyZW50ID0gcm9vdDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcGFyZW50ID0gcm9vdDtcbiAgICB9XG4gICAgbm9kZS5wYXJlbnQgPSBwYXJlbnQ7XG4gICAgcGFyZW50LmNoaWxkcmVuLnB1c2gobm9kZSk7XG4gIH07XG5cbiAgY29uc3QgdXBkYXRlRGVwdGggPSAobm9kZTogVHJhY2VOb2RlKTogdm9pZCA9PiB7XG4gICAgaWYgKCdwYXJlbnQnIGluIG5vZGUpIHtcbiAgICAgIG5vZGUuZGVwdGggPSBub2RlLnBhcmVudC5kZXB0aCArIDE7XG4gICAgfVxuICAgIGZvciAoY29uc3QgY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbikge1xuICAgICAgdXBkYXRlRGVwdGgoY2hpbGQpO1xuICAgIH1cbiAgfTtcblxuICBsZXQgaGludElkQ291bnRlciA9IDE7XG4gIGNvbnN0IGFkZEluc3RydW1lbnRhdGlvbkhpbnQgPSAobm9kZTogVHJhY2VOb2RlLCBuYW1lOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgICBpZiAoJ3BhcmVudCcgaW4gbm9kZSkge1xuICAgICAgaWYgKG5vZGUuc3Bhbi5uYW1lID09PSBuYW1lKSB7XG4gICAgICAgIGxldCB3YWl0VW50aWxTdGFydCA9IG5vZGUuZW5kVGltZTtcbiAgICAgICAgLy8gRGV0ZWN0IHRoZSBwYXJlbnQgdGhhdCdzIG1vc3QgbGlrZWx5IHRvIGJlIGF0IHRoZSBib3R0b20gb2YgdGhlIFVJXG4gICAgICAgIGNvbnN0IGZpbmRQYXJlbnQgPSAoc3BhbjogU3Bhbk5vZGUpOiBTcGFuTm9kZSA9PiB7XG4gICAgICAgICAgaWYgKCFzcGFuLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKHNwYW4uc3Bhbi5uYW1lID09PSAnd2FpdFVudGlsJykge1xuICAgICAgICAgICAgICB3YWl0VW50aWxTdGFydCA9IHNwYW4uc3RhcnRUaW1lO1xuICAgICAgICAgICAgICByZXR1cm4gc3Bhbi5wYXJlbnQgYXMgU3Bhbk5vZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3BhbjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgc3Bhbi5jaGlsZHJlblxuICAgICAgICAgICAgICAubWFwKGZpbmRQYXJlbnQpXG4gICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLmR1cmF0aW9uIC0gYi5kdXJhdGlvbilbMF0gfHwgc3BhblxuICAgICAgICAgICk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IGZpbmRQYXJlbnQobm9kZSk7XG5cbiAgICAgICAgY29uc3Qgc3BhbklkID0gYGluc3RydW1lbnRhdGlvbi1oaW50LSR7aGludElkQ291bnRlcisrfWA7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IG5vZGUuZHVyYXRpb24gKiAwLjA1O1xuICAgICAgICBjb25zdCBzdGFydFRpbWUgPSBub2RlLnN0YXJ0VGltZSArIG9mZnNldDtcbiAgICAgICAgY29uc3QgZW5kVGltZSA9IE1hdGgubWF4KFxuICAgICAgICAgIHN0YXJ0VGltZSArIG9mZnNldCxcbiAgICAgICAgICBNYXRoLm1pbih3YWl0VW50aWxTdGFydCAtIG5vZGUuZHVyYXRpb24gKiAwLjAxLCBub2RlLmVuZFRpbWUgLSBvZmZzZXQpXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGR1cmF0aW9uID0gZW5kVGltZSAtIHN0YXJ0VGltZTtcbiAgICAgICAgY29uc3QgaGludDogU3Bhbk5vZGUgPSB7XG4gICAgICAgICAgcGFyZW50LFxuICAgICAgICAgIHN0YXJ0VGltZSxcbiAgICAgICAgICBlbmRUaW1lLFxuICAgICAgICAgIGR1cmF0aW9uLFxuICAgICAgICAgIHNwYW46IHtcbiAgICAgICAgICAgIHNwYW5JZCxcbiAgICAgICAgICAgIG5hbWU6ICdBZGQgeW91ciBzcGFucyBoZXJlJyxcbiAgICAgICAgICAgIHJlc291cmNlOiAnJyxcbiAgICAgICAgICAgIGtpbmQ6IDAsXG4gICAgICAgICAgICBsaWJyYXJ5OiB7XG4gICAgICAgICAgICAgIG5hbWU6ICcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN0YXR1czoge1xuICAgICAgICAgICAgICBjb2RlOiAyMDAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHJhY2VGbGFnczogMCxcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgICAgICAgICAgbGlua3M6IFtdLFxuICAgICAgICAgICAgZXZlbnRzOiBbXSxcbiAgICAgICAgICAgIHN0YXJ0VGltZTogZ2V0TXNJbkhpZ2hSZXMoc3RhcnRUaW1lKSxcbiAgICAgICAgICAgIGVuZFRpbWU6IGdldE1zSW5IaWdoUmVzKGVuZFRpbWUpLFxuICAgICAgICAgICAgZHVyYXRpb246IGdldE1zSW5IaWdoUmVzKGR1cmF0aW9uKSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRlcHRoOiBub2RlLmRlcHRoICsgMSxcbiAgICAgICAgICBpc1ZlcmNlbDogZmFsc2UsXG4gICAgICAgICAgaXNJbnN0cnVtZW50YXRpb25IaW50OiB0cnVlLFxuICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgICByZXNvdXJjZUluZGV4OiAxLFxuICAgICAgICB9O1xuICAgICAgICBwYXJlbnQuY2hpbGRyZW4ucHVzaChoaW50KTtcbiAgICAgICAgbWFwW3NwYW5JZF0gPSBoaW50O1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBub2RlLmNoaWxkcmVuKSB7XG4gICAgICBpZiAoYWRkSW5zdHJ1bWVudGF0aW9uSGludChjaGlsZCwgbmFtZSkpIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgLy8gQ3JlYXRlIHRyZWUgYnkgbWF0Y2hpbmcgbm9kZXMgdG8gdGhlaXIgcGFyZW50c1xuICBmb3IgKGNvbnN0IG5vZGUgb2YgT2JqZWN0LnZhbHVlcyhtYXApKSB7XG4gICAgYWRkVG8obm9kZSwgbm9kZS5zcGFuLnBhcmVudFNwYW5JZCk7XG4gIH1cblxuICAvLyBBZGp1c3QgZGVwdGggb2YgZWFjaCBub2RlIG5vdyB0aGF0IHRoZSB0cmVlIGlzIGZ1bGx5IGNvbnN0cnVjdGVkXG4gIHVwZGF0ZURlcHRoKHJvb3QpO1xuXG4gIC8vIEFkZCBoaW50cyBpbiB0aGUgcGxhY2VzIHdoZXJlIHVzZXIgc3BhbnMgd291bGQgYXBwZWFyXG4gIGlmICghaGFzVXNlclNwYW5zKSB7XG4gICAgZm9yIChjb25zdCBuYW1lIG9mIFtcbiAgICAgICdJbnZva2UgRnVuY3Rpb24nLFxuICAgICAgJ0ludm9rZSBNaWRkbGV3YXJlJyxcbiAgICAgICdWZXJjZWwgUnVudGltZScsXG4gICAgXSkge1xuICAgICAgaWYgKGFkZEluc3RydW1lbnRhdGlvbkhpbnQocm9vdCwgbmFtZSkpIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7IHJvb3QsIG1hcCB9O1xufTtcblxuY29uc3QgcGFyc2VFdmVudHMgPSAoc3BhbjogU3Bhbik6IFNwYW5Ob2RlRXZlbnRbXSB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmICghc3Bhbi5ldmVudHMubGVuZ3RoKSByZXR1cm47XG5cbiAgY29uc3Qga2V5UHJlZml4ID0gYCR7c3Bhbi5zcGFuSWR9OmV2YDtcblxuICByZXR1cm4gc3Bhbi5ldmVudHNcbiAgICAubWFwPFNwYW5Ob2RlRXZlbnQ+KChldmVudCwgaW5kZXgpID0+ICh7XG4gICAgICBrZXk6IGAke2tleVByZWZpeH0ke2luZGV4fWAsXG4gICAgICB0aW1lc3RhbXA6IGdldEhpZ2hSZXNJbk1zKGV2ZW50LnRpbWVzdGFtcCksXG4gICAgICBldmVudCxcbiAgICB9KSlcbiAgICAuc29ydCgoYSwgYikgPT4gYS50aW1lc3RhbXAgLSBiLnRpbWVzdGFtcCk7XG59O1xuXG4vKipcbiAqIEFkZHMgYSBub2RlIHRvIGEgcm93IGFuZCBhdHRlbXB0cyB0byBmaW5kIHRoZSBpZGVhbCBwbGFjZW1lbnRcbiAqIHdpdGhpbiBhbiBleGlzdGluZyByb3csIGNyZWF0aW5nIGEgbmV3IG9uZSBpZiBuZWNlc3NhcnlcbiAqL1xuZXhwb3J0IGNvbnN0IGFkZFRvUm93ID0gKFxuICBwbGFjZWQ6IFZpc2libGVTcGFuW11bXSxcbiAgbm9kZTogVmlzaWJsZVNwYW4sXG4gIHByZWNpc2lvbjogbnVtYmVyXG4pOiB2b2lkID0+IHtcbiAgY29uc3QgcGFyZW50ID0gbm9kZS5wYXJlbnQgYXMgVmlzaWJsZVNwYW4gfCB1bmRlZmluZWQ7XG4gIGZvciAobGV0IHkgPSAocGFyZW50Py5yb3cgfHwgLTEpICsgMTsgOyArK3kpIHtcbiAgICBsZXQgcm93ID0gcGxhY2VkW3ldO1xuICAgIGlmICghcm93KSB7XG4gICAgICByb3cgPSBbXTtcbiAgICAgIHBsYWNlZC5wdXNoKHJvdyk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgICFyb3cuZXZlcnkoXG4gICAgICAgICh7IHN0YXJ0VGltZSwgZW5kVGltZSB9KSA9PlxuICAgICAgICAgIHN0YXJ0VGltZSArIHByZWNpc2lvbiA+IG5vZGUuZW5kVGltZSB8fFxuICAgICAgICAgIGVuZFRpbWUgLSBwcmVjaXNpb24gPCBub2RlLnN0YXJ0VGltZVxuICAgICAgKVxuICAgICkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIG5vZGUucm93ID0geTtcbiAgICByb3cucHVzaChub2RlKTtcbiAgICBicmVhaztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHNwYW5WaXNpYmxpdHlIZWxwZXIgPSAoXG4gIG5vZGU6IFRyYWNlTm9kZSxcbiAgc2NhbGU6IG51bWJlcixcbiAgdmlzaWJsZTogVmlzaWJsZVNwYW5bXVxuKTogdm9pZCA9PiB7XG4gIGlmICgncGFyZW50JyBpbiBub2RlKSB7XG4gICAgY29uc3QgbiA9IG5vZGUgYXMgVmlzaWJsZVNwYW47XG4gICAgbi5yb3cgPSAtMTtcbiAgICAvLyBBbHdheXMgbWFrZSBzcGFucyB2aXNpYmxlIHJlZ2FyZGxlc3Mgb2Ygd2lkdGhcbiAgICBuLmlzVmlzaWJsZSA9IHRydWU7XG4gICAgbi5pc0hvdmVyZWQgPSBmYWxzZTtcbiAgICBpZiAoIW4uaXNWaXNpYmxlKSByZXR1cm47XG5cbiAgICB2aXNpYmxlLnB1c2gobik7XG4gIH1cblxuICBmb3IgKGNvbnN0IGNoaWxkIG9mIG5vZGUuY2hpbGRyZW4pIHtcbiAgICBzcGFuVmlzaWJsaXR5SGVscGVyKGNoaWxkLCBzY2FsZSwgdmlzaWJsZSk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBhZGp1c3RTcGFuVmlzaWJpbGl0eSA9IChcbiAgc3BhbjogVmlzaWJsZVNwYW4sXG4gIF9zY2FsZTogbnVtYmVyXG4pOiBib29sZWFuID0+IHtcbiAgLy8gQWx3YXlzIG1ha2Ugc3BhbnMgdmlzaWJsZSByZWdhcmRsZXNzIG9mIHdpZHRoXG4gIHNwYW4uaXNWaXNpYmxlID0gdHJ1ZTtcbiAgc3Bhbi5pc0hvdmVyZWQgPSBmYWxzZTtcblxuICByZXR1cm4gc3Bhbi5pc1Zpc2libGU7XG59O1xuIl19
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { CSSProperties, MutableRefObject } from 'react';
|
|
2
|
-
type SetStyle = (propertyName: string, value: string | undefined) => void;
|
|
3
|
-
interface ImmediateStyle {
|
|
4
|
-
setStyle: SetStyle;
|
|
5
|
-
styleRef: MutableRefObject<CSSProperties>;
|
|
6
|
-
style: CSSProperties;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Update an element's style without forcing renders, but in a way that is still
|
|
10
|
-
* safe if the element re-renders for another reason.
|
|
11
|
-
* @returns The current style & a method to update the style
|
|
12
|
-
*/
|
|
13
|
-
export declare function useImmediateStyle(ref: MutableRefObject<HTMLElement | null>): ImmediateStyle;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=use-immediate-style.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-immediate-style.d.ts","sourceRoot":"","sources":["../../../../src/components/trace-viewer/util/use-immediate-style.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAG7D,KAAK,QAAQ,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;AAE1E,UAAU,cAAc;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC1C,KAAK,EAAE,aAAa,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,GACxC,cAAc,CAiBhB"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useCallback, useRef } from 'react';
|
|
3
|
-
/**
|
|
4
|
-
* Update an element's style without forcing renders, but in a way that is still
|
|
5
|
-
* safe if the element re-renders for another reason.
|
|
6
|
-
* @returns The current style & a method to update the style
|
|
7
|
-
*/
|
|
8
|
-
export function useImmediateStyle(ref) {
|
|
9
|
-
const styleRef = useRef({});
|
|
10
|
-
const setStyle = useCallback((propertyName, value) => {
|
|
11
|
-
// @ts-expect-error typeof keyof CSSProperties is too big of a union
|
|
12
|
-
styleRef.current[propertyName] = value;
|
|
13
|
-
if (!ref.current)
|
|
14
|
-
return;
|
|
15
|
-
if (!value) {
|
|
16
|
-
ref.current.style.removeProperty(propertyName);
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
ref.current.style.setProperty(propertyName, value);
|
|
20
|
-
}, [ref]);
|
|
21
|
-
return { setStyle, styleRef, style: { ...styleRef.current } };
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWltbWVkaWF0ZS1zdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RyYWNlLXZpZXdlci91dGlsL3VzZS1pbW1lZGlhdGUtc3R5bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBR2IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFVNUM7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsR0FBeUM7SUFFekMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFnQixFQUFFLENBQUMsQ0FBQztJQUMzQyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQzFCLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3RCLG9FQUFvRTtRQUNwRSxRQUFRLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN2QyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU87WUFBRSxPQUFPO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMvQyxPQUFPO1FBQ1QsQ0FBQztRQUNELEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQyxFQUNELENBQUMsR0FBRyxDQUFDLENBQ04sQ0FBQztJQUVGLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEdBQUcsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7QUFDaEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcblxuaW1wb3J0IHR5cGUgeyBDU1NQcm9wZXJ0aWVzLCBNdXRhYmxlUmVmT2JqZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcblxudHlwZSBTZXRTdHlsZSA9IChwcm9wZXJ0eU5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkgPT4gdm9pZDtcblxuaW50ZXJmYWNlIEltbWVkaWF0ZVN0eWxlIHtcbiAgc2V0U3R5bGU6IFNldFN0eWxlO1xuICBzdHlsZVJlZjogTXV0YWJsZVJlZk9iamVjdDxDU1NQcm9wZXJ0aWVzPjtcbiAgc3R5bGU6IENTU1Byb3BlcnRpZXM7XG59XG5cbi8qKlxuICogVXBkYXRlIGFuIGVsZW1lbnQncyBzdHlsZSB3aXRob3V0IGZvcmNpbmcgcmVuZGVycywgYnV0IGluIGEgd2F5IHRoYXQgaXMgc3RpbGxcbiAqIHNhZmUgaWYgdGhlIGVsZW1lbnQgcmUtcmVuZGVycyBmb3IgYW5vdGhlciByZWFzb24uXG4gKiBAcmV0dXJucyBUaGUgY3VycmVudCBzdHlsZSAmIGEgbWV0aG9kIHRvIHVwZGF0ZSB0aGUgc3R5bGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUltbWVkaWF0ZVN0eWxlKFxuICByZWY6IE11dGFibGVSZWZPYmplY3Q8SFRNTEVsZW1lbnQgfCBudWxsPlxuKTogSW1tZWRpYXRlU3R5bGUge1xuICBjb25zdCBzdHlsZVJlZiA9IHVzZVJlZjxDU1NQcm9wZXJ0aWVzPih7fSk7XG4gIGNvbnN0IHNldFN0eWxlID0gdXNlQ2FsbGJhY2s8U2V0U3R5bGU+KFxuICAgIChwcm9wZXJ0eU5hbWUsIHZhbHVlKSA9PiB7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHR5cGVvZiBrZXlvZiBDU1NQcm9wZXJ0aWVzIGlzIHRvbyBiaWcgb2YgYSB1bmlvblxuICAgICAgc3R5bGVSZWYuY3VycmVudFtwcm9wZXJ0eU5hbWVdID0gdmFsdWU7XG4gICAgICBpZiAoIXJlZi5jdXJyZW50KSByZXR1cm47XG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIHJlZi5jdXJyZW50LnN0eWxlLnJlbW92ZVByb3BlcnR5KHByb3BlcnR5TmFtZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHJlZi5jdXJyZW50LnN0eWxlLnNldFByb3BlcnR5KHByb3BlcnR5TmFtZSwgdmFsdWUpO1xuICAgIH0sXG4gICAgW3JlZl1cbiAgKTtcblxuICByZXR1cm4geyBzZXRTdHlsZSwgc3R5bGVSZWYsIHN0eWxlOiB7IC4uLnN0eWxlUmVmLmN1cnJlbnQgfSB9O1xufVxuIl19
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { VisibleSpan, VisibleSpanEvent } from '../types';
|
|
2
|
-
export declare const useStreamingSpans: (highlightedSpans?: string[], eagerRender?: boolean) => {
|
|
3
|
-
rows: VisibleSpan[][];
|
|
4
|
-
spans: VisibleSpan[];
|
|
5
|
-
events: VisibleSpanEvent[];
|
|
6
|
-
scale: number;
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=use-streaming-spans.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-streaming-spans.d.ts","sourceRoot":"","sources":["../../../../src/components/trace-viewer/util/use-streaming-spans.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAGjB,MAAM,UAAU,CAAC;AAsBlB,eAAO,MAAM,iBAAiB,GAC5B,mBAAmB,MAAM,EAAE,EAC3B,qBAAmB,KAClB;IACD,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;IACtB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CAqWf,CAAC"}
|