@pierre/diffs 1.3.0-beta.5 → 1.3.0-beta.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/README.md +9 -9
- package/dist/components/CodeView.d.ts +13 -11
- package/dist/components/CodeView.d.ts.map +1 -1
- package/dist/components/CodeView.js +53 -14
- package/dist/components/CodeView.js.map +1 -1
- package/dist/components/File.d.ts +4 -5
- package/dist/components/File.d.ts.map +1 -1
- package/dist/components/File.js +37 -19
- package/dist/components/File.js.map +1 -1
- package/dist/components/FileDiff.d.ts +49 -36
- package/dist/components/FileDiff.d.ts.map +1 -1
- package/dist/components/FileDiff.js +173 -75
- package/dist/components/FileDiff.js.map +1 -1
- package/dist/components/FileStream.d.ts +0 -1
- package/dist/components/FileStream.d.ts.map +1 -1
- package/dist/components/FileStream.js +4 -4
- package/dist/components/FileStream.js.map +1 -1
- package/dist/components/UnresolvedFile.d.ts +3 -3
- package/dist/components/UnresolvedFile.d.ts.map +1 -1
- package/dist/components/UnresolvedFile.js +7 -5
- package/dist/components/UnresolvedFile.js.map +1 -1
- package/dist/components/VirtualizedFile.d.ts +0 -1
- package/dist/components/VirtualizedFile.d.ts.map +1 -1
- package/dist/components/VirtualizedFile.js +22 -25
- package/dist/components/VirtualizedFile.js.map +1 -1
- package/dist/components/VirtualizedFileDiff.d.ts +12 -7
- package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
- package/dist/components/VirtualizedFileDiff.js +192 -64
- package/dist/components/VirtualizedFileDiff.js.map +1 -1
- package/dist/components/Virtualizer.d.ts +1 -1
- package/dist/components/Virtualizer.d.ts.map +1 -1
- package/dist/components/Virtualizer.js +23 -24
- package/dist/components/Virtualizer.js.map +1 -1
- package/dist/components/VirtulizerDevelopment.d.ts.map +1 -1
- package/dist/components/web-components.d.ts.map +1 -1
- package/dist/components/web-components.js +2 -3
- package/dist/components/web-components.js.map +1 -1
- package/dist/constants.d.ts +3 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +3 -2
- package/dist/constants.js.map +1 -1
- package/dist/editor/command.d.ts +2 -1
- package/dist/editor/command.d.ts.map +1 -1
- package/dist/editor/command.js +7 -3
- package/dist/editor/command.js.map +1 -1
- package/dist/editor/editStack.d.ts +7 -1
- package/dist/editor/editStack.d.ts.map +1 -1
- package/dist/editor/editStack.js +3 -3
- package/dist/editor/editStack.js.map +1 -1
- package/dist/editor/editor.d.ts +28 -4
- package/dist/editor/editor.d.ts.map +1 -1
- package/dist/editor/editor.js +669 -313
- package/dist/editor/editor.js.map +1 -1
- package/dist/editor/editor2.js +3 -3
- package/dist/editor/editor2.js.map +1 -1
- package/dist/editor/index.js +1 -2
- package/dist/editor/lineAnnotations.d.ts.map +1 -1
- package/dist/editor/lineAnnotations.js +2 -3
- package/dist/editor/lineAnnotations.js.map +1 -1
- package/dist/editor/marker.d.ts +2 -1
- package/dist/editor/marker.d.ts.map +1 -1
- package/dist/editor/marker.js +28 -11
- package/dist/editor/marker.js.map +1 -1
- package/dist/editor/pieceTable.d.ts +4 -2
- package/dist/editor/pieceTable.d.ts.map +1 -1
- package/dist/editor/pieceTable.js +138 -128
- package/dist/editor/pieceTable.js.map +1 -1
- package/dist/editor/platform.d.ts +8 -1
- package/dist/editor/platform.d.ts.map +1 -1
- package/dist/editor/platform.js +16 -5
- package/dist/editor/platform.js.map +1 -1
- package/dist/editor/searchPanel.d.ts +1 -0
- package/dist/editor/searchPanel.d.ts.map +1 -1
- package/dist/editor/searchPanel.js +75 -62
- package/dist/editor/searchPanel.js.map +1 -1
- package/dist/editor/selection.d.ts +42 -5
- package/dist/editor/selection.d.ts.map +1 -1
- package/dist/editor/selection.js +504 -114
- package/dist/editor/selection.js.map +1 -1
- package/dist/editor/selectionAction.d.ts +4 -5
- package/dist/editor/selectionAction.d.ts.map +1 -1
- package/dist/editor/selectionAction.js +14 -64
- package/dist/editor/selectionAction.js.map +1 -1
- package/dist/editor/sprite.d.ts +2 -2
- package/dist/editor/sprite.d.ts.map +1 -1
- package/dist/editor/sprite.js +7 -14
- package/dist/editor/sprite.js.map +1 -1
- package/dist/editor/textDocument.d.ts +5 -4
- package/dist/editor/textDocument.d.ts.map +1 -1
- package/dist/editor/textDocument.js +26 -15
- package/dist/editor/textDocument.js.map +1 -1
- package/dist/editor/textMeasure.d.ts +36 -3
- package/dist/editor/textMeasure.d.ts.map +1 -1
- package/dist/editor/textMeasure.js +104 -17
- package/dist/editor/textMeasure.js.map +1 -1
- package/dist/editor/tokenzier.d.ts +3 -0
- package/dist/editor/tokenzier.d.ts.map +1 -1
- package/dist/editor/tokenzier.js +27 -16
- package/dist/editor/tokenzier.js.map +1 -1
- package/dist/editor/utils.d.ts +4 -1
- package/dist/editor/utils.d.ts.map +1 -1
- package/dist/editor/utils.js +19 -3
- package/dist/editor/utils.js.map +1 -1
- package/dist/highlighter/languages/areLanguagesAttached.d.ts.map +1 -1
- package/dist/highlighter/languages/areLanguagesAttached.js +1 -2
- package/dist/highlighter/languages/areLanguagesAttached.js.map +1 -1
- package/dist/highlighter/languages/attachResolvedLanguages.d.ts +0 -2
- package/dist/highlighter/languages/attachResolvedLanguages.d.ts.map +1 -1
- package/dist/highlighter/languages/attachResolvedLanguages.js +1 -2
- package/dist/highlighter/languages/attachResolvedLanguages.js.map +1 -1
- package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts.map +1 -1
- package/dist/highlighter/languages/cleanUpResolvedLanguages.js +1 -2
- package/dist/highlighter/languages/cleanUpResolvedLanguages.js.map +1 -1
- package/dist/highlighter/languages/constants.d.ts +0 -1
- package/dist/highlighter/languages/constants.d.ts.map +1 -1
- package/dist/highlighter/languages/constants.js +1 -1
- package/dist/highlighter/languages/constants.js.map +1 -1
- package/dist/highlighter/languages/getResolvedLanguages.d.ts +0 -2
- package/dist/highlighter/languages/getResolvedLanguages.d.ts.map +1 -1
- package/dist/highlighter/languages/getResolvedLanguages.js +1 -2
- package/dist/highlighter/languages/getResolvedLanguages.js.map +1 -1
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts +0 -2
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts.map +1 -1
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.js +1 -2
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.js.map +1 -1
- package/dist/highlighter/languages/hasResolvedLanguages.d.ts.map +1 -1
- package/dist/highlighter/languages/hasResolvedLanguages.js +1 -2
- package/dist/highlighter/languages/hasResolvedLanguages.js.map +1 -1
- package/dist/highlighter/languages/registerCustomLanguage.d.ts +0 -1
- package/dist/highlighter/languages/registerCustomLanguage.d.ts.map +1 -1
- package/dist/highlighter/languages/registerCustomLanguage.js +1 -2
- package/dist/highlighter/languages/registerCustomLanguage.js.map +1 -1
- package/dist/highlighter/languages/resolveLanguage.d.ts +0 -2
- package/dist/highlighter/languages/resolveLanguage.d.ts.map +1 -1
- package/dist/highlighter/languages/resolveLanguage.js +4 -5
- package/dist/highlighter/languages/resolveLanguage.js.map +1 -1
- package/dist/highlighter/languages/resolveLanguages.d.ts +0 -2
- package/dist/highlighter/languages/resolveLanguages.d.ts.map +1 -1
- package/dist/highlighter/languages/resolveLanguages.js +1 -2
- package/dist/highlighter/languages/resolveLanguages.js.map +1 -1
- package/dist/highlighter/shared_highlighter.d.ts.map +1 -1
- package/dist/highlighter/shared_highlighter.js +3 -4
- package/dist/highlighter/shared_highlighter.js.map +1 -1
- package/dist/highlighter/themes/areThemesAttached.d.ts.map +1 -1
- package/dist/highlighter/themes/areThemesAttached.js +1 -2
- package/dist/highlighter/themes/areThemesAttached.js.map +1 -1
- package/dist/highlighter/themes/attachResolvedThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/attachResolvedThemes.js +1 -2
- package/dist/highlighter/themes/attachResolvedThemes.js.map +1 -1
- package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/cleanUpResolvedThemes.js +1 -2
- package/dist/highlighter/themes/cleanUpResolvedThemes.js.map +1 -1
- package/dist/highlighter/themes/constants.d.ts.map +1 -1
- package/dist/highlighter/themes/constants.js +1 -1
- package/dist/highlighter/themes/constants.js.map +1 -1
- package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts.map +1 -1
- package/dist/highlighter/themes/getResolvedOrResolveTheme.js +1 -2
- package/dist/highlighter/themes/getResolvedOrResolveTheme.js.map +1 -1
- package/dist/highlighter/themes/getResolvedThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/getResolvedThemes.js +1 -2
- package/dist/highlighter/themes/getResolvedThemes.js.map +1 -1
- package/dist/highlighter/themes/hasResolvedThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/hasResolvedThemes.js +1 -2
- package/dist/highlighter/themes/hasResolvedThemes.js.map +1 -1
- package/dist/highlighter/themes/registerCustomCSSVariableTheme.d.ts.map +1 -1
- package/dist/highlighter/themes/registerCustomCSSVariableTheme.js +1 -2
- package/dist/highlighter/themes/registerCustomCSSVariableTheme.js.map +1 -1
- package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -1
- package/dist/highlighter/themes/registerCustomTheme.js +1 -2
- package/dist/highlighter/themes/registerCustomTheme.js.map +1 -1
- package/dist/highlighter/themes/resolveTheme.d.ts.map +1 -1
- package/dist/highlighter/themes/resolveTheme.js +1 -2
- package/dist/highlighter/themes/resolveTheme.js.map +1 -1
- package/dist/highlighter/themes/resolveThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/resolveThemes.js +1 -2
- package/dist/highlighter/themes/resolveThemes.js.map +1 -1
- package/dist/highlighter/themes/themeResolution.d.ts.map +1 -1
- package/dist/highlighter/themes/themeResolution.js +1 -2
- package/dist/highlighter/themes/themeResolution.js.map +1 -1
- package/dist/highlighter/themes/themeResolver.d.ts +2 -2
- package/dist/highlighter/themes/themeResolver.d.ts.map +1 -1
- package/dist/highlighter/themes/themeResolver.js +1 -2
- package/dist/highlighter/themes/themeResolver.js.map +1 -1
- package/dist/index.d.ts +12 -10
- package/dist/index.js +4 -3
- package/dist/managers/InteractionManager.d.ts +7 -0
- package/dist/managers/InteractionManager.d.ts.map +1 -1
- package/dist/managers/InteractionManager.js +25 -4
- package/dist/managers/InteractionManager.js.map +1 -1
- package/dist/managers/ResizeManager.d.ts.map +1 -1
- package/dist/managers/ResizeManager.js +1 -1
- package/dist/managers/ResizeManager.js.map +1 -1
- package/dist/managers/ScrollSyncManager.d.ts.map +1 -1
- package/dist/managers/ScrollSyncManager.js +1 -1
- package/dist/managers/ScrollSyncManager.js.map +1 -1
- package/dist/managers/UniversalRenderingManager.d.ts.map +1 -1
- package/dist/managers/UniversalRenderingManager.js +2 -2
- package/dist/managers/UniversalRenderingManager.js.map +1 -1
- package/dist/node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.d.ts +228 -0
- package/dist/node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.d.ts.map +1 -0
- package/dist/node_modules/.pnpm/@types_unist@3.0.3/node_modules/@types/unist/index.d.ts +84 -0
- package/dist/node_modules/.pnpm/@types_unist@3.0.3/node_modules/@types/unist/index.d.ts.map +1 -0
- package/dist/react/CodeView.d.ts +1 -1
- package/dist/react/CodeView.d.ts.map +1 -1
- package/dist/react/CodeView.js +17 -16
- package/dist/react/CodeView.js.map +1 -1
- package/dist/react/EditorContext.d.ts +0 -1
- package/dist/react/EditorContext.d.ts.map +1 -1
- package/dist/react/EditorContext.js +2 -5
- package/dist/react/EditorContext.js.map +1 -1
- package/dist/react/File.d.ts +1 -0
- package/dist/react/File.d.ts.map +1 -1
- package/dist/react/File.js +4 -6
- package/dist/react/File.js.map +1 -1
- package/dist/react/FileDiff.d.ts +1 -0
- package/dist/react/FileDiff.d.ts.map +1 -1
- package/dist/react/FileDiff.js +4 -6
- package/dist/react/FileDiff.js.map +1 -1
- package/dist/react/MultiFileDiff.d.ts +4 -4
- package/dist/react/MultiFileDiff.d.ts.map +1 -1
- package/dist/react/MultiFileDiff.js +4 -6
- package/dist/react/MultiFileDiff.js.map +1 -1
- package/dist/react/PatchDiff.d.ts +1 -0
- package/dist/react/PatchDiff.d.ts.map +1 -1
- package/dist/react/PatchDiff.js +4 -6
- package/dist/react/PatchDiff.js.map +1 -1
- package/dist/react/UnresolvedFile.d.ts +2 -1
- package/dist/react/UnresolvedFile.d.ts.map +1 -1
- package/dist/react/UnresolvedFile.js +4 -6
- package/dist/react/UnresolvedFile.js.map +1 -1
- package/dist/react/Virtualizer.d.ts.map +1 -1
- package/dist/react/Virtualizer.js +2 -5
- package/dist/react/Virtualizer.js.map +1 -1
- package/dist/react/WorkerPoolContext.d.ts +0 -1
- package/dist/react/WorkerPoolContext.d.ts.map +1 -1
- package/dist/react/WorkerPoolContext.js +2 -5
- package/dist/react/WorkerPoolContext.js.map +1 -1
- package/dist/react/constants.d.ts.map +1 -1
- package/dist/react/constants.js +1 -1
- package/dist/react/constants.js.map +1 -1
- package/dist/react/index.d.ts +2 -2
- package/dist/react/index.js +1 -2
- package/dist/react/jsx.d.ts +0 -2
- package/dist/react/jsx.d.ts.map +1 -1
- package/dist/react/types.d.ts +2 -0
- package/dist/react/types.d.ts.map +1 -1
- package/dist/react/utils/renderDiffChildren.d.ts +2 -0
- package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
- package/dist/react/utils/renderDiffChildren.js +18 -11
- package/dist/react/utils/renderDiffChildren.js.map +1 -1
- package/dist/react/utils/renderFileChildren.d.ts +2 -0
- package/dist/react/utils/renderFileChildren.d.ts.map +1 -1
- package/dist/react/utils/renderFileChildren.js +18 -11
- package/dist/react/utils/renderFileChildren.js.map +1 -1
- package/dist/react/utils/templateRender.d.ts.map +1 -1
- package/dist/react/utils/templateRender.js +1 -2
- package/dist/react/utils/templateRender.js.map +1 -1
- package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
- package/dist/react/utils/useFileDiffInstance.js +15 -18
- package/dist/react/utils/useFileDiffInstance.js.map +1 -1
- package/dist/react/utils/useFileInstance.d.ts.map +1 -1
- package/dist/react/utils/useFileInstance.js +1 -2
- package/dist/react/utils/useFileInstance.js.map +1 -1
- package/dist/react/utils/useStableCallback.d.ts.map +1 -1
- package/dist/react/utils/useStableCallback.js +1 -2
- package/dist/react/utils/useStableCallback.js.map +1 -1
- package/dist/react/utils/useUnresolvedFileInstance.d.ts.map +1 -1
- package/dist/react/utils/useUnresolvedFileInstance.js +10 -11
- package/dist/react/utils/useUnresolvedFileInstance.js.map +1 -1
- package/dist/renderers/DiffHunksRenderer.d.ts +2 -3
- package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/DiffHunksRenderer.js +52 -33
- package/dist/renderers/DiffHunksRenderer.js.map +1 -1
- package/dist/renderers/FileRenderer.d.ts +1 -3
- package/dist/renderers/FileRenderer.d.ts.map +1 -1
- package/dist/renderers/FileRenderer.js +14 -11
- package/dist/renderers/FileRenderer.js.map +1 -1
- package/dist/renderers/UnresolvedFileHunksRenderer.d.ts +1 -2
- package/dist/renderers/UnresolvedFileHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/UnresolvedFileHunksRenderer.js +1 -2
- package/dist/renderers/UnresolvedFileHunksRenderer.js.map +1 -1
- package/dist/shiki-stream/index.js +1 -2
- package/dist/shiki-stream/stream.d.ts +0 -1
- package/dist/shiki-stream/stream.d.ts.map +1 -1
- package/dist/shiki-stream/stream.js +1 -2
- package/dist/shiki-stream/stream.js.map +1 -1
- package/dist/shiki-stream/tokenizer.d.ts.map +1 -1
- package/dist/shiki-stream/tokenizer.js +1 -1
- package/dist/shiki-stream/tokenizer.js.map +1 -1
- package/dist/shiki-stream/types.d.ts +0 -1
- package/dist/shiki-stream/types.d.ts.map +1 -1
- package/dist/sprite.d.ts.map +1 -1
- package/dist/sprite.js +1 -1
- package/dist/ssr/FileDiffReact.d.ts.map +1 -1
- package/dist/ssr/FileDiffReact.js +5 -8
- package/dist/ssr/FileDiffReact.js.map +1 -1
- package/dist/ssr/index.d.ts +2 -2
- package/dist/ssr/index.js +1 -2
- package/dist/ssr/preloadDiffs.d.ts +12 -11
- package/dist/ssr/preloadDiffs.d.ts.map +1 -1
- package/dist/ssr/preloadDiffs.js +15 -8
- package/dist/ssr/preloadDiffs.js.map +1 -1
- package/dist/ssr/preloadFile.d.ts.map +1 -1
- package/dist/ssr/preloadFile.js +1 -2
- package/dist/ssr/preloadFile.js.map +1 -1
- package/dist/ssr/preloadPatchFile.d.ts.map +1 -1
- package/dist/ssr/preloadPatchFile.js +2 -3
- package/dist/ssr/preloadPatchFile.js.map +1 -1
- package/dist/ssr/renderHTML.d.ts +1 -1
- package/dist/ssr/renderHTML.d.ts.map +1 -1
- package/dist/ssr/renderHTML.js +1 -2
- package/dist/ssr/renderHTML.js.map +1 -1
- package/dist/string-import.d.ts +4 -0
- package/dist/string-import.d.ts.map +1 -1
- package/dist/style.js +3 -3
- package/dist/style.js.map +1 -1
- package/dist/types.d.ts +67 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/areDiffLineAnnotationsEqual.d.ts.map +1 -1
- package/dist/utils/areDiffLineAnnotationsEqual.js +1 -1
- package/dist/utils/areDiffLineAnnotationsEqual.js.map +1 -1
- package/dist/utils/areDiffRenderOptionsEqual.d.ts.map +1 -1
- package/dist/utils/areDiffRenderOptionsEqual.js +1 -2
- package/dist/utils/areDiffRenderOptionsEqual.js.map +1 -1
- package/dist/utils/areDiffTargetsEqual.d.ts.map +1 -1
- package/dist/utils/areDiffTargetsEqual.js +1 -1
- package/dist/utils/areDiffTargetsEqual.js.map +1 -1
- package/dist/utils/areFileRenderOptionsEqual.d.ts.map +1 -1
- package/dist/utils/areFileRenderOptionsEqual.js +1 -2
- package/dist/utils/areFileRenderOptionsEqual.js.map +1 -1
- package/dist/utils/areFilesEqual.d.ts.map +1 -1
- package/dist/utils/areFilesEqual.js +1 -1
- package/dist/utils/areFilesEqual.js.map +1 -1
- package/dist/utils/areHunkDataEqual.d.ts.map +1 -1
- package/dist/utils/areHunkDataEqual.js +2 -2
- package/dist/utils/areHunkDataEqual.js.map +1 -1
- package/dist/utils/areLineAnnotationsEqual.d.ts.map +1 -1
- package/dist/utils/areLineAnnotationsEqual.js +1 -1
- package/dist/utils/areLineAnnotationsEqual.js.map +1 -1
- package/dist/utils/areManagedSnapshotsEqual.d.ts.map +1 -1
- package/dist/utils/areManagedSnapshotsEqual.js +1 -1
- package/dist/utils/areManagedSnapshotsEqual.js.map +1 -1
- package/dist/utils/areMergeConflictActionsEqual.d.ts.map +1 -1
- package/dist/utils/areMergeConflictActionsEqual.js +1 -1
- package/dist/utils/areMergeConflictActionsEqual.js.map +1 -1
- package/dist/utils/areObjectsEqual.d.ts.map +1 -1
- package/dist/utils/areObjectsEqual.js +1 -1
- package/dist/utils/areObjectsEqual.js.map +1 -1
- package/dist/utils/areOptionsEqual.d.ts +0 -2
- package/dist/utils/areOptionsEqual.d.ts.map +1 -1
- package/dist/utils/areOptionsEqual.js +1 -2
- package/dist/utils/areOptionsEqual.js.map +1 -1
- package/dist/utils/arePrePropertiesEqual.d.ts.map +1 -1
- package/dist/utils/arePrePropertiesEqual.js +1 -1
- package/dist/utils/arePrePropertiesEqual.js.map +1 -1
- package/dist/utils/areRenderRangesEqual.d.ts.map +1 -1
- package/dist/utils/areRenderRangesEqual.js +1 -1
- package/dist/utils/areRenderRangesEqual.js.map +1 -1
- package/dist/utils/areSelectionPointsEqual.d.ts.map +1 -1
- package/dist/utils/areSelectionPointsEqual.js +1 -1
- package/dist/utils/areSelectionPointsEqual.js.map +1 -1
- package/dist/utils/areSelectionsEqual.d.ts.map +1 -1
- package/dist/utils/areSelectionsEqual.js +1 -1
- package/dist/utils/areSelectionsEqual.js.map +1 -1
- package/dist/utils/areThemesEqual.d.ts.map +1 -1
- package/dist/utils/areThemesEqual.js +1 -1
- package/dist/utils/areThemesEqual.js.map +1 -1
- package/dist/utils/areVirtualWindowSpecsEqual.d.ts.map +1 -1
- package/dist/utils/areVirtualWindowSpecsEqual.js +1 -1
- package/dist/utils/areVirtualWindowSpecsEqual.js.map +1 -1
- package/dist/utils/areWorkerStatsEqual.d.ts +0 -2
- package/dist/utils/areWorkerStatsEqual.d.ts.map +1 -1
- package/dist/utils/areWorkerStatsEqual.js +1 -1
- package/dist/utils/areWorkerStatsEqual.js.map +1 -1
- package/dist/utils/awaitWithTimeout.d.ts +5 -0
- package/dist/utils/awaitWithTimeout.d.ts.map +1 -0
- package/dist/utils/awaitWithTimeout.js +15 -0
- package/dist/utils/awaitWithTimeout.js.map +1 -0
- package/dist/utils/cleanLastNewline.d.ts.map +1 -1
- package/dist/utils/cleanLastNewline.js +1 -1
- package/dist/utils/cleanLastNewline.js.map +1 -1
- package/dist/utils/cloneFileDiffMetadata.d.ts +7 -0
- package/dist/utils/cloneFileDiffMetadata.d.ts.map +1 -0
- package/dist/utils/cloneFileDiffMetadata.js +16 -0
- package/dist/utils/cloneFileDiffMetadata.js.map +1 -0
- package/dist/utils/computeEstimatedDiffHeights.d.ts +3 -1
- package/dist/utils/computeEstimatedDiffHeights.d.ts.map +1 -1
- package/dist/utils/computeEstimatedDiffHeights.js +9 -3
- package/dist/utils/computeEstimatedDiffHeights.js.map +1 -1
- package/dist/utils/computeFileOffsets.d.ts +9 -1
- package/dist/utils/computeFileOffsets.d.ts.map +1 -1
- package/dist/utils/computeFileOffsets.js +20 -2
- package/dist/utils/computeFileOffsets.js.map +1 -1
- package/dist/utils/computeVirtualFileMetrics.d.ts.map +1 -1
- package/dist/utils/computeVirtualFileMetrics.js +1 -2
- package/dist/utils/computeVirtualFileMetrics.js.map +1 -1
- package/dist/utils/createAnnotationElement.d.ts +1 -1
- package/dist/utils/createAnnotationElement.d.ts.map +1 -1
- package/dist/utils/createAnnotationElement.js +1 -2
- package/dist/utils/createAnnotationElement.js.map +1 -1
- package/dist/utils/createAnnotationWrapperNode.d.ts.map +1 -1
- package/dist/utils/createAnnotationWrapperNode.js +1 -1
- package/dist/utils/createAnnotationWrapperNode.js.map +1 -1
- package/dist/utils/createContentColumn.d.ts +1 -1
- package/dist/utils/createContentColumn.d.ts.map +1 -1
- package/dist/utils/createContentColumn.js +1 -2
- package/dist/utils/createContentColumn.js.map +1 -1
- package/dist/utils/createEmptyRowBuffer.d.ts +1 -1
- package/dist/utils/createEmptyRowBuffer.d.ts.map +1 -1
- package/dist/utils/createEmptyRowBuffer.js +1 -2
- package/dist/utils/createEmptyRowBuffer.js.map +1 -1
- package/dist/utils/createFileHeaderElement.d.ts +1 -1
- package/dist/utils/createFileHeaderElement.d.ts.map +1 -1
- package/dist/utils/createFileHeaderElement.js +6 -3
- package/dist/utils/createFileHeaderElement.js.map +1 -1
- package/dist/utils/createGutterUtilityContentNode.d.ts.map +1 -1
- package/dist/utils/createGutterUtilityContentNode.js +1 -1
- package/dist/utils/createGutterUtilityContentNode.js.map +1 -1
- package/dist/utils/createGutterUtilityElement.d.ts +1 -1
- package/dist/utils/createGutterUtilityElement.d.ts.map +1 -1
- package/dist/utils/createGutterUtilityElement.js +1 -2
- package/dist/utils/createGutterUtilityElement.js.map +1 -1
- package/dist/utils/createNoNewlineElement.d.ts +1 -1
- package/dist/utils/createNoNewlineElement.d.ts.map +1 -1
- package/dist/utils/createNoNewlineElement.js +1 -2
- package/dist/utils/createNoNewlineElement.js.map +1 -1
- package/dist/utils/createPreElement.d.ts +1 -1
- package/dist/utils/createPreElement.d.ts.map +1 -1
- package/dist/utils/createPreElement.js +1 -3
- package/dist/utils/createPreElement.js.map +1 -1
- package/dist/utils/createRowNodes.d.ts.map +1 -1
- package/dist/utils/createRowNodes.js +1 -1
- package/dist/utils/createRowNodes.js.map +1 -1
- package/dist/utils/createSeparator.d.ts +1 -1
- package/dist/utils/createSeparator.d.ts.map +1 -1
- package/dist/utils/createSeparator.js +1 -2
- package/dist/utils/createSeparator.js.map +1 -1
- package/dist/utils/createSpanNodeFromToken.d.ts.map +1 -1
- package/dist/utils/createSpanNodeFromToken.js +1 -2
- package/dist/utils/createSpanNodeFromToken.js.map +1 -1
- package/dist/utils/createStyleElement.d.ts +1 -1
- package/dist/utils/createStyleElement.d.ts.map +1 -1
- package/dist/utils/createStyleElement.js +1 -2
- package/dist/utils/createStyleElement.js.map +1 -1
- package/dist/utils/createTransformerWithState.d.ts.map +1 -1
- package/dist/utils/createTransformerWithState.js +1 -2
- package/dist/utils/createTransformerWithState.js.map +1 -1
- package/dist/utils/createUnsafeCSSStyleNode.d.ts.map +1 -1
- package/dist/utils/createUnsafeCSSStyleNode.js +1 -2
- package/dist/utils/createUnsafeCSSStyleNode.js.map +1 -1
- package/dist/utils/createWindowFromScrollPosition.d.ts.map +1 -1
- package/dist/utils/createWindowFromScrollPosition.js +5 -5
- package/dist/utils/createWindowFromScrollPosition.js.map +1 -1
- package/dist/utils/cssWrappers.d.ts.map +1 -1
- package/dist/utils/cssWrappers.js +2 -3
- package/dist/utils/cssWrappers.js.map +1 -1
- package/dist/utils/detachString.d.ts.map +1 -1
- package/dist/utils/detachString.js +1 -1
- package/dist/utils/detachString.js.map +1 -1
- package/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -1
- package/dist/utils/diffAcceptRejectHunk.js +1 -2
- package/dist/utils/diffAcceptRejectHunk.js.map +1 -1
- package/dist/utils/formatCSSVariablePrefix.d.ts.map +1 -1
- package/dist/utils/formatCSSVariablePrefix.js +1 -1
- package/dist/utils/formatCSSVariablePrefix.js.map +1 -1
- package/dist/utils/getDiffFileInput.d.ts +14 -0
- package/dist/utils/getDiffFileInput.d.ts.map +1 -0
- package/dist/utils/getDiffFileInput.js +24 -0
- package/dist/utils/getDiffFileInput.js.map +1 -0
- package/dist/utils/getDiffHunksRendererOptions.d.ts.map +1 -1
- package/dist/utils/getDiffHunksRendererOptions.js +2 -1
- package/dist/utils/getDiffHunksRendererOptions.js.map +1 -1
- package/dist/utils/getFileRendererOptions.d.ts.map +1 -1
- package/dist/utils/getFileRendererOptions.js +1 -1
- package/dist/utils/getFileRendererOptions.js.map +1 -1
- package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
- package/dist/utils/getFiletypeFromFileName.js +3 -1
- package/dist/utils/getFiletypeFromFileName.js.map +1 -1
- package/dist/utils/getHighlighterOptions.d.ts.map +1 -1
- package/dist/utils/getHighlighterOptions.js +1 -2
- package/dist/utils/getHighlighterOptions.js.map +1 -1
- package/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -1
- package/dist/utils/getHighlighterThemeStyles.js +1 -2
- package/dist/utils/getHighlighterThemeStyles.js.map +1 -1
- package/dist/utils/getHunkSeparatorSlotName.d.ts.map +1 -1
- package/dist/utils/getHunkSeparatorSlotName.js +1 -1
- package/dist/utils/getHunkSeparatorSlotName.js.map +1 -1
- package/dist/utils/getIconForType.d.ts.map +1 -1
- package/dist/utils/getIconForType.js +1 -1
- package/dist/utils/getIconForType.js.map +1 -1
- package/dist/utils/getLineAnnotationName.d.ts.map +1 -1
- package/dist/utils/getLineAnnotationName.js +1 -1
- package/dist/utils/getLineAnnotationName.js.map +1 -1
- package/dist/utils/getLineEndingType.d.ts.map +1 -1
- package/dist/utils/getLineEndingType.js +1 -1
- package/dist/utils/getLineEndingType.js.map +1 -1
- package/dist/utils/getLineNodes.d.ts +1 -1
- package/dist/utils/getLineNodes.d.ts.map +1 -1
- package/dist/utils/getLineNodes.js +1 -1
- package/dist/utils/getLineNodes.js.map +1 -1
- package/dist/utils/getMergeConflictActionSlotName.d.ts.map +1 -1
- package/dist/utils/getMergeConflictActionSlotName.js +1 -1
- package/dist/utils/getMergeConflictActionSlotName.js.map +1 -1
- package/dist/utils/getMergeConflictLineTypes.d.ts.map +1 -1
- package/dist/utils/getMergeConflictLineTypes.js +1 -2
- package/dist/utils/getMergeConflictLineTypes.js.map +1 -1
- package/dist/utils/getOrCreateCodeNode.d.ts.map +1 -1
- package/dist/utils/getOrCreateCodeNode.js +1 -1
- package/dist/utils/getOrCreateCodeNode.js.map +1 -1
- package/dist/utils/getSingularPatch.d.ts.map +1 -1
- package/dist/utils/getSingularPatch.js +1 -2
- package/dist/utils/getSingularPatch.js.map +1 -1
- package/dist/utils/getThemes.d.ts.map +1 -1
- package/dist/utils/getThemes.js +1 -2
- package/dist/utils/getThemes.js.map +1 -1
- package/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -1
- package/dist/utils/getTotalLineCountFromHunks.js +1 -1
- package/dist/utils/getTotalLineCountFromHunks.js.map +1 -1
- package/dist/utils/hast_utils.d.ts +1 -1
- package/dist/utils/hast_utils.d.ts.map +1 -1
- package/dist/utils/hast_utils.js +1 -1
- package/dist/utils/hast_utils.js.map +1 -1
- package/dist/utils/hostTheme.d.ts.map +1 -1
- package/dist/utils/hostTheme.js +1 -2
- package/dist/utils/hostTheme.js.map +1 -1
- package/dist/utils/hydratePartialDiff.d.ts +10 -0
- package/dist/utils/hydratePartialDiff.d.ts.map +1 -0
- package/dist/utils/hydratePartialDiff.js +140 -0
- package/dist/utils/hydratePartialDiff.js.map +1 -0
- package/dist/utils/includesFileAnnotations.d.ts.map +1 -1
- package/dist/utils/includesFileAnnotations.js +5 -5
- package/dist/utils/includesFileAnnotations.js.map +1 -1
- package/dist/utils/isDefaultRenderRange.d.ts.map +1 -1
- package/dist/utils/isDefaultRenderRange.js +1 -1
- package/dist/utils/isDefaultRenderRange.js.map +1 -1
- package/dist/utils/isDiffPlainText.d.ts.map +1 -1
- package/dist/utils/isDiffPlainText.js +1 -2
- package/dist/utils/isDiffPlainText.js.map +1 -1
- package/dist/utils/isFilePlainText.d.ts.map +1 -1
- package/dist/utils/isFilePlainText.js +1 -2
- package/dist/utils/isFilePlainText.js.map +1 -1
- package/dist/utils/isStyleNode.d.ts.map +1 -1
- package/dist/utils/isStyleNode.js +1 -1
- package/dist/utils/isStyleNode.js.map +1 -1
- package/dist/utils/isWorkerContext.d.ts.map +1 -1
- package/dist/utils/isWorkerContext.js +1 -1
- package/dist/utils/isWorkerContext.js.map +1 -1
- package/dist/utils/iterateOverDiff.d.ts.map +1 -1
- package/dist/utils/iterateOverDiff.js +47 -48
- package/dist/utils/iterateOverDiff.js.map +1 -1
- package/dist/utils/normalizeDiffResolution.d.ts.map +1 -1
- package/dist/utils/normalizeDiffResolution.js +1 -1
- package/dist/utils/normalizeDiffResolution.js.map +1 -1
- package/dist/utils/parseDiffDecorations.d.ts.map +1 -1
- package/dist/utils/parseDiffDecorations.js +1 -2
- package/dist/utils/parseDiffDecorations.js.map +1 -1
- package/dist/utils/parseDiffFromFile.d.ts +1 -2
- package/dist/utils/parseDiffFromFile.d.ts.map +1 -1
- package/dist/utils/parseDiffFromFile.js +27 -7
- package/dist/utils/parseDiffFromFile.js.map +1 -1
- package/dist/utils/parseLineType.d.ts.map +1 -1
- package/dist/utils/parseLineType.js +1 -1
- package/dist/utils/parseLineType.js.map +1 -1
- package/dist/utils/parseMergeConflictDiffFromFile.d.ts.map +1 -1
- package/dist/utils/parseMergeConflictDiffFromFile.js +5 -5
- package/dist/utils/parseMergeConflictDiffFromFile.js.map +1 -1
- package/dist/utils/parsePatchFiles.d.ts.map +1 -1
- package/dist/utils/parsePatchFiles.js +6 -7
- package/dist/utils/parsePatchFiles.js.map +1 -1
- package/dist/utils/prefersReducedMotion.d.ts.map +1 -1
- package/dist/utils/prefersReducedMotion.js +1 -1
- package/dist/utils/prefersReducedMotion.js.map +1 -1
- package/dist/utils/prerenderHTMLIfNecessary.d.ts.map +1 -1
- package/dist/utils/prerenderHTMLIfNecessary.js +1 -1
- package/dist/utils/prerenderHTMLIfNecessary.js.map +1 -1
- package/dist/utils/processLine.d.ts +1 -1
- package/dist/utils/processLine.d.ts.map +1 -1
- package/dist/utils/processLine.js +1 -2
- package/dist/utils/processLine.js.map +1 -1
- package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
- package/dist/utils/renderDiffWithHighlighter.js +4 -5
- package/dist/utils/renderDiffWithHighlighter.js.map +1 -1
- package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
- package/dist/utils/renderFileWithHighlighter.js +1 -2
- package/dist/utils/renderFileWithHighlighter.js.map +1 -1
- package/dist/utils/resolveConflict.d.ts.map +1 -1
- package/dist/utils/resolveConflict.js +1 -2
- package/dist/utils/resolveConflict.js.map +1 -1
- package/dist/utils/resolveRegion.d.ts.map +1 -1
- package/dist/utils/resolveRegion.js +1 -1
- package/dist/utils/resolveRegion.js.map +1 -1
- package/dist/utils/roundToDevicePixel.d.ts.map +1 -1
- package/dist/utils/roundToDevicePixel.js +1 -1
- package/dist/utils/roundToDevicePixel.js.map +1 -1
- package/dist/utils/scrollbarGutter.d.ts.map +1 -1
- package/dist/utils/scrollbarGutter.js +1 -2
- package/dist/utils/scrollbarGutter.js.map +1 -1
- package/dist/utils/setLanguageOverride.d.ts.map +1 -1
- package/dist/utils/setLanguageOverride.js +1 -1
- package/dist/utils/setLanguageOverride.js.map +1 -1
- package/dist/utils/setWrapperNodeProps.d.ts.map +1 -1
- package/dist/utils/setWrapperNodeProps.js +1 -2
- package/dist/utils/setWrapperNodeProps.js.map +1 -1
- package/dist/utils/shouldUseTokenTransformer.d.ts.map +1 -1
- package/dist/utils/shouldUseTokenTransformer.js +1 -1
- package/dist/utils/shouldUseTokenTransformer.js.map +1 -1
- package/dist/utils/splitFileContents.d.ts.map +1 -1
- package/dist/utils/splitFileContents.js +1 -2
- package/dist/utils/splitFileContents.js.map +1 -1
- package/dist/utils/trimPatchContext.d.ts.map +1 -1
- package/dist/utils/trimPatchContext.js +1 -2
- package/dist/utils/trimPatchContext.js.map +1 -1
- package/dist/utils/updateDiffHunks.d.ts +6 -1
- package/dist/utils/updateDiffHunks.d.ts.map +1 -1
- package/dist/utils/updateDiffHunks.js +44 -3
- package/dist/utils/updateDiffHunks.js.map +1 -1
- package/dist/utils/virtualDiffLayout.d.ts.map +1 -1
- package/dist/utils/virtualDiffLayout.js +1 -2
- package/dist/utils/virtualDiffLayout.js.map +1 -1
- package/dist/utils/wrapTokenFragments.d.ts +1 -1
- package/dist/utils/wrapTokenFragments.d.ts.map +1 -1
- package/dist/utils/wrapTokenFragments.js +1 -2
- package/dist/utils/wrapTokenFragments.js.map +1 -1
- package/dist/worker/WorkerPoolManager.d.ts +7 -2
- package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
- package/dist/worker/WorkerPoolManager.js +83 -20
- package/dist/worker/WorkerPoolManager.js.map +1 -1
- package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts.map +1 -1
- package/dist/worker/getOrCreateWorkerPoolSingleton.js +1 -2
- package/dist/worker/getOrCreateWorkerPoolSingleton.js.map +1 -1
- package/dist/worker/index.d.ts +2 -2
- package/dist/worker/index.js +1 -2
- package/dist/worker/types.d.ts +7 -1
- package/dist/worker/types.d.ts.map +1 -1
- package/dist/worker/wasm-B9ZqxnKj.js +8 -0
- package/dist/worker/wasm-B9ZqxnKj.js.map +1 -0
- package/dist/worker/worker-portable.js +2784 -6406
- package/dist/worker/worker-portable.js.map +1 -1
- package/dist/worker/worker.js +94 -126
- package/dist/worker/worker.js.map +1 -1
- package/package.json +13 -14
- package/dist/worker/wasm-qE0LgnY3.js +0 -10
- package/dist/worker/wasm-qE0LgnY3.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areMergeConflictActionsEqual.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"areMergeConflictActionsEqual.d.ts","names":[],"sources":["../../src/utils/areMergeConflictActionsEqual.ts"],"mappings":";;;iBAGgB,4BAAA,CACd,CAAA,EAAG,uBAAA,EACH,CAAA,EAAG,uBAAuB"}
|
|
@@ -5,7 +5,7 @@ function areMergeConflictActionsEqual(a, b) {
|
|
|
5
5
|
function areConflictsEqual(a, b) {
|
|
6
6
|
return a.conflictIndex === b.conflictIndex && a.startLineIndex === b.startLineIndex && a.startLineNumber === b.startLineNumber && a.separatorLineIndex === b.separatorLineIndex && a.separatorLineNumber === b.separatorLineNumber && a.endLineIndex === b.endLineIndex && a.endLineNumber === b.endLineNumber && a.baseMarkerLineIndex === b.baseMarkerLineIndex && a.baseMarkerLineNumber === b.baseMarkerLineNumber;
|
|
7
7
|
}
|
|
8
|
-
|
|
9
8
|
//#endregion
|
|
10
9
|
export { areMergeConflictActionsEqual };
|
|
10
|
+
|
|
11
11
|
//# sourceMappingURL=areMergeConflictActionsEqual.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areMergeConflictActionsEqual.js","names":[],"sources":["../../src/utils/areMergeConflictActionsEqual.ts"],"sourcesContent":["import type { MergeConflictRegion } from '../types';\nimport type { MergeConflictDiffAction } from './parseMergeConflictDiffFromFile';\n\nexport function areMergeConflictActionsEqual(\n a: MergeConflictDiffAction,\n b: MergeConflictDiffAction\n): boolean {\n return (\n a.hunkIndex === b.hunkIndex &&\n a.startContentIndex === b.startContentIndex &&\n a.endContentIndex === b.endContentIndex &&\n a.currentContentIndex === b.currentContentIndex &&\n a.baseContentIndex === b.baseContentIndex &&\n a.incomingContentIndex === b.incomingContentIndex &&\n a.endMarkerContentIndex === b.endMarkerContentIndex &&\n a.conflictIndex === b.conflictIndex &&\n areConflictsEqual(a.conflict, b.conflict)\n );\n}\n\nfunction areConflictsEqual(a: MergeConflictRegion, b: MergeConflictRegion) {\n return (\n a.conflictIndex === b.conflictIndex &&\n a.startLineIndex === b.startLineIndex &&\n a.startLineNumber === b.startLineNumber &&\n a.separatorLineIndex === b.separatorLineIndex &&\n a.separatorLineNumber === b.separatorLineNumber &&\n a.endLineIndex === b.endLineIndex &&\n a.endLineNumber === b.endLineNumber &&\n a.baseMarkerLineIndex === b.baseMarkerLineIndex &&\n a.baseMarkerLineNumber === b.baseMarkerLineNumber\n );\n}\n"],"mappings":";AAGA,SAAgB,6BACd,GACA,GACS;
|
|
1
|
+
{"version":3,"file":"areMergeConflictActionsEqual.js","names":[],"sources":["../../src/utils/areMergeConflictActionsEqual.ts"],"sourcesContent":["import type { MergeConflictRegion } from '../types';\nimport type { MergeConflictDiffAction } from './parseMergeConflictDiffFromFile';\n\nexport function areMergeConflictActionsEqual(\n a: MergeConflictDiffAction,\n b: MergeConflictDiffAction\n): boolean {\n return (\n a.hunkIndex === b.hunkIndex &&\n a.startContentIndex === b.startContentIndex &&\n a.endContentIndex === b.endContentIndex &&\n a.currentContentIndex === b.currentContentIndex &&\n a.baseContentIndex === b.baseContentIndex &&\n a.incomingContentIndex === b.incomingContentIndex &&\n a.endMarkerContentIndex === b.endMarkerContentIndex &&\n a.conflictIndex === b.conflictIndex &&\n areConflictsEqual(a.conflict, b.conflict)\n );\n}\n\nfunction areConflictsEqual(a: MergeConflictRegion, b: MergeConflictRegion) {\n return (\n a.conflictIndex === b.conflictIndex &&\n a.startLineIndex === b.startLineIndex &&\n a.startLineNumber === b.startLineNumber &&\n a.separatorLineIndex === b.separatorLineIndex &&\n a.separatorLineNumber === b.separatorLineNumber &&\n a.endLineIndex === b.endLineIndex &&\n a.endLineNumber === b.endLineNumber &&\n a.baseMarkerLineIndex === b.baseMarkerLineIndex &&\n a.baseMarkerLineNumber === b.baseMarkerLineNumber\n );\n}\n"],"mappings":";AAGA,SAAgB,6BACd,GACA,GACS;CACT,OACE,EAAE,cAAc,EAAE,aAClB,EAAE,sBAAsB,EAAE,qBAC1B,EAAE,oBAAoB,EAAE,mBACxB,EAAE,wBAAwB,EAAE,uBAC5B,EAAE,qBAAqB,EAAE,oBACzB,EAAE,yBAAyB,EAAE,wBAC7B,EAAE,0BAA0B,EAAE,yBAC9B,EAAE,kBAAkB,EAAE,iBACtB,kBAAkB,EAAE,UAAU,EAAE,QAAQ;AAE5C;AAEA,SAAS,kBAAkB,GAAwB,GAAwB;CACzE,OACE,EAAE,kBAAkB,EAAE,iBACtB,EAAE,mBAAmB,EAAE,kBACvB,EAAE,oBAAoB,EAAE,mBACxB,EAAE,uBAAuB,EAAE,sBAC3B,EAAE,wBAAwB,EAAE,uBAC5B,EAAE,iBAAiB,EAAE,gBACrB,EAAE,kBAAkB,EAAE,iBACtB,EAAE,wBAAwB,EAAE,uBAC5B,EAAE,yBAAyB,EAAE;AAEjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areObjectsEqual.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"areObjectsEqual.d.ts","names":[],"sources":["../../src/utils/areObjectsEqual.ts"],"mappings":";iBAAgB,eAAA,mBACd,IAAA,EAAM,CAAA,cACN,IAAA,EAAM,CAAA,cACN,QAAA,UAAkB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areObjectsEqual.js","names":[],"sources":["../../src/utils/areObjectsEqual.ts"],"sourcesContent":["export function areObjectsEqual<T extends object>(\n objA: T | undefined,\n objB: T | undefined,\n omitKeys?: (keyof T)[]\n): boolean {\n // Lets get out of here early if they are the same or either is undefined\n if (objA === objB || objA == null || objB == null) {\n return objA === objB;\n }\n\n // Convert array to Set for O(1) lookup\n const omitSet = new Set(omitKeys);\n const keysA = Object.keys(objA) as (keyof T)[];\n const keysBSet = new Set(Object.keys(objB) as (keyof T)[]);\n\n // Compare keys from objA\n for (const key of keysA) {\n keysBSet.delete(key);\n if (omitSet.has(key)) {\n continue;\n }\n\n if (!(key in objB) || objA[key] !== objB[key]) {\n return false;\n }\n }\n\n // If we got any remaining keys that aren't omitted in objB,\n // then we gotta return false\n for (const key of Array.from(keysBSet)) {\n if (!omitSet.has(key)) {\n return false;\n }\n }\n\n return true;\n}\n"],"mappings":";AAAA,SAAgB,gBACd,MACA,MACA,UACS;
|
|
1
|
+
{"version":3,"file":"areObjectsEqual.js","names":[],"sources":["../../src/utils/areObjectsEqual.ts"],"sourcesContent":["export function areObjectsEqual<T extends object>(\n objA: T | undefined,\n objB: T | undefined,\n omitKeys?: (keyof T)[]\n): boolean {\n // Lets get out of here early if they are the same or either is undefined\n if (objA === objB || objA == null || objB == null) {\n return objA === objB;\n }\n\n // Convert array to Set for O(1) lookup\n const omitSet = new Set(omitKeys);\n const keysA = Object.keys(objA) as (keyof T)[];\n const keysBSet = new Set(Object.keys(objB) as (keyof T)[]);\n\n // Compare keys from objA\n for (const key of keysA) {\n keysBSet.delete(key);\n if (omitSet.has(key)) {\n continue;\n }\n\n if (!(key in objB) || objA[key] !== objB[key]) {\n return false;\n }\n }\n\n // If we got any remaining keys that aren't omitted in objB,\n // then we gotta return false\n for (const key of Array.from(keysBSet)) {\n if (!omitSet.has(key)) {\n return false;\n }\n }\n\n return true;\n}\n"],"mappings":";AAAA,SAAgB,gBACd,MACA,MACA,UACS;CAET,IAAI,SAAS,QAAQ,QAAQ,QAAQ,QAAQ,MAC3C,OAAO,SAAS;CAIlB,MAAM,UAAU,IAAI,IAAI,QAAQ;CAChC,MAAM,QAAQ,OAAO,KAAK,IAAI;CAC9B,MAAM,WAAW,IAAI,IAAI,OAAO,KAAK,IAAI,CAAgB;CAGzD,KAAK,MAAM,OAAO,OAAO;EACvB,SAAS,OAAO,GAAG;EACnB,IAAI,QAAQ,IAAI,GAAG,GACjB;EAGF,IAAI,EAAE,OAAO,SAAS,KAAK,SAAS,KAAK,MACvC,OAAO;CAEX;CAIA,KAAK,MAAM,OAAO,MAAM,KAAK,QAAQ,GACnC,IAAI,CAAC,QAAQ,IAAI,GAAG,GAClB,OAAO;CAIX,OAAO;AACT"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { FileOptions } from "../components/File.js";
|
|
2
|
-
import "../react/index.js";
|
|
3
2
|
import { FileDiffOptions } from "../components/FileDiff.js";
|
|
4
3
|
import { CodeViewOptions } from "../components/CodeView.js";
|
|
5
|
-
|
|
6
4
|
//#region src/utils/areOptionsEqual.d.ts
|
|
7
5
|
type AnyOptions<L> = CodeViewOptions<L> | FileOptions<L> | FileDiffOptions<L> | undefined;
|
|
8
6
|
declare function areOptionsEqual<LAnnotation>(optionsA: AnyOptions<LAnnotation>, optionsB: AnyOptions<LAnnotation>): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areOptionsEqual.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"areOptionsEqual.d.ts","names":[],"sources":["../../src/utils/areOptionsEqual.ts"],"mappings":";;;;KASK,UAAA,MACD,eAAA,CAAgB,CAAA,IAChB,WAAA,CAAY,CAAA,IACZ,eAAA,CAAgB,CAAA;AAAA,iBAGJ,eAAA,cACd,QAAA,EAAU,UAAA,CAAW,WAAA,GACrB,QAAA,EAAU,UAAA,CAAW,WAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { DEFAULT_THEMES } from "../constants.js";
|
|
2
2
|
import { areObjectsEqual } from "./areObjectsEqual.js";
|
|
3
3
|
import { areThemesEqual } from "./areThemesEqual.js";
|
|
4
|
-
|
|
5
4
|
//#region src/utils/areOptionsEqual.ts
|
|
6
5
|
function areOptionsEqual(optionsA, optionsB) {
|
|
7
6
|
const themeA = optionsA?.theme ?? DEFAULT_THEMES;
|
|
@@ -13,7 +12,7 @@ function areOptionsEqual(optionsA, optionsB) {
|
|
|
13
12
|
function getParseDiffOptions(options) {
|
|
14
13
|
if (options != null && "parseDiffOptions" in options) return options.parseDiffOptions;
|
|
15
14
|
}
|
|
16
|
-
|
|
17
15
|
//#endregion
|
|
18
16
|
export { areOptionsEqual };
|
|
17
|
+
|
|
19
18
|
//# sourceMappingURL=areOptionsEqual.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areOptionsEqual.js","names":[],"sources":["../../src/utils/areOptionsEqual.ts"],"sourcesContent":["import type { CreatePatchOptionsNonabortable } from 'diff';\n\nimport type { CodeViewOptions } from '../components/CodeView';\nimport type { FileDiffOptions } from '../components/FileDiff';\nimport { DEFAULT_THEMES } from '../constants';\nimport type { FileOptions } from '../react';\nimport { areObjectsEqual } from './areObjectsEqual';\nimport { areThemesEqual } from './areThemesEqual';\n\ntype AnyOptions<L> =\n | CodeViewOptions<L>\n | FileOptions<L>\n | FileDiffOptions<L>\n | undefined;\n\nexport function areOptionsEqual<LAnnotation>(\n optionsA: AnyOptions<LAnnotation>,\n optionsB: AnyOptions<LAnnotation>\n): boolean {\n const themeA = optionsA?.theme ?? DEFAULT_THEMES;\n const themeB = optionsB?.theme ?? DEFAULT_THEMES;\n const diffOptsA = getParseDiffOptions(optionsA);\n const diffOptsB = getParseDiffOptions(optionsB);\n return (\n areThemesEqual(themeA, themeB) &&\n areObjectsEqual(optionsA, optionsB, [\n 'theme',\n 'parseDiffOptions' as keyof typeof optionsA,\n ]) &&\n areObjectsEqual(diffOptsA, diffOptsB)\n );\n}\n\nfunction getParseDiffOptions<L>(\n options: AnyOptions<L>\n): CreatePatchOptionsNonabortable | undefined {\n if (options != null && 'parseDiffOptions' in options) {\n return options.parseDiffOptions;\n }\n return undefined;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"areOptionsEqual.js","names":[],"sources":["../../src/utils/areOptionsEqual.ts"],"sourcesContent":["import type { CreatePatchOptionsNonabortable } from 'diff';\n\nimport type { CodeViewOptions } from '../components/CodeView';\nimport type { FileDiffOptions } from '../components/FileDiff';\nimport { DEFAULT_THEMES } from '../constants';\nimport type { FileOptions } from '../react';\nimport { areObjectsEqual } from './areObjectsEqual';\nimport { areThemesEqual } from './areThemesEqual';\n\ntype AnyOptions<L> =\n | CodeViewOptions<L>\n | FileOptions<L>\n | FileDiffOptions<L>\n | undefined;\n\nexport function areOptionsEqual<LAnnotation>(\n optionsA: AnyOptions<LAnnotation>,\n optionsB: AnyOptions<LAnnotation>\n): boolean {\n const themeA = optionsA?.theme ?? DEFAULT_THEMES;\n const themeB = optionsB?.theme ?? DEFAULT_THEMES;\n const diffOptsA = getParseDiffOptions(optionsA);\n const diffOptsB = getParseDiffOptions(optionsB);\n return (\n areThemesEqual(themeA, themeB) &&\n areObjectsEqual(optionsA, optionsB, [\n 'theme',\n 'parseDiffOptions' as keyof typeof optionsA,\n ]) &&\n areObjectsEqual(diffOptsA, diffOptsB)\n );\n}\n\nfunction getParseDiffOptions<L>(\n options: AnyOptions<L>\n): CreatePatchOptionsNonabortable | undefined {\n if (options != null && 'parseDiffOptions' in options) {\n return options.parseDiffOptions;\n }\n return undefined;\n}\n"],"mappings":";;;;AAeA,SAAgB,gBACd,UACA,UACS;CACT,MAAM,SAAS,UAAU,SAAS;CAClC,MAAM,SAAS,UAAU,SAAS;CAClC,MAAM,YAAY,oBAAoB,QAAQ;CAC9C,MAAM,YAAY,oBAAoB,QAAQ;CAC9C,OACE,eAAe,QAAQ,MAAM,KAC7B,gBAAgB,UAAU,UAAU,CAClC,SACA,kBACF,CAAC,KACD,gBAAgB,WAAW,SAAS;AAExC;AAEA,SAAS,oBACP,SAC4C;CAC5C,IAAI,WAAW,QAAQ,sBAAsB,SAC3C,OAAO,QAAQ;AAGnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arePrePropertiesEqual.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"arePrePropertiesEqual.d.ts","names":[],"sources":["../../src/utils/arePrePropertiesEqual.ts"],"mappings":";;;iBAEgB,qBAAA,CACd,MAAA,EAAQ,mBAAA,cACR,MAAA,EAAQ,mBAAmB"}
|
|
@@ -12,7 +12,7 @@ function areCustomPropertiesEqual(customPropertiesA = EMPTY_CUSTOM_PROPERTIES, c
|
|
|
12
12
|
for (const key of keysA) if (customPropertiesA[key] !== customPropertiesB[key]) return false;
|
|
13
13
|
return true;
|
|
14
14
|
}
|
|
15
|
-
|
|
16
15
|
//#endregion
|
|
17
16
|
export { arePrePropertiesEqual };
|
|
17
|
+
|
|
18
18
|
//# sourceMappingURL=arePrePropertiesEqual.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arePrePropertiesEqual.js","names":[
|
|
1
|
+
{"version":3,"file":"arePrePropertiesEqual.js","names":[],"sources":["../../src/utils/arePrePropertiesEqual.ts"],"sourcesContent":["import type { CustomPreProperties, PrePropertiesConfig } from '../types';\n\nexport function arePrePropertiesEqual(\n propsA: PrePropertiesConfig | undefined,\n propsB: PrePropertiesConfig | undefined\n): boolean {\n if (propsA == null || propsB == null) {\n return propsA === propsB;\n }\n return (\n areCustomPropertiesEqual(\n propsA.customProperties,\n propsB.customProperties\n ) &&\n propsA.type === propsB.type &&\n propsA.diffIndicators === propsB.diffIndicators &&\n propsA.disableBackground === propsB.disableBackground &&\n propsA.disableLineNumbers === propsB.disableLineNumbers &&\n propsA.overflow === propsB.overflow &&\n propsA.split === propsB.split &&\n propsA.totalLines === propsB.totalLines\n );\n}\n\nconst EMPTY_CUSTOM_PROPERTIES: CustomPreProperties = {};\n\nfunction areCustomPropertiesEqual(\n customPropertiesA: CustomPreProperties = EMPTY_CUSTOM_PROPERTIES,\n customPropertiesB: CustomPreProperties = EMPTY_CUSTOM_PROPERTIES\n): boolean {\n if (customPropertiesA === customPropertiesB) {\n return true;\n }\n const keysA = Object.keys(customPropertiesA);\n const keysB = Object.keys(customPropertiesB);\n if (keysA.length !== keysB.length) {\n return false;\n }\n for (const key of keysA) {\n if (customPropertiesA[key] !== customPropertiesB[key]) {\n return false;\n }\n }\n return true;\n}\n"],"mappings":";AAEA,SAAgB,sBACd,QACA,QACS;CACT,IAAI,UAAU,QAAQ,UAAU,MAC9B,OAAO,WAAW;CAEpB,OACE,yBACE,OAAO,kBACP,OAAO,gBACT,KACA,OAAO,SAAS,OAAO,QACvB,OAAO,mBAAmB,OAAO,kBACjC,OAAO,sBAAsB,OAAO,qBACpC,OAAO,uBAAuB,OAAO,sBACrC,OAAO,aAAa,OAAO,YAC3B,OAAO,UAAU,OAAO,SACxB,OAAO,eAAe,OAAO;AAEjC;AAEA,MAAM,0BAA+C,CAAC;AAEtD,SAAS,yBACP,oBAAyC,yBACzC,oBAAyC,yBAChC;CACT,IAAI,sBAAsB,mBACxB,OAAO;CAET,MAAM,QAAQ,OAAO,KAAK,iBAAiB;CAC3C,MAAM,QAAQ,OAAO,KAAK,iBAAiB;CAC3C,IAAI,MAAM,WAAW,MAAM,QACzB,OAAO;CAET,KAAK,MAAM,OAAO,OAChB,IAAI,kBAAkB,SAAS,kBAAkB,MAC/C,OAAO;CAGX,OAAO;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areRenderRangesEqual.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"areRenderRangesEqual.d.ts","names":[],"sources":["../../src/utils/areRenderRangesEqual.ts"],"mappings":";;;iBAEgB,oBAAA,CACd,YAAA,EAAc,WAAA,cACd,YAAA,EAAc,WAAW"}
|
|
@@ -3,7 +3,7 @@ function areRenderRangesEqual(renderRangeA, renderRangeB) {
|
|
|
3
3
|
if (renderRangeA == null || renderRangeB == null) return renderRangeA === renderRangeB;
|
|
4
4
|
return renderRangeA.startingLine === renderRangeB.startingLine && renderRangeA.totalLines === renderRangeB.totalLines && renderRangeA.bufferBefore === renderRangeB.bufferBefore && renderRangeA.bufferAfter === renderRangeB.bufferAfter;
|
|
5
5
|
}
|
|
6
|
-
|
|
7
6
|
//#endregion
|
|
8
7
|
export { areRenderRangesEqual };
|
|
8
|
+
|
|
9
9
|
//# sourceMappingURL=areRenderRangesEqual.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areRenderRangesEqual.js","names":[],"sources":["../../src/utils/areRenderRangesEqual.ts"],"sourcesContent":["import type { RenderRange } from '../types';\n\nexport function areRenderRangesEqual(\n renderRangeA: RenderRange | undefined,\n renderRangeB: RenderRange | undefined\n): boolean {\n if (renderRangeA == null || renderRangeB == null) {\n return renderRangeA === renderRangeB;\n }\n return (\n renderRangeA.startingLine === renderRangeB.startingLine &&\n renderRangeA.totalLines === renderRangeB.totalLines &&\n renderRangeA.bufferBefore === renderRangeB.bufferBefore &&\n renderRangeA.bufferAfter === renderRangeB.bufferAfter\n );\n}\n"],"mappings":";AAEA,SAAgB,qBACd,cACA,cACS;
|
|
1
|
+
{"version":3,"file":"areRenderRangesEqual.js","names":[],"sources":["../../src/utils/areRenderRangesEqual.ts"],"sourcesContent":["import type { RenderRange } from '../types';\n\nexport function areRenderRangesEqual(\n renderRangeA: RenderRange | undefined,\n renderRangeB: RenderRange | undefined\n): boolean {\n if (renderRangeA == null || renderRangeB == null) {\n return renderRangeA === renderRangeB;\n }\n return (\n renderRangeA.startingLine === renderRangeB.startingLine &&\n renderRangeA.totalLines === renderRangeB.totalLines &&\n renderRangeA.bufferBefore === renderRangeB.bufferBefore &&\n renderRangeA.bufferAfter === renderRangeB.bufferAfter\n );\n}\n"],"mappings":";AAEA,SAAgB,qBACd,cACA,cACS;CACT,IAAI,gBAAgB,QAAQ,gBAAgB,MAC1C,OAAO,iBAAiB;CAE1B,OACE,aAAa,iBAAiB,aAAa,gBAC3C,aAAa,eAAe,aAAa,cACzC,aAAa,iBAAiB,aAAa,gBAC3C,aAAa,gBAAgB,aAAa;AAE9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areSelectionPointsEqual.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"areSelectionPointsEqual.d.ts","names":[],"sources":["../../src/utils/areSelectionPointsEqual.ts"],"mappings":";;;iBAEgB,uBAAA,CACd,CAAA,EAAG,cAAA,EACH,CAAA,EAAG,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areSelectionPointsEqual.js","names":[],"sources":["../../src/utils/areSelectionPointsEqual.ts"],"sourcesContent":["import type { SelectionPoint } from '../types';\n\nexport function areSelectionPointsEqual(\n a: SelectionPoint,\n b: SelectionPoint\n): boolean {\n return a.lineNumber === b.lineNumber && a.side === b.side;\n}\n"],"mappings":";AAEA,SAAgB,wBACd,GACA,GACS;
|
|
1
|
+
{"version":3,"file":"areSelectionPointsEqual.js","names":[],"sources":["../../src/utils/areSelectionPointsEqual.ts"],"sourcesContent":["import type { SelectionPoint } from '../types';\n\nexport function areSelectionPointsEqual(\n a: SelectionPoint,\n b: SelectionPoint\n): boolean {\n return a.lineNumber === b.lineNumber && a.side === b.side;\n}\n"],"mappings":";AAEA,SAAgB,wBACd,GACA,GACS;CACT,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE;AACvD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areSelectionsEqual.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"areSelectionsEqual.d.ts","names":[],"sources":["../../src/utils/areSelectionsEqual.ts"],"mappings":";;;iBAEgB,kBAAA,CACd,UAAA,EAAY,iBAAA,cACZ,UAAA,EAAY,iBAAiB"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
function areSelectionsEqual(selectionA, selectionB) {
|
|
3
3
|
return selectionA?.start === selectionB?.start && selectionA?.end === selectionB?.end && selectionA?.side === selectionB?.side && selectionA?.endSide === selectionB?.endSide;
|
|
4
4
|
}
|
|
5
|
-
|
|
6
5
|
//#endregion
|
|
7
6
|
export { areSelectionsEqual };
|
|
7
|
+
|
|
8
8
|
//# sourceMappingURL=areSelectionsEqual.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areSelectionsEqual.js","names":[],"sources":["../../src/utils/areSelectionsEqual.ts"],"sourcesContent":["import type { SelectedLineRange } from '../types';\n\nexport function areSelectionsEqual(\n selectionA: SelectedLineRange | undefined,\n selectionB: SelectedLineRange | undefined\n): boolean {\n return (\n selectionA?.start === selectionB?.start &&\n selectionA?.end === selectionB?.end &&\n selectionA?.side === selectionB?.side &&\n selectionA?.endSide === selectionB?.endSide\n );\n}\n"],"mappings":";AAEA,SAAgB,mBACd,YACA,YACS;
|
|
1
|
+
{"version":3,"file":"areSelectionsEqual.js","names":[],"sources":["../../src/utils/areSelectionsEqual.ts"],"sourcesContent":["import type { SelectedLineRange } from '../types';\n\nexport function areSelectionsEqual(\n selectionA: SelectedLineRange | undefined,\n selectionB: SelectedLineRange | undefined\n): boolean {\n return (\n selectionA?.start === selectionB?.start &&\n selectionA?.end === selectionB?.end &&\n selectionA?.side === selectionB?.side &&\n selectionA?.endSide === selectionB?.endSide\n );\n}\n"],"mappings":";AAEA,SAAgB,mBACd,YACA,YACS;CACT,OACE,YAAY,UAAU,YAAY,SAClC,YAAY,QAAQ,YAAY,OAChC,YAAY,SAAS,YAAY,QACjC,YAAY,YAAY,YAAY;AAExC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areThemesEqual.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"areThemesEqual.d.ts","names":[],"sources":["../../src/utils/areThemesEqual.ts"],"mappings":";;;iBAEgB,cAAA,CACd,MAAA,EAAQ,eAAA,GAAkB,UAAA,cAC1B,MAAA,EAAQ,eAAA,GAAkB,UAAA"}
|
|
@@ -3,7 +3,7 @@ function areThemesEqual(themeA, themeB) {
|
|
|
3
3
|
if (themeA == null || themeB == null || typeof themeA === "string" || typeof themeB === "string") return themeA === themeB;
|
|
4
4
|
return themeA.dark === themeB.dark && themeA.light === themeB.light;
|
|
5
5
|
}
|
|
6
|
-
|
|
7
6
|
//#endregion
|
|
8
7
|
export { areThemesEqual };
|
|
8
|
+
|
|
9
9
|
//# sourceMappingURL=areThemesEqual.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areThemesEqual.js","names":[],"sources":["../../src/utils/areThemesEqual.ts"],"sourcesContent":["import type { DiffsThemeNames, ThemesType } from '../types';\n\nexport function areThemesEqual(\n themeA: DiffsThemeNames | ThemesType | undefined,\n themeB: DiffsThemeNames | ThemesType | undefined\n): boolean {\n if (\n themeA == null ||\n themeB == null ||\n typeof themeA === 'string' ||\n typeof themeB === 'string'\n ) {\n return themeA === themeB;\n }\n return themeA.dark === themeB.dark && themeA.light === themeB.light;\n}\n"],"mappings":";AAEA,SAAgB,eACd,QACA,QACS;
|
|
1
|
+
{"version":3,"file":"areThemesEqual.js","names":[],"sources":["../../src/utils/areThemesEqual.ts"],"sourcesContent":["import type { DiffsThemeNames, ThemesType } from '../types';\n\nexport function areThemesEqual(\n themeA: DiffsThemeNames | ThemesType | undefined,\n themeB: DiffsThemeNames | ThemesType | undefined\n): boolean {\n if (\n themeA == null ||\n themeB == null ||\n typeof themeA === 'string' ||\n typeof themeB === 'string'\n ) {\n return themeA === themeB;\n }\n return themeA.dark === themeB.dark && themeA.light === themeB.light;\n}\n"],"mappings":";AAEA,SAAgB,eACd,QACA,QACS;CACT,IACE,UAAU,QACV,UAAU,QACV,OAAO,WAAW,YAClB,OAAO,WAAW,UAElB,OAAO,WAAW;CAEpB,OAAO,OAAO,SAAS,OAAO,QAAQ,OAAO,UAAU,OAAO;AAChE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areVirtualWindowSpecsEqual.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"areVirtualWindowSpecsEqual.d.ts","names":[],"sources":["../../src/utils/areVirtualWindowSpecsEqual.ts"],"mappings":";;;iBAEgB,0BAAA,CACd,YAAA,EAAc,kBAAA,cACd,YAAA,EAAc,kBAAkB"}
|
|
@@ -3,7 +3,7 @@ function areVirtualWindowSpecsEqual(windowSpecsA, windowSpecsB) {
|
|
|
3
3
|
if (windowSpecsA == null || windowSpecsB == null) return windowSpecsA === windowSpecsB;
|
|
4
4
|
return windowSpecsA.top === windowSpecsB.top && windowSpecsA.bottom === windowSpecsB.bottom;
|
|
5
5
|
}
|
|
6
|
-
|
|
7
6
|
//#endregion
|
|
8
7
|
export { areVirtualWindowSpecsEqual };
|
|
8
|
+
|
|
9
9
|
//# sourceMappingURL=areVirtualWindowSpecsEqual.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areVirtualWindowSpecsEqual.js","names":[],"sources":["../../src/utils/areVirtualWindowSpecsEqual.ts"],"sourcesContent":["import type { VirtualWindowSpecs } from '../types';\n\nexport function areVirtualWindowSpecsEqual(\n windowSpecsA: VirtualWindowSpecs | undefined,\n windowSpecsB: VirtualWindowSpecs | undefined\n): boolean {\n if (windowSpecsA == null || windowSpecsB == null) {\n return windowSpecsA === windowSpecsB;\n }\n return (\n windowSpecsA.top === windowSpecsB.top &&\n windowSpecsA.bottom === windowSpecsB.bottom\n );\n}\n"],"mappings":";AAEA,SAAgB,2BACd,cACA,cACS;
|
|
1
|
+
{"version":3,"file":"areVirtualWindowSpecsEqual.js","names":[],"sources":["../../src/utils/areVirtualWindowSpecsEqual.ts"],"sourcesContent":["import type { VirtualWindowSpecs } from '../types';\n\nexport function areVirtualWindowSpecsEqual(\n windowSpecsA: VirtualWindowSpecs | undefined,\n windowSpecsB: VirtualWindowSpecs | undefined\n): boolean {\n if (windowSpecsA == null || windowSpecsB == null) {\n return windowSpecsA === windowSpecsB;\n }\n return (\n windowSpecsA.top === windowSpecsB.top &&\n windowSpecsA.bottom === windowSpecsB.bottom\n );\n}\n"],"mappings":";AAEA,SAAgB,2BACd,cACA,cACS;CACT,IAAI,gBAAgB,QAAQ,gBAAgB,MAC1C,OAAO,iBAAiB;CAE1B,OACE,aAAa,QAAQ,aAAa,OAClC,aAAa,WAAW,aAAa;AAEzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areWorkerStatsEqual.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"areWorkerStatsEqual.d.ts","names":[],"sources":["../../src/utils/areWorkerStatsEqual.ts"],"mappings":";;iBAEgB,mBAAA,CACd,MAAA,EAAQ,WAAA,cACR,MAAA,EAAQ,WAAW"}
|
|
@@ -3,7 +3,7 @@ function areWorkerStatsEqual(statsA, statsB) {
|
|
|
3
3
|
if (statsA == null || statsB == null) return statsA === statsB;
|
|
4
4
|
return statsA.busyWorkers === statsB.busyWorkers && statsA.diffCacheSize === statsB.diffCacheSize && statsA.fileCacheSize === statsB.fileCacheSize && statsA.managerState === statsB.managerState && statsA.activeTasks === statsB.activeTasks && statsA.queuedTasks === statsB.queuedTasks && statsA.themeSubscribers === statsB.themeSubscribers && statsA.totalWorkers === statsB.totalWorkers && statsA.workersFailed === statsB.workersFailed;
|
|
5
5
|
}
|
|
6
|
-
|
|
7
6
|
//#endregion
|
|
8
7
|
export { areWorkerStatsEqual };
|
|
8
|
+
|
|
9
9
|
//# sourceMappingURL=areWorkerStatsEqual.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areWorkerStatsEqual.js","names":[],"sources":["../../src/utils/areWorkerStatsEqual.ts"],"sourcesContent":["import type { WorkerStats } from '../worker';\n\nexport function areWorkerStatsEqual(\n statsA: WorkerStats | undefined,\n statsB: WorkerStats | undefined\n): boolean {\n if (statsA == null || statsB == null) {\n return statsA === statsB;\n }\n return (\n statsA.busyWorkers === statsB.busyWorkers &&\n statsA.diffCacheSize === statsB.diffCacheSize &&\n statsA.fileCacheSize === statsB.fileCacheSize &&\n statsA.managerState === statsB.managerState &&\n statsA.activeTasks === statsB.activeTasks &&\n statsA.queuedTasks === statsB.queuedTasks &&\n statsA.themeSubscribers === statsB.themeSubscribers &&\n statsA.totalWorkers === statsB.totalWorkers &&\n statsA.workersFailed === statsB.workersFailed\n );\n}\n"],"mappings":";AAEA,SAAgB,oBACd,QACA,QACS;
|
|
1
|
+
{"version":3,"file":"areWorkerStatsEqual.js","names":[],"sources":["../../src/utils/areWorkerStatsEqual.ts"],"sourcesContent":["import type { WorkerStats } from '../worker';\n\nexport function areWorkerStatsEqual(\n statsA: WorkerStats | undefined,\n statsB: WorkerStats | undefined\n): boolean {\n if (statsA == null || statsB == null) {\n return statsA === statsB;\n }\n return (\n statsA.busyWorkers === statsB.busyWorkers &&\n statsA.diffCacheSize === statsB.diffCacheSize &&\n statsA.fileCacheSize === statsB.fileCacheSize &&\n statsA.managerState === statsB.managerState &&\n statsA.activeTasks === statsB.activeTasks &&\n statsA.queuedTasks === statsB.queuedTasks &&\n statsA.themeSubscribers === statsB.themeSubscribers &&\n statsA.totalWorkers === statsB.totalWorkers &&\n statsA.workersFailed === statsB.workersFailed\n );\n}\n"],"mappings":";AAEA,SAAgB,oBACd,QACA,QACS;CACT,IAAI,UAAU,QAAQ,UAAU,MAC9B,OAAO,WAAW;CAEpB,OACE,OAAO,gBAAgB,OAAO,eAC9B,OAAO,kBAAkB,OAAO,iBAChC,OAAO,kBAAkB,OAAO,iBAChC,OAAO,iBAAiB,OAAO,gBAC/B,OAAO,gBAAgB,OAAO,eAC9B,OAAO,gBAAgB,OAAO,eAC9B,OAAO,qBAAqB,OAAO,oBACnC,OAAO,iBAAiB,OAAO,gBAC/B,OAAO,kBAAkB,OAAO;AAEpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"awaitWithTimeout.d.ts","names":[],"sources":["../../src/utils/awaitWithTimeout.ts"],"mappings":";iBAAsB,gBAAA,CACpB,QAAA,QAAgB,OAAA,WAChB,OAAA,YACC,OAAO"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/utils/awaitWithTimeout.ts
|
|
2
|
+
async function awaitWithTimeout(callback, timeout = 300) {
|
|
3
|
+
let timeoutId;
|
|
4
|
+
try {
|
|
5
|
+
await Promise.race([callback(), new Promise((resolve) => {
|
|
6
|
+
timeoutId = setTimeout(resolve, timeout);
|
|
7
|
+
})]);
|
|
8
|
+
} finally {
|
|
9
|
+
if (timeoutId != null) clearTimeout(timeoutId);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { awaitWithTimeout };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=awaitWithTimeout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"awaitWithTimeout.js","names":[],"sources":["../../src/utils/awaitWithTimeout.ts"],"sourcesContent":["export async function awaitWithTimeout(\n callback: () => Promise<unknown>,\n timeout: number = 300\n): Promise<void> {\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n try {\n await Promise.race([\n callback(),\n new Promise<void>((resolve) => {\n timeoutId = setTimeout(resolve, timeout);\n }),\n ]);\n } finally {\n if (timeoutId != null) {\n clearTimeout(timeoutId);\n }\n }\n}\n"],"mappings":";AAAA,eAAsB,iBACpB,UACA,UAAkB,KACH;CACf,IAAI;CACJ,IAAI;EACF,MAAM,QAAQ,KAAK,CACjB,SAAS,GACT,IAAI,SAAe,YAAY;GAC7B,YAAY,WAAW,SAAS,OAAO;EACzC,CAAC,CACH,CAAC;CACH,UAAU;EACR,IAAI,aAAa,MACf,aAAa,SAAS;CAE1B;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanLastNewline.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"cleanLastNewline.d.ts","names":[],"sources":["../../src/utils/cleanLastNewline.ts"],"mappings":";iBAAgB,gBAAA,CAAiB,QAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanLastNewline.js","names":[],"sources":["../../src/utils/cleanLastNewline.ts"],"sourcesContent":["export function cleanLastNewline(contents: string): string {\n let end = contents.length;\n if (contents.charCodeAt(end - 1) === /* \\n */ 10) {\n end--;\n if (contents.charCodeAt(end - 1) === /* \\r */ 13) {\n end--;\n }\n }\n return contents.slice(0, end);\n}\n"],"mappings":";AAAA,SAAgB,iBAAiB,UAA0B;CACzD,IAAI,MAAM,SAAS;
|
|
1
|
+
{"version":3,"file":"cleanLastNewline.js","names":[],"sources":["../../src/utils/cleanLastNewline.ts"],"sourcesContent":["export function cleanLastNewline(contents: string): string {\n let end = contents.length;\n if (contents.charCodeAt(end - 1) === /* \\n */ 10) {\n end--;\n if (contents.charCodeAt(end - 1) === /* \\r */ 13) {\n end--;\n }\n }\n return contents.slice(0, end);\n}\n"],"mappings":";AAAA,SAAgB,iBAAiB,UAA0B;CACzD,IAAI,MAAM,SAAS;CACnB,IAAI,SAAS,WAAW,MAAM,CAAC,MAAe,IAAI;EAChD;EACA,IAAI,SAAS,WAAW,MAAM,CAAC,MAAe,IAC5C;CAEJ;CACA,OAAO,SAAS,MAAM,GAAG,GAAG;AAC9B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FileDiffMetadata } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/cloneFileDiffMetadata.d.ts
|
|
4
|
+
declare function cloneFileDiffMetadata(fileDiff: FileDiffMetadata): FileDiffMetadata;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { cloneFileDiffMetadata };
|
|
7
|
+
//# sourceMappingURL=cloneFileDiffMetadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloneFileDiffMetadata.d.ts","names":[],"sources":["../../src/utils/cloneFileDiffMetadata.ts"],"mappings":";;;iBAEgB,qBAAA,CACd,QAAA,EAAU,gBAAA,GACT,gBAAgB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/utils/cloneFileDiffMetadata.ts
|
|
2
|
+
function cloneFileDiffMetadata(fileDiff) {
|
|
3
|
+
return {
|
|
4
|
+
...fileDiff,
|
|
5
|
+
hunks: fileDiff.hunks.map((hunk) => ({
|
|
6
|
+
...hunk,
|
|
7
|
+
hunkContent: hunk.hunkContent.map((content) => ({ ...content }))
|
|
8
|
+
})),
|
|
9
|
+
deletionLines: [...fileDiff.deletionLines],
|
|
10
|
+
additionLines: [...fileDiff.additionLines]
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { cloneFileDiffMetadata };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=cloneFileDiffMetadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloneFileDiffMetadata.js","names":[],"sources":["../../src/utils/cloneFileDiffMetadata.ts"],"sourcesContent":["import type { FileDiffMetadata } from '../types';\n\nexport function cloneFileDiffMetadata(\n fileDiff: FileDiffMetadata\n): FileDiffMetadata {\n return {\n ...fileDiff,\n hunks: fileDiff.hunks.map((hunk) => ({\n ...hunk,\n hunkContent: hunk.hunkContent.map((content) => ({ ...content })),\n })),\n deletionLines: [...fileDiff.deletionLines],\n additionLines: [...fileDiff.additionLines],\n };\n}\n"],"mappings":";AAEA,SAAgB,sBACd,UACkB;CAClB,OAAO;EACL,GAAG;EACH,OAAO,SAAS,MAAM,KAAK,UAAU;GACnC,GAAG;GACH,aAAa,KAAK,YAAY,KAAK,aAAa,EAAE,GAAG,QAAQ,EAAE;EACjE,EAAE;EACF,eAAe,CAAC,GAAG,SAAS,aAAa;EACzC,eAAe,CAAC,GAAG,SAAS,aAAa;CAC3C;AACF"}
|
|
@@ -9,6 +9,7 @@ interface ComputeEstimatedDiffHeightsOptions {
|
|
|
9
9
|
expandUnchanged: boolean;
|
|
10
10
|
expandedHunks: Map<number, HunkExpansionRegion> | true | undefined;
|
|
11
11
|
collapsedContextThreshold: number;
|
|
12
|
+
canHydratePartialDiff: boolean;
|
|
12
13
|
}
|
|
13
14
|
interface EstimatedDiffHeights {
|
|
14
15
|
splitHeight: number;
|
|
@@ -21,7 +22,8 @@ declare function computeEstimatedDiffHeights({
|
|
|
21
22
|
hunkSeparators,
|
|
22
23
|
expandUnchanged,
|
|
23
24
|
expandedHunks: configuredExpandedHunks,
|
|
24
|
-
collapsedContextThreshold
|
|
25
|
+
collapsedContextThreshold,
|
|
26
|
+
canHydratePartialDiff
|
|
25
27
|
}: ComputeEstimatedDiffHeightsOptions): EstimatedDiffHeights;
|
|
26
28
|
//#endregion
|
|
27
29
|
export { ComputeEstimatedDiffHeightsOptions, EstimatedDiffHeights, computeEstimatedDiffHeights };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeEstimatedDiffHeights.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"computeEstimatedDiffHeights.d.ts","names":[],"sources":["../../src/utils/computeEstimatedDiffHeights.ts"],"mappings":";;;UAmBiB,kCAAA;EACf,QAAA,EAAU,gBAAA;EACV,OAAA,EAAS,kBAAA;EACT,iBAAA;EACA,cAAA,EAAgB,cAAA;EAChB,eAAA;EACA,aAAA,EAAe,GAAA,SAAY,mBAAA;EAC3B,yBAAA;EACA,qBAAA;AAAA;AAAA,UAGe,oBAAA;EACf,WAAA;EACA,aAAa;AAAA;AAAA,iBAKC,2BAAA;EACd,QAAA;EACA,OAAA;EACA,iBAAA;EACA,cAAA;EACA,eAAA;EACA,aAAA,EAAe,uBAAA;EACf,yBAAA;EACA;AAAA,GACC,kCAAA,GAAqC,oBAAA"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { getVirtualFileHeaderRegion, getVirtualFilePaddingBottom } from "./computeVirtualFileMetrics.js";
|
|
2
2
|
import { getExpandedRegion, getLeadingHunkSeparatorLayout, getTrailingExpandedRegion, getTrailingHunkSeparatorLayout } from "./virtualDiffLayout.js";
|
|
3
|
-
|
|
4
3
|
//#region src/utils/computeEstimatedDiffHeights.ts
|
|
5
|
-
function computeEstimatedDiffHeights({ fileDiff, metrics, disableFileHeader, hunkSeparators, expandUnchanged, expandedHunks: configuredExpandedHunks, collapsedContextThreshold }) {
|
|
4
|
+
function computeEstimatedDiffHeights({ fileDiff, metrics, disableFileHeader, hunkSeparators, expandUnchanged, expandedHunks: configuredExpandedHunks, collapsedContextThreshold, canHydratePartialDiff }) {
|
|
6
5
|
let splitHeight = getVirtualFileHeaderRegion(metrics, disableFileHeader);
|
|
7
6
|
let unifiedHeight = splitHeight;
|
|
8
7
|
const expandedHunks = expandUnchanged ? true : configuredExpandedHunks;
|
|
@@ -54,6 +53,13 @@ function computeEstimatedDiffHeights({ fileDiff, metrics, disableFileHeader, hun
|
|
|
54
53
|
splitHeight += separatorHeight;
|
|
55
54
|
unifiedHeight += separatorHeight;
|
|
56
55
|
}
|
|
56
|
+
} else if (hunkIndex === finalHunkIndex && fileDiff.isPartial && canHydratePartialDiff) {
|
|
57
|
+
const separatorHeight = getTrailingHunkSeparatorLayout({
|
|
58
|
+
type: hunkSeparators,
|
|
59
|
+
metrics
|
|
60
|
+
})?.totalHeight ?? 0;
|
|
61
|
+
splitHeight += separatorHeight;
|
|
62
|
+
unifiedHeight += separatorHeight;
|
|
57
63
|
}
|
|
58
64
|
}
|
|
59
65
|
if (fileDiff.hunks.length > 0) {
|
|
@@ -94,7 +100,7 @@ function getChangeNoNewlineMetadataLineCounts(hunk, content) {
|
|
|
94
100
|
unified
|
|
95
101
|
};
|
|
96
102
|
}
|
|
97
|
-
|
|
98
103
|
//#endregion
|
|
99
104
|
export { computeEstimatedDiffHeights };
|
|
105
|
+
|
|
100
106
|
//# sourceMappingURL=computeEstimatedDiffHeights.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeEstimatedDiffHeights.js","names":[],"sources":["../../src/utils/computeEstimatedDiffHeights.ts"],"sourcesContent":["import type {\n ChangeContent,\n FileDiffMetadata,\n Hunk,\n HunkExpansionRegion,\n HunkSeparators,\n VirtualFileMetrics,\n} from '../types';\nimport {\n getVirtualFileHeaderRegion,\n getVirtualFilePaddingBottom,\n} from './computeVirtualFileMetrics';\nimport {\n getExpandedRegion,\n getLeadingHunkSeparatorLayout,\n getTrailingExpandedRegion,\n getTrailingHunkSeparatorLayout,\n} from './virtualDiffLayout';\n\nexport interface ComputeEstimatedDiffHeightsOptions {\n fileDiff: FileDiffMetadata;\n metrics: VirtualFileMetrics;\n disableFileHeader: boolean;\n hunkSeparators: HunkSeparators;\n expandUnchanged: boolean;\n expandedHunks: Map<number, HunkExpansionRegion> | true | undefined;\n collapsedContextThreshold: number;\n}\n\nexport interface EstimatedDiffHeights {\n splitHeight: number;\n unifiedHeight: number;\n}\n\n// Computes both split and unified baseline heights from hunk-level metadata so\n// callers can avoid replaying the detailed rendered-line iterator.\nexport function computeEstimatedDiffHeights({\n fileDiff,\n metrics,\n disableFileHeader,\n hunkSeparators,\n expandUnchanged,\n expandedHunks: configuredExpandedHunks,\n collapsedContextThreshold,\n}: ComputeEstimatedDiffHeightsOptions): EstimatedDiffHeights {\n let splitHeight = getVirtualFileHeaderRegion(metrics, disableFileHeader);\n let unifiedHeight = splitHeight;\n const expandedHunks = expandUnchanged ? true : configuredExpandedHunks;\n const finalHunkIndex = fileDiff.hunks.length - 1;\n\n for (let hunkIndex = 0; hunkIndex < fileDiff.hunks.length; hunkIndex++) {\n const hunk = fileDiff.hunks[hunkIndex];\n if (hunk == null) {\n throw new Error('computeEstimatedDiffHeights: invalid hunk index');\n }\n\n const leadingRegion = getExpandedRegion({\n isPartial: fileDiff.isPartial,\n rangeSize: hunk.collapsedBefore,\n expandedHunks,\n hunkIndex,\n collapsedContextThreshold,\n });\n const leadingExpandedHeight =\n (leadingRegion.fromStart + leadingRegion.fromEnd) * metrics.lineHeight;\n splitHeight += leadingExpandedHeight;\n unifiedHeight += leadingExpandedHeight;\n\n if (leadingRegion.collapsedLines > 0) {\n const separatorHeight =\n getLeadingHunkSeparatorLayout({\n type: hunkSeparators,\n metrics,\n hunkIndex,\n hunkSpecs: hunk.hunkSpecs,\n })?.totalHeight ?? 0;\n splitHeight += separatorHeight;\n unifiedHeight += separatorHeight;\n }\n\n splitHeight += hunk.splitLineCount * metrics.lineHeight;\n unifiedHeight += hunk.unifiedLineCount * metrics.lineHeight;\n\n const metadataLineCounts = getNoNewlineMetadataLineCounts(hunk);\n splitHeight += metadataLineCounts.split * metrics.lineHeight;\n unifiedHeight += metadataLineCounts.unified * metrics.lineHeight;\n\n const trailingRegion =\n hunkIndex === finalHunkIndex\n ? getTrailingExpandedRegion({\n fileDiff,\n hunkIndex,\n expandedHunks,\n collapsedContextThreshold,\n errorPrefix: 'computeEstimatedDiffHeights',\n })\n : undefined;\n if (trailingRegion != null) {\n const trailingExpandedHeight =\n (trailingRegion.fromStart + trailingRegion.fromEnd) *\n metrics.lineHeight;\n splitHeight += trailingExpandedHeight;\n unifiedHeight += trailingExpandedHeight;\n\n if (trailingRegion.collapsedLines > 0) {\n const separatorHeight =\n getTrailingHunkSeparatorLayout({\n type: hunkSeparators,\n metrics,\n })?.totalHeight ?? 0;\n splitHeight += separatorHeight;\n unifiedHeight += separatorHeight;\n }\n }\n }\n\n if (fileDiff.hunks.length > 0) {\n const paddingBottom = getVirtualFilePaddingBottom(metrics);\n splitHeight += paddingBottom;\n unifiedHeight += paddingBottom;\n }\n\n return { splitHeight, unifiedHeight };\n}\n\nfunction getNoNewlineMetadataLineCounts(hunk: Hunk): {\n split: number;\n unified: number;\n} {\n if (!hunk.noEOFCRAdditions && !hunk.noEOFCRDeletions) {\n return { split: 0, unified: 0 };\n }\n\n const lastContent = hunk.hunkContent.at(-1);\n if (lastContent == null) {\n return { split: 0, unified: 0 };\n }\n\n if (lastContent.type === 'context') {\n const metadataRows = lastContent.lines > 0 ? 1 : 0;\n return { split: metadataRows, unified: metadataRows };\n }\n\n return getChangeNoNewlineMetadataLineCounts(hunk, lastContent);\n}\nfunction getChangeNoNewlineMetadataLineCounts(\n hunk: Hunk,\n content: ChangeContent\n): { split: number; unified: number } {\n const unified =\n (content.deletions > 0 && hunk.noEOFCRDeletions ? 1 : 0) +\n (content.additions > 0 && hunk.noEOFCRAdditions ? 1 : 0);\n const splitDeletionHasMetadata =\n content.deletions > 0 && hunk.noEOFCRDeletions;\n const splitAdditionHasMetadata =\n content.additions > 0 && hunk.noEOFCRAdditions;\n const split = splitDeletionHasMetadata || splitAdditionHasMetadata ? 1 : 0;\n\n return { split, unified };\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"computeEstimatedDiffHeights.js","names":[],"sources":["../../src/utils/computeEstimatedDiffHeights.ts"],"sourcesContent":["import type {\n ChangeContent,\n FileDiffMetadata,\n Hunk,\n HunkExpansionRegion,\n HunkSeparators,\n VirtualFileMetrics,\n} from '../types';\nimport {\n getVirtualFileHeaderRegion,\n getVirtualFilePaddingBottom,\n} from './computeVirtualFileMetrics';\nimport {\n getExpandedRegion,\n getLeadingHunkSeparatorLayout,\n getTrailingExpandedRegion,\n getTrailingHunkSeparatorLayout,\n} from './virtualDiffLayout';\n\nexport interface ComputeEstimatedDiffHeightsOptions {\n fileDiff: FileDiffMetadata;\n metrics: VirtualFileMetrics;\n disableFileHeader: boolean;\n hunkSeparators: HunkSeparators;\n expandUnchanged: boolean;\n expandedHunks: Map<number, HunkExpansionRegion> | true | undefined;\n collapsedContextThreshold: number;\n canHydratePartialDiff: boolean;\n}\n\nexport interface EstimatedDiffHeights {\n splitHeight: number;\n unifiedHeight: number;\n}\n\n// Computes both split and unified baseline heights from hunk-level metadata so\n// callers can avoid replaying the detailed rendered-line iterator.\nexport function computeEstimatedDiffHeights({\n fileDiff,\n metrics,\n disableFileHeader,\n hunkSeparators,\n expandUnchanged,\n expandedHunks: configuredExpandedHunks,\n collapsedContextThreshold,\n canHydratePartialDiff,\n}: ComputeEstimatedDiffHeightsOptions): EstimatedDiffHeights {\n let splitHeight = getVirtualFileHeaderRegion(metrics, disableFileHeader);\n let unifiedHeight = splitHeight;\n const expandedHunks = expandUnchanged ? true : configuredExpandedHunks;\n const finalHunkIndex = fileDiff.hunks.length - 1;\n\n for (let hunkIndex = 0; hunkIndex < fileDiff.hunks.length; hunkIndex++) {\n const hunk = fileDiff.hunks[hunkIndex];\n if (hunk == null) {\n throw new Error('computeEstimatedDiffHeights: invalid hunk index');\n }\n\n const leadingRegion = getExpandedRegion({\n isPartial: fileDiff.isPartial,\n rangeSize: hunk.collapsedBefore,\n expandedHunks,\n hunkIndex,\n collapsedContextThreshold,\n });\n const leadingExpandedHeight =\n (leadingRegion.fromStart + leadingRegion.fromEnd) * metrics.lineHeight;\n splitHeight += leadingExpandedHeight;\n unifiedHeight += leadingExpandedHeight;\n\n if (leadingRegion.collapsedLines > 0) {\n const separatorHeight =\n getLeadingHunkSeparatorLayout({\n type: hunkSeparators,\n metrics,\n hunkIndex,\n hunkSpecs: hunk.hunkSpecs,\n })?.totalHeight ?? 0;\n splitHeight += separatorHeight;\n unifiedHeight += separatorHeight;\n }\n\n splitHeight += hunk.splitLineCount * metrics.lineHeight;\n unifiedHeight += hunk.unifiedLineCount * metrics.lineHeight;\n\n const metadataLineCounts = getNoNewlineMetadataLineCounts(hunk);\n splitHeight += metadataLineCounts.split * metrics.lineHeight;\n unifiedHeight += metadataLineCounts.unified * metrics.lineHeight;\n\n const trailingRegion =\n hunkIndex === finalHunkIndex\n ? getTrailingExpandedRegion({\n fileDiff,\n hunkIndex,\n expandedHunks,\n collapsedContextThreshold,\n errorPrefix: 'computeEstimatedDiffHeights',\n })\n : undefined;\n if (trailingRegion != null) {\n const trailingExpandedHeight =\n (trailingRegion.fromStart + trailingRegion.fromEnd) *\n metrics.lineHeight;\n splitHeight += trailingExpandedHeight;\n unifiedHeight += trailingExpandedHeight;\n\n if (trailingRegion.collapsedLines > 0) {\n const separatorHeight =\n getTrailingHunkSeparatorLayout({\n type: hunkSeparators,\n metrics,\n })?.totalHeight ?? 0;\n splitHeight += separatorHeight;\n unifiedHeight += separatorHeight;\n }\n } else if (\n hunkIndex === finalHunkIndex &&\n fileDiff.isPartial &&\n canHydratePartialDiff\n ) {\n const separatorHeight =\n getTrailingHunkSeparatorLayout({\n type: hunkSeparators,\n metrics,\n })?.totalHeight ?? 0;\n splitHeight += separatorHeight;\n unifiedHeight += separatorHeight;\n }\n }\n\n if (fileDiff.hunks.length > 0) {\n const paddingBottom = getVirtualFilePaddingBottom(metrics);\n splitHeight += paddingBottom;\n unifiedHeight += paddingBottom;\n }\n\n return { splitHeight, unifiedHeight };\n}\n\nfunction getNoNewlineMetadataLineCounts(hunk: Hunk): {\n split: number;\n unified: number;\n} {\n if (!hunk.noEOFCRAdditions && !hunk.noEOFCRDeletions) {\n return { split: 0, unified: 0 };\n }\n\n const lastContent = hunk.hunkContent.at(-1);\n if (lastContent == null) {\n return { split: 0, unified: 0 };\n }\n\n if (lastContent.type === 'context') {\n const metadataRows = lastContent.lines > 0 ? 1 : 0;\n return { split: metadataRows, unified: metadataRows };\n }\n\n return getChangeNoNewlineMetadataLineCounts(hunk, lastContent);\n}\nfunction getChangeNoNewlineMetadataLineCounts(\n hunk: Hunk,\n content: ChangeContent\n): { split: number; unified: number } {\n const unified =\n (content.deletions > 0 && hunk.noEOFCRDeletions ? 1 : 0) +\n (content.additions > 0 && hunk.noEOFCRAdditions ? 1 : 0);\n const splitDeletionHasMetadata =\n content.deletions > 0 && hunk.noEOFCRDeletions;\n const splitAdditionHasMetadata =\n content.additions > 0 && hunk.noEOFCRAdditions;\n const split = splitDeletionHasMetadata || splitAdditionHasMetadata ? 1 : 0;\n\n return { split, unified };\n}\n"],"mappings":";;;AAqCA,SAAgB,4BAA4B,EAC1C,UACA,SACA,mBACA,gBACA,iBACA,eAAe,yBACf,2BACA,yBAC2D;CAC3D,IAAI,cAAc,2BAA2B,SAAS,iBAAiB;CACvE,IAAI,gBAAgB;CACpB,MAAM,gBAAgB,kBAAkB,OAAO;CAC/C,MAAM,iBAAiB,SAAS,MAAM,SAAS;CAE/C,KAAK,IAAI,YAAY,GAAG,YAAY,SAAS,MAAM,QAAQ,aAAa;EACtE,MAAM,OAAO,SAAS,MAAM;EAC5B,IAAI,QAAQ,MACV,MAAM,IAAI,MAAM,iDAAiD;EAGnE,MAAM,gBAAgB,kBAAkB;GACtC,WAAW,SAAS;GACpB,WAAW,KAAK;GAChB;GACA;GACA;EACF,CAAC;EACD,MAAM,yBACH,cAAc,YAAY,cAAc,WAAW,QAAQ;EAC9D,eAAe;EACf,iBAAiB;EAEjB,IAAI,cAAc,iBAAiB,GAAG;GACpC,MAAM,kBACJ,8BAA8B;IAC5B,MAAM;IACN;IACA;IACA,WAAW,KAAK;GAClB,CAAC,CAAC,EAAE,eAAe;GACrB,eAAe;GACf,iBAAiB;EACnB;EAEA,eAAe,KAAK,iBAAiB,QAAQ;EAC7C,iBAAiB,KAAK,mBAAmB,QAAQ;EAEjD,MAAM,qBAAqB,+BAA+B,IAAI;EAC9D,eAAe,mBAAmB,QAAQ,QAAQ;EAClD,iBAAiB,mBAAmB,UAAU,QAAQ;EAEtD,MAAM,iBACJ,cAAc,iBACV,0BAA0B;GACxB;GACA;GACA;GACA;GACA,aAAa;EACf,CAAC,IACD,KAAA;EACN,IAAI,kBAAkB,MAAM;GAC1B,MAAM,0BACH,eAAe,YAAY,eAAe,WAC3C,QAAQ;GACV,eAAe;GACf,iBAAiB;GAEjB,IAAI,eAAe,iBAAiB,GAAG;IACrC,MAAM,kBACJ,+BAA+B;KAC7B,MAAM;KACN;IACF,CAAC,CAAC,EAAE,eAAe;IACrB,eAAe;IACf,iBAAiB;GACnB;EACF,OAAO,IACL,cAAc,kBACd,SAAS,aACT,uBACA;GACA,MAAM,kBACJ,+BAA+B;IAC7B,MAAM;IACN;GACF,CAAC,CAAC,EAAE,eAAe;GACrB,eAAe;GACf,iBAAiB;EACnB;CACF;CAEA,IAAI,SAAS,MAAM,SAAS,GAAG;EAC7B,MAAM,gBAAgB,4BAA4B,OAAO;EACzD,eAAe;EACf,iBAAiB;CACnB;CAEA,OAAO;EAAE;EAAa;CAAc;AACtC;AAEA,SAAS,+BAA+B,MAGtC;CACA,IAAI,CAAC,KAAK,oBAAoB,CAAC,KAAK,kBAClC,OAAO;EAAE,OAAO;EAAG,SAAS;CAAE;CAGhC,MAAM,cAAc,KAAK,YAAY,GAAG,EAAE;CAC1C,IAAI,eAAe,MACjB,OAAO;EAAE,OAAO;EAAG,SAAS;CAAE;CAGhC,IAAI,YAAY,SAAS,WAAW;EAClC,MAAM,eAAe,YAAY,QAAQ,IAAI,IAAI;EACjD,OAAO;GAAE,OAAO;GAAc,SAAS;EAAa;CACtD;CAEA,OAAO,qCAAqC,MAAM,WAAW;AAC/D;AACA,SAAS,qCACP,MACA,SACoC;CACpC,MAAM,WACH,QAAQ,YAAY,KAAK,KAAK,mBAAmB,IAAI,MACrD,QAAQ,YAAY,KAAK,KAAK,mBAAmB,IAAI;CACxD,MAAM,2BACJ,QAAQ,YAAY,KAAK,KAAK;CAChC,MAAM,2BACJ,QAAQ,YAAY,KAAK,KAAK;CAGhC,OAAO;EAAE,OAFK,4BAA4B,2BAA2B,IAAI;EAEzD;CAAQ;AAC1B"}
|
|
@@ -3,11 +3,19 @@
|
|
|
3
3
|
* Computes line start offsets for a string.
|
|
4
4
|
*/
|
|
5
5
|
declare function computeLineOffsets(contents: string): number[];
|
|
6
|
+
/**
|
|
7
|
+
* Counts line breaks in a string, treating `\n`, `\r`, and `\r\n` the same way
|
|
8
|
+
* {@link computeLineOffsets} does (a `\r\n` pair is one break). Mirrors that
|
|
9
|
+
* scan but counts in a single pass instead of building and discarding an
|
|
10
|
+
* offsets array, so sizing the changed-line range for large edits stays cheap.
|
|
11
|
+
* A unit test asserts it stays in lockstep with `computeLineOffsets`.
|
|
12
|
+
*/
|
|
13
|
+
declare function countLineBreaks(contents: string): number;
|
|
6
14
|
/**
|
|
7
15
|
* Splits file contents into lines aligned with {@link computeLineOffsets}.
|
|
8
16
|
* Unlike splitFileContents, a trailing newline produces a final empty line.
|
|
9
17
|
*/
|
|
10
18
|
declare function linesFromFileContents(contents: string): string[];
|
|
11
19
|
//#endregion
|
|
12
|
-
export { computeLineOffsets, linesFromFileContents };
|
|
20
|
+
export { computeLineOffsets, countLineBreaks, linesFromFileContents };
|
|
13
21
|
//# sourceMappingURL=computeFileOffsets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeFileOffsets.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"computeFileOffsets.d.ts","names":[],"sources":["../../src/utils/computeFileOffsets.ts"],"mappings":";;AAMA;;iBAAgB,kBAAA,CAAmB,QAAgB;;AAAA;AAyBnD;;;;AAAgD;iBAAhC,eAAA,CAAgB,QAAgB;;;;AAuBM;iBAAtC,qBAAA,CAAsB,QAAgB"}
|
|
@@ -16,6 +16,24 @@ function computeLineOffsets(contents) {
|
|
|
16
16
|
return offsets;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
+
* Counts line breaks in a string, treating `\n`, `\r`, and `\r\n` the same way
|
|
20
|
+
* {@link computeLineOffsets} does (a `\r\n` pair is one break). Mirrors that
|
|
21
|
+
* scan but counts in a single pass instead of building and discarding an
|
|
22
|
+
* offsets array, so sizing the changed-line range for large edits stays cheap.
|
|
23
|
+
* A unit test asserts it stays in lockstep with `computeLineOffsets`.
|
|
24
|
+
*/
|
|
25
|
+
function countLineBreaks(contents) {
|
|
26
|
+
let count = 0;
|
|
27
|
+
for (let i = 0; i < contents.length; i++) {
|
|
28
|
+
const char = contents.charCodeAt(i);
|
|
29
|
+
if (char === LINE_FEED || char === CARRIAGE_RETURN) {
|
|
30
|
+
if (char === CARRIAGE_RETURN && i + 1 < contents.length && contents.charCodeAt(i + 1) === LINE_FEED) i++;
|
|
31
|
+
count++;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return count;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
19
37
|
* Splits file contents into lines aligned with {@link computeLineOffsets}.
|
|
20
38
|
* Unlike splitFileContents, a trailing newline produces a final empty line.
|
|
21
39
|
*/
|
|
@@ -27,7 +45,7 @@ function linesFromFileContents(contents) {
|
|
|
27
45
|
return contents.slice(start, end);
|
|
28
46
|
});
|
|
29
47
|
}
|
|
30
|
-
|
|
31
48
|
//#endregion
|
|
32
|
-
export { computeLineOffsets, linesFromFileContents };
|
|
49
|
+
export { computeLineOffsets, countLineBreaks, linesFromFileContents };
|
|
50
|
+
|
|
33
51
|
//# sourceMappingURL=computeFileOffsets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeFileOffsets.js","names":[
|
|
1
|
+
{"version":3,"file":"computeFileOffsets.js","names":[],"sources":["../../src/utils/computeFileOffsets.ts"],"sourcesContent":["const LINE_FEED = 10; // \\n\nconst CARRIAGE_RETURN = 13; // \\r\n\n/**\n * Computes line start offsets for a string.\n */\nexport function computeLineOffsets(contents: string): number[] {\n const offsets: number[] = [0];\n for (let i = 0; i < contents.length; i++) {\n const char = contents.charCodeAt(i);\n if (char === LINE_FEED || char === CARRIAGE_RETURN) {\n if (\n char === CARRIAGE_RETURN &&\n i + 1 < contents.length &&\n contents.charCodeAt(i + 1) === LINE_FEED\n ) {\n i++;\n }\n offsets.push(i + 1);\n }\n }\n return offsets;\n}\n\n/**\n * Counts line breaks in a string, treating `\\n`, `\\r`, and `\\r\\n` the same way\n * {@link computeLineOffsets} does (a `\\r\\n` pair is one break). Mirrors that\n * scan but counts in a single pass instead of building and discarding an\n * offsets array, so sizing the changed-line range for large edits stays cheap.\n * A unit test asserts it stays in lockstep with `computeLineOffsets`.\n */\nexport function countLineBreaks(contents: string): number {\n let count = 0;\n for (let i = 0; i < contents.length; i++) {\n const char = contents.charCodeAt(i);\n if (char === LINE_FEED || char === CARRIAGE_RETURN) {\n // Skip the `\\n` of a `\\r\\n` pair so it counts as one break, not two.\n if (\n char === CARRIAGE_RETURN &&\n i + 1 < contents.length &&\n contents.charCodeAt(i + 1) === LINE_FEED\n ) {\n i++;\n }\n count++;\n }\n }\n return count;\n}\n\n/**\n * Splits file contents into lines aligned with {@link computeLineOffsets}.\n * Unlike splitFileContents, a trailing newline produces a final empty line.\n */\nexport function linesFromFileContents(contents: string): string[] {\n const offsets = computeLineOffsets(contents);\n const lines = Array.from({ length: offsets.length }, (_, i) => {\n const start = offsets[i];\n const end = offsets[i + 1] ?? contents.length;\n return contents.slice(start, end);\n });\n return lines;\n}\n"],"mappings":";AAAA,MAAM,YAAY;AAClB,MAAM,kBAAkB;;;;AAKxB,SAAgB,mBAAmB,UAA4B;CAC7D,MAAM,UAAoB,CAAC,CAAC;CAC5B,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,OAAO,SAAS,WAAW,CAAC;EAClC,IAAI,SAAS,aAAa,SAAS,iBAAiB;GAClD,IACE,SAAS,mBACT,IAAI,IAAI,SAAS,UACjB,SAAS,WAAW,IAAI,CAAC,MAAM,WAE/B;GAEF,QAAQ,KAAK,IAAI,CAAC;EACpB;CACF;CACA,OAAO;AACT;;;;;;;;AASA,SAAgB,gBAAgB,UAA0B;CACxD,IAAI,QAAQ;CACZ,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,OAAO,SAAS,WAAW,CAAC;EAClC,IAAI,SAAS,aAAa,SAAS,iBAAiB;GAElD,IACE,SAAS,mBACT,IAAI,IAAI,SAAS,UACjB,SAAS,WAAW,IAAI,CAAC,MAAM,WAE/B;GAEF;EACF;CACF;CACA,OAAO;AACT;;;;;AAMA,SAAgB,sBAAsB,UAA4B;CAChE,MAAM,UAAU,mBAAmB,QAAQ;CAM3C,OALc,MAAM,KAAK,EAAE,QAAQ,QAAQ,OAAO,IAAI,GAAG,MAAM;EAC7D,MAAM,QAAQ,QAAQ;EACtB,MAAM,MAAM,QAAQ,IAAI,MAAM,SAAS;EACvC,OAAO,SAAS,MAAM,OAAO,GAAG;CAClC,CACW;AACb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeVirtualFileMetrics.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"computeVirtualFileMetrics.d.ts","names":[],"sources":["../../src/utils/computeVirtualFileMetrics.ts"],"mappings":";;;iBAGgB,yBAAA,CACd,OAAA,GAAU,OAAA,CAAQ,kBAAA,IACjB,kBAAA;AAAA,iBAOa,0BAAA,CACd,OAAA,EAAS,kBAAkB,EAC3B,iBAAA;AAAA,iBAMc,wBAAA,CACd,OAAA,EAAS,kBAAkB,EAC3B,iBAAA;AAAA,iBAKc,2BAAA,CACd,OAA2B,EAAlB,kBAAkB;AAAA,iBAKb,6BAAA,CAA8B,IAAoB,EAAd,cAAc"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { DEFAULT_VIRTUAL_FILE_METRICS } from "../constants.js";
|
|
2
|
-
|
|
3
2
|
//#region src/utils/computeVirtualFileMetrics.ts
|
|
4
3
|
function computeVirtualFileMetrics(metrics) {
|
|
5
4
|
return {
|
|
@@ -26,7 +25,7 @@ function getDefaultHunkSeparatorHeight(type) {
|
|
|
26
25
|
case "custom": return 32;
|
|
27
26
|
}
|
|
28
27
|
}
|
|
29
|
-
|
|
30
28
|
//#endregion
|
|
31
29
|
export { computeVirtualFileMetrics, getDefaultHunkSeparatorHeight, getVirtualFileHeaderRegion, getVirtualFilePaddingBottom, getVirtualFilePaddingTop };
|
|
30
|
+
|
|
32
31
|
//# sourceMappingURL=computeVirtualFileMetrics.js.map
|