@pierre/diffs 1.3.5 → 1.4.0

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.
Files changed (257) hide show
  1. package/dist/components/CodeView.d.ts +113 -68
  2. package/dist/components/CodeView.d.ts.map +1 -1
  3. package/dist/components/CodeView.js +153 -58
  4. package/dist/components/CodeView.js.map +1 -1
  5. package/dist/components/File.d.ts +75 -15
  6. package/dist/components/File.d.ts.map +1 -1
  7. package/dist/components/File.js +223 -62
  8. package/dist/components/File.js.map +1 -1
  9. package/dist/components/FileDiff.d.ts +97 -21
  10. package/dist/components/FileDiff.d.ts.map +1 -1
  11. package/dist/components/FileDiff.js +400 -100
  12. package/dist/components/FileDiff.js.map +1 -1
  13. package/dist/components/UnresolvedFile.d.ts +2 -2
  14. package/dist/components/UnresolvedFile.d.ts.map +1 -1
  15. package/dist/components/UnresolvedFile.js +2 -2
  16. package/dist/components/UnresolvedFile.js.map +1 -1
  17. package/dist/components/VirtualizedFile.d.ts +16 -7
  18. package/dist/components/VirtualizedFile.d.ts.map +1 -1
  19. package/dist/components/VirtualizedFile.js +140 -51
  20. package/dist/components/VirtualizedFile.js.map +1 -1
  21. package/dist/components/VirtualizedFileDiff.d.ts +14 -8
  22. package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  23. package/dist/components/VirtualizedFileDiff.js +183 -93
  24. package/dist/components/VirtualizedFileDiff.js.map +1 -1
  25. package/dist/components/VirtulizerDevelopment.d.ts +1 -1
  26. package/dist/components/VirtulizerDevelopment.d.ts.map +1 -1
  27. package/dist/edit/index.d.ts +7 -4
  28. package/dist/edit/index.js +5 -1
  29. package/dist/editor/EditStateManager.d.ts +56 -0
  30. package/dist/editor/EditStateManager.d.ts.map +1 -0
  31. package/dist/editor/EditStateManager.js +135 -0
  32. package/dist/editor/EditStateManager.js.map +1 -0
  33. package/dist/editor/cloneRetainedDiffSessionSnapshot.d.ts +7 -0
  34. package/dist/editor/cloneRetainedDiffSessionSnapshot.d.ts.map +1 -0
  35. package/dist/editor/cloneRetainedDiffSessionSnapshot.js +16 -0
  36. package/dist/editor/cloneRetainedDiffSessionSnapshot.js.map +1 -0
  37. package/dist/editor/editPrediction.d.ts +76 -0
  38. package/dist/editor/editPrediction.d.ts.map +1 -0
  39. package/dist/editor/editPrediction.js +365 -0
  40. package/dist/editor/editPrediction.js.map +1 -0
  41. package/dist/editor/editStack.d.ts +19 -40
  42. package/dist/editor/editStack.d.ts.map +1 -1
  43. package/dist/editor/editStack.js +67 -4
  44. package/dist/editor/editStack.js.map +1 -1
  45. package/dist/editor/editor.d.ts +118 -29
  46. package/dist/editor/editor.d.ts.map +1 -1
  47. package/dist/editor/editor.js +1196 -403
  48. package/dist/editor/editor.js.map +1 -1
  49. package/dist/editor/editor2.js +1 -1
  50. package/dist/editor/languages.d.ts +3 -3
  51. package/dist/editor/languages.d.ts.map +1 -1
  52. package/dist/editor/languages.js.map +1 -1
  53. package/dist/editor/lineAnnotations.d.ts +3 -3
  54. package/dist/editor/lineAnnotations.d.ts.map +1 -1
  55. package/dist/editor/lineAnnotations.js +16 -7
  56. package/dist/editor/lineAnnotations.js.map +1 -1
  57. package/dist/editor/marker.d.ts +2 -2
  58. package/dist/editor/marker.d.ts.map +1 -1
  59. package/dist/editor/marker.js.map +1 -1
  60. package/dist/editor/matchBrackets.d.ts +2 -2
  61. package/dist/editor/matchBrackets.d.ts.map +1 -1
  62. package/dist/editor/matchBrackets.js.map +1 -1
  63. package/dist/editor/pieceTable.d.ts +1 -1
  64. package/dist/editor/pieceTable.js.map +1 -1
  65. package/dist/editor/searchPanel.d.ts +2 -2
  66. package/dist/editor/searchPanel.d.ts.map +1 -1
  67. package/dist/editor/searchPanel.js +3 -2
  68. package/dist/editor/searchPanel.js.map +1 -1
  69. package/dist/editor/selection.d.ts +33 -23
  70. package/dist/editor/selection.d.ts.map +1 -1
  71. package/dist/editor/selection.js +3 -3
  72. package/dist/editor/selection.js.map +1 -1
  73. package/dist/editor/selectionAction.d.ts +3 -3
  74. package/dist/editor/selectionAction.d.ts.map +1 -1
  75. package/dist/editor/selectionAction.js.map +1 -1
  76. package/dist/editor/textDocument.d.ts +11 -8
  77. package/dist/editor/textDocument.d.ts.map +1 -1
  78. package/dist/editor/textDocument.js +28 -5
  79. package/dist/editor/textDocument.js.map +1 -1
  80. package/dist/editor/textDocumentChangeTransaction.d.ts +15 -0
  81. package/dist/editor/textDocumentChangeTransaction.d.ts.map +1 -0
  82. package/dist/editor/textDocumentChangeTransaction.js +12 -0
  83. package/dist/editor/textDocumentChangeTransaction.js.map +1 -0
  84. package/dist/editor/textMeasure.d.ts +5 -0
  85. package/dist/editor/textMeasure.d.ts.map +1 -1
  86. package/dist/editor/textMeasure.js +10 -0
  87. package/dist/editor/textMeasure.js.map +1 -1
  88. package/dist/editor/tokenizer.d.ts +1 -1
  89. package/dist/editor/tokenizer.d.ts.map +1 -1
  90. package/dist/editor/tokenizer.js +6 -3
  91. package/dist/editor/tokenizer.js.map +1 -1
  92. package/dist/editor/types.d.ts +267 -0
  93. package/dist/editor/types.d.ts.map +1 -0
  94. package/dist/editor/types.js +0 -0
  95. package/dist/editor/utils.d.ts +2 -1
  96. package/dist/editor/utils.d.ts.map +1 -1
  97. package/dist/editor/utils.js +4 -1
  98. package/dist/editor/utils.js.map +1 -1
  99. package/dist/index.d.ts +8 -6
  100. package/dist/index.js +9 -8
  101. package/dist/managers/InteractionManager.d.ts.map +1 -1
  102. package/dist/managers/InteractionManager.js +7 -0
  103. package/dist/managers/InteractionManager.js.map +1 -1
  104. package/dist/react/CodeView.d.ts +36 -25
  105. package/dist/react/CodeView.d.ts.map +1 -1
  106. package/dist/react/CodeView.js +15 -14
  107. package/dist/react/CodeView.js.map +1 -1
  108. package/dist/react/EditContext.d.ts +8 -11
  109. package/dist/react/EditContext.d.ts.map +1 -1
  110. package/dist/react/EditContext.js +2 -9
  111. package/dist/react/EditContext.js.map +1 -1
  112. package/dist/react/File.d.ts +10 -6
  113. package/dist/react/File.d.ts.map +1 -1
  114. package/dist/react/File.js +8 -4
  115. package/dist/react/File.js.map +1 -1
  116. package/dist/react/FileDiff.d.ts +10 -5
  117. package/dist/react/FileDiff.d.ts.map +1 -1
  118. package/dist/react/FileDiff.js +8 -4
  119. package/dist/react/FileDiff.js.map +1 -1
  120. package/dist/react/MultiFileDiff.d.ts +8 -5
  121. package/dist/react/MultiFileDiff.d.ts.map +1 -1
  122. package/dist/react/MultiFileDiff.js +8 -12
  123. package/dist/react/MultiFileDiff.js.map +1 -1
  124. package/dist/react/PatchDiff.d.ts +7 -4
  125. package/dist/react/PatchDiff.d.ts.map +1 -1
  126. package/dist/react/PatchDiff.js +8 -4
  127. package/dist/react/PatchDiff.js.map +1 -1
  128. package/dist/react/UnresolvedFile.d.ts +3 -3
  129. package/dist/react/UnresolvedFile.d.ts.map +1 -1
  130. package/dist/react/UnresolvedFile.js.map +1 -1
  131. package/dist/react/index.d.ts +8 -5
  132. package/dist/react/types.d.ts +46 -9
  133. package/dist/react/types.d.ts.map +1 -1
  134. package/dist/react/utils/renderDiffChildren.d.ts +14 -12
  135. package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
  136. package/dist/react/utils/renderDiffChildren.js +2 -2
  137. package/dist/react/utils/renderDiffChildren.js.map +1 -1
  138. package/dist/react/utils/renderFileChildren.d.ts +14 -12
  139. package/dist/react/utils/renderFileChildren.d.ts.map +1 -1
  140. package/dist/react/utils/renderFileChildren.js +2 -2
  141. package/dist/react/utils/renderFileChildren.js.map +1 -1
  142. package/dist/react/utils/useFileDiffInstance.d.ts +22 -10
  143. package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  144. package/dist/react/utils/useFileDiffInstance.js +112 -22
  145. package/dist/react/utils/useFileDiffInstance.js.map +1 -1
  146. package/dist/react/utils/useFileInstance.d.ts +15 -9
  147. package/dist/react/utils/useFileInstance.d.ts.map +1 -1
  148. package/dist/react/utils/useFileInstance.js +84 -25
  149. package/dist/react/utils/useFileInstance.js.map +1 -1
  150. package/dist/renderers/DiffHunksRenderer.d.ts +30 -15
  151. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  152. package/dist/renderers/DiffHunksRenderer.js +172 -108
  153. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  154. package/dist/renderers/FileRenderer.d.ts +27 -11
  155. package/dist/renderers/FileRenderer.d.ts.map +1 -1
  156. package/dist/renderers/FileRenderer.js +138 -64
  157. package/dist/renderers/FileRenderer.js.map +1 -1
  158. package/dist/renderers/UnresolvedFileHunksRenderer.d.ts +2 -2
  159. package/dist/renderers/UnresolvedFileHunksRenderer.d.ts.map +1 -1
  160. package/dist/renderers/UnresolvedFileHunksRenderer.js +2 -2
  161. package/dist/renderers/UnresolvedFileHunksRenderer.js.map +1 -1
  162. package/dist/shiki-stream/tokenizer.d.ts.map +1 -1
  163. package/dist/shiki-stream/tokenizer.js +2 -1
  164. package/dist/shiki-stream/tokenizer.js.map +1 -1
  165. package/dist/ssr/index.d.ts +2 -2
  166. package/dist/ssr/preloadDiffs.d.ts +21 -21
  167. package/dist/ssr/preloadDiffs.d.ts.map +1 -1
  168. package/dist/ssr/preloadDiffs.js +1 -1
  169. package/dist/ssr/preloadDiffs.js.map +1 -1
  170. package/dist/ssr/preloadFile.d.ts +6 -6
  171. package/dist/ssr/preloadFile.d.ts.map +1 -1
  172. package/dist/ssr/preloadFile.js.map +1 -1
  173. package/dist/ssr/preloadPatchFile.d.ts +4 -4
  174. package/dist/ssr/preloadPatchFile.d.ts.map +1 -1
  175. package/dist/ssr/preloadPatchFile.js.map +1 -1
  176. package/dist/style.js +1 -1
  177. package/dist/types.d.ts +13 -263
  178. package/dist/types.d.ts.map +1 -1
  179. package/dist/utils/appendItems.d.ts +5 -0
  180. package/dist/utils/appendItems.d.ts.map +1 -0
  181. package/dist/utils/appendItems.js +8 -0
  182. package/dist/utils/appendItems.js.map +1 -0
  183. package/dist/utils/areDiffTargetsEqual.js +1 -1
  184. package/dist/utils/areDiffTargetsEqual.js.map +1 -1
  185. package/dist/utils/areFileTargetsEqual.d.ts +7 -0
  186. package/dist/utils/areFileTargetsEqual.d.ts.map +1 -0
  187. package/dist/utils/areFileTargetsEqual.js +8 -0
  188. package/dist/utils/areFileTargetsEqual.js.map +1 -0
  189. package/dist/utils/areManagedSnapshotsEqual.d.ts +1 -1
  190. package/dist/utils/areManagedSnapshotsEqual.d.ts.map +1 -1
  191. package/dist/utils/areManagedSnapshotsEqual.js.map +1 -1
  192. package/dist/utils/areOptionsEqual.d.ts +3 -3
  193. package/dist/utils/areOptionsEqual.d.ts.map +1 -1
  194. package/dist/utils/areOptionsEqual.js.map +1 -1
  195. package/dist/utils/cloneFileDiffMetadata.d.ts +3 -2
  196. package/dist/utils/cloneFileDiffMetadata.d.ts.map +1 -1
  197. package/dist/utils/cloneFileDiffMetadata.js +8 -5
  198. package/dist/utils/cloneFileDiffMetadata.js.map +1 -1
  199. package/dist/utils/composeCacheKey.d.ts +6 -0
  200. package/dist/utils/composeCacheKey.d.ts.map +1 -0
  201. package/dist/utils/composeCacheKey.js +10 -0
  202. package/dist/utils/composeCacheKey.js.map +1 -0
  203. package/dist/utils/editSessionAnnotations.d.ts +69 -0
  204. package/dist/utils/editSessionAnnotations.d.ts.map +1 -0
  205. package/dist/utils/editSessionAnnotations.js +64 -0
  206. package/dist/utils/editSessionAnnotations.js.map +1 -0
  207. package/dist/utils/editSessionHunks.d.ts +5 -3
  208. package/dist/utils/editSessionHunks.d.ts.map +1 -1
  209. package/dist/utils/editSessionHunks.js +7 -5
  210. package/dist/utils/editSessionHunks.js.map +1 -1
  211. package/dist/utils/getDiffHunksRendererOptions.d.ts +1 -1
  212. package/dist/utils/getDiffHunksRendererOptions.d.ts.map +1 -1
  213. package/dist/utils/getDiffHunksRendererOptions.js.map +1 -1
  214. package/dist/utils/getFileRendererOptions.d.ts +1 -1
  215. package/dist/utils/getFileRendererOptions.d.ts.map +1 -1
  216. package/dist/utils/getFileRendererOptions.js.map +1 -1
  217. package/dist/utils/hydratePartialDiff.d.ts.map +1 -1
  218. package/dist/utils/hydratePartialDiff.js +2 -1
  219. package/dist/utils/hydratePartialDiff.js.map +1 -1
  220. package/dist/utils/lineAnnotationIdentity.d.ts +16 -0
  221. package/dist/utils/lineAnnotationIdentity.d.ts.map +1 -0
  222. package/dist/utils/lineAnnotationIdentity.js +17 -0
  223. package/dist/utils/lineAnnotationIdentity.js.map +1 -0
  224. package/dist/utils/parseDiffFromFile.d.ts +2 -2
  225. package/dist/utils/parseDiffFromFile.d.ts.map +1 -1
  226. package/dist/utils/parseDiffFromFile.js +6 -6
  227. package/dist/utils/parseDiffFromFile.js.map +1 -1
  228. package/dist/utils/parsePatchFiles.d.ts +6 -3
  229. package/dist/utils/parsePatchFiles.d.ts.map +1 -1
  230. package/dist/utils/parsePatchFiles.js +34 -9
  231. package/dist/utils/parsePatchFiles.js.map +1 -1
  232. package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
  233. package/dist/utils/renderDiffWithHighlighter.js +6 -5
  234. package/dist/utils/renderDiffWithHighlighter.js.map +1 -1
  235. package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
  236. package/dist/utils/renderFileWithHighlighter.js +7 -4
  237. package/dist/utils/renderFileWithHighlighter.js.map +1 -1
  238. package/dist/utils/trimPatchContext.d.ts.map +1 -1
  239. package/dist/utils/trimPatchContext.js +3 -2
  240. package/dist/utils/trimPatchContext.js.map +1 -1
  241. package/dist/utils/updateDiffHunks.js +1 -1
  242. package/dist/utils/virtualDiffLayout.js +1 -1
  243. package/dist/worker/WorkerPoolManager.d.ts +4 -3
  244. package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  245. package/dist/worker/WorkerPoolManager.js +33 -4
  246. package/dist/worker/WorkerPoolManager.js.map +1 -1
  247. package/dist/worker/types.d.ts +5 -0
  248. package/dist/worker/types.d.ts.map +1 -1
  249. package/dist/worker/worker-portable.js +14 -6
  250. package/dist/worker/worker-portable.js.map +1 -1
  251. package/dist/worker/worker.js +14 -6
  252. package/dist/worker/worker.js.map +1 -1
  253. package/package.json +9 -1
  254. package/dist/editor/stateStorage.d.ts +0 -15
  255. package/dist/editor/stateStorage.d.ts.map +0 -1
  256. package/dist/editor/stateStorage.js +0 -65
  257. package/dist/editor/stateStorage.js.map +0 -1
