@pierre/diffs 1.0.0-beta.1
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/LICENSE.txt +201 -0
- package/README.md +26 -0
- package/dist/components/File.d.ts +78 -0
- package/dist/components/File.d.ts.map +1 -0
- package/dist/components/File.js +322 -0
- package/dist/components/File.js.map +1 -0
- package/dist/components/FileDiff.d.ts +90 -0
- package/dist/components/FileDiff.d.ts.map +1 -0
- package/dist/components/FileDiff.js +392 -0
- package/dist/components/FileDiff.js.map +1 -0
- package/dist/components/FileStream.d.ts +40 -0
- package/dist/components/FileStream.d.ts.map +1 -0
- package/dist/components/FileStream.js +161 -0
- package/dist/components/FileStream.js.map +1 -0
- package/dist/components/web-components.d.ts +5 -0
- package/dist/components/web-components.d.ts.map +1 -0
- package/dist/components/web-components.js +25 -0
- package/dist/components/web-components.js.map +1 -0
- package/dist/constants.d.ts +21 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +23 -0
- package/dist/constants.js.map +1 -0
- package/dist/highlighter/languages/areLanguagesAttached.d.ts +7 -0
- package/dist/highlighter/languages/areLanguagesAttached.d.ts.map +1 -0
- package/dist/highlighter/languages/areLanguagesAttached.js +11 -0
- package/dist/highlighter/languages/areLanguagesAttached.js.map +1 -0
- package/dist/highlighter/languages/attachResolvedLanguages.d.ts +9 -0
- package/dist/highlighter/languages/attachResolvedLanguages.d.ts.map +1 -0
- package/dist/highlighter/languages/attachResolvedLanguages.js +20 -0
- package/dist/highlighter/languages/attachResolvedLanguages.js.map +1 -0
- package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts +5 -0
- package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts.map +1 -0
- package/dist/highlighter/languages/cleanUpResolvedLanguages.js +11 -0
- package/dist/highlighter/languages/cleanUpResolvedLanguages.js.map +1 -0
- package/dist/highlighter/languages/constants.d.ts +11 -0
- package/dist/highlighter/languages/constants.d.ts.map +1 -0
- package/dist/highlighter/languages/constants.js +8 -0
- package/dist/highlighter/languages/constants.js.map +1 -0
- package/dist/highlighter/languages/getResolvedLanguages.d.ts +9 -0
- package/dist/highlighter/languages/getResolvedLanguages.d.ts.map +1 -0
- package/dist/highlighter/languages/getResolvedLanguages.js +16 -0
- package/dist/highlighter/languages/getResolvedLanguages.js.map +1 -0
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts +9 -0
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts.map +1 -0
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.js +11 -0
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.js.map +1 -0
- package/dist/highlighter/languages/hasResolvedLanguages.d.ts +7 -0
- package/dist/highlighter/languages/hasResolvedLanguages.d.ts.map +1 -0
- package/dist/highlighter/languages/hasResolvedLanguages.js +11 -0
- package/dist/highlighter/languages/hasResolvedLanguages.js.map +1 -0
- package/dist/highlighter/languages/resolveLanguage.d.ts +9 -0
- package/dist/highlighter/languages/resolveLanguage.d.ts.map +1 -0
- package/dist/highlighter/languages/resolveLanguage.js +30 -0
- package/dist/highlighter/languages/resolveLanguage.js.map +1 -0
- package/dist/highlighter/languages/resolveLanguages.d.ts +9 -0
- package/dist/highlighter/languages/resolveLanguages.d.ts.map +1 -0
- package/dist/highlighter/languages/resolveLanguages.js +25 -0
- package/dist/highlighter/languages/resolveLanguages.js.map +1 -0
- package/dist/highlighter/shared_highlighter.d.ts +21 -0
- package/dist/highlighter/shared_highlighter.d.ts.map +1 -0
- package/dist/highlighter/shared_highlighter.js +71 -0
- package/dist/highlighter/shared_highlighter.js.map +1 -0
- package/dist/highlighter/themes/areThemesAttached.d.ts +7 -0
- package/dist/highlighter/themes/areThemesAttached.d.ts.map +1 -0
- package/dist/highlighter/themes/areThemesAttached.js +12 -0
- package/dist/highlighter/themes/areThemesAttached.js.map +1 -0
- package/dist/highlighter/themes/attachResolvedThemes.d.ts +7 -0
- package/dist/highlighter/themes/attachResolvedThemes.d.ts.map +1 -0
- package/dist/highlighter/themes/attachResolvedThemes.js +24 -0
- package/dist/highlighter/themes/attachResolvedThemes.js.map +1 -0
- package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts +5 -0
- package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts.map +1 -0
- package/dist/highlighter/themes/cleanUpResolvedThemes.js +11 -0
- package/dist/highlighter/themes/cleanUpResolvedThemes.js.map +1 -0
- package/dist/highlighter/themes/constants.d.ts +11 -0
- package/dist/highlighter/themes/constants.d.ts.map +1 -0
- package/dist/highlighter/themes/constants.js +9 -0
- package/dist/highlighter/themes/constants.js.map +1 -0
- package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts +7 -0
- package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts.map +1 -0
- package/dist/highlighter/themes/getResolvedOrResolveTheme.js +11 -0
- package/dist/highlighter/themes/getResolvedOrResolveTheme.js.map +1 -0
- package/dist/highlighter/themes/getResolvedThemes.d.ts +7 -0
- package/dist/highlighter/themes/getResolvedThemes.d.ts.map +1 -0
- package/dist/highlighter/themes/getResolvedThemes.js +16 -0
- package/dist/highlighter/themes/getResolvedThemes.js.map +1 -0
- package/dist/highlighter/themes/hasResolvedThemes.d.ts +7 -0
- package/dist/highlighter/themes/hasResolvedThemes.d.ts.map +1 -0
- package/dist/highlighter/themes/hasResolvedThemes.js +11 -0
- package/dist/highlighter/themes/hasResolvedThemes.js.map +1 -0
- package/dist/highlighter/themes/registerCustomTheme.d.ts +7 -0
- package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -0
- package/dist/highlighter/themes/registerCustomTheme.js +14 -0
- package/dist/highlighter/themes/registerCustomTheme.js.map +1 -0
- package/dist/highlighter/themes/resolveTheme.d.ts +7 -0
- package/dist/highlighter/themes/resolveTheme.d.ts.map +1 -0
- package/dist/highlighter/themes/resolveTheme.js +35 -0
- package/dist/highlighter/themes/resolveTheme.js.map +1 -0
- package/dist/highlighter/themes/resolveThemes.d.ts +7 -0
- package/dist/highlighter/themes/resolveThemes.d.ts.map +1 -0
- package/dist/highlighter/themes/resolveThemes.js +21 -0
- package/dist/highlighter/themes/resolveThemes.js.map +1 -0
- package/dist/index.d.ts +84 -0
- package/dist/index.js +83 -0
- package/dist/managers/LineSelectionManager.d.ts +64 -0
- package/dist/managers/LineSelectionManager.d.ts.map +1 -0
- package/dist/managers/LineSelectionManager.js +276 -0
- package/dist/managers/LineSelectionManager.js.map +1 -0
- package/dist/managers/MouseEventManager.d.ts +64 -0
- package/dist/managers/MouseEventManager.d.ts.map +1 -0
- package/dist/managers/MouseEventManager.js +244 -0
- package/dist/managers/MouseEventManager.js.map +1 -0
- package/dist/managers/ResizeManager.d.ts +11 -0
- package/dist/managers/ResizeManager.d.ts.map +1 -0
- package/dist/managers/ResizeManager.js +132 -0
- package/dist/managers/ResizeManager.js.map +1 -0
- package/dist/managers/ScrollSyncManager.d.ts +15 -0
- package/dist/managers/ScrollSyncManager.d.ts.map +1 -0
- package/dist/managers/ScrollSyncManager.js +54 -0
- package/dist/managers/ScrollSyncManager.js.map +1 -0
- package/dist/managers/UniversalRenderingManager.d.ts +6 -0
- package/dist/managers/UniversalRenderingManager.d.ts.map +1 -0
- package/dist/managers/UniversalRenderingManager.js +32 -0
- package/dist/managers/UniversalRenderingManager.js.map +1 -0
- package/dist/react/File.d.ts +19 -0
- package/dist/react/File.d.ts.map +1 -0
- package/dist/react/File.js +36 -0
- package/dist/react/File.js.map +1 -0
- package/dist/react/FileDiff.d.ts +22 -0
- package/dist/react/FileDiff.d.ts.map +1 -0
- package/dist/react/FileDiff.js +36 -0
- package/dist/react/FileDiff.js.map +1 -0
- package/dist/react/MultiFileDiff.d.ts +24 -0
- package/dist/react/MultiFileDiff.d.ts.map +1 -0
- package/dist/react/MultiFileDiff.js +38 -0
- package/dist/react/MultiFileDiff.js.map +1 -0
- package/dist/react/PatchDiff.d.ts +21 -0
- package/dist/react/PatchDiff.d.ts.map +1 -0
- package/dist/react/PatchDiff.js +42 -0
- package/dist/react/PatchDiff.js.map +1 -0
- package/dist/react/WorkerPoolContext.d.ts +20 -0
- package/dist/react/WorkerPoolContext.d.ts.map +1 -0
- package/dist/react/WorkerPoolContext.js +41 -0
- package/dist/react/WorkerPoolContext.js.map +1 -0
- package/dist/react/constants.d.ts +7 -0
- package/dist/react/constants.d.ts.map +1 -0
- package/dist/react/constants.js +11 -0
- package/dist/react/constants.js.map +1 -0
- package/dist/react/index.d.ts +17 -0
- package/dist/react/index.js +14 -0
- package/dist/react/jsx.d.ts +12 -0
- package/dist/react/jsx.d.ts.map +1 -0
- package/dist/react/types.d.ts +34 -0
- package/dist/react/types.d.ts.map +1 -0
- package/dist/react/types.js +1 -0
- package/dist/react/utils/renderDiffChildren.d.ts +29 -0
- package/dist/react/utils/renderDiffChildren.d.ts.map +1 -0
- package/dist/react/utils/renderDiffChildren.js +32 -0
- package/dist/react/utils/renderDiffChildren.js.map +1 -0
- package/dist/react/utils/renderFileChildren.d.ts +25 -0
- package/dist/react/utils/renderFileChildren.d.ts.map +1 -0
- package/dist/react/utils/renderFileChildren.js +28 -0
- package/dist/react/utils/renderFileChildren.js.map +1 -0
- package/dist/react/utils/templateRender.d.ts +7 -0
- package/dist/react/utils/templateRender.d.ts.map +1 -0
- package/dist/react/utils/templateRender.js +14 -0
- package/dist/react/utils/templateRender.js.map +1 -0
- package/dist/react/utils/useFileDiffInstance.d.ts +31 -0
- package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -0
- package/dist/react/utils/useFileDiffInstance.js +54 -0
- package/dist/react/utils/useFileDiffInstance.js.map +1 -0
- package/dist/react/utils/useFileInstance.d.ts +27 -0
- package/dist/react/utils/useFileInstance.d.ts.map +1 -0
- package/dist/react/utils/useFileInstance.js +49 -0
- package/dist/react/utils/useFileInstance.js.map +1 -0
- package/dist/react/utils/useStableCallback.d.ts +5 -0
- package/dist/react/utils/useStableCallback.d.ts.map +1 -0
- package/dist/react/utils/useStableCallback.js +14 -0
- package/dist/react/utils/useStableCallback.js.map +1 -0
- package/dist/renderers/DiffHunksRenderer.d.ts +62 -0
- package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -0
- package/dist/renderers/DiffHunksRenderer.js +651 -0
- package/dist/renderers/DiffHunksRenderer.js.map +1 -0
- package/dist/renderers/FileRenderer.d.ts +49 -0
- package/dist/renderers/FileRenderer.d.ts.map +1 -0
- package/dist/renderers/FileRenderer.js +239 -0
- package/dist/renderers/FileRenderer.js.map +1 -0
- package/dist/shiki-stream/index.d.ts +4 -0
- package/dist/shiki-stream/index.js +4 -0
- package/dist/shiki-stream/stream.d.ts +17 -0
- package/dist/shiki-stream/stream.d.ts.map +1 -0
- package/dist/shiki-stream/stream.js +32 -0
- package/dist/shiki-stream/stream.js.map +1 -0
- package/dist/shiki-stream/tokenizer.d.ts +24 -0
- package/dist/shiki-stream/tokenizer.d.ts.map +1 -0
- package/dist/shiki-stream/tokenizer.js +71 -0
- package/dist/shiki-stream/tokenizer.js.map +1 -0
- package/dist/shiki-stream/types.d.ts +45 -0
- package/dist/shiki-stream/types.d.ts.map +1 -0
- package/dist/shiki-stream/types.js +0 -0
- package/dist/sprite.d.ts +6 -0
- package/dist/sprite.d.ts.map +1 -0
- package/dist/sprite.js +55 -0
- package/dist/sprite.js.map +1 -0
- package/dist/ssr/FileDiffReact.d.ts +21 -0
- package/dist/ssr/FileDiffReact.d.ts.map +1 -0
- package/dist/ssr/FileDiffReact.js +53 -0
- package/dist/ssr/FileDiffReact.js.map +1 -0
- package/dist/ssr/index.d.ts +6 -0
- package/dist/ssr/index.js +6 -0
- package/dist/ssr/preloadDiffs.d.ts +72 -0
- package/dist/ssr/preloadDiffs.d.ts.map +1 -0
- package/dist/ssr/preloadDiffs.js +66 -0
- package/dist/ssr/preloadDiffs.js.map +1 -0
- package/dist/ssr/preloadFile.d.ts +23 -0
- package/dist/ssr/preloadFile.d.ts.map +1 -0
- package/dist/ssr/preloadFile.js +26 -0
- package/dist/ssr/preloadFile.js.map +1 -0
- package/dist/ssr/preloadPatchFile.d.ts +15 -0
- package/dist/ssr/preloadPatchFile.d.ts.map +1 -0
- package/dist/ssr/preloadPatchFile.js +17 -0
- package/dist/ssr/preloadPatchFile.js.map +1 -0
- package/dist/ssr/renderHTML.d.ts +7 -0
- package/dist/ssr/renderHTML.d.ts.map +1 -0
- package/dist/ssr/renderHTML.js +11 -0
- package/dist/ssr/renderHTML.js.map +1 -0
- package/dist/string-import.d.ts +6 -0
- package/dist/string-import.d.ts.map +1 -0
- package/dist/style.js +6 -0
- package/dist/style.js.map +1 -0
- package/dist/themes/pierre-dark.js +1328 -0
- package/dist/themes/pierre-dark.js.map +1 -0
- package/dist/themes/pierre-light.js +1328 -0
- package/dist/themes/pierre-light.js.map +1 -0
- package/dist/types.d.ts +238 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +0 -0
- package/dist/utils/areFilesEqual.d.ts +7 -0
- package/dist/utils/areFilesEqual.d.ts.map +1 -0
- package/dist/utils/areFilesEqual.js +8 -0
- package/dist/utils/areFilesEqual.js.map +1 -0
- package/dist/utils/areObjectsEqual.d.ts +5 -0
- package/dist/utils/areObjectsEqual.d.ts.map +1 -0
- package/dist/utils/areObjectsEqual.js +18 -0
- package/dist/utils/areObjectsEqual.js.map +1 -0
- package/dist/utils/areOptionsEqual.d.ts +9 -0
- package/dist/utils/areOptionsEqual.d.ts.map +1 -0
- package/dist/utils/areOptionsEqual.js +12 -0
- package/dist/utils/areOptionsEqual.js.map +1 -0
- package/dist/utils/areSelectionsEqual.d.ts +7 -0
- package/dist/utils/areSelectionsEqual.d.ts.map +1 -0
- package/dist/utils/areSelectionsEqual.js +8 -0
- package/dist/utils/areSelectionsEqual.js.map +1 -0
- package/dist/utils/areThemesEqual.d.ts +7 -0
- package/dist/utils/areThemesEqual.d.ts.map +1 -0
- package/dist/utils/areThemesEqual.js +9 -0
- package/dist/utils/areThemesEqual.js.map +1 -0
- package/dist/utils/cleanLastNewline.d.ts +5 -0
- package/dist/utils/cleanLastNewline.d.ts.map +1 -0
- package/dist/utils/cleanLastNewline.js +8 -0
- package/dist/utils/cleanLastNewline.js.map +1 -0
- package/dist/utils/createAnnotationElement.d.ts +8 -0
- package/dist/utils/createAnnotationElement.d.ts.map +1 -0
- package/dist/utils/createAnnotationElement.js +21 -0
- package/dist/utils/createAnnotationElement.js.map +1 -0
- package/dist/utils/createAnnotationWrapperNode.d.ts +5 -0
- package/dist/utils/createAnnotationWrapperNode.d.ts.map +1 -0
- package/dist/utils/createAnnotationWrapperNode.js +12 -0
- package/dist/utils/createAnnotationWrapperNode.js.map +1 -0
- package/dist/utils/createCodeNode.d.ts +12 -0
- package/dist/utils/createCodeNode.d.ts.map +1 -0
- package/dist/utils/createCodeNode.js +12 -0
- package/dist/utils/createCodeNode.js.map +1 -0
- package/dist/utils/createEmptyRowBuffer.d.ts +7 -0
- package/dist/utils/createEmptyRowBuffer.d.ts.map +1 -0
- package/dist/utils/createEmptyRowBuffer.js +16 -0
- package/dist/utils/createEmptyRowBuffer.js.map +1 -0
- package/dist/utils/createFileHeaderElement.d.ts +17 -0
- package/dist/utils/createFileHeaderElement.d.ts.map +1 -0
- package/dist/utils/createFileHeaderElement.js +84 -0
- package/dist/utils/createFileHeaderElement.js.map +1 -0
- package/dist/utils/createHoverContentNode.d.ts +5 -0
- package/dist/utils/createHoverContentNode.d.ts.map +1 -0
- package/dist/utils/createHoverContentNode.js +15 -0
- package/dist/utils/createHoverContentNode.js.map +1 -0
- package/dist/utils/createNoNewlineElement.d.ts +7 -0
- package/dist/utils/createNoNewlineElement.d.ts.map +1 -0
- package/dist/utils/createNoNewlineElement.js +24 -0
- package/dist/utils/createNoNewlineElement.js.map +1 -0
- package/dist/utils/createPreElement.d.ts +18 -0
- package/dist/utils/createPreElement.d.ts.map +1 -0
- package/dist/utils/createPreElement.js +28 -0
- package/dist/utils/createPreElement.js.map +1 -0
- package/dist/utils/createRowNodes.d.ts +8 -0
- package/dist/utils/createRowNodes.d.ts.map +1 -0
- package/dist/utils/createRowNodes.js +20 -0
- package/dist/utils/createRowNodes.js.map +1 -0
- package/dist/utils/createSeparator.d.ts +25 -0
- package/dist/utils/createSeparator.d.ts.map +1 -0
- package/dist/utils/createSeparator.js +69 -0
- package/dist/utils/createSeparator.js.map +1 -0
- package/dist/utils/createSpanNodeFromToken.d.ts +7 -0
- package/dist/utils/createSpanNodeFromToken.d.ts.map +1 -0
- package/dist/utils/createSpanNodeFromToken.js +13 -0
- package/dist/utils/createSpanNodeFromToken.js.map +1 -0
- package/dist/utils/createStyleElement.d.ts +7 -0
- package/dist/utils/createStyleElement.d.ts.map +1 -0
- package/dist/utils/createStyleElement.js +19 -0
- package/dist/utils/createStyleElement.js.map +1 -0
- package/dist/utils/createTransformerWithState.d.ts +13 -0
- package/dist/utils/createTransformerWithState.d.ts.map +1 -0
- package/dist/utils/createTransformerWithState.js +56 -0
- package/dist/utils/createTransformerWithState.js.map +1 -0
- package/dist/utils/createUnsafeCSSStyleNode.d.ts +5 -0
- package/dist/utils/createUnsafeCSSStyleNode.d.ts.map +1 -0
- package/dist/utils/createUnsafeCSSStyleNode.js +12 -0
- package/dist/utils/createUnsafeCSSStyleNode.js.map +1 -0
- package/dist/utils/cssWrappers.d.ts +6 -0
- package/dist/utils/cssWrappers.d.ts.map +1 -0
- package/dist/utils/cssWrappers.js +21 -0
- package/dist/utils/cssWrappers.js.map +1 -0
- package/dist/utils/diffAcceptRejectHunk.d.ts +7 -0
- package/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -0
- package/dist/utils/diffAcceptRejectHunk.js +82 -0
- package/dist/utils/diffAcceptRejectHunk.js.map +1 -0
- package/dist/utils/formatCSSVariablePrefix.d.ts +5 -0
- package/dist/utils/formatCSSVariablePrefix.d.ts.map +1 -0
- package/dist/utils/formatCSSVariablePrefix.js +8 -0
- package/dist/utils/formatCSSVariablePrefix.js.map +1 -0
- package/dist/utils/getFiletypeFromFileName.d.ts +9 -0
- package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -0
- package/dist/utils/getFiletypeFromFileName.js +343 -0
- package/dist/utils/getFiletypeFromFileName.js.map +1 -0
- package/dist/utils/getHighlighterOptions.d.ts +14 -0
- package/dist/utils/getHighlighterOptions.d.ts.map +1 -0
- package/dist/utils/getHighlighterOptions.js +13 -0
- package/dist/utils/getHighlighterOptions.js.map +1 -0
- package/dist/utils/getHighlighterThemeStyles.d.ts +16 -0
- package/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -0
- package/dist/utils/getHighlighterThemeStyles.js +40 -0
- package/dist/utils/getHighlighterThemeStyles.js.map +1 -0
- package/dist/utils/getHunkSeparatorSlotName.d.ts +5 -0
- package/dist/utils/getHunkSeparatorSlotName.d.ts.map +1 -0
- package/dist/utils/getHunkSeparatorSlotName.js +8 -0
- package/dist/utils/getHunkSeparatorSlotName.js.map +1 -0
- package/dist/utils/getIconForType.d.ts +8 -0
- package/dist/utils/getIconForType.d.ts.map +1 -0
- package/dist/utils/getIconForType.js +15 -0
- package/dist/utils/getIconForType.js.map +1 -0
- package/dist/utils/getLineAnnotationName.d.ts +7 -0
- package/dist/utils/getLineAnnotationName.d.ts.map +1 -0
- package/dist/utils/getLineAnnotationName.js +8 -0
- package/dist/utils/getLineAnnotationName.js.map +1 -0
- package/dist/utils/getLineEndingType.d.ts +5 -0
- package/dist/utils/getLineEndingType.d.ts.map +1 -0
- package/dist/utils/getLineEndingType.js +11 -0
- package/dist/utils/getLineEndingType.js.map +1 -0
- package/dist/utils/getLineNodes.d.ts +7 -0
- package/dist/utils/getLineNodes.d.ts.map +1 -0
- package/dist/utils/getLineNodes.js +15 -0
- package/dist/utils/getLineNodes.js.map +1 -0
- package/dist/utils/getSingularPatch.d.ts +7 -0
- package/dist/utils/getSingularPatch.d.ts.map +1 -0
- package/dist/utils/getSingularPatch.js +20 -0
- package/dist/utils/getSingularPatch.js.map +1 -0
- package/dist/utils/getThemes.d.ts +7 -0
- package/dist/utils/getThemes.d.ts.map +1 -0
- package/dist/utils/getThemes.js +16 -0
- package/dist/utils/getThemes.js.map +1 -0
- package/dist/utils/getTotalLineCountFromHunks.d.ts +7 -0
- package/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -0
- package/dist/utils/getTotalLineCountFromHunks.js +10 -0
- package/dist/utils/getTotalLineCountFromHunks.js.map +1 -0
- package/dist/utils/hast_utils.d.ts +31 -0
- package/dist/utils/hast_utils.d.ts.map +1 -0
- package/dist/utils/hast_utils.js +42 -0
- package/dist/utils/hast_utils.js.map +1 -0
- package/dist/utils/isWorkerContext.d.ts +5 -0
- package/dist/utils/isWorkerContext.d.ts.map +1 -0
- package/dist/utils/isWorkerContext.js +8 -0
- package/dist/utils/isWorkerContext.js.map +1 -0
- package/dist/utils/parseDiffDecorations.d.ts +31 -0
- package/dist/utils/parseDiffDecorations.d.ts.map +1 -0
- package/dist/utils/parseDiffDecorations.js +34 -0
- package/dist/utils/parseDiffDecorations.js.map +1 -0
- package/dist/utils/parseDiffFromFile.d.ts +14 -0
- package/dist/utils/parseDiffFromFile.d.ts.map +1 -0
- package/dist/utils/parseDiffFromFile.js +23 -0
- package/dist/utils/parseDiffFromFile.js.map +1 -0
- package/dist/utils/parseLineType.d.ts +11 -0
- package/dist/utils/parseLineType.d.ts.map +1 -0
- package/dist/utils/parseLineType.js +16 -0
- package/dist/utils/parseLineType.js.map +1 -0
- package/dist/utils/parsePatchFiles.d.ts +16 -0
- package/dist/utils/parsePatchFiles.d.ts.map +1 -0
- package/dist/utils/parsePatchFiles.js +204 -0
- package/dist/utils/parsePatchFiles.js.map +1 -0
- package/dist/utils/prerenderHTMLIfNecessary.d.ts +5 -0
- package/dist/utils/prerenderHTMLIfNecessary.d.ts.map +1 -0
- package/dist/utils/prerenderHTMLIfNecessary.js +10 -0
- package/dist/utils/prerenderHTMLIfNecessary.js.map +1 -0
- package/dist/utils/processLine.d.ts +8 -0
- package/dist/utils/processLine.d.ts.map +1 -0
- package/dist/utils/processLine.js +42 -0
- package/dist/utils/processLine.js.map +1 -0
- package/dist/utils/renderDiffWithHighlighter.d.ts +7 -0
- package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -0
- package/dist/utils/renderDiffWithHighlighter.js +323 -0
- package/dist/utils/renderDiffWithHighlighter.js.map +1 -0
- package/dist/utils/renderFileWithHighlighter.d.ts +10 -0
- package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -0
- package/dist/utils/renderFileWithHighlighter.js +52 -0
- package/dist/utils/renderFileWithHighlighter.js.map +1 -0
- package/dist/utils/setLanguageOverride.d.ts +7 -0
- package/dist/utils/setLanguageOverride.d.ts.map +1 -0
- package/dist/utils/setLanguageOverride.js +11 -0
- package/dist/utils/setLanguageOverride.js.map +1 -0
- package/dist/utils/setWrapperNodeProps.d.ts +20 -0
- package/dist/utils/setWrapperNodeProps.d.ts.map +1 -0
- package/dist/utils/setWrapperNodeProps.js +29 -0
- package/dist/utils/setWrapperNodeProps.js.map +1 -0
- package/dist/worker/WorkerPoolManager.d.ts +72 -0
- package/dist/worker/WorkerPoolManager.d.ts.map +1 -0
- package/dist/worker/WorkerPoolManager.js +421 -0
- package/dist/worker/WorkerPoolManager.js.map +1 -0
- package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts +16 -0
- package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts.map +1 -0
- package/dist/worker/getOrCreateWorkerPoolSingleton.js +20 -0
- package/dist/worker/getOrCreateWorkerPoolSingleton.js.map +1 -0
- package/dist/worker/index.d.ts +4 -0
- package/dist/worker/index.js +4 -0
- package/dist/worker/types.d.ts +140 -0
- package/dist/worker/types.d.ts.map +1 -0
- package/dist/worker/types.js +0 -0
- package/dist/worker/worker-portable.d.ts +1 -0
- package/dist/worker/worker-portable.js +14872 -0
- package/dist/worker/worker-portable.js.map +1 -0
- package/dist/worker/worker.d.ts +1 -0
- package/dist/worker/worker.js +1061 -0
- package/dist/worker/worker.js.map +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getHighlighterOptions.d.ts","names":[],"sources":["../../src/utils/getHighlighterOptions.ts"],"sourcesContent":[],"mappings":";;;UAGU,uBAAA;UACA,kBAAkB;AAJyC;AAIzC,UAGlB,2BAAA,CAAA;EAKV,KAAgB,EAJP,kBAIO,EAAA;EACR,MAAA,EAJE,eAIF,EAAA;;AAEL,iBAHa,qBAAA,CAGb,IAAA,EAFK,kBAEL,GAAA,SAAA,EAAA,OAAA,EADQ,uBACR,CAAA,EAAA,2BAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { getThemes } from "./getThemes.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/getHighlighterOptions.ts
|
|
4
|
+
function getHighlighterOptions(lang, options) {
|
|
5
|
+
return {
|
|
6
|
+
langs: [lang ?? "text"],
|
|
7
|
+
themes: getThemes(options.theme)
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
//#endregion
|
|
12
|
+
export { getHighlighterOptions };
|
|
13
|
+
//# sourceMappingURL=getHighlighterOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getHighlighterOptions.js","names":[],"sources":["../../src/utils/getHighlighterOptions.ts"],"sourcesContent":["import type { DiffsThemeNames, SupportedLanguages, ThemesType } from '../types';\nimport { getThemes } from './getThemes';\n\ninterface HighlighterOptionsShape {\n theme?: DiffsThemeNames | ThemesType;\n}\n\ninterface GetHighlighterOptionsReturn {\n langs: SupportedLanguages[];\n themes: DiffsThemeNames[];\n}\n\nexport function getHighlighterOptions(\n lang: SupportedLanguages | undefined,\n options: HighlighterOptionsShape\n): GetHighlighterOptionsReturn {\n return {\n langs: [lang ?? 'text'],\n themes: getThemes(options.theme),\n };\n}\n"],"mappings":";;;AAYA,SAAgB,sBACd,MACA,SAC6B;AAC7B,QAAO;EACL,OAAO,CAAC,QAAQ,OAAO;EACvB,QAAQ,UAAU,QAAQ,MAAM;EACjC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DiffsHighlighter, DiffsThemeNames, ThemesType } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/getHighlighterThemeStyles.d.ts
|
|
4
|
+
interface GetHighlighterThemeStylesProps {
|
|
5
|
+
theme?: DiffsThemeNames | ThemesType;
|
|
6
|
+
highlighter: DiffsHighlighter;
|
|
7
|
+
prefix?: string;
|
|
8
|
+
}
|
|
9
|
+
declare function getHighlighterThemeStyles({
|
|
10
|
+
theme,
|
|
11
|
+
highlighter,
|
|
12
|
+
prefix
|
|
13
|
+
}: GetHighlighterThemeStylesProps): string;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { getHighlighterThemeStyles };
|
|
16
|
+
//# sourceMappingURL=getHighlighterThemeStyles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getHighlighterThemeStyles.d.ts","names":[],"sources":["../../src/utils/getHighlighterThemeStyles.ts"],"sourcesContent":[],"mappings":";;;UASU,8BAAA;UACA,kBAAkB;EAJrB,WAGG,EAEK,gBAFL;EACA,MAAA,CAAA,EAAA,MAAA;;AACK,iBAOC,yBAAA,CAPD;EAAA,KAAA;EAAA,WAAA;EAAA;AAAA,CAAA,EAWZ,8BAXY,CAAA,EAAA,MAAA"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { DEFAULT_THEMES } from "../constants.js";
|
|
2
|
+
import { formatCSSVariablePrefix } from "./formatCSSVariablePrefix.js";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/getHighlighterThemeStyles.ts
|
|
5
|
+
function getHighlighterThemeStyles({ theme = DEFAULT_THEMES, highlighter, prefix }) {
|
|
6
|
+
let styles = "";
|
|
7
|
+
if (typeof theme === "string") {
|
|
8
|
+
const themeData = highlighter.getTheme(theme);
|
|
9
|
+
styles += `color:${themeData.fg};`;
|
|
10
|
+
styles += `background-color:${themeData.bg};`;
|
|
11
|
+
styles += `${formatCSSVariablePrefix(prefix)}fg:${themeData.fg};`;
|
|
12
|
+
styles += `${formatCSSVariablePrefix(prefix)}bg:${themeData.bg};`;
|
|
13
|
+
styles += getThemeVariables(themeData, prefix);
|
|
14
|
+
} else {
|
|
15
|
+
let themeData = highlighter.getTheme(theme.dark);
|
|
16
|
+
styles += `${formatCSSVariablePrefix(prefix)}dark:${themeData.fg};`;
|
|
17
|
+
styles += `${formatCSSVariablePrefix(prefix)}dark-bg:${themeData.bg};`;
|
|
18
|
+
styles += getThemeVariables(themeData, prefix, "dark");
|
|
19
|
+
themeData = highlighter.getTheme(theme.light);
|
|
20
|
+
styles += `${formatCSSVariablePrefix(prefix)}light:${themeData.fg};`;
|
|
21
|
+
styles += `${formatCSSVariablePrefix(prefix)}light-bg:${themeData.bg};`;
|
|
22
|
+
styles += getThemeVariables(themeData, prefix, "light");
|
|
23
|
+
}
|
|
24
|
+
return styles;
|
|
25
|
+
}
|
|
26
|
+
function getThemeVariables(themeData, prefix, modePrefix) {
|
|
27
|
+
modePrefix = modePrefix != null ? `${modePrefix}-` : "";
|
|
28
|
+
let styles = "";
|
|
29
|
+
const additionGreen = themeData.colors?.["gitDecoration.addedResourceForeground"] ?? themeData.colors?.["terminal.ansiGreen"];
|
|
30
|
+
if (additionGreen != null) styles += `${formatCSSVariablePrefix(prefix)}${modePrefix}addition-color:${additionGreen};`;
|
|
31
|
+
const deletionRed = themeData.colors?.["gitDecoration.deletedResourceForeground"] ?? themeData.colors?.["terminal.ansiRed"];
|
|
32
|
+
if (deletionRed != null) styles += `${formatCSSVariablePrefix(prefix)}${modePrefix}deletion-color:${deletionRed};`;
|
|
33
|
+
const modifiedBlue = themeData.colors?.["gitDecoration.modifiedResourceForeground"] ?? themeData.colors?.["terminal.ansiBlue"];
|
|
34
|
+
if (modifiedBlue != null) styles += `${formatCSSVariablePrefix(prefix)}${modePrefix}modified-color:${modifiedBlue};`;
|
|
35
|
+
return styles;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
//#endregion
|
|
39
|
+
export { getHighlighterThemeStyles };
|
|
40
|
+
//# sourceMappingURL=getHighlighterThemeStyles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getHighlighterThemeStyles.js","names":[],"sources":["../../src/utils/getHighlighterThemeStyles.ts"],"sourcesContent":["import { DEFAULT_THEMES } from '../constants';\nimport type {\n DiffsHighlighter,\n DiffsThemeNames,\n ThemeRegistrationResolved,\n ThemesType,\n} from '../types';\nimport { formatCSSVariablePrefix } from './formatCSSVariablePrefix';\n\ninterface GetHighlighterThemeStylesProps {\n theme?: DiffsThemeNames | ThemesType;\n highlighter: DiffsHighlighter;\n prefix?: string;\n}\n\n// FIXME(amadeus): We'll probably need to\n// re-think this when it comes to removing inline\n// styles\nexport function getHighlighterThemeStyles({\n theme = DEFAULT_THEMES,\n highlighter,\n prefix,\n}: GetHighlighterThemeStylesProps): string {\n let styles = '';\n if (typeof theme === 'string') {\n const themeData = highlighter.getTheme(theme);\n styles += `color:${themeData.fg};`;\n styles += `background-color:${themeData.bg};`;\n styles += `${formatCSSVariablePrefix(prefix)}fg:${themeData.fg};`;\n styles += `${formatCSSVariablePrefix(prefix)}bg:${themeData.bg};`;\n styles += getThemeVariables(themeData, prefix);\n } else {\n let themeData = highlighter.getTheme(theme.dark);\n styles += `${formatCSSVariablePrefix(prefix)}dark:${themeData.fg};`;\n styles += `${formatCSSVariablePrefix(prefix)}dark-bg:${themeData.bg};`;\n styles += getThemeVariables(themeData, prefix, 'dark');\n\n themeData = highlighter.getTheme(theme.light);\n styles += `${formatCSSVariablePrefix(prefix)}light:${themeData.fg};`;\n styles += `${formatCSSVariablePrefix(prefix)}light-bg:${themeData.bg};`;\n styles += getThemeVariables(themeData, prefix, 'light');\n }\n return styles;\n}\n\nfunction getThemeVariables(\n themeData: ThemeRegistrationResolved,\n prefix?: string,\n modePrefix?: string\n) {\n modePrefix = modePrefix != null ? `${modePrefix}-` : '';\n let styles = '';\n const additionGreen =\n themeData.colors?.['gitDecoration.addedResourceForeground'] ??\n themeData.colors?.['terminal.ansiGreen'];\n if (additionGreen != null) {\n styles += `${formatCSSVariablePrefix(prefix)}${modePrefix}addition-color:${additionGreen};`;\n }\n const deletionRed =\n themeData.colors?.['gitDecoration.deletedResourceForeground'] ??\n themeData.colors?.['terminal.ansiRed'];\n if (deletionRed != null) {\n styles += `${formatCSSVariablePrefix(prefix)}${modePrefix}deletion-color:${deletionRed};`;\n }\n const modifiedBlue =\n themeData.colors?.['gitDecoration.modifiedResourceForeground'] ??\n themeData.colors?.['terminal.ansiBlue'];\n if (modifiedBlue != null) {\n styles += `${formatCSSVariablePrefix(prefix)}${modePrefix}modified-color:${modifiedBlue};`;\n }\n return styles;\n}\n"],"mappings":";;;;AAkBA,SAAgB,0BAA0B,EACxC,QAAQ,gBACR,aACA,UACyC;CACzC,IAAI,SAAS;AACb,KAAI,OAAO,UAAU,UAAU;EAC7B,MAAM,YAAY,YAAY,SAAS,MAAM;AAC7C,YAAU,SAAS,UAAU,GAAG;AAChC,YAAU,oBAAoB,UAAU,GAAG;AAC3C,YAAU,GAAG,wBAAwB,OAAO,CAAC,KAAK,UAAU,GAAG;AAC/D,YAAU,GAAG,wBAAwB,OAAO,CAAC,KAAK,UAAU,GAAG;AAC/D,YAAU,kBAAkB,WAAW,OAAO;QACzC;EACL,IAAI,YAAY,YAAY,SAAS,MAAM,KAAK;AAChD,YAAU,GAAG,wBAAwB,OAAO,CAAC,OAAO,UAAU,GAAG;AACjE,YAAU,GAAG,wBAAwB,OAAO,CAAC,UAAU,UAAU,GAAG;AACpE,YAAU,kBAAkB,WAAW,QAAQ,OAAO;AAEtD,cAAY,YAAY,SAAS,MAAM,MAAM;AAC7C,YAAU,GAAG,wBAAwB,OAAO,CAAC,QAAQ,UAAU,GAAG;AAClE,YAAU,GAAG,wBAAwB,OAAO,CAAC,WAAW,UAAU,GAAG;AACrE,YAAU,kBAAkB,WAAW,QAAQ,QAAQ;;AAEzD,QAAO;;AAGT,SAAS,kBACP,WACA,QACA,YACA;AACA,cAAa,cAAc,OAAO,GAAG,WAAW,KAAK;CACrD,IAAI,SAAS;CACb,MAAM,gBACJ,UAAU,SAAS,4CACnB,UAAU,SAAS;AACrB,KAAI,iBAAiB,KACnB,WAAU,GAAG,wBAAwB,OAAO,GAAG,WAAW,iBAAiB,cAAc;CAE3F,MAAM,cACJ,UAAU,SAAS,8CACnB,UAAU,SAAS;AACrB,KAAI,eAAe,KACjB,WAAU,GAAG,wBAAwB,OAAO,GAAG,WAAW,iBAAiB,YAAY;CAEzF,MAAM,eACJ,UAAU,SAAS,+CACnB,UAAU,SAAS;AACrB,KAAI,gBAAgB,KAClB,WAAU,GAAG,wBAAwB,OAAO,GAAG,WAAW,iBAAiB,aAAa;AAE1F,QAAO"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
//#region src/utils/getHunkSeparatorSlotName.d.ts
|
|
2
|
+
declare function getHunkSeparatorSlotName(type: "unified" | "additions" | "deletions", hunkIndex: number): string;
|
|
3
|
+
//#endregion
|
|
4
|
+
export { getHunkSeparatorSlotName };
|
|
5
|
+
//# sourceMappingURL=getHunkSeparatorSlotName.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getHunkSeparatorSlotName.d.ts","names":[],"sources":["../../src/utils/getHunkSeparatorSlotName.ts"],"sourcesContent":[],"mappings":";iBAAgB,wBAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getHunkSeparatorSlotName.js","names":[],"sources":["../../src/utils/getHunkSeparatorSlotName.ts"],"sourcesContent":["export function getHunkSeparatorSlotName(\n type: 'unified' | 'additions' | 'deletions',\n hunkIndex: number\n) {\n return `hunk-separator-${type}-${hunkIndex}`;\n}\n"],"mappings":";AAAA,SAAgB,yBACd,MACA,WACA;AACA,QAAO,kBAAkB,KAAK,GAAG"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ChangeTypes } from "../types.js";
|
|
2
|
+
import { SVGSpriteNames } from "../sprite.js";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/getIconForType.d.ts
|
|
5
|
+
declare function getIconForType(type: ChangeTypes | "file"): Extract<SVGSpriteNames, "diffs-icon-file-code" | "diffs-icon-symbol-modified" | "diffs-icon-symbol-deleted" | "diffs-icon-symbol-added" | "diffs-icon-symbol-moved">;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { getIconForType };
|
|
8
|
+
//# sourceMappingURL=getIconForType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getIconForType.d.ts","names":[],"sources":["../../src/utils/getIconForType.ts"],"sourcesContent":[],"mappings":";;;;iBAGgB,cAAA,OACR,uBACL,QACD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/utils/getIconForType.ts
|
|
2
|
+
function getIconForType(type) {
|
|
3
|
+
switch (type) {
|
|
4
|
+
case "file": return "diffs-icon-file-code";
|
|
5
|
+
case "change": return "diffs-icon-symbol-modified";
|
|
6
|
+
case "new": return "diffs-icon-symbol-added";
|
|
7
|
+
case "deleted": return "diffs-icon-symbol-deleted";
|
|
8
|
+
case "rename-pure":
|
|
9
|
+
case "rename-changed": return "diffs-icon-symbol-moved";
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { getIconForType };
|
|
15
|
+
//# sourceMappingURL=getIconForType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getIconForType.js","names":[],"sources":["../../src/utils/getIconForType.ts"],"sourcesContent":["import type { SVGSpriteNames } from '../sprite';\nimport type { ChangeTypes } from '../types';\n\nexport function getIconForType(\n type: ChangeTypes | 'file'\n): Extract<\n SVGSpriteNames,\n | 'diffs-icon-file-code'\n | 'diffs-icon-symbol-modified'\n | 'diffs-icon-symbol-deleted'\n | 'diffs-icon-symbol-added'\n | 'diffs-icon-symbol-moved'\n> {\n switch (type) {\n case 'file':\n return 'diffs-icon-file-code';\n case 'change':\n return 'diffs-icon-symbol-modified';\n case 'new':\n return 'diffs-icon-symbol-added';\n case 'deleted':\n return 'diffs-icon-symbol-deleted';\n case 'rename-pure':\n case 'rename-changed':\n return 'diffs-icon-symbol-moved';\n }\n}\n"],"mappings":";AAGA,SAAgB,eACd,MAQA;AACA,SAAQ,MAAR;EACE,KAAK,OACH,QAAO;EACT,KAAK,SACH,QAAO;EACT,KAAK,MACH,QAAO;EACT,KAAK,UACH,QAAO;EACT,KAAK;EACL,KAAK,iBACH,QAAO"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DiffLineAnnotation, LineAnnotation } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/getLineAnnotationName.d.ts
|
|
4
|
+
declare function getLineAnnotationName<T = undefined>(annotation: LineAnnotation<T> | DiffLineAnnotation<T>): string;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { getLineAnnotationName };
|
|
7
|
+
//# sourceMappingURL=getLineAnnotationName.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getLineAnnotationName.d.ts","names":[],"sources":["../../src/utils/getLineAnnotationName.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,iDACF,eAAe,KAAK,mBAAmB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/utils/getLineAnnotationName.ts
|
|
2
|
+
function getLineAnnotationName(annotation) {
|
|
3
|
+
return `annotation-${"side" in annotation ? `${annotation.side}-` : ""}${annotation.lineNumber}`;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
//#endregion
|
|
7
|
+
export { getLineAnnotationName };
|
|
8
|
+
//# sourceMappingURL=getLineAnnotationName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getLineAnnotationName.js","names":[],"sources":["../../src/utils/getLineAnnotationName.ts"],"sourcesContent":["import type { DiffLineAnnotation, LineAnnotation } from '../types';\n\nexport function getLineAnnotationName<T = undefined>(\n annotation: LineAnnotation<T> | DiffLineAnnotation<T>\n): string {\n return `annotation-${'side' in annotation ? `${annotation.side}-` : ''}${annotation.lineNumber}`;\n}\n"],"mappings":";AAEA,SAAgB,sBACd,YACQ;AACR,QAAO,cAAc,UAAU,aAAa,GAAG,WAAW,KAAK,KAAK,KAAK,WAAW"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getLineEndingType.d.ts","names":[],"sources":["../../src/utils/getLineEndingType.ts"],"sourcesContent":[],"mappings":";iBAAgB,iBAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/utils/getLineEndingType.ts
|
|
2
|
+
function getLineEndingType(content) {
|
|
3
|
+
if (content.includes("\r\n")) return "CRLF";
|
|
4
|
+
if (content.includes("\r")) return "CR";
|
|
5
|
+
if (content.includes("\n")) return "LF";
|
|
6
|
+
return "none";
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
//#endregion
|
|
10
|
+
export { getLineEndingType };
|
|
11
|
+
//# sourceMappingURL=getLineEndingType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getLineEndingType.js","names":[],"sources":["../../src/utils/getLineEndingType.ts"],"sourcesContent":["export function getLineEndingType(\n content: string\n): 'CRLF' | 'CR' | 'LF' | 'none' {\n // Windows\n if (content.includes('\\r\\n')) {\n return 'CRLF';\n }\n // Old Mac\n if (content.includes('\\r')) {\n return 'CR';\n }\n // Unix/Linux/Modern Mac\n if (content.includes('\\n')) {\n return 'LF';\n }\n // No line endings found\n return 'none';\n}\n"],"mappings":";AAAA,SAAgB,kBACd,SAC+B;AAE/B,KAAI,QAAQ,SAAS,OAAO,CAC1B,QAAO;AAGT,KAAI,QAAQ,SAAS,KAAK,CACxB,QAAO;AAGT,KAAI,QAAQ,SAAS,KAAK,CACxB,QAAO;AAGT,QAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getLineNodes.d.ts","names":[],"sources":["../../src/utils/getLineNodes.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,YAAA,QAAoB,OAAO"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/utils/getLineNodes.ts
|
|
2
|
+
function getLineNodes(nodes) {
|
|
3
|
+
let firstChild = nodes.children[0];
|
|
4
|
+
while (firstChild != null) {
|
|
5
|
+
if (firstChild.type === "element" && firstChild.tagName === "code") return firstChild.children;
|
|
6
|
+
if ("children" in firstChild) firstChild = firstChild.children[0];
|
|
7
|
+
else firstChild = null;
|
|
8
|
+
}
|
|
9
|
+
console.error(nodes);
|
|
10
|
+
throw new Error("getLineNodes: Unable to find children");
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { getLineNodes };
|
|
15
|
+
//# sourceMappingURL=getLineNodes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getLineNodes.js","names":["firstChild: RootContent | Element | Root | null"],"sources":["../../src/utils/getLineNodes.ts"],"sourcesContent":["import type { ElementContent, Root, RootContent } from 'hast';\n\nexport function getLineNodes(nodes: Root): ElementContent[] {\n let firstChild: RootContent | Element | Root | null = nodes.children[0];\n while (firstChild != null) {\n if (firstChild.type === 'element' && firstChild.tagName === 'code') {\n return firstChild.children;\n }\n if ('children' in firstChild) {\n firstChild = firstChild.children[0];\n } else {\n firstChild = null;\n }\n }\n console.error(nodes);\n throw new Error('getLineNodes: Unable to find children');\n}\n"],"mappings":";AAEA,SAAgB,aAAa,OAA+B;CAC1D,IAAIA,aAAkD,MAAM,SAAS;AACrE,QAAO,cAAc,MAAM;AACzB,MAAI,WAAW,SAAS,aAAa,WAAW,YAAY,OAC1D,QAAO,WAAW;AAEpB,MAAI,cAAc,WAChB,cAAa,WAAW,SAAS;MAEjC,cAAa;;AAGjB,SAAQ,MAAM,MAAM;AACpB,OAAM,IAAI,MAAM,wCAAwC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSingularPatch.d.ts","names":[],"sources":["../../src/utils/getSingularPatch.ts"],"sourcesContent":[],"mappings":";;;iBAGgB,gBAAA,iBAAiC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { parsePatchFiles } from "./parsePatchFiles.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/getSingularPatch.ts
|
|
4
|
+
function getSingularPatch(patch) {
|
|
5
|
+
const parsedPatches = parsePatchFiles(patch);
|
|
6
|
+
if (parsedPatches.length !== 1) {
|
|
7
|
+
console.error(parsedPatches);
|
|
8
|
+
throw new Error("PatchDiff: Provided patch must include only 1 patch, with 1 diff");
|
|
9
|
+
}
|
|
10
|
+
const { files } = parsedPatches[0];
|
|
11
|
+
if (files.length !== 1) {
|
|
12
|
+
console.error(files);
|
|
13
|
+
throw new Error("FileDiff: Provided patch must contain exactly 1 file diff");
|
|
14
|
+
}
|
|
15
|
+
return files[0];
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { getSingularPatch };
|
|
20
|
+
//# sourceMappingURL=getSingularPatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSingularPatch.js","names":[],"sources":["../../src/utils/getSingularPatch.ts"],"sourcesContent":["import type { FileDiffMetadata } from '../types';\nimport { parsePatchFiles } from './parsePatchFiles';\n\nexport function getSingularPatch(patch: string): FileDiffMetadata {\n const parsedPatches = parsePatchFiles(patch);\n if (parsedPatches.length !== 1) {\n console.error(parsedPatches);\n throw new Error(\n 'PatchDiff: Provided patch must include only 1 patch, with 1 diff'\n );\n }\n const { files } = parsedPatches[0];\n if (files.length !== 1) {\n console.error(files);\n throw new Error(\n 'FileDiff: Provided patch must contain exactly 1 file diff'\n );\n }\n return files[0];\n}\n"],"mappings":";;;AAGA,SAAgB,iBAAiB,OAAiC;CAChE,MAAM,gBAAgB,gBAAgB,MAAM;AAC5C,KAAI,cAAc,WAAW,GAAG;AAC9B,UAAQ,MAAM,cAAc;AAC5B,QAAM,IAAI,MACR,mEACD;;CAEH,MAAM,EAAE,UAAU,cAAc;AAChC,KAAI,MAAM,WAAW,GAAG;AACtB,UAAQ,MAAM,MAAM;AACpB,QAAM,IAAI,MACR,4DACD;;AAEH,QAAO,MAAM"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getThemes.d.ts","names":[],"sources":["../../src/utils/getThemes.ts"],"sourcesContent":[],"mappings":";;;iBAGgB,SAAA,SACP,kBAAkB,aACxB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DEFAULT_THEMES } from "../constants.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/getThemes.ts
|
|
4
|
+
function getThemes(theme = DEFAULT_THEMES) {
|
|
5
|
+
const themesArr = [];
|
|
6
|
+
if (typeof theme === "string") themesArr.push(theme);
|
|
7
|
+
else {
|
|
8
|
+
themesArr.push(theme.dark);
|
|
9
|
+
themesArr.push(theme.light);
|
|
10
|
+
}
|
|
11
|
+
return themesArr;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
//#endregion
|
|
15
|
+
export { getThemes };
|
|
16
|
+
//# sourceMappingURL=getThemes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getThemes.js","names":["themesArr: DiffsThemeNames[]"],"sources":["../../src/utils/getThemes.ts"],"sourcesContent":["import { DEFAULT_THEMES } from '../constants';\nimport type { DiffsThemeNames, ThemesType } from '../types';\n\nexport function getThemes(\n theme: DiffsThemeNames | ThemesType = DEFAULT_THEMES\n): DiffsThemeNames[] {\n const themesArr: DiffsThemeNames[] = [];\n if (typeof theme === 'string') {\n themesArr.push(theme);\n } else {\n themesArr.push(theme.dark);\n themesArr.push(theme.light);\n }\n return themesArr;\n}\n"],"mappings":";;;AAGA,SAAgB,UACd,QAAsC,gBACnB;CACnB,MAAMA,YAA+B,EAAE;AACvC,KAAI,OAAO,UAAU,SACnB,WAAU,KAAK,MAAM;MAChB;AACL,YAAU,KAAK,MAAM,KAAK;AAC1B,YAAU,KAAK,MAAM,MAAM;;AAE7B,QAAO"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Hunk } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/getTotalLineCountFromHunks.d.ts
|
|
4
|
+
declare function getTotalLineCountFromHunks(hunks: Hunk[]): number;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { getTotalLineCountFromHunks };
|
|
7
|
+
//# sourceMappingURL=getTotalLineCountFromHunks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTotalLineCountFromHunks.d.ts","names":[],"sources":["../../src/utils/getTotalLineCountFromHunks.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,0BAAA,QAAkC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/utils/getTotalLineCountFromHunks.ts
|
|
2
|
+
function getTotalLineCountFromHunks(hunks) {
|
|
3
|
+
const lastHunk = hunks[hunks.length - 1];
|
|
4
|
+
if (lastHunk == null) return 0;
|
|
5
|
+
return Math.max(lastHunk.additionStart + lastHunk.additionCount, lastHunk.deletionStart + lastHunk.deletionCount);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
export { getTotalLineCountFromHunks };
|
|
10
|
+
//# sourceMappingURL=getTotalLineCountFromHunks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTotalLineCountFromHunks.js","names":[],"sources":["../../src/utils/getTotalLineCountFromHunks.ts"],"sourcesContent":["import type { Hunk } from '../types';\n\nexport function getTotalLineCountFromHunks(hunks: Hunk[]): number {\n const lastHunk = hunks[hunks.length - 1];\n if (lastHunk == null) {\n return 0;\n }\n return Math.max(\n lastHunk.additionStart + lastHunk.additionCount,\n lastHunk.deletionStart + lastHunk.deletionCount\n );\n}\n"],"mappings":";AAEA,SAAgB,2BAA2B,OAAuB;CAChE,MAAM,WAAW,MAAM,MAAM,SAAS;AACtC,KAAI,YAAY,KACd,QAAO;AAET,QAAO,KAAK,IACV,SAAS,gBAAgB,SAAS,eAClC,SAAS,gBAAgB,SAAS,cACnC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { SVGSpriteNames } from "../sprite.js";
|
|
2
|
+
import { Element, ElementContent, Properties, Root, Text } from "hast";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/hast_utils.d.ts
|
|
5
|
+
declare function createTextNodeElement(value: string): Text;
|
|
6
|
+
interface CreateHastElementProps {
|
|
7
|
+
tagName: "span" | "div" | "code" | "pre" | "slot" | "svg" | "use" | "style" | "template";
|
|
8
|
+
children?: ElementContent[];
|
|
9
|
+
properties?: Properties;
|
|
10
|
+
}
|
|
11
|
+
declare function createHastElement({
|
|
12
|
+
tagName,
|
|
13
|
+
children,
|
|
14
|
+
properties
|
|
15
|
+
}: CreateHastElementProps): Element;
|
|
16
|
+
interface CreateIconProps {
|
|
17
|
+
name: SVGSpriteNames;
|
|
18
|
+
width?: number;
|
|
19
|
+
height?: number;
|
|
20
|
+
properties?: Properties;
|
|
21
|
+
}
|
|
22
|
+
declare function createIconElement({
|
|
23
|
+
name,
|
|
24
|
+
width,
|
|
25
|
+
height,
|
|
26
|
+
properties
|
|
27
|
+
}: CreateIconProps): Element;
|
|
28
|
+
declare function findCodeElement(nodes: Root | Element): Element | undefined;
|
|
29
|
+
//#endregion
|
|
30
|
+
export { createHastElement, createIconElement, createTextNodeElement, findCodeElement };
|
|
31
|
+
//# sourceMappingURL=hast_utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hast_utils.d.ts","names":[],"sources":["../../src/utils/hast_utils.ts"],"sourcesContent":[],"mappings":";;;;iBAWgB,qBAAA,iBAAsC;UAI5C,sBAAA;EAJV,OAAgB,EAAA,MAAA,GAAA,KAAA,GAAA,MAAA,GAAA,KAAsC,GAAA,MAAA,GAAA,KAAA,GAAA,KAAA,GAAA,OAAA,GAAA,UAAA;EAAA,QAI5C,CAAA,EAWG,cAXH,EAAA;EAeV,UAAgB,CAAA,EAHD,UAGC;;AAEd,iBAFc,iBAAA,CAEd;EAAA,OAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAEC,sBAFD,CAAA,EAE0B,OAF1B;UAWQ,eAAA,CAVR;EACC,IAAA,EAUK,cAVL;EAAyB,KAAA,CAAA,EAAA,MAAA;EAAA,MAAA,CAAA,EAAA,MAAA;EAAA,UASlB,CAAA,EAIK,UAJL;AAOV;AACE,iBADc,iBAAA,CACd;EAAA,IAAA;EAAA,KAAA;EAAA,MAAA;EAAA;AAAA,CAAA,EAIC,eAJD,CAAA,EAImB,OAJnB;AACA,iBAgBc,eAAA,CAhBd,KAAA,EAiBO,IAjBP,GAiBc,OAjBd,CAAA,EAkBC,OAlBD,GAAA,SAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
//#region src/utils/hast_utils.ts
|
|
2
|
+
function createTextNodeElement(value) {
|
|
3
|
+
return {
|
|
4
|
+
type: "text",
|
|
5
|
+
value
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
function createHastElement({ tagName, children = [], properties = {} }) {
|
|
9
|
+
return {
|
|
10
|
+
type: "element",
|
|
11
|
+
tagName,
|
|
12
|
+
properties,
|
|
13
|
+
children
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function createIconElement({ name, width = 16, height = 16, properties }) {
|
|
17
|
+
return createHastElement({
|
|
18
|
+
tagName: "svg",
|
|
19
|
+
properties: {
|
|
20
|
+
width,
|
|
21
|
+
height,
|
|
22
|
+
viewBox: "0 0 16 16",
|
|
23
|
+
...properties
|
|
24
|
+
},
|
|
25
|
+
children: [createHastElement({
|
|
26
|
+
tagName: "use",
|
|
27
|
+
properties: { href: `#${name.replace(/^#/, "")}` }
|
|
28
|
+
})]
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
function findCodeElement(nodes) {
|
|
32
|
+
let firstChild = nodes.children[0];
|
|
33
|
+
while (firstChild != null) {
|
|
34
|
+
if (firstChild.type === "element" && firstChild.tagName === "code") return firstChild;
|
|
35
|
+
if ("children" in firstChild) firstChild = firstChild.children[0];
|
|
36
|
+
else firstChild = null;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
//#endregion
|
|
41
|
+
export { createHastElement, createIconElement, createTextNodeElement, findCodeElement };
|
|
42
|
+
//# sourceMappingURL=hast_utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hast_utils.js","names":["firstChild: RootContent | HASTElement | Root | null"],"sources":["../../src/utils/hast_utils.ts"],"sourcesContent":["import type {\n ElementContent,\n Element as HASTElement,\n Properties,\n Root,\n RootContent,\n Text,\n} from 'hast';\n\nimport type { SVGSpriteNames } from '../sprite';\n\nexport function createTextNodeElement(value: string): Text {\n return { type: 'text', value };\n}\n\ninterface CreateHastElementProps {\n tagName:\n | 'span'\n | 'div'\n | 'code'\n | 'pre'\n | 'slot'\n | 'svg'\n | 'use'\n | 'style'\n | 'template';\n children?: ElementContent[];\n properties?: Properties;\n}\n\nexport function createHastElement({\n tagName,\n children = [],\n properties = {},\n}: CreateHastElementProps): HASTElement {\n return {\n type: 'element',\n tagName,\n properties,\n children,\n };\n}\n\ninterface CreateIconProps {\n name: SVGSpriteNames;\n width?: number;\n height?: number;\n properties?: Properties;\n}\n\nexport function createIconElement({\n name,\n width = 16,\n height = 16,\n properties,\n}: CreateIconProps): HASTElement {\n return createHastElement({\n tagName: 'svg',\n properties: { width, height, viewBox: '0 0 16 16', ...properties },\n children: [\n createHastElement({\n tagName: 'use',\n properties: { href: `#${name.replace(/^#/, '')}` },\n }),\n ],\n });\n}\n\nexport function findCodeElement(\n nodes: Root | HASTElement\n): HASTElement | undefined {\n let firstChild: RootContent | HASTElement | Root | null = nodes.children[0];\n while (firstChild != null) {\n if (firstChild.type === 'element' && firstChild.tagName === 'code') {\n return firstChild;\n }\n if ('children' in firstChild) {\n firstChild = firstChild.children[0];\n } else {\n firstChild = null;\n }\n }\n return undefined;\n}\n"],"mappings":";AAWA,SAAgB,sBAAsB,OAAqB;AACzD,QAAO;EAAE,MAAM;EAAQ;EAAO;;AAkBhC,SAAgB,kBAAkB,EAChC,SACA,WAAW,EAAE,EACb,aAAa,EAAE,IACuB;AACtC,QAAO;EACL,MAAM;EACN;EACA;EACA;EACD;;AAUH,SAAgB,kBAAkB,EAChC,MACA,QAAQ,IACR,SAAS,IACT,cAC+B;AAC/B,QAAO,kBAAkB;EACvB,SAAS;EACT,YAAY;GAAE;GAAO;GAAQ,SAAS;GAAa,GAAG;GAAY;EAClE,UAAU,CACR,kBAAkB;GAChB,SAAS;GACT,YAAY,EAAE,MAAM,IAAI,KAAK,QAAQ,MAAM,GAAG,IAAI;GACnD,CAAC,CACH;EACF,CAAC;;AAGJ,SAAgB,gBACd,OACyB;CACzB,IAAIA,aAAsD,MAAM,SAAS;AACzE,QAAO,cAAc,MAAM;AACzB,MAAI,WAAW,SAAS,aAAa,WAAW,YAAY,OAC1D,QAAO;AAET,MAAI,cAAc,WAChB,cAAa,WAAW,SAAS;MAEjC,cAAa"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isWorkerContext.d.ts","names":[],"sources":["../../src/utils/isWorkerContext.ts"],"sourcesContent":[],"mappings":";iBAEgB,eAAA,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/utils/isWorkerContext.ts
|
|
2
|
+
function isWorkerContext() {
|
|
3
|
+
return typeof WorkerGlobalScope !== "undefined" && typeof self !== "undefined" && self instanceof WorkerGlobalScope;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
//#endregion
|
|
7
|
+
export { isWorkerContext };
|
|
8
|
+
//# sourceMappingURL=isWorkerContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isWorkerContext.js","names":[],"sources":["../../src/utils/isWorkerContext.ts"],"sourcesContent":["declare const WorkerGlobalScope: new () => Worker;\n\nexport function isWorkerContext(): boolean {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n typeof self !== 'undefined' &&\n self instanceof WorkerGlobalScope\n );\n}\n"],"mappings":";AAEA,SAAgB,kBAA2B;AACzC,QACE,OAAO,sBAAsB,eAC7B,OAAO,SAAS,eAChB,gBAAgB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { DecorationItem } from "../types.js";
|
|
2
|
+
import { ChangeObject } from "diff";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/parseDiffDecorations.d.ts
|
|
5
|
+
interface CreateDiffSpanDecorationProps {
|
|
6
|
+
line: number;
|
|
7
|
+
spanStart: number;
|
|
8
|
+
spanLength: number;
|
|
9
|
+
}
|
|
10
|
+
declare function createDiffSpanDecoration({
|
|
11
|
+
line,
|
|
12
|
+
spanStart,
|
|
13
|
+
spanLength
|
|
14
|
+
}: CreateDiffSpanDecorationProps): DecorationItem;
|
|
15
|
+
interface PushOrJoinSpanProps {
|
|
16
|
+
item: ChangeObject<string>;
|
|
17
|
+
arr: [0 | 1, string][];
|
|
18
|
+
enableJoin: boolean;
|
|
19
|
+
isNeutral?: boolean;
|
|
20
|
+
isLastItem?: boolean;
|
|
21
|
+
}
|
|
22
|
+
declare function pushOrJoinSpan({
|
|
23
|
+
item,
|
|
24
|
+
arr,
|
|
25
|
+
enableJoin,
|
|
26
|
+
isNeutral,
|
|
27
|
+
isLastItem
|
|
28
|
+
}: PushOrJoinSpanProps): void;
|
|
29
|
+
//#endregion
|
|
30
|
+
export { createDiffSpanDecoration, pushOrJoinSpan };
|
|
31
|
+
//# sourceMappingURL=parseDiffDecorations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseDiffDecorations.d.ts","names":[],"sources":["../../src/utils/parseDiffDecorations.ts"],"sourcesContent":[],"mappings":";;;;UAIU,6BAAA;;EAF0B,SAE1B,EAAA,MAAA;EAMV,UAAgB,EAAA,MAAA;;AAEd,iBAFc,wBAAA,CAEd;EAAA,IAAA;EAAA,SAAA;EAAA;AAAA,CAAA,EAEC,6BAFD,CAAA,EAEiC,cAFjC;UAWQ,mBAAA,CAVR;EACC,IAAA,EAUK,YAVL,CAAA,MAAA,CAAA;EAAgC,GAAA,EAAA,CAAA,CAAA,GAAA,CAAA,EAAA,MAAA,CAAA,EAAA;EAAA,UAAA,EAAA,OAAA;EAAA,SASzB,CAAA,EAAA,OAAA;EAaV,UAAgB,CAAA,EAAA,OAAA;;AAEd,iBAFc,cAAA,CAEd;EAAA,IAAA;EAAA,GAAA;EAAA,UAAA;EAAA,SAAA;EAAA;AAAA,CAAA,EAIC,mBAJD,CAAA,EAAA,IAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import "diff";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/parseDiffDecorations.ts
|
|
4
|
+
function createDiffSpanDecoration({ line, spanStart, spanLength }) {
|
|
5
|
+
return {
|
|
6
|
+
start: {
|
|
7
|
+
line,
|
|
8
|
+
character: spanStart
|
|
9
|
+
},
|
|
10
|
+
end: {
|
|
11
|
+
line,
|
|
12
|
+
character: spanStart + spanLength
|
|
13
|
+
},
|
|
14
|
+
properties: { "data-diff-span": "" },
|
|
15
|
+
alwaysWrap: true
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function pushOrJoinSpan({ item, arr, enableJoin, isNeutral = false, isLastItem = false }) {
|
|
19
|
+
const lastItem = arr[arr.length - 1];
|
|
20
|
+
if (lastItem == null || isLastItem || !enableJoin) {
|
|
21
|
+
arr.push([isNeutral ? 0 : 1, item.value]);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const isLastItemNeutral = lastItem[0] === 0;
|
|
25
|
+
if (isNeutral === isLastItemNeutral || isNeutral && item.value.length === 1 && !isLastItemNeutral) {
|
|
26
|
+
lastItem[1] += item.value;
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
arr.push([isNeutral ? 0 : 1, item.value]);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
//#endregion
|
|
33
|
+
export { createDiffSpanDecoration, pushOrJoinSpan };
|
|
34
|
+
//# sourceMappingURL=parseDiffDecorations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseDiffDecorations.js","names":[],"sources":["../../src/utils/parseDiffDecorations.ts"],"sourcesContent":["import { type ChangeObject } from 'diff';\n\nimport type { DecorationItem } from '../types';\n\ninterface CreateDiffSpanDecorationProps {\n line: number;\n spanStart: number;\n spanLength: number;\n}\n\nexport function createDiffSpanDecoration({\n line,\n spanStart,\n spanLength,\n}: CreateDiffSpanDecorationProps): DecorationItem {\n return {\n start: { line, character: spanStart },\n end: { line, character: spanStart + spanLength },\n properties: { 'data-diff-span': '' },\n alwaysWrap: true,\n };\n}\n\ninterface PushOrJoinSpanProps {\n item: ChangeObject<string>;\n arr: [0 | 1, string][];\n enableJoin: boolean;\n isNeutral?: boolean;\n isLastItem?: boolean;\n}\n\n// For diff decoration spans, we want to be sure that if there is a single\n// white-space gap between diffs that we join them together into a longer diff span.\n// Spans are basically just a tuple - 1 means the content should be\n// highlighted, 0 means it should not, we still need to the span data to figure\n// out span positions\nexport function pushOrJoinSpan({\n item,\n arr,\n enableJoin,\n isNeutral = false,\n isLastItem = false,\n}: PushOrJoinSpanProps): void {\n const lastItem = arr[arr.length - 1];\n if (lastItem == null || isLastItem || !enableJoin) {\n arr.push([isNeutral ? 0 : 1, item.value]);\n return;\n }\n const isLastItemNeutral = lastItem[0] === 0;\n if (\n isNeutral === isLastItemNeutral ||\n // If we have a single space neutral item, lets join it to a previous\n // space non-neutral item to avoid single space gaps\n (isNeutral && item.value.length === 1 && !isLastItemNeutral)\n ) {\n lastItem[1] += item.value;\n return;\n }\n arr.push([isNeutral ? 0 : 1, item.value]);\n}\n"],"mappings":";;;AAUA,SAAgB,yBAAyB,EACvC,MACA,WACA,cACgD;AAChD,QAAO;EACL,OAAO;GAAE;GAAM,WAAW;GAAW;EACrC,KAAK;GAAE;GAAM,WAAW,YAAY;GAAY;EAChD,YAAY,EAAE,kBAAkB,IAAI;EACpC,YAAY;EACb;;AAgBH,SAAgB,eAAe,EAC7B,MACA,KACA,YACA,YAAY,OACZ,aAAa,SACe;CAC5B,MAAM,WAAW,IAAI,IAAI,SAAS;AAClC,KAAI,YAAY,QAAQ,cAAc,CAAC,YAAY;AACjD,MAAI,KAAK,CAAC,YAAY,IAAI,GAAG,KAAK,MAAM,CAAC;AACzC;;CAEF,MAAM,oBAAoB,SAAS,OAAO;AAC1C,KACE,cAAc,qBAGb,aAAa,KAAK,MAAM,WAAW,KAAK,CAAC,mBAC1C;AACA,WAAS,MAAM,KAAK;AACpB;;AAEF,KAAI,KAAK,CAAC,YAAY,IAAI,GAAG,KAAK,MAAM,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FileContents, FileDiffMetadata } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/parseDiffFromFile.d.ts
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Parses a diff from two file contents objects.
|
|
7
|
+
*
|
|
8
|
+
* If both `oldFile` and `newFile` have a `cacheKey`, the resulting diff will
|
|
9
|
+
* automatically get a combined cache key in the format `oldKey:newKey`.
|
|
10
|
+
*/
|
|
11
|
+
declare function parseDiffFromFile(oldFile: FileContents, newFile: FileContents): FileDiffMetadata;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { parseDiffFromFile };
|
|
14
|
+
//# sourceMappingURL=parseDiffFromFile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseDiffFromFile.d.ts","names":[],"sources":["../../src/utils/parseDiffFromFile.ts"],"sourcesContent":[],"mappings":";;;;;;AAYA;;;;AAGG,iBAHa,iBAAA,CAGb,OAAA,EAFQ,YAER,EAAA,OAAA,EADQ,YACR,CAAA,EAAA,gBAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SPLIT_WITH_NEWLINES } from "../constants.js";
|
|
2
|
+
import { parsePatchFiles } from "./parsePatchFiles.js";
|
|
3
|
+
import { createTwoFilesPatch } from "diff";
|
|
4
|
+
|
|
5
|
+
//#region src/utils/parseDiffFromFile.ts
|
|
6
|
+
/**
|
|
7
|
+
* Parses a diff from two file contents objects.
|
|
8
|
+
*
|
|
9
|
+
* If both `oldFile` and `newFile` have a `cacheKey`, the resulting diff will
|
|
10
|
+
* automatically get a combined cache key in the format `oldKey:newKey`.
|
|
11
|
+
*/
|
|
12
|
+
function parseDiffFromFile(oldFile, newFile) {
|
|
13
|
+
const fileData = parsePatchFiles(createTwoFilesPatch(oldFile.name, newFile.name, oldFile.contents, newFile.contents, oldFile.header, newFile.header))[0]?.files[0];
|
|
14
|
+
if (fileData == null) throw new Error("parseDiffFrom: FileInvalid diff -- probably need to fix something -- if the files are the same maybe?");
|
|
15
|
+
fileData.oldLines = oldFile.contents.split(SPLIT_WITH_NEWLINES);
|
|
16
|
+
fileData.newLines = newFile.contents.split(SPLIT_WITH_NEWLINES);
|
|
17
|
+
if (oldFile.cacheKey != null && newFile.cacheKey != null) fileData.cacheKey = `${oldFile.cacheKey}:${newFile.cacheKey}`;
|
|
18
|
+
return fileData;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
//#endregion
|
|
22
|
+
export { parseDiffFromFile };
|
|
23
|
+
//# sourceMappingURL=parseDiffFromFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseDiffFromFile.js","names":[],"sources":["../../src/utils/parseDiffFromFile.ts"],"sourcesContent":["import { createTwoFilesPatch } from 'diff';\n\nimport { SPLIT_WITH_NEWLINES } from '../constants';\nimport type { FileContents, FileDiffMetadata } from '../types';\nimport { parsePatchFiles } from './parsePatchFiles';\n\n/**\n * Parses a diff from two file contents objects.\n *\n * If both `oldFile` and `newFile` have a `cacheKey`, the resulting diff will\n * automatically get a combined cache key in the format `oldKey:newKey`.\n */\nexport function parseDiffFromFile(\n oldFile: FileContents,\n newFile: FileContents\n): FileDiffMetadata {\n const patch = createTwoFilesPatch(\n oldFile.name,\n newFile.name,\n oldFile.contents,\n newFile.contents,\n oldFile.header,\n newFile.header\n );\n const fileData = parsePatchFiles(patch)[0]?.files[0];\n if (fileData == null) {\n throw new Error(\n 'parseDiffFrom: FileInvalid diff -- probably need to fix something -- if the files are the same maybe?'\n );\n }\n fileData.oldLines = oldFile.contents.split(SPLIT_WITH_NEWLINES);\n fileData.newLines = newFile.contents.split(SPLIT_WITH_NEWLINES);\n if (oldFile.cacheKey != null && newFile.cacheKey != null) {\n fileData.cacheKey = `${oldFile.cacheKey}:${newFile.cacheKey}`;\n }\n return fileData;\n}\n"],"mappings":";;;;;;;;;;;AAYA,SAAgB,kBACd,SACA,SACkB;CASlB,MAAM,WAAW,gBARH,oBACZ,QAAQ,MACR,QAAQ,MACR,QAAQ,UACR,QAAQ,UACR,QAAQ,QACR,QAAQ,OACT,CACsC,CAAC,IAAI,MAAM;AAClD,KAAI,YAAY,KACd,OAAM,IAAI,MACR,wGACD;AAEH,UAAS,WAAW,QAAQ,SAAS,MAAM,oBAAoB;AAC/D,UAAS,WAAW,QAAQ,SAAS,MAAM,oBAAoB;AAC/D,KAAI,QAAQ,YAAY,QAAQ,QAAQ,YAAY,KAClD,UAAS,WAAW,GAAG,QAAQ,SAAS,GAAG,QAAQ;AAErD,QAAO"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { HunkLineType } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/parseLineType.d.ts
|
|
4
|
+
interface ParsedLine {
|
|
5
|
+
line: string;
|
|
6
|
+
type: Exclude<HunkLineType, "expanded">;
|
|
7
|
+
}
|
|
8
|
+
declare function parseLineType(line: string): ParsedLine | undefined;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { ParsedLine, parseLineType };
|
|
11
|
+
//# sourceMappingURL=parseLineType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseLineType.d.ts","names":[],"sources":["../../src/utils/parseLineType.ts"],"sourcesContent":[],"mappings":";;;UAEiB,UAAA;;EAAjB,IAAiB,EAET,OAFS,CAED,YAFC,EAAA,UAED,CAAA;AAGhB;iBAAgB,aAAA,gBAA6B"}
|