@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,14 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/react/utils/templateRender.tsx
|
|
4
|
+
function templateRender(children, __html) {
|
|
5
|
+
if (typeof window === "undefined" && __html != null) return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("template", {
|
|
6
|
+
shadowrootmode: "open",
|
|
7
|
+
dangerouslySetInnerHTML: { __html }
|
|
8
|
+
}), children] });
|
|
9
|
+
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
//#endregion
|
|
13
|
+
export { templateRender };
|
|
14
|
+
//# sourceMappingURL=templateRender.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateRender.js","names":[],"sources":["../../../src/react/utils/templateRender.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nexport function templateRender(\n children: ReactNode,\n __html: string | undefined\n): ReactNode {\n if (typeof window === 'undefined' && __html != null) {\n return (\n <>\n <template\n // @ts-expect-error unclear how to fix this\n shadowrootmode=\"open\"\n dangerouslySetInnerHTML={{ __html }}\n />\n {children}\n </>\n );\n }\n return <>{children}</>;\n}\n"],"mappings":";;;AAEA,SAAgB,eACd,UACA,QACW;AACX,KAAI,OAAO,WAAW,eAAe,UAAU,KAC7C,QACE,4CACE,oBAAC;EAEC,gBAAe;EACf,yBAAyB,EAAE,QAAQ;GACnC,EACD,YACA;AAGP,QAAO,gCAAG,WAAY"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { DiffLineAnnotation, FileContents, FileDiffMetadata } from "../../types.js";
|
|
2
|
+
import { SelectedLineRange } from "../../managers/LineSelectionManager.js";
|
|
3
|
+
import { GetHoveredLineResult } from "../../managers/MouseEventManager.js";
|
|
4
|
+
import { FileDiffOptions } from "../../components/FileDiff.js";
|
|
5
|
+
|
|
6
|
+
//#region src/react/utils/useFileDiffInstance.d.ts
|
|
7
|
+
interface UseFileDiffInstanceProps<LAnnotation> {
|
|
8
|
+
oldFile?: FileContents;
|
|
9
|
+
newFile?: FileContents;
|
|
10
|
+
fileDiff?: FileDiffMetadata;
|
|
11
|
+
options: FileDiffOptions<LAnnotation> | undefined;
|
|
12
|
+
lineAnnotations: DiffLineAnnotation<LAnnotation>[] | undefined;
|
|
13
|
+
selectedLines: SelectedLineRange | null | undefined;
|
|
14
|
+
prerenderedHTML: string | undefined;
|
|
15
|
+
}
|
|
16
|
+
interface UseFileDiffInstanceReturn {
|
|
17
|
+
ref(node: HTMLElement | null): void;
|
|
18
|
+
getHoveredLine(): GetHoveredLineResult<"diff"> | undefined;
|
|
19
|
+
}
|
|
20
|
+
declare function useFileDiffInstance<LAnnotation>({
|
|
21
|
+
oldFile,
|
|
22
|
+
newFile,
|
|
23
|
+
fileDiff,
|
|
24
|
+
options,
|
|
25
|
+
lineAnnotations,
|
|
26
|
+
selectedLines,
|
|
27
|
+
prerenderedHTML
|
|
28
|
+
}: UseFileDiffInstanceProps<LAnnotation>): UseFileDiffInstanceReturn;
|
|
29
|
+
//#endregion
|
|
30
|
+
export { useFileDiffInstance };
|
|
31
|
+
//# sourceMappingURL=useFileDiffInstance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFileDiffInstance.d.ts","names":[],"sources":["../../../src/react/utils/useFileDiffInstance.ts"],"sourcesContent":[],"mappings":";;;;;;UAuBU;YACE;EATL,OAQG,CAAA,EAEE,YAFF;EACE,QAAA,CAAA,EAEC,gBAFD;EACA,OAAA,EAED,eAFC,CAEe,WAFf,CAAA,GAAA,SAAA;EACC,eAAA,EAEM,kBAFN,CAEyB,WAFzB,CAAA,EAAA,GAAA,SAAA;EACc,aAAA,EAEV,iBAFU,GAAA,IAAA,GAAA,SAAA;EAAhB,eAAA,EAAA,MAAA,GAAA,SAAA;;UAMD,yBAAA,CALS;EACF,GAAA,CAAA,IAAA,EAKL,WALK,GAAA,IAAA,CAAA,EAAA,IAAA;EAAA,cAAA,EAAA,EAMG,oBANH,CAAA,MAAA,CAAA,GAAA,SAAA;AAAA;AASD,iBAAA,mBAAA,CAAA,WAAA,CAAA,CAAA;EAAA,OAAA;EAAA,OAAA;EAAA,QAAA;EAAA,OAAA;EAAA,eAAA;EAAA,aAAA;EAAA;AAAA,CAAA,EAQb,wBARa,CAQY,WARZ,CAAA,CAAA,EAQ2B,yBAR3B"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { FileDiff } from "../../components/FileDiff.js";
|
|
2
|
+
import { areOptionsEqual } from "../../utils/areOptionsEqual.js";
|
|
3
|
+
import { WorkerPoolContext } from "../WorkerPoolContext.js";
|
|
4
|
+
import { useStableCallback } from "./useStableCallback.js";
|
|
5
|
+
import { useCallback, useContext, useEffect, useLayoutEffect, useRef } from "react";
|
|
6
|
+
|
|
7
|
+
//#region src/react/utils/useFileDiffInstance.ts
|
|
8
|
+
const useIsometricEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
|
|
9
|
+
function useFileDiffInstance({ oldFile, newFile, fileDiff, options, lineAnnotations, selectedLines, prerenderedHTML }) {
|
|
10
|
+
const poolManager = useContext(WorkerPoolContext);
|
|
11
|
+
const instanceRef = useRef(null);
|
|
12
|
+
const ref = useStableCallback((fileContainer) => {
|
|
13
|
+
if (fileContainer != null) {
|
|
14
|
+
if (instanceRef.current != null) throw new Error("useFileDiffInstance: An instance should not already exist when a node is created");
|
|
15
|
+
instanceRef.current = new FileDiff(options, poolManager, true);
|
|
16
|
+
instanceRef.current.hydrate({
|
|
17
|
+
fileDiff,
|
|
18
|
+
oldFile,
|
|
19
|
+
newFile,
|
|
20
|
+
fileContainer,
|
|
21
|
+
lineAnnotations,
|
|
22
|
+
prerenderedHTML
|
|
23
|
+
});
|
|
24
|
+
} else {
|
|
25
|
+
if (instanceRef.current == null) throw new Error("useFileDiffInstance: A FileDiff instance should exist when unmounting");
|
|
26
|
+
instanceRef.current.cleanUp();
|
|
27
|
+
instanceRef.current = null;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
useIsometricEffect(() => {
|
|
31
|
+
if (instanceRef.current == null) return;
|
|
32
|
+
const instance = instanceRef.current;
|
|
33
|
+
const forceRender = !areOptionsEqual(instance.options, options);
|
|
34
|
+
instance.setOptions(options);
|
|
35
|
+
instance.render({
|
|
36
|
+
forceRender,
|
|
37
|
+
fileDiff,
|
|
38
|
+
oldFile,
|
|
39
|
+
newFile,
|
|
40
|
+
lineAnnotations
|
|
41
|
+
});
|
|
42
|
+
if (selectedLines !== void 0) instance.setSelectedLines(selectedLines);
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
ref,
|
|
46
|
+
getHoveredLine: useCallback(() => {
|
|
47
|
+
return instanceRef.current?.getHoveredLine();
|
|
48
|
+
}, [])
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
export { useFileDiffInstance };
|
|
54
|
+
//# sourceMappingURL=useFileDiffInstance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFileDiffInstance.js","names":[],"sources":["../../../src/react/utils/useFileDiffInstance.ts"],"sourcesContent":["import {\n useCallback,\n useContext,\n useEffect,\n useLayoutEffect,\n useRef,\n} from 'react';\n\nimport { FileDiff, type FileDiffOptions } from '../../components/FileDiff';\nimport type { SelectedLineRange } from '../../managers/LineSelectionManager';\nimport type { GetHoveredLineResult } from '../../managers/MouseEventManager';\nimport type {\n DiffLineAnnotation,\n FileContents,\n FileDiffMetadata,\n} from '../../types';\nimport { areOptionsEqual } from '../../utils/areOptionsEqual';\nimport { WorkerPoolContext } from '../WorkerPoolContext';\nimport { useStableCallback } from './useStableCallback';\n\nconst useIsometricEffect =\n typeof window === 'undefined' ? useEffect : useLayoutEffect;\n\ninterface UseFileDiffInstanceProps<LAnnotation> {\n oldFile?: FileContents;\n newFile?: FileContents;\n fileDiff?: FileDiffMetadata;\n options: FileDiffOptions<LAnnotation> | undefined;\n lineAnnotations: DiffLineAnnotation<LAnnotation>[] | undefined;\n selectedLines: SelectedLineRange | null | undefined;\n prerenderedHTML: string | undefined;\n}\n\ninterface UseFileDiffInstanceReturn {\n ref(node: HTMLElement | null): void;\n getHoveredLine(): GetHoveredLineResult<'diff'> | undefined;\n}\n\nexport function useFileDiffInstance<LAnnotation>({\n oldFile,\n newFile,\n fileDiff,\n options,\n lineAnnotations,\n selectedLines,\n prerenderedHTML,\n}: UseFileDiffInstanceProps<LAnnotation>): UseFileDiffInstanceReturn {\n const poolManager = useContext(WorkerPoolContext);\n const instanceRef = useRef<FileDiff<LAnnotation> | null>(null);\n const ref = useStableCallback((fileContainer: HTMLElement | null) => {\n if (fileContainer != null) {\n if (instanceRef.current != null) {\n throw new Error(\n 'useFileDiffInstance: An instance should not already exist when a node is created'\n );\n }\n // FIXME: Ideally we don't use FileDiffUI here, and instead amalgamate\n // the renderers manually\n instanceRef.current = new FileDiff(options, poolManager, true);\n void instanceRef.current.hydrate({\n fileDiff,\n oldFile,\n newFile,\n fileContainer,\n lineAnnotations,\n prerenderedHTML,\n });\n } else {\n if (instanceRef.current == null) {\n throw new Error(\n 'useFileDiffInstance: A FileDiff instance should exist when unmounting'\n );\n }\n instanceRef.current.cleanUp();\n instanceRef.current = null;\n }\n });\n\n useIsometricEffect(() => {\n if (instanceRef.current == null) return;\n const instance = instanceRef.current;\n const forceRender = !areOptionsEqual(instance.options, options);\n instance.setOptions(options);\n void instance.render({\n forceRender,\n fileDiff,\n oldFile,\n newFile,\n lineAnnotations,\n });\n if (selectedLines !== undefined) {\n instance.setSelectedLines(selectedLines);\n }\n });\n\n const getHoveredLine = useCallback(():\n | GetHoveredLineResult<'diff'>\n | undefined => {\n return instanceRef.current?.getHoveredLine();\n }, []);\n\n return { ref, getHoveredLine };\n}\n"],"mappings":";;;;;;;AAoBA,MAAM,qBACJ,OAAO,WAAW,cAAc,YAAY;AAiB9C,SAAgB,oBAAiC,EAC/C,SACA,SACA,UACA,SACA,iBACA,eACA,mBACmE;CACnE,MAAM,cAAc,WAAW,kBAAkB;CACjD,MAAM,cAAc,OAAqC,KAAK;CAC9D,MAAM,MAAM,mBAAmB,kBAAsC;AACnE,MAAI,iBAAiB,MAAM;AACzB,OAAI,YAAY,WAAW,KACzB,OAAM,IAAI,MACR,mFACD;AAIH,eAAY,UAAU,IAAI,SAAS,SAAS,aAAa,KAAK;AAC9D,GAAK,YAAY,QAAQ,QAAQ;IAC/B;IACA;IACA;IACA;IACA;IACA;IACD,CAAC;SACG;AACL,OAAI,YAAY,WAAW,KACzB,OAAM,IAAI,MACR,wEACD;AAEH,eAAY,QAAQ,SAAS;AAC7B,eAAY,UAAU;;GAExB;AAEF,0BAAyB;AACvB,MAAI,YAAY,WAAW,KAAM;EACjC,MAAM,WAAW,YAAY;EAC7B,MAAM,cAAc,CAAC,gBAAgB,SAAS,SAAS,QAAQ;AAC/D,WAAS,WAAW,QAAQ;AAC5B,EAAK,SAAS,OAAO;GACnB;GACA;GACA;GACA;GACA;GACD,CAAC;AACF,MAAI,kBAAkB,OACpB,UAAS,iBAAiB,cAAc;GAE1C;AAQF,QAAO;EAAE;EAAK,gBANS,kBAEN;AACf,UAAO,YAAY,SAAS,gBAAgB;KAC3C,EAAE,CAAC;EAEwB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FileContents, LineAnnotation } from "../../types.js";
|
|
2
|
+
import { SelectedLineRange } from "../../managers/LineSelectionManager.js";
|
|
3
|
+
import { GetHoveredLineResult } from "../../managers/MouseEventManager.js";
|
|
4
|
+
import { FileOptions } from "../../components/File.js";
|
|
5
|
+
|
|
6
|
+
//#region src/react/utils/useFileInstance.d.ts
|
|
7
|
+
interface UseFileInstanceProps<LAnnotation> {
|
|
8
|
+
file: FileContents;
|
|
9
|
+
options: FileOptions<LAnnotation> | undefined;
|
|
10
|
+
lineAnnotations: LineAnnotation<LAnnotation>[] | undefined;
|
|
11
|
+
selectedLines: SelectedLineRange | null | undefined;
|
|
12
|
+
prerenderedHTML: string | undefined;
|
|
13
|
+
}
|
|
14
|
+
interface UseFileInstanceReturn {
|
|
15
|
+
ref(node: HTMLElement | null): void;
|
|
16
|
+
getHoveredLine(): GetHoveredLineResult<"file"> | undefined;
|
|
17
|
+
}
|
|
18
|
+
declare function useFileInstance<LAnnotation>({
|
|
19
|
+
file,
|
|
20
|
+
options,
|
|
21
|
+
lineAnnotations,
|
|
22
|
+
selectedLines,
|
|
23
|
+
prerenderedHTML
|
|
24
|
+
}: UseFileInstanceProps<LAnnotation>): UseFileInstanceReturn;
|
|
25
|
+
//#endregion
|
|
26
|
+
export { useFileInstance };
|
|
27
|
+
//# sourceMappingURL=useFileInstance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFileInstance.d.ts","names":[],"sources":["../../../src/react/utils/useFileInstance.ts"],"sourcesContent":[],"mappings":";;;;;;UAmBU;QACF;EAT0C,OAQxC,EAEC,WAFD,CAEa,WAFb,CAAA,GAAA,SAAA;EACF,eAAA,EAEW,cAFX,CAE0B,WAF1B,CAAA,EAAA,GAAA,SAAA;EACe,aAAA,EAEN,iBAFM,GAAA,IAAA,GAAA,SAAA;EAAZ,eAAA,EAAA,MAAA,GAAA,SAAA;;UAMD,qBAAA,CALS;EACF,GAAA,CAAA,IAAA,EAKL,WALK,GAAA,IAAA,CAAA,EAAA,IAAA;EAAA,cAAA,EAAA,EAMG,oBANH,CAAA,MAAA,CAAA,GAAA,SAAA;AAAA;AASD,iBAAA,eAAA,CAAA,WAAA,CAAA,CAAA;EAAA,IAAA;EAAA,OAAA;EAAA,eAAA;EAAA,aAAA;EAAA;AAAA,CAAA,EAMb,oBANa,CAMQ,WANR,CAAA,CAAA,EAMuB,qBANvB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { File } from "../../components/File.js";
|
|
2
|
+
import { areOptionsEqual } from "../../utils/areOptionsEqual.js";
|
|
3
|
+
import { WorkerPoolContext } from "../WorkerPoolContext.js";
|
|
4
|
+
import { useStableCallback } from "./useStableCallback.js";
|
|
5
|
+
import { useCallback, useContext, useEffect, useLayoutEffect, useRef } from "react";
|
|
6
|
+
|
|
7
|
+
//#region src/react/utils/useFileInstance.ts
|
|
8
|
+
const useIsometricEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
|
|
9
|
+
function useFileInstance({ file, options, lineAnnotations, selectedLines, prerenderedHTML }) {
|
|
10
|
+
const poolManager = useContext(WorkerPoolContext);
|
|
11
|
+
const instanceRef = useRef(null);
|
|
12
|
+
const ref = useStableCallback((node) => {
|
|
13
|
+
if (node != null) {
|
|
14
|
+
if (instanceRef.current != null) throw new Error("File: An instance should not already exist when a node is created");
|
|
15
|
+
instanceRef.current = new File(options, poolManager, true);
|
|
16
|
+
instanceRef.current.hydrate({
|
|
17
|
+
file,
|
|
18
|
+
fileContainer: node,
|
|
19
|
+
lineAnnotations,
|
|
20
|
+
prerenderedHTML
|
|
21
|
+
});
|
|
22
|
+
} else {
|
|
23
|
+
if (instanceRef.current == null) throw new Error("File: A File instance should exist when unmounting");
|
|
24
|
+
instanceRef.current.cleanUp();
|
|
25
|
+
instanceRef.current = null;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
useIsometricEffect(() => {
|
|
29
|
+
if (instanceRef.current == null) return;
|
|
30
|
+
const forceRender = !areOptionsEqual(instanceRef.current.options, options);
|
|
31
|
+
instanceRef.current.setOptions(options);
|
|
32
|
+
instanceRef.current.render({
|
|
33
|
+
file,
|
|
34
|
+
lineAnnotations,
|
|
35
|
+
forceRender
|
|
36
|
+
});
|
|
37
|
+
if (selectedLines !== void 0) instanceRef.current.setSelectedLines(selectedLines);
|
|
38
|
+
});
|
|
39
|
+
return {
|
|
40
|
+
ref,
|
|
41
|
+
getHoveredLine: useCallback(() => {
|
|
42
|
+
return instanceRef.current?.getHoveredLine();
|
|
43
|
+
}, [])
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
//#endregion
|
|
48
|
+
export { useFileInstance };
|
|
49
|
+
//# sourceMappingURL=useFileInstance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFileInstance.js","names":[],"sources":["../../../src/react/utils/useFileInstance.ts"],"sourcesContent":["import {\n useCallback,\n useContext,\n useEffect,\n useLayoutEffect,\n useRef,\n} from 'react';\n\nimport { File, type FileOptions } from '../../components/File';\nimport type { SelectedLineRange } from '../../managers/LineSelectionManager';\nimport type { GetHoveredLineResult } from '../../managers/MouseEventManager';\nimport type { FileContents, LineAnnotation } from '../../types';\nimport { areOptionsEqual } from '../../utils/areOptionsEqual';\nimport { WorkerPoolContext } from '../WorkerPoolContext';\nimport { useStableCallback } from './useStableCallback';\n\nconst useIsometricEffect =\n typeof window === 'undefined' ? useEffect : useLayoutEffect;\n\ninterface UseFileInstanceProps<LAnnotation> {\n file: FileContents;\n options: FileOptions<LAnnotation> | undefined;\n lineAnnotations: LineAnnotation<LAnnotation>[] | undefined;\n selectedLines: SelectedLineRange | null | undefined;\n prerenderedHTML: string | undefined;\n}\n\ninterface UseFileInstanceReturn {\n ref(node: HTMLElement | null): void;\n getHoveredLine(): GetHoveredLineResult<'file'> | undefined;\n}\n\nexport function useFileInstance<LAnnotation>({\n file,\n options,\n lineAnnotations,\n selectedLines,\n prerenderedHTML,\n}: UseFileInstanceProps<LAnnotation>): UseFileInstanceReturn {\n const poolManager = useContext(WorkerPoolContext);\n const instanceRef = useRef<File<LAnnotation> | null>(null);\n const ref = useStableCallback((node: HTMLElement | null) => {\n if (node != null) {\n if (instanceRef.current != null) {\n throw new Error(\n 'File: An instance should not already exist when a node is created'\n );\n }\n // FIXME: Ideally we don't use FileUI here, and instead amalgamate\n // the renderers manually\n instanceRef.current = new File(options, poolManager, true);\n void instanceRef.current.hydrate({\n file,\n fileContainer: node,\n lineAnnotations,\n prerenderedHTML,\n });\n } else {\n if (instanceRef.current == null) {\n throw new Error('File: A File instance should exist when unmounting');\n }\n instanceRef.current.cleanUp();\n instanceRef.current = null;\n }\n });\n\n useIsometricEffect(() => {\n if (instanceRef.current == null) return;\n const forceRender = !areOptionsEqual(instanceRef.current.options, options);\n instanceRef.current.setOptions(options);\n void instanceRef.current.render({ file, lineAnnotations, forceRender });\n if (selectedLines !== undefined) {\n instanceRef.current.setSelectedLines(selectedLines);\n }\n });\n\n const getHoveredLine = useCallback(():\n | GetHoveredLineResult<'file'>\n | undefined => {\n return instanceRef.current?.getHoveredLine();\n }, []);\n return { ref, getHoveredLine };\n}\n"],"mappings":";;;;;;;AAgBA,MAAM,qBACJ,OAAO,WAAW,cAAc,YAAY;AAe9C,SAAgB,gBAA6B,EAC3C,MACA,SACA,iBACA,eACA,mBAC2D;CAC3D,MAAM,cAAc,WAAW,kBAAkB;CACjD,MAAM,cAAc,OAAiC,KAAK;CAC1D,MAAM,MAAM,mBAAmB,SAA6B;AAC1D,MAAI,QAAQ,MAAM;AAChB,OAAI,YAAY,WAAW,KACzB,OAAM,IAAI,MACR,oEACD;AAIH,eAAY,UAAU,IAAI,KAAK,SAAS,aAAa,KAAK;AAC1D,GAAK,YAAY,QAAQ,QAAQ;IAC/B;IACA,eAAe;IACf;IACA;IACD,CAAC;SACG;AACL,OAAI,YAAY,WAAW,KACzB,OAAM,IAAI,MAAM,qDAAqD;AAEvE,eAAY,QAAQ,SAAS;AAC7B,eAAY,UAAU;;GAExB;AAEF,0BAAyB;AACvB,MAAI,YAAY,WAAW,KAAM;EACjC,MAAM,cAAc,CAAC,gBAAgB,YAAY,QAAQ,SAAS,QAAQ;AAC1E,cAAY,QAAQ,WAAW,QAAQ;AACvC,EAAK,YAAY,QAAQ,OAAO;GAAE;GAAM;GAAiB;GAAa,CAAC;AACvE,MAAI,kBAAkB,OACpB,aAAY,QAAQ,iBAAiB,cAAc;GAErD;AAOF,QAAO;EAAE;EAAK,gBALS,kBAEN;AACf,UAAO,YAAY,SAAS,gBAAgB;KAC3C,EAAE,CAAC;EACwB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStableCallback.d.ts","names":[],"sources":["../../../src/react/utils/useStableCallback.ts"],"sourcesContent":[],"mappings":";iBAGgB,+DACJ,IACT"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { useCallback, useInsertionEffect, useRef } from "react";
|
|
2
|
+
|
|
3
|
+
//#region src/react/utils/useStableCallback.ts
|
|
4
|
+
function useStableCallback(callback) {
|
|
5
|
+
const callbackRef = useRef(callback);
|
|
6
|
+
useInsertionEffect(() => void (callbackRef.current = callback));
|
|
7
|
+
return useCallback((...args) => {
|
|
8
|
+
return callbackRef.current(...args);
|
|
9
|
+
}, []);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
//#endregion
|
|
13
|
+
export { useStableCallback };
|
|
14
|
+
//# sourceMappingURL=useStableCallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStableCallback.js","names":[],"sources":["../../../src/react/utils/useStableCallback.ts"],"sourcesContent":["import { useCallback, useInsertionEffect, useRef } from 'react';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function useStableCallback<T extends (...args: any[]) => any>(\n callback: T\n): T {\n const callbackRef = useRef(callback);\n useInsertionEffect(() => void (callbackRef.current = callback));\n return useCallback((...args: Parameters<T>): ReturnType<T> => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return callbackRef.current(...args);\n }, []) as T;\n}\n"],"mappings":";;;AAGA,SAAgB,kBACd,UACG;CACH,MAAM,cAAc,OAAO,SAAS;AACpC,0BAAyB,MAAM,YAAY,UAAU,UAAU;AAC/D,QAAO,aAAa,GAAG,SAAuC;AAE5D,SAAO,YAAY,QAAQ,GAAG,KAAK;IAClC,EAAE,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { BaseDiffOptions, DiffLineAnnotation, DiffsHighlighter, ExpansionDirections, FileDiffMetadata, HunkData, RenderDiffOptions, ThemeTypes, ThemedDiffResult } from "../types.js";
|
|
2
|
+
import { WorkerPoolManager } from "../worker/WorkerPoolManager.js";
|
|
3
|
+
import "../worker/index.js";
|
|
4
|
+
import { Element, ElementContent } from "hast";
|
|
5
|
+
|
|
6
|
+
//#region src/renderers/DiffHunksRenderer.d.ts
|
|
7
|
+
type OptionsWithDefaults = Required<Omit<BaseDiffOptions, "lang" | "unsafeCSS">>;
|
|
8
|
+
interface HunksRenderResult {
|
|
9
|
+
additionsAST: ElementContent[] | undefined;
|
|
10
|
+
deletionsAST: ElementContent[] | undefined;
|
|
11
|
+
unifiedAST: ElementContent[] | undefined;
|
|
12
|
+
hunkData: HunkData[];
|
|
13
|
+
css: string;
|
|
14
|
+
preNode: Element;
|
|
15
|
+
headerElement: Element | undefined;
|
|
16
|
+
totalLines: number;
|
|
17
|
+
themeStyles: string;
|
|
18
|
+
baseThemeType: "light" | "dark" | undefined;
|
|
19
|
+
}
|
|
20
|
+
declare class DiffHunksRenderer<LAnnotation = undefined> {
|
|
21
|
+
options: BaseDiffOptions;
|
|
22
|
+
private onRenderUpdate?;
|
|
23
|
+
private workerManager?;
|
|
24
|
+
private highlighter;
|
|
25
|
+
private diff;
|
|
26
|
+
private expandedHunks;
|
|
27
|
+
private deletionAnnotations;
|
|
28
|
+
private additionAnnotations;
|
|
29
|
+
private computedLang;
|
|
30
|
+
private renderCache;
|
|
31
|
+
constructor(options?: BaseDiffOptions, onRenderUpdate?: (() => unknown) | undefined, workerManager?: WorkerPoolManager | undefined);
|
|
32
|
+
cleanUp(): void;
|
|
33
|
+
setOptions(options: BaseDiffOptions): void;
|
|
34
|
+
private mergeOptions;
|
|
35
|
+
setThemeType(themeType: ThemeTypes): void;
|
|
36
|
+
expandHunk(index: number, direction: ExpansionDirections): void;
|
|
37
|
+
setLineAnnotations(lineAnnotations: DiffLineAnnotation<LAnnotation>[]): void;
|
|
38
|
+
getOptionsWithDefaults(): OptionsWithDefaults;
|
|
39
|
+
initializeHighlighter(): Promise<DiffsHighlighter>;
|
|
40
|
+
hydrate(diff: FileDiffMetadata | undefined): void;
|
|
41
|
+
private getRenderOptions;
|
|
42
|
+
renderDiff(diff?: FileDiffMetadata | undefined): HunksRenderResult | undefined;
|
|
43
|
+
asyncRender(diff: FileDiffMetadata): Promise<HunksRenderResult>;
|
|
44
|
+
private createPreElement;
|
|
45
|
+
private asyncHighlight;
|
|
46
|
+
private renderDiffWithHighlighter;
|
|
47
|
+
onHighlightSuccess(diff: FileDiffMetadata, result: ThemedDiffResult, options: RenderDiffOptions): void;
|
|
48
|
+
onHighlightError(error: unknown): void;
|
|
49
|
+
private processDiffResult;
|
|
50
|
+
renderFullAST(result: HunksRenderResult, children?: ElementContent[]): Element;
|
|
51
|
+
renderFullHTML(result: HunksRenderResult, tempChildren?: ElementContent[]): string;
|
|
52
|
+
renderPartialHTML(children: ElementContent[], columnType?: "unified" | "deletions" | "additions"): string;
|
|
53
|
+
private renderCollapsedHunks;
|
|
54
|
+
private renderHunks;
|
|
55
|
+
private pushLineWithAnnotation;
|
|
56
|
+
private getAnnotations;
|
|
57
|
+
private getAnnotations;
|
|
58
|
+
private renderHeader;
|
|
59
|
+
}
|
|
60
|
+
//#endregion
|
|
61
|
+
export { DiffHunksRenderer, HunksRenderResult };
|
|
62
|
+
//# sourceMappingURL=DiffHunksRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DiffHunksRenderer.d.ts","names":["options: BaseDiffOptions","onRenderUpdate?: () => unknown","workerManager?: WorkerPoolManager | undefined"],"sources":["../../src/renderers/DiffHunksRenderer.ts"],"sourcesContent":[],"mappings":";;;;;;KA8GK,mBAAA,GAAsB,SACzB,KAAK;UAQU,iBAAA;gBACD;EA7EuB,YAmElC,EAWW,cAXX,EAAA,GAAA,SAAA;EACE,UAAA,EAWO,cAXP,EAAA,GAAA,SAAA;EAAL,QAAA,EAYU,QAZV,EAAA;EADyB,GAAA,EAAA,MAAA;EAAA,OAAA,EAehB,OAfgB;EAS3B,aAAiB,EAOA,OAPA,GAAA,SAAA;EACD,UAAA,EAAA,MAAA;EACA,WAAA,EAAA,MAAA;EACF,aAAA,EAAA,OAAA,GAAA,MAAA,GAAA,SAAA;;AAGH,cAOE,iBAPF,CAAA,cAAA,SAAA,CAAA,CAAA;EACM,OAAA,EAmBG,eAnBH;EAAA,QAAA,cAAA;EAMjB,QAAa,aAAA;EAaO,QAAA,WAAA;EAAA,QAAA,IAAA;EAEQ,QAAA,aAAA;EAiBN,QAAA,mBAAA;EAQI,QAAA,mBAAA;EAOa,QAAA,YAAA;EAekB,QAAA,WAAA;EAAnB,WAAA,CAAA,OAAA,CAAA,EAjDlB,eAiDkB,EAAA,cAAA,CAAA,EAAA,CAAA,GAAA,GAAA,OAAA,CAAA,GAAA,SAAA,EAAA,aAAA,CAAA,EA/CV,iBA+CU,GAAA,SAAA;EAkBV,OAAA,CAAA,CAAA,EAAA,IAAA;EAqCa,UAAA,CAAA,OAAA,EArFnB,eAqFmB,CAAA,EAAA,IAAA;EAAR,QAAA,YAAA;EAOjB,YAAA,CAAA,SAAA,EApFU,UAoFV,CAAA,EAAA,IAAA;EAsDN,UAAA,CAAA,KAAA,EAAA,MAAA,EAAA,SAAA,EAnI6B,mBAmI7B,CAAA,EAAA,IAAA;EACL,kBAAA,CAAA,eAAA,EArHiC,kBAqHjC,CArHoD,WAqHpD,CAAA,EAAA,CAAA,EAAA,IAAA;EAiEqB,sBAAA,CAAA,CAAA,EApKE,mBAoKF;EAA2B,qBAAA,CAAA,CAAA,EA/HpB,OA+HoB,CA/HZ,gBA+HY,CAAA;EAAR,OAAA,CAAA,IAAA,EAxH7B,gBAwH6B,GAAA,SAAA,CAAA,EAAA,IAAA;EA+DnC,QAAA,gBAAA;EACE,UAAA,CAAA,IAAA,CAAA,EAlIF,gBAkIE,GAAA,SAAA,CAAA,EAjIP,iBAiIO,GAAA,SAAA;EACC,WAAA,CAAA,IAAA,EAjEa,gBAiEb,CAAA,EAjEgC,OAiEhC,CAjEwC,iBAiExC,CAAA;EAuGD,QAAA,gBAAA;EACE,QAAA,cAAA;EACT,QAAA,yBAAA;EAyCO,kBAAA,CAAA,IAAA,EApJF,gBAoJE,EAAA,MAAA,EAnJA,gBAmJA,EAAA,OAAA,EAlJC,iBAkJD,CAAA,EAAA,IAAA;EACM,gBAAA,CAAA,KAAA,EAAA,OAAA,CAAA,EAAA,IAAA;EAMJ,QAAA,iBAAA;EAAA,aAAA,CAAA,MAAA,EAlDF,iBAkDE,EAAA,QAAA,CAAA,EAjDA,cAiDA,EAAA,CAAA,EAhDT,OAgDS;yBAPF,kCACM;8BAMJ"}
|