package/dist/types.d.ts CHANGED
@@ -19,11 +19,7 @@ interface FileContents {
19
19
  lang?: SupportedLanguages;
20
20
  /** Optional header passed to the jsdiff library's `createTwoFilesPatch`. */
21
21
  header?: string;
22
- /**
23
- * Identifies a file for caching. Optional for read-only rendering, but
24
- * required and expected to be unique and stable when Editor `persistState`
25
- * is enabled.
26
- */
22
+ /** Identifies a file for worker pool highlight caching. */
27
23
  cacheKey?: string;
28
24
  }
29
25
  interface FileDiffLoadedChangedFiles {
@@ -395,31 +391,31 @@ interface SelectedLineRange {
395
391
  end: number;
396
392
  endSide?: SelectionSide;
397
393
  }
398
- type OptionalMetadata<T> = T extends undefined ? {
394
+ type OptionalMetadata<LAnnotation> = LAnnotation extends undefined ? {
399
395
  metadata?: undefined;
400
396
  } : {
401
- metadata: T;
397
+ metadata: LAnnotation;
402
398
  };
403
399
  /**
404
400
  * Annotation rendered for a file line. Use `lineNumber: 0` to render a
405
401
  * file-level annotation above the first rendered file line.
406
402
  */
407
- type LineAnnotation<T = undefined> = {
403
+ type LineAnnotation<LAnnotation = undefined> = {
408
404
  lineNumber: number;
409
- } & OptionalMetadata<T>;
405
+ } & OptionalMetadata<LAnnotation>;
410
406
  /**
411
407
  * Annotation rendered for one side of a diff line. Use `lineNumber: 0` to
412
408
  * render a side-specific file-level annotation above the first hunk/separator.
413
409
  */
414
- type DiffLineAnnotation<T = undefined> = {
410
+ type DiffLineAnnotation<LAnnotation = undefined> = {
415
411
  side: AnnotationSide;
416
412
  lineNumber: number;
417
- } & OptionalMetadata<T>;
418
- type CodeViewFileItem<T = undefined> = {
413
+ } & OptionalMetadata<LAnnotation>;
414
+ type CodeViewFileItem<LAnnotation = undefined> = {
419
415
  id: string;
420
416
  type: 'file';
421
417
  file: FileContents;
422
- annotations?: LineAnnotation<T>[];
418
+ annotations?: LineAnnotation<LAnnotation>[];
423
419
  version?: number;
424
420
  collapsed?: boolean;
425
421
  /**
@@ -429,11 +425,11 @@ type CodeViewFileItem<T = undefined> = {
429
425
  */
430
426
  edit?: boolean;
431
427
  };
432
- type CodeViewDiffItem<T = undefined> = {
428
+ type CodeViewDiffItem<LAnnotation = undefined> = {
433
429
  id: string;
434
430
  type: 'diff';
435
431
  fileDiff: FileDiffMetadata;
436
- annotations?: DiffLineAnnotation<T>[];
432
+ annotations?: DiffLineAnnotation<LAnnotation>[];
437
433
  version?: number;
438
434
  collapsed?: boolean;
439
435
  /**
@@ -443,7 +439,7 @@ type CodeViewDiffItem<T = undefined> = {
443
439
  */
444
440
  edit?: boolean;
445
441
  };
446
- type CodeViewItem<T = undefined> = CodeViewFileItem<T> | CodeViewDiffItem<T>;
442
+ type CodeViewItem<LAnnotation> = CodeViewFileItem<LAnnotation> | CodeViewDiffItem<LAnnotation>;
447
443
  interface CodeViewPositionScrollTarget {
448
444
  type: 'position';
449
445
  position: number;
@@ -642,7 +638,6 @@ interface RenderedDiffASTCache {
642
638
  result: ThemedDiffResult | undefined;
643
639
  renderRange: RenderRange | undefined;
644
640
  isDirty?: boolean;
645
- highlightPending?: boolean;
646
641
  }
647
642
  /**
648
643
  * A window of rendered content. Two unit interpretations exist:
@@ -770,251 +765,6 @@ interface StickySpecs {
770
765
  topOffset: number;
771
766
  height: number;
772
767
  }
773
- interface DiffsComponentOptions extends BaseCodeOptions {
774
- enableGutterUtility?: boolean;
775
- enableLineSelection?: boolean;
776
- expandUnchanged?: boolean;
777
- diffStyle?: 'unified' | 'split';
778
- lineHoverHighlight?: 'disabled' | 'both' | 'number' | 'line';
779
- }
780
- interface EditorActiveLineOptions {
781
- lineNumberOnly?: boolean;
782
- side?: SelectionSide;
783
- }
784
- interface DiffsBaseComponent {
785
- readonly type: 'file' | 'file-diff' | 'unresolved-file';
786
- readonly top?: number;
787
- readonly options: DiffsComponentOptions;
788
- setOptions: (options: Partial<DiffsComponentOptions>) => void;
789
- setSelectedLines: (range: {
790
- start: number;
791
- end: number;
792
- } | null, options?: {
793
- notify?: boolean;
794
- activeLineSide?: SelectionSide;
795
- lineNumberOnly?: boolean;
796
- }) => void;
797
- render(options: {
798
- file?: FileContents;
799
- fileDiff?: FileDiffMetadata;
800
- lineAnnotations?: any[];
801
- renderRange?: RenderRange;
802
- }): void;
803
- rerender(): void;
804
- cleanUp(): void;
805
- }
806
- interface DiffsEditableComponent<LAnnotation> extends DiffsBaseComponent {
807
- /** @internal Return the current file when this component renders one. */
808
- __getCurrentFile?: () => FileContents | undefined;
809
- /**
810
- * @internal Code options with worker-pool overrides applied: the theme the
811
- * shared highlighter is actually loaded with and the pool's tokenize limit.
812
- */
813
- __getEffectiveCodeOptions(): BaseCodeOptions;
814
- /** @internal Keep the editor caret decoration separate from line selection. */
815
- setEditorActiveLine: (lineNumber: number | null, options?: EditorActiveLineOptions) => void;
816
- /** Return the horizontal code scroll position (`scrollLeft`). */
817
- getCodeScrollLeft: () => number;
818
- /** Set the horizontal code scroll position (`scrollLeft`). */
819
- setCodeScrollLeft: (position: number) => void;
820
- /**
821
- * Return the position and height of a one-based line relative to this component.
822
- * The host uses it to scroll to virtualized lines before their DOM nodes exist.
823
- * A zero height means the line is not currently renderable.
824
- * In a file diff, `lineNumber` is the line number in the new file.
825
- */
826
- getLinePosition?: (lineNumber: number) => {
827
- top: number;
828
- height: number;
829
- } | undefined;
830
- /**
831
- * Return an explicit viewport that bounds visible editor rows. Components
832
- * without one fall back to their nearest scrollable ancestor or document.
833
- */
834
- getEditorViewport?: () => HTMLElement | Document | undefined;
835
- /**
836
- * Whether the given one-based new-file line currently has (or will have on
837
- * scroll) a rendered row. False only for lines hidden inside a collapsed
838
- * unchanged region. Components without collapsible regions leave this
839
- * unimplemented and the editor treats every line as renderable.
840
- */
841
- isLineRenderable?: (lineNumber: number) => boolean;
842
- /**
843
- * The nearest renderable one-based new-file line at or beyond `lineNumber`
844
- * in the given direction, or undefined when every line that way is hidden
845
- * inside collapsed regions. Sequential caret motion uses this to skip
846
- * collapsed regions like code folds.
847
- */
848
- getNearestRenderableLine?: (lineNumber: number, direction: 'up' | 'down') => number | undefined;
849
- /**
850
- * Expand collapsed context so the given one-based new-file line can
851
- * render. Returns true when an expansion was performed (a re-render will
852
- * follow, possibly deferred).
853
- */
854
- revealLine?: (lineNumber: number) => boolean;
855
- /**
856
- * Attach an editor to this component. The returned detach closure receives
857
- * `recycle: true` when the editor is only being released by a virtualized
858
- * unmount (the session continues on remount) and no argument/false on a
859
- * genuine session end.
860
- */
861
- attachEditor: (editor: DiffsEditor<LAnnotation>) => (recycle?: boolean) => void;
862
- applyDocumentChange: (textDocument: DiffsTextDocument, newLineAnnotations?: DiffLineAnnotation<LAnnotation>[], shouldUpdateBuffer?: boolean) => void;
863
- updateRenderCache: (lines: Map<number, Array<HighlightedToken>>, themeType: 'dark' | 'light', options?: {
864
- /**
865
- * Whether to refresh the diffs view.
866
- * Deferred background-tokenize passes always pass false.
867
- */
868
- shouldRefreshDiffsView?: boolean;
869
- /**
870
- * Whether the line count has changed in flight.
871
- * True only during an edit pass whose line count changed,
872
- * deferred background-tokenize passes always pass false.
873
- */
874
- lineCountChangeInFlight?: boolean;
875
- }) => void;
876
- }
877
- type EditableInstance<T extends {
878
- type: string;
879
- }> = T extends {
880
- type: 'unresolved-file';
881
- } ? never : T;
882
- interface DiffsEditor<LAnnotation> {
883
- /** @internal */
884
- __prepareFile?(file: FileContents): FileContents;
885
- __postponeBgTokenizeToNextFrame(): void;
886
- /** @internal Capture focus intent before replacing the editable view. */
887
- __captureFocusForDOMReplacement(): void;
888
- __syncRenderView(highlighter: DiffsHighlighter, fileContainer: HTMLElement, fileOrDiff: FileContents | FileDiffMetadata, lineAnnotations: LineAnnotation<LAnnotation>[] | DiffLineAnnotation<LAnnotation>[] | undefined, renderRange: RenderRange | undefined): void;
889
- edit<T extends DiffsEditableComponent<LAnnotation>>(fileInstance: EditableInstance<T>): () => void;
890
- cleanUp(recycle?: boolean): void;
891
- }
892
- /**
893
- * Position in a text document expressed as zero-based line and character offset.
894
- * The offsets are based on a UTF-16 string representation. So a string of the form
895
- * `a𐐀b` the character offset of the character `a` is 0, the character offset of `𐐀`
896
- * is 1 and the character offset of b is 3 since `𐐀` is represented using two code
897
- * units in UTF-16.
898
- *
899
- * Positions are line end character agnostic. So you can not specify a position that
900
- * denotes `\r|\n` or `\n|` where `|` represents the character offset.
901
- */
902
- interface Position {
903
- /**
904
- * Line position in a document (zero-based).
905
- *
906
- * If a line number is greater than the number of lines in a document, it
907
- * defaults back to the number of lines in the document.
908
- * If a line number is negative, it defaults to 0.
909
- *
910
- * The above two properties are implementation specific.
911
- */
912
- readonly line: number;
913
- /**
914
- * Character offset on a line in a document (zero-based).
915
- *
916
- * The meaning of this offset is determined by the negotiated
917
- * `PositionEncodingKind`.
918
- *
919
- * If the character value is greater than the line length it defaults back
920
- * to the line length. This property is implementation specific.
921
- */
922
- readonly character: number;
923
- }
924
- /**
925
- * A range in a text document expressed as (zero-based) start and end positions.
926
- *
927
- * If you want to specify a range that contains a line including the line ending
928
- * character(s) then use an end position denoting the start of the next line.
929
- * For example:
930
- * ```ts
931
- * {
932
- * start: { line: 5, character: 23 }
933
- * end : { line 6, character : 0 }
934
- * }
935
- * ```
936
- */
937
- interface Range {
938
- /**
939
- * The range's start position.
940
- */
941
- readonly start: Position;
942
- /**
943
- * The range's end position.
944
- */
945
- readonly end: Position;
946
- }
947
- /**
948
- * A text edit applicable to a text document.
949
- */
950
- interface TextEdit {
951
- /**
952
- * The range of the text document to be manipulated. To insert
953
- * text into a document create a range where start === end.
954
- */
955
- readonly range: Range;
956
- /**
957
- * The string to be inserted. For delete operations use an
958
- * empty string.
959
- */
960
- readonly newText: string;
961
- }
962
- /** Different with `TextEdit`, the range has been resolved to offsets. */
963
- interface ResolvedTextEdit {
964
- /** The start offset of the text change. */
965
- readonly start: number;
966
- /** The end offset of the text change. */
967
- readonly end: number;
968
- /** The string to be inserted. For delete operations use an empty string. */
969
- readonly text: string;
970
- }
971
- /** A normalized text change reported by the editor. */
972
- interface EditorChange extends ResolvedTextEdit {
973
- /** The replaced range in the document before the change. */
974
- range: Range;
975
- }
976
- /** The document state and normalized edits reported after an editor change. */
977
- interface EditorChangeEvent<LAnnotation> {
978
- changes: EditorChange[];
979
- file: FileContents;
980
- lineAnnotations?: LineAnnotation<LAnnotation>[] | DiffLineAnnotation<LAnnotation>[];
981
- }
982
- /**
983
- * The direction of a selection.
984
- * -1: backward
985
- * 0: none
986
- * 1: forward
987
- */
988
- type SelectionDirection = -1 | 0 | 1;
989
- interface EditorSelection extends Range {
990
- direction: SelectionDirection;
991
- }
992
- interface EditorViewState {
993
- /** Horizontal position owned by the current editable code scroller. */
994
- scrollLeft: number;
995
- /** Vertical position of the editor viewport. */
996
- scrollTop?: number;
997
- }
998
- interface EditorState {
999
- selections?: EditorSelection[];
1000
- view?: EditorViewState;
1001
- }
1002
- interface DiffsTextDocument {
1003
- readonly lineCount: number;
1004
- getLineText: (lineNumber: number, includeLineBreak?: boolean) => string;
1005
- getText: () => string;
1006
- }
1007
- /**
1008
- * Options CodeView passes to its `createEditor` factory. A structural subset
1009
- * of `EditorOptions` from `@pierre/diffs/edit`, so factories can spread
1010
- * them straight into the constructor — `new Editor({ ...options })` — and
1011
- * layer any editor configuration of their own on top. Forwarding `onChange`
1012
- * is what lets CodeView resolve document changes back to the owning item and
1013
- * emit them through its own `onItemEditChange` option.
1014
- */
1015
- interface CodeViewCreateEditorOptions<LAnnotation> {
1016
- onChange: (file: FileContents, lineAnnotations: LineAnnotation<LAnnotation>[] | DiffLineAnnotation<LAnnotation>[] | undefined, event: EditorChangeEvent<LAnnotation>) => void;
1017
- }
1018
768
  //#endregion
1019
- export { AnnotationLineMap, AnnotationSide, AnnotationSpan, AppliedThemeStyleCache, BaseCodeOptions, BaseDiffOptions, BaseDiffOptionsWithDefaults, type BundledLanguage, ChangeContent, ChangeTypes, CodeColumnType, type CodeToHastOptions, CodeViewCreateEditorOptions, CodeViewDiffItem, CodeViewFileItem, CodeViewItem, CodeViewItemScrollTarget, CodeViewLayout, CodeViewLineScrollTarget, CodeViewPositionScrollTarget, CodeViewRangeScrollTarget, CodeViewScrollBehavior, CodeViewScrollTarget, ConflictResolverTypes, ContextContent, type CreatePatchOptionsNonabortable, CustomPreProperties, type DecorationItem, DiffAcceptRejectHunkConfig, DiffAcceptRejectHunkType, DiffFileInput, DiffIndicators, DiffLineAnnotation, DiffLineEventBaseProps, DiffTokenEventBaseProps, DiffsBaseComponent, DiffsComponentOptions, DiffsEditableComponent, DiffsEditor, DiffsHighlighter, DiffsTextDocument, DiffsThemeNames, EditableInstance, EditorActiveLineOptions, EditorChange, EditorChangeEvent, EditorSelection, EditorState, EditorViewState, ExpansionDirections, ExtensionFormatMap, FileContents, FileDiffContentsLoader, FileDiffLoadedChangedFiles, FileDiffLoadedFiles, FileDiffLoadedPureRenamedFile, FileDiffMetadata, FileHeaderRenderMode, ForceDiffPlainTextOptions, ForceFilePlainTextOptions, GapSpan, HighlightedToken, HighlighterTypes, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, type LanguageRegistration, LineAnnotation, LineDiffTypes, LineEventBaseProps, LineInfo, LineSpans, LineTypes, MaybeDiffFileInput, MergeConflictActionPayload, MergeConflictMarkerRow, MergeConflictMarkerRowType, MergeConflictRegion, MergeConflictResolution, NumericScrollLineAnchor, ObservedAnnotationNodes, ObservedGridNodes, ParsedPatch, PendingCodeViewLayoutReset, Position, PostRenderPhase, PrePropertiesConfig, ProcessFileConflictData, Range, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderFilenameSuffixCallback, RenderHeaderMetadataCallback, RenderHeaderPrefixCallback, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, ResolvedTextEdit, SelectedLineRange, SelectionDirection, SelectionPoint, SelectionSide, SharedRenderState, type ShikiTransformer, SmoothScrollSettings, StickySpecs, SupportedLanguages, TextEdit, type ThemeRegistration, type ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, type ThemedToken, ThemesType, TokenEventBase, VirtualFileMetrics, VirtualWindowSpecs };
769
+ export { AnnotationLineMap, AnnotationSide, AnnotationSpan, AppliedThemeStyleCache, BaseCodeOptions, BaseDiffOptions, BaseDiffOptionsWithDefaults, type BundledLanguage, ChangeContent, ChangeTypes, CodeColumnType, type CodeToHastOptions, CodeViewDiffItem, CodeViewFileItem, CodeViewItem, CodeViewItemScrollTarget, CodeViewLayout, CodeViewLineScrollTarget, CodeViewPositionScrollTarget, CodeViewRangeScrollTarget, CodeViewScrollBehavior, CodeViewScrollTarget, ConflictResolverTypes, ContextContent, type CreatePatchOptionsNonabortable, CustomPreProperties, type DecorationItem, DiffAcceptRejectHunkConfig, DiffAcceptRejectHunkType, DiffFileInput, DiffIndicators, DiffLineAnnotation, DiffLineEventBaseProps, DiffTokenEventBaseProps, DiffsHighlighter, DiffsThemeNames, ExpansionDirections, ExtensionFormatMap, FileContents, FileDiffContentsLoader, FileDiffLoadedChangedFiles, FileDiffLoadedFiles, FileDiffLoadedPureRenamedFile, FileDiffMetadata, FileHeaderRenderMode, ForceDiffPlainTextOptions, ForceFilePlainTextOptions, GapSpan, HighlightedToken, HighlighterTypes, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, type LanguageRegistration, LineAnnotation, LineDiffTypes, LineEventBaseProps, LineInfo, LineSpans, LineTypes, MaybeDiffFileInput, MergeConflictActionPayload, MergeConflictMarkerRow, MergeConflictMarkerRowType, MergeConflictRegion, MergeConflictResolution, NumericScrollLineAnchor, ObservedAnnotationNodes, ObservedGridNodes, ParsedPatch, PendingCodeViewLayoutReset, PostRenderPhase, PrePropertiesConfig, ProcessFileConflictData, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderFilenameSuffixCallback, RenderHeaderMetadataCallback, RenderHeaderPrefixCallback, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, SelectedLineRange, SelectionPoint, SelectionSide, SharedRenderState, type ShikiTransformer, SmoothScrollSettings, StickySpecs, SupportedLanguages, type ThemeRegistration, type ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, type ThemedToken, ThemesType, TokenEventBase, VirtualFileMetrics, VirtualWindowSpecs };
1020
770
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ //#region src/utils/appendItems.d.ts
2
+ declare function appendItems<T>(target: T[], items: readonly T[]): void;
3
+ //#endregion
4
+ export { appendItems };
5
+ //# sourceMappingURL=appendItems.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendItems.d.ts","names":[],"sources":["../../src/utils/appendItems.ts"],"mappings":";iBAIgB,WAAA,IAAe,MAAA,EAAQ,CAAA,IAAK,KAAA,WAAgB,CAAC"}
@@ -0,0 +1,8 @@
1
+ //#region src/utils/appendItems.ts
2
+ function appendItems(target, items) {
3
+ for (const item of items) target.push(item);
4
+ }
5
+ //#endregion
6
+ export { appendItems };
7
+
8
+ //# sourceMappingURL=appendItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendItems.js","names":[],"sources":["../../src/utils/appendItems.ts"],"sourcesContent":["// Appends every entry of `items` onto `target` one at a time. Deliberately not\n// `target.push(...items)`: a spread passes one argument per entry and engines\n// cap argument counts (V8 near 124k, JavaScriptCore near 639k), so spreading a\n// line-sized array such as the rows of a massive hunk throws a RangeError.\nexport function appendItems<T>(target: T[], items: readonly T[]): void {\n for (const item of items) {\n target.push(item);\n }\n}\n"],"mappings":";AAIA,SAAgB,YAAe,QAAa,OAA2B;CACrE,KAAK,MAAM,QAAQ,OACjB,OAAO,KAAK,IAAI;AAEpB"}
@@ -1,6 +1,6 @@
1
1
  //#region src/utils/areDiffTargetsEqual.ts
2
2
  function areDiffTargetsEqual(diffA, diffB) {
3
- return diffA === diffB || diffA?.cacheKey != null && diffA.cacheKey === diffB?.cacheKey;
3
+ return diffA?.cacheKey != null || diffB?.cacheKey != null ? diffA?.cacheKey === diffB?.cacheKey : diffA === diffB;
4
4
  }
5
5
  //#endregion
6
6
  export { areDiffTargetsEqual };
@@ -1 +1 @@
1
- {"version":3,"file":"areDiffTargetsEqual.js","names":[],"sources":["../../src/utils/areDiffTargetsEqual.ts"],"sourcesContent":["import type { FileDiffMetadata } from '../types';\n\n// Because FileDiffMetadata is a potentially unbounded and structurally deep\n// object, we only check for top level equality or a cache key, otherwise we\n// just assume it's different every time\nexport function areDiffTargetsEqual(\n diffA: FileDiffMetadata | undefined,\n diffB: FileDiffMetadata | undefined\n): boolean {\n return (\n diffA === diffB ||\n (diffA?.cacheKey != null && diffA.cacheKey === diffB?.cacheKey)\n );\n}\n"],"mappings":";AAKA,SAAgB,oBACd,OACA,OACS;CACT,OACE,UAAU,SACT,OAAO,YAAY,QAAQ,MAAM,aAAa,OAAO;AAE1D"}
1
+ {"version":3,"file":"areDiffTargetsEqual.js","names":[],"sources":["../../src/utils/areDiffTargetsEqual.ts"],"sourcesContent":["import type { FileDiffMetadata } from '../types';\n\n// Because FileDiffMetadata is a potentially unbounded and structurally deep\n// object, we only check for top level equality or a cache key, otherwise we\n// just assume it's different every time\nexport function areDiffTargetsEqual(\n diffA: FileDiffMetadata | undefined,\n diffB: FileDiffMetadata | undefined\n): boolean {\n return diffA?.cacheKey != null || diffB?.cacheKey != null\n ? diffA?.cacheKey === diffB?.cacheKey\n : diffA === diffB;\n}\n"],"mappings":";AAKA,SAAgB,oBACd,OACA,OACS;CACT,OAAO,OAAO,YAAY,QAAQ,OAAO,YAAY,OACjD,OAAO,aAAa,OAAO,WAC3B,UAAU;AAChB"}
@@ -0,0 +1,7 @@
1
+ import { FileContents } from "../types.js";
2
+
3
+ //#region src/utils/areFileTargetsEqual.d.ts
4
+ declare function areFileTargetsEqual(fileA: FileContents | undefined, fileB: FileContents | undefined): boolean;
5
+ //#endregion
6
+ export { areFileTargetsEqual };
7
+ //# sourceMappingURL=areFileTargetsEqual.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"areFileTargetsEqual.d.ts","names":[],"sources":["../../src/utils/areFileTargetsEqual.ts"],"mappings":";;;iBAIgB,mBAAA,CACd,KAAA,EAAO,YAAA,cACP,KAAA,EAAO,YAAY"}
@@ -0,0 +1,8 @@
1
+ //#region src/utils/areFileTargetsEqual.ts
2
+ function areFileTargetsEqual(fileA, fileB) {
3
+ return fileA?.cacheKey != null || fileB?.cacheKey != null ? fileA?.cacheKey === fileB?.cacheKey : fileA?.contents === fileB?.contents && fileA?.name === fileB?.name && fileA?.lang === fileB?.lang;
4
+ }
5
+ //#endregion
6
+ export { areFileTargetsEqual };
7
+
8
+ //# sourceMappingURL=areFileTargetsEqual.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"areFileTargetsEqual.js","names":[],"sources":["../../src/utils/areFileTargetsEqual.ts"],"sourcesContent":["import type { FileContents } from '../types';\n\n// Explicit keys identify a complete external file version. Without a key, the\n// file's contents and document identity determine whether it is a new input.\nexport function areFileTargetsEqual(\n fileA: FileContents | undefined,\n fileB: FileContents | undefined\n): boolean {\n return fileA?.cacheKey != null || fileB?.cacheKey != null\n ? fileA?.cacheKey === fileB?.cacheKey\n : fileA?.contents === fileB?.contents &&\n fileA?.name === fileB?.name &&\n fileA?.lang === fileB?.lang;\n}\n"],"mappings":";AAIA,SAAgB,oBACd,OACA,OACS;CACT,OAAO,OAAO,YAAY,QAAQ,OAAO,YAAY,OACjD,OAAO,aAAa,OAAO,WAC3B,OAAO,aAAa,OAAO,YACzB,OAAO,SAAS,OAAO,QACvB,OAAO,SAAS,OAAO;AAC/B"}
@@ -1,7 +1,7 @@
1
1
  import { CodeViewSlotSnapshot } from "../components/CodeView.js";
2
2
 
3
3
  //#region src/utils/areManagedSnapshotsEqual.d.ts
4
- declare function areManagedSnapshotsEqual<LAnnotation>(previous: CodeViewSlotSnapshot<LAnnotation> | undefined, next: CodeViewSlotSnapshot<LAnnotation> | undefined): boolean;
4
+ declare function areManagedSnapshotsEqual<LAnnotation, Caret>(previous: CodeViewSlotSnapshot<LAnnotation, Caret> | undefined, next: CodeViewSlotSnapshot<LAnnotation, Caret> | undefined): boolean;
5
5
  //#endregion
6
6
  export { areManagedSnapshotsEqual };
7
7
  //# sourceMappingURL=areManagedSnapshotsEqual.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"areManagedSnapshotsEqual.d.ts","names":[],"sources":["../../src/utils/areManagedSnapshotsEqual.ts"],"mappings":";;;iBAKgB,wBAAA,cACd,QAAA,EAAU,oBAAA,CAAqB,WAAA,eAC/B,IAAA,EAAM,oBAAA,CAAqB,WAAA"}
1
+ {"version":3,"file":"areManagedSnapshotsEqual.d.ts","names":[],"sources":["../../src/utils/areManagedSnapshotsEqual.ts"],"mappings":";;;iBAKgB,wBAAA,qBACd,QAAA,EAAU,oBAAA,CAAqB,WAAA,EAAa,KAAA,eAC5C,IAAA,EAAM,oBAAA,CAAqB,WAAA,EAAa,KAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"areManagedSnapshotsEqual.js","names":[],"sources":["../../src/utils/areManagedSnapshotsEqual.ts"],"sourcesContent":["import type {\n CodeViewRenderedItem,\n CodeViewSlotSnapshot,\n} from '../components/CodeView';\n\nexport function areManagedSnapshotsEqual<LAnnotation>(\n previous: CodeViewSlotSnapshot<LAnnotation> | undefined,\n next: CodeViewSlotSnapshot<LAnnotation> | undefined\n): boolean {\n if (previous == null || next == null) {\n return previous === next;\n }\n\n if (previous.header !== next.header || previous.footer !== next.footer) {\n return false;\n }\n\n return areRenderedItemsEqual(previous.items, next.items);\n}\n\nfunction areRenderedItemsEqual<LAnnotation>(\n previous: CodeViewRenderedItem<LAnnotation>[] | undefined,\n next: CodeViewRenderedItem<LAnnotation>[] | undefined\n): boolean {\n if (previous == null || next == null) {\n return previous === next;\n }\n\n if (previous.length !== next.length) {\n return false;\n }\n\n for (let index = 0; index < previous.length; index++) {\n const previousItem = previous[index];\n const nextItem = next[index];\n if (\n previousItem == null ||\n nextItem == null ||\n previousItem.id !== nextItem.id ||\n previousItem.type !== nextItem.type ||\n previousItem.element !== nextItem.element ||\n previousItem.instance !== nextItem.instance ||\n previousItem.version !== nextItem.version\n ) {\n return false;\n }\n }\n\n return true;\n}\n"],"mappings":";AAKA,SAAgB,yBACd,UACA,MACS;CACT,IAAI,YAAY,QAAQ,QAAQ,MAC9B,OAAO,aAAa;CAGtB,IAAI,SAAS,WAAW,KAAK,UAAU,SAAS,WAAW,KAAK,QAC9D,OAAO;CAGT,OAAO,sBAAsB,SAAS,OAAO,KAAK,KAAK;AACzD;AAEA,SAAS,sBACP,UACA,MACS;CACT,IAAI,YAAY,QAAQ,QAAQ,MAC9B,OAAO,aAAa;CAGtB,IAAI,SAAS,WAAW,KAAK,QAC3B,OAAO;CAGT,KAAK,IAAI,QAAQ,GAAG,QAAQ,SAAS,QAAQ,SAAS;EACpD,MAAM,eAAe,SAAS;EAC9B,MAAM,WAAW,KAAK;EACtB,IACE,gBAAgB,QAChB,YAAY,QACZ,aAAa,OAAO,SAAS,MAC7B,aAAa,SAAS,SAAS,QAC/B,aAAa,YAAY,SAAS,WAClC,aAAa,aAAa,SAAS,YACnC,aAAa,YAAY,SAAS,SAElC,OAAO;CAEX;CAEA,OAAO;AACT"}
1
+ {"version":3,"file":"areManagedSnapshotsEqual.js","names":[],"sources":["../../src/utils/areManagedSnapshotsEqual.ts"],"sourcesContent":["import type {\n CodeViewRenderedItem,\n CodeViewSlotSnapshot,\n} from '../components/CodeView';\n\nexport function areManagedSnapshotsEqual<LAnnotation, Caret>(\n previous: CodeViewSlotSnapshot<LAnnotation, Caret> | undefined,\n next: CodeViewSlotSnapshot<LAnnotation, Caret> | undefined\n): boolean {\n if (previous == null || next == null) {\n return previous === next;\n }\n\n if (previous.header !== next.header || previous.footer !== next.footer) {\n return false;\n }\n\n return areRenderedItemsEqual(previous.items, next.items);\n}\n\nfunction areRenderedItemsEqual<LAnnotation, Caret>(\n previous: CodeViewRenderedItem<LAnnotation, Caret>[] | undefined,\n next: CodeViewRenderedItem<LAnnotation, Caret>[] | undefined\n): boolean {\n if (previous == null || next == null) {\n return previous === next;\n }\n\n if (previous.length !== next.length) {\n return false;\n }\n\n for (let index = 0; index < previous.length; index++) {\n const previousItem = previous[index];\n const nextItem = next[index];\n if (\n previousItem == null ||\n nextItem == null ||\n previousItem.id !== nextItem.id ||\n previousItem.type !== nextItem.type ||\n previousItem.element !== nextItem.element ||\n previousItem.instance !== nextItem.instance ||\n previousItem.version !== nextItem.version\n ) {\n return false;\n }\n }\n\n return true;\n}\n"],"mappings":";AAKA,SAAgB,yBACd,UACA,MACS;CACT,IAAI,YAAY,QAAQ,QAAQ,MAC9B,OAAO,aAAa;CAGtB,IAAI,SAAS,WAAW,KAAK,UAAU,SAAS,WAAW,KAAK,QAC9D,OAAO;CAGT,OAAO,sBAAsB,SAAS,OAAO,KAAK,KAAK;AACzD;AAEA,SAAS,sBACP,UACA,MACS;CACT,IAAI,YAAY,QAAQ,QAAQ,MAC9B,OAAO,aAAa;CAGtB,IAAI,SAAS,WAAW,KAAK,QAC3B,OAAO;CAGT,KAAK,IAAI,QAAQ,GAAG,QAAQ,SAAS,QAAQ,SAAS;EACpD,MAAM,eAAe,SAAS;EAC9B,MAAM,WAAW,KAAK;EACtB,IACE,gBAAgB,QAChB,YAAY,QACZ,aAAa,OAAO,SAAS,MAC7B,aAAa,SAAS,SAAS,QAC/B,aAAa,YAAY,SAAS,WAClC,aAAa,aAAa,SAAS,YACnC,aAAa,YAAY,SAAS,SAElC,OAAO;CAEX;CAEA,OAAO;AACT"}
@@ -1,9 +1,9 @@
1
- import { FileOptions } from "../components/File.js";
2
1
  import { FileDiffOptions } from "../components/FileDiff.js";
3
2
  import { CodeViewOptions } from "../components/CodeView.js";
3
+ import { FileOptions } from "../react/types.js";
4
4
  //#region src/utils/areOptionsEqual.d.ts
5
- type AnyOptions<L> = CodeViewOptions<L> | FileOptions<L> | FileDiffOptions<L> | undefined;
6
- declare function areOptionsEqual<LAnnotation>(optionsA: AnyOptions<LAnnotation>, optionsB: AnyOptions<LAnnotation>): boolean;
5
+ type AnyOptions<L, C> = CodeViewOptions<L, C> | FileOptions<L, C> | FileDiffOptions<L, C> | undefined;
6
+ declare function areOptionsEqual<LAnnotation, Caret>(optionsA: AnyOptions<LAnnotation, Caret>, optionsB: AnyOptions<LAnnotation, Caret>): boolean;
7
7
  //#endregion
8
8
  export { areOptionsEqual };
9
9
  //# sourceMappingURL=areOptionsEqual.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"areOptionsEqual.d.ts","names":[],"sources":["../../src/utils/areOptionsEqual.ts"],"mappings":";;;;KASK,UAAA,MACD,eAAA,CAAgB,CAAA,IAChB,WAAA,CAAY,CAAA,IACZ,eAAA,CAAgB,CAAA;AAAA,iBAGJ,eAAA,cACd,QAAA,EAAU,UAAA,CAAW,WAAA,GACrB,QAAA,EAAU,UAAA,CAAW,WAAA"}
1
+ {"version":3,"file":"areOptionsEqual.d.ts","names":[],"sources":["../../src/utils/areOptionsEqual.ts"],"mappings":";;;;KASK,UAAA,SACD,eAAA,CAAgB,CAAA,EAAG,CAAA,IACnB,WAAA,CAAY,CAAA,EAAG,CAAA,IACf,eAAA,CAAgB,CAAA,EAAG,CAAA;AAAA,iBAGP,eAAA,qBACd,QAAA,EAAU,UAAA,CAAW,WAAA,EAAa,KAAA,GAClC,QAAA,EAAU,UAAA,CAAW,WAAA,EAAa,KAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"areOptionsEqual.js","names":[],"sources":["../../src/utils/areOptionsEqual.ts"],"sourcesContent":["import type { CreatePatchOptionsNonabortable } from 'diff';\n\nimport type { CodeViewOptions } from '../components/CodeView';\nimport type { FileDiffOptions } from '../components/FileDiff';\nimport { DEFAULT_THEMES } from '../constants';\nimport type { FileOptions } from '../react';\nimport { areObjectsEqual } from './areObjectsEqual';\nimport { areThemesEqual } from './areThemesEqual';\n\ntype AnyOptions<L> =\n | CodeViewOptions<L>\n | FileOptions<L>\n | FileDiffOptions<L>\n | undefined;\n\nexport function areOptionsEqual<LAnnotation>(\n optionsA: AnyOptions<LAnnotation>,\n optionsB: AnyOptions<LAnnotation>\n): boolean {\n const themeA = optionsA?.theme ?? DEFAULT_THEMES;\n const themeB = optionsB?.theme ?? DEFAULT_THEMES;\n const diffOptsA = getParseDiffOptions(optionsA);\n const diffOptsB = getParseDiffOptions(optionsB);\n return (\n areThemesEqual(themeA, themeB) &&\n areObjectsEqual(optionsA, optionsB, [\n 'theme',\n 'parseDiffOptions' as keyof typeof optionsA,\n ]) &&\n areObjectsEqual(diffOptsA, diffOptsB)\n );\n}\n\nfunction getParseDiffOptions<L>(\n options: AnyOptions<L>\n): CreatePatchOptionsNonabortable | undefined {\n if (options != null && 'parseDiffOptions' in options) {\n return options.parseDiffOptions;\n }\n return undefined;\n}\n"],"mappings":";;;;AAeA,SAAgB,gBACd,UACA,UACS;CACT,MAAM,SAAS,UAAU,SAAS;CAClC,MAAM,SAAS,UAAU,SAAS;CAClC,MAAM,YAAY,oBAAoB,QAAQ;CAC9C,MAAM,YAAY,oBAAoB,QAAQ;CAC9C,OACE,eAAe,QAAQ,MAAM,KAC7B,gBAAgB,UAAU,UAAU,CAClC,SACA,kBACF,CAAC,KACD,gBAAgB,WAAW,SAAS;AAExC;AAEA,SAAS,oBACP,SAC4C;CAC5C,IAAI,WAAW,QAAQ,sBAAsB,SAC3C,OAAO,QAAQ;AAGnB"}
1
+ {"version":3,"file":"areOptionsEqual.js","names":[],"sources":["../../src/utils/areOptionsEqual.ts"],"sourcesContent":["import type { CreatePatchOptionsNonabortable } from 'diff';\n\nimport type { CodeViewOptions } from '../components/CodeView';\nimport type { FileDiffOptions } from '../components/FileDiff';\nimport { DEFAULT_THEMES } from '../constants';\nimport type { FileOptions } from '../react';\nimport { areObjectsEqual } from './areObjectsEqual';\nimport { areThemesEqual } from './areThemesEqual';\n\ntype AnyOptions<L, C> =\n | CodeViewOptions<L, C>\n | FileOptions<L, C>\n | FileDiffOptions<L, C>\n | undefined;\n\nexport function areOptionsEqual<LAnnotation, Caret>(\n optionsA: AnyOptions<LAnnotation, Caret>,\n optionsB: AnyOptions<LAnnotation, Caret>\n): boolean {\n const themeA = optionsA?.theme ?? DEFAULT_THEMES;\n const themeB = optionsB?.theme ?? DEFAULT_THEMES;\n const diffOptsA = getParseDiffOptions(optionsA);\n const diffOptsB = getParseDiffOptions(optionsB);\n return (\n areThemesEqual(themeA, themeB) &&\n areObjectsEqual(optionsA, optionsB, [\n 'theme',\n 'parseDiffOptions' as keyof typeof optionsA,\n ]) &&\n areObjectsEqual(diffOptsA, diffOptsB)\n );\n}\n\nfunction getParseDiffOptions<L, C>(\n options: AnyOptions<L, C>\n): CreatePatchOptionsNonabortable | undefined {\n if (options != null && 'parseDiffOptions' in options) {\n return options.parseDiffOptions;\n }\n return undefined;\n}\n"],"mappings":";;;;AAeA,SAAgB,gBACd,UACA,UACS;CACT,MAAM,SAAS,UAAU,SAAS;CAClC,MAAM,SAAS,UAAU,SAAS;CAClC,MAAM,YAAY,oBAAoB,QAAQ;CAC9C,MAAM,YAAY,oBAAoB,QAAQ;CAC9C,OACE,eAAe,QAAQ,MAAM,KAC7B,gBAAgB,UAAU,UAAU,CAClC,SACA,kBACF,CAAC,KACD,gBAAgB,WAAW,SAAS;AAExC;AAEA,SAAS,oBACP,SAC4C;CAC5C,IAAI,WAAW,QAAQ,sBAAsB,SAC3C,OAAO,QAAQ;AAGnB"}
@@ -1,7 +1,8 @@
1
- import { FileDiffMetadata } from "../types.js";
1
+ import { FileDiffMetadata, Hunk } from "../types.js";
2
2
 
3
3
  //#region src/utils/cloneFileDiffMetadata.d.ts
4
+ declare function cloneHunks(hunks: Hunk[]): Hunk[];
4
5
  declare function cloneFileDiffMetadata(fileDiff: FileDiffMetadata): FileDiffMetadata;
5
6
  //#endregion
6
- export { cloneFileDiffMetadata };
7
+ export { cloneFileDiffMetadata, cloneHunks };
7
8
  //# sourceMappingURL=cloneFileDiffMetadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloneFileDiffMetadata.d.ts","names":[],"sources":["../../src/utils/cloneFileDiffMetadata.ts"],"mappings":";;;iBAEgB,qBAAA,CACd,QAAA,EAAU,gBAAA,GACT,gBAAgB"}
1
+ {"version":3,"file":"cloneFileDiffMetadata.d.ts","names":[],"sources":["../../src/utils/cloneFileDiffMetadata.ts"],"mappings":";;;iBAEgB,UAAA,CAAW,KAAA,EAAO,IAAA,KAAS,IAAI;AAAA,iBAO/B,qBAAA,CACd,QAAA,EAAU,gBAAA,GACT,gBAAgB"}
@@ -1,16 +1,19 @@
1
1
  //#region src/utils/cloneFileDiffMetadata.ts
2
+ function cloneHunks(hunks) {
3
+ return hunks.map((hunk) => ({
4
+ ...hunk,
5
+ hunkContent: hunk.hunkContent.map((content) => ({ ...content }))
6
+ }));
7
+ }
2
8
  function cloneFileDiffMetadata(fileDiff) {
3
9
  return {
4
10
  ...fileDiff,
5
- hunks: fileDiff.hunks.map((hunk) => ({
6
- ...hunk,
7
- hunkContent: hunk.hunkContent.map((content) => ({ ...content }))
8
- })),
11
+ hunks: cloneHunks(fileDiff.hunks),
9
12
  deletionLines: [...fileDiff.deletionLines],
10
13
  additionLines: [...fileDiff.additionLines]
11
14
  };
12
15
  }
13
16
  //#endregion
14
- export { cloneFileDiffMetadata };
17
+ export { cloneFileDiffMetadata, cloneHunks };
15
18
 
16
19
  //# sourceMappingURL=cloneFileDiffMetadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloneFileDiffMetadata.js","names":[],"sources":["../../src/utils/cloneFileDiffMetadata.ts"],"sourcesContent":["import type { FileDiffMetadata } from '../types';\n\nexport function cloneFileDiffMetadata(\n fileDiff: FileDiffMetadata\n): FileDiffMetadata {\n return {\n ...fileDiff,\n hunks: fileDiff.hunks.map((hunk) => ({\n ...hunk,\n hunkContent: hunk.hunkContent.map((content) => ({ ...content })),\n })),\n deletionLines: [...fileDiff.deletionLines],\n additionLines: [...fileDiff.additionLines],\n };\n}\n"],"mappings":";AAEA,SAAgB,sBACd,UACkB;CAClB,OAAO;EACL,GAAG;EACH,OAAO,SAAS,MAAM,KAAK,UAAU;GACnC,GAAG;GACH,aAAa,KAAK,YAAY,KAAK,aAAa,EAAE,GAAG,QAAQ,EAAE;EACjE,EAAE;EACF,eAAe,CAAC,GAAG,SAAS,aAAa;EACzC,eAAe,CAAC,GAAG,SAAS,aAAa;CAC3C;AACF"}
1
+ {"version":3,"file":"cloneFileDiffMetadata.js","names":[],"sources":["../../src/utils/cloneFileDiffMetadata.ts"],"sourcesContent":["import type { FileDiffMetadata, Hunk } from '../types';\n\nexport function cloneHunks(hunks: Hunk[]): Hunk[] {\n return hunks.map((hunk) => ({\n ...hunk,\n hunkContent: hunk.hunkContent.map((content) => ({ ...content })),\n }));\n}\n\nexport function cloneFileDiffMetadata(\n fileDiff: FileDiffMetadata\n): FileDiffMetadata {\n return {\n ...fileDiff,\n hunks: cloneHunks(fileDiff.hunks),\n deletionLines: [...fileDiff.deletionLines],\n additionLines: [...fileDiff.additionLines],\n };\n}\n"],"mappings":";AAEA,SAAgB,WAAW,OAAuB;CAChD,OAAO,MAAM,KAAK,UAAU;EAC1B,GAAG;EACH,aAAa,KAAK,YAAY,KAAK,aAAa,EAAE,GAAG,QAAQ,EAAE;CACjE,EAAE;AACJ;AAEA,SAAgB,sBACd,UACkB;CAClB,OAAO;EACL,GAAG;EACH,OAAO,WAAW,SAAS,KAAK;EAChC,eAAe,CAAC,GAAG,SAAS,aAAa;EACzC,eAAe,CAAC,GAAG,SAAS,aAAa;CAC3C;AACF"}
@@ -0,0 +1,6 @@
1
+ //#region src/utils/composeCacheKey.d.ts
2
+ /** Encodes caller-controlled segments without delimiter ambiguity. */
3
+ declare function composeCacheKey(scope: string, ...segments: readonly string[]): string;
4
+ //#endregion
5
+ export { composeCacheKey };
6
+ //# sourceMappingURL=composeCacheKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeCacheKey.d.ts","names":[],"sources":["../../src/utils/composeCacheKey.ts"],"mappings":";;iBAGgB,eAAA,CACd,KAAA,aACG,QAAQ"}
@@ -0,0 +1,10 @@
1
+ //#region src/utils/composeCacheKey.ts
2
+ const CACHE_KEY_VERSION = 1;
3
+ /** Encodes caller-controlled segments without delimiter ambiguity. */
4
+ function composeCacheKey(scope, ...segments) {
5
+ return `ck${CACHE_KEY_VERSION}:${JSON.stringify([scope, ...segments])}`;
6
+ }
7
+ //#endregion
8
+ export { composeCacheKey };
9
+
10
+ //# sourceMappingURL=composeCacheKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composeCacheKey.js","names":[],"sources":["../../src/utils/composeCacheKey.ts"],"sourcesContent":["const CACHE_KEY_VERSION = 1;\n\n/** Encodes caller-controlled segments without delimiter ambiguity. */\nexport function composeCacheKey(\n scope: string,\n ...segments: readonly string[]\n): string {\n return `ck${CACHE_KEY_VERSION}:${JSON.stringify([scope, ...segments])}`;\n}\n"],"mappings":";AAAA,MAAM,oBAAoB;;AAG1B,SAAgB,gBACd,OACA,GAAG,UACK;CACR,OAAO,KAAK,kBAAkB,GAAG,KAAK,UAAU,CAAC,OAAO,GAAG,QAAQ,CAAC;AACtE"}