@usejunior/docx-core 0.0.1 → 0.1.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 +21 -0
- package/README.md +86 -28
- package/dist/.tsbuildinfo +1 -0
- package/dist/atomizer.d.ts +218 -0
- package/dist/atomizer.d.ts.map +1 -0
- package/dist/atomizer.js +856 -0
- package/dist/atomizer.js.map +1 -0
- package/dist/baselines/atomizer/atomLcs.d.ts +96 -0
- package/dist/baselines/atomizer/atomLcs.d.ts.map +1 -0
- package/dist/baselines/atomizer/atomLcs.js +347 -0
- package/dist/baselines/atomizer/atomLcs.js.map +1 -0
- package/dist/baselines/atomizer/debug.d.ts +41 -0
- package/dist/baselines/atomizer/debug.d.ts.map +1 -0
- package/dist/baselines/atomizer/debug.js +85 -0
- package/dist/baselines/atomizer/debug.js.map +1 -0
- package/dist/baselines/atomizer/documentReconstructor.d.ts +64 -0
- package/dist/baselines/atomizer/documentReconstructor.d.ts.map +1 -0
- package/dist/baselines/atomizer/documentReconstructor.js +939 -0
- package/dist/baselines/atomizer/documentReconstructor.js.map +1 -0
- package/dist/baselines/atomizer/hierarchicalLcs.d.ts +111 -0
- package/dist/baselines/atomizer/hierarchicalLcs.d.ts.map +1 -0
- package/dist/baselines/atomizer/hierarchicalLcs.js +469 -0
- package/dist/baselines/atomizer/hierarchicalLcs.js.map +1 -0
- package/dist/baselines/atomizer/inPlaceModifier.d.ts +183 -0
- package/dist/baselines/atomizer/inPlaceModifier.d.ts.map +1 -0
- package/dist/baselines/atomizer/inPlaceModifier.js +1600 -0
- package/dist/baselines/atomizer/inPlaceModifier.js.map +1 -0
- package/dist/baselines/atomizer/numberingIntegration.d.ts +59 -0
- package/dist/baselines/atomizer/numberingIntegration.d.ts.map +1 -0
- package/dist/baselines/atomizer/numberingIntegration.js +209 -0
- package/dist/baselines/atomizer/numberingIntegration.js.map +1 -0
- package/dist/baselines/atomizer/pipeline.d.ts +65 -0
- package/dist/baselines/atomizer/pipeline.d.ts.map +1 -0
- package/dist/baselines/atomizer/pipeline.js +510 -0
- package/dist/baselines/atomizer/pipeline.js.map +1 -0
- package/dist/baselines/atomizer/premergeRuns.d.ts +26 -0
- package/dist/baselines/atomizer/premergeRuns.d.ts.map +1 -0
- package/dist/baselines/atomizer/premergeRuns.js +150 -0
- package/dist/baselines/atomizer/premergeRuns.js.map +1 -0
- package/dist/baselines/atomizer/trackChangesAcceptor.d.ts +63 -0
- package/dist/baselines/atomizer/trackChangesAcceptor.d.ts.map +1 -0
- package/dist/baselines/atomizer/trackChangesAcceptor.js +254 -0
- package/dist/baselines/atomizer/trackChangesAcceptor.js.map +1 -0
- package/dist/baselines/atomizer/trackChangesAcceptorAst.d.ts +64 -0
- package/dist/baselines/atomizer/trackChangesAcceptorAst.d.ts.map +1 -0
- package/dist/baselines/atomizer/trackChangesAcceptorAst.js +586 -0
- package/dist/baselines/atomizer/trackChangesAcceptorAst.js.map +1 -0
- package/dist/baselines/atomizer/xmlToWmlElement.d.ts +65 -0
- package/dist/baselines/atomizer/xmlToWmlElement.d.ts.map +1 -0
- package/dist/baselines/atomizer/xmlToWmlElement.js +95 -0
- package/dist/baselines/atomizer/xmlToWmlElement.js.map +1 -0
- package/dist/baselines/diffmatch/documentBuilder.d.ts +44 -0
- package/dist/baselines/diffmatch/documentBuilder.d.ts.map +1 -0
- package/dist/baselines/diffmatch/documentBuilder.js +227 -0
- package/dist/baselines/diffmatch/documentBuilder.js.map +1 -0
- package/dist/baselines/diffmatch/paragraphAlignment.d.ts +75 -0
- package/dist/baselines/diffmatch/paragraphAlignment.d.ts.map +1 -0
- package/dist/baselines/diffmatch/paragraphAlignment.js +206 -0
- package/dist/baselines/diffmatch/paragraphAlignment.js.map +1 -0
- package/dist/baselines/diffmatch/pipeline.d.ts +33 -0
- package/dist/baselines/diffmatch/pipeline.d.ts.map +1 -0
- package/dist/baselines/diffmatch/pipeline.js +84 -0
- package/dist/baselines/diffmatch/pipeline.js.map +1 -0
- package/dist/baselines/diffmatch/runDiff.d.ts +53 -0
- package/dist/baselines/diffmatch/runDiff.d.ts.map +1 -0
- package/dist/baselines/diffmatch/runDiff.js +253 -0
- package/dist/baselines/diffmatch/runDiff.js.map +1 -0
- package/dist/baselines/diffmatch/trackChangesRenderer.d.ts +64 -0
- package/dist/baselines/diffmatch/trackChangesRenderer.d.ts.map +1 -0
- package/dist/baselines/diffmatch/trackChangesRenderer.js +178 -0
- package/dist/baselines/diffmatch/trackChangesRenderer.js.map +1 -0
- package/dist/baselines/diffmatch/xmlParser.d.ts +45 -0
- package/dist/baselines/diffmatch/xmlParser.d.ts.map +1 -0
- package/dist/baselines/diffmatch/xmlParser.js +344 -0
- package/dist/baselines/diffmatch/xmlParser.js.map +1 -0
- package/dist/baselines/wmlcomparer/DocxodusWasm.d.ts +51 -0
- package/dist/baselines/wmlcomparer/DocxodusWasm.d.ts.map +1 -0
- package/dist/baselines/wmlcomparer/DocxodusWasm.js +83 -0
- package/dist/baselines/wmlcomparer/DocxodusWasm.js.map +1 -0
- package/dist/baselines/wmlcomparer/DotnetCli.d.ts +40 -0
- package/dist/baselines/wmlcomparer/DotnetCli.d.ts.map +1 -0
- package/dist/baselines/wmlcomparer/DotnetCli.js +135 -0
- package/dist/baselines/wmlcomparer/DotnetCli.js.map +1 -0
- package/dist/benchmark/metrics.d.ts +72 -0
- package/dist/benchmark/metrics.d.ts.map +1 -0
- package/dist/benchmark/metrics.js +45 -0
- package/dist/benchmark/metrics.js.map +1 -0
- package/dist/benchmark/reporter.d.ts +23 -0
- package/dist/benchmark/reporter.d.ts.map +1 -0
- package/dist/benchmark/reporter.js +147 -0
- package/dist/benchmark/reporter.js.map +1 -0
- package/dist/benchmark/runner.d.ts +30 -0
- package/dist/benchmark/runner.d.ts.map +1 -0
- package/dist/benchmark/runner.js +233 -0
- package/dist/benchmark/runner.js.map +1 -0
- package/dist/cli/compare-two.d.ts +28 -0
- package/dist/cli/compare-two.d.ts.map +1 -0
- package/dist/cli/compare-two.js +110 -0
- package/dist/cli/compare-two.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +21 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core-types.d.ts +296 -0
- package/dist/core-types.d.ts.map +1 -0
- package/dist/core-types.js +122 -0
- package/dist/core-types.js.map +1 -0
- package/dist/footnotes.d.ts +144 -0
- package/dist/footnotes.d.ts.map +1 -0
- package/dist/footnotes.js +291 -0
- package/dist/footnotes.js.map +1 -0
- package/dist/format-detection.d.ts +120 -0
- package/dist/format-detection.d.ts.map +1 -0
- package/dist/format-detection.js +338 -0
- package/dist/format-detection.js.map +1 -0
- package/dist/index.d.ts +177 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +55 -0
- package/dist/index.js.map +1 -0
- package/dist/integration/output-artifacts.d.ts +6 -0
- package/dist/integration/output-artifacts.d.ts.map +1 -0
- package/dist/integration/output-artifacts.js +30 -0
- package/dist/integration/output-artifacts.js.map +1 -0
- package/dist/move-detection.d.ts +211 -0
- package/dist/move-detection.d.ts.map +1 -0
- package/dist/move-detection.js +391 -0
- package/dist/move-detection.js.map +1 -0
- package/dist/numbering.d.ts +136 -0
- package/dist/numbering.d.ts.map +1 -0
- package/dist/numbering.js +446 -0
- package/dist/numbering.js.map +1 -0
- package/dist/primitives/accept_changes.d.ts +30 -0
- package/dist/primitives/accept_changes.d.ts.map +1 -0
- package/dist/primitives/accept_changes.js +241 -0
- package/dist/primitives/accept_changes.js.map +1 -0
- package/dist/primitives/bookmarks.d.ts +12 -0
- package/dist/primitives/bookmarks.d.ts.map +1 -0
- package/dist/primitives/bookmarks.js +248 -0
- package/dist/primitives/bookmarks.js.map +1 -0
- package/dist/primitives/comments.d.ts +88 -0
- package/dist/primitives/comments.d.ts.map +1 -0
- package/dist/primitives/comments.js +703 -0
- package/dist/primitives/comments.js.map +1 -0
- package/dist/primitives/document.d.ts +168 -0
- package/dist/primitives/document.d.ts.map +1 -0
- package/dist/primitives/document.js +532 -0
- package/dist/primitives/document.js.map +1 -0
- package/dist/primitives/document_view.d.ts +93 -0
- package/dist/primitives/document_view.d.ts.map +1 -0
- package/dist/primitives/document_view.js +722 -0
- package/dist/primitives/document_view.js.map +1 -0
- package/dist/primitives/dom-helpers.d.ts +94 -0
- package/dist/primitives/dom-helpers.d.ts.map +1 -0
- package/dist/primitives/dom-helpers.js +219 -0
- package/dist/primitives/dom-helpers.js.map +1 -0
- package/dist/primitives/errors.d.ts +7 -0
- package/dist/primitives/errors.d.ts.map +1 -0
- package/dist/primitives/errors.js +10 -0
- package/dist/primitives/errors.js.map +1 -0
- package/dist/primitives/extract_revisions.d.ts +50 -0
- package/dist/primitives/extract_revisions.d.ts.map +1 -0
- package/dist/primitives/extract_revisions.js +340 -0
- package/dist/primitives/extract_revisions.js.map +1 -0
- package/dist/primitives/footnotes.d.ts +37 -0
- package/dist/primitives/footnotes.d.ts.map +1 -0
- package/dist/primitives/footnotes.js +552 -0
- package/dist/primitives/footnotes.js.map +1 -0
- package/dist/primitives/formatting_tags.d.ts +30 -0
- package/dist/primitives/formatting_tags.d.ts.map +1 -0
- package/dist/primitives/formatting_tags.js +217 -0
- package/dist/primitives/formatting_tags.js.map +1 -0
- package/dist/primitives/index.d.ts +26 -0
- package/dist/primitives/index.d.ts.map +1 -0
- package/dist/primitives/index.js +26 -0
- package/dist/primitives/index.js.map +1 -0
- package/dist/primitives/layout.d.ts +53 -0
- package/dist/primitives/layout.d.ts.map +1 -0
- package/dist/primitives/layout.js +178 -0
- package/dist/primitives/layout.js.map +1 -0
- package/dist/primitives/list_labels.d.ts +19 -0
- package/dist/primitives/list_labels.d.ts.map +1 -0
- package/dist/primitives/list_labels.js +57 -0
- package/dist/primitives/list_labels.js.map +1 -0
- package/dist/primitives/matching.d.ts +17 -0
- package/dist/primitives/matching.d.ts.map +1 -0
- package/dist/primitives/matching.js +144 -0
- package/dist/primitives/matching.js.map +1 -0
- package/dist/primitives/merge_runs.d.ts +23 -0
- package/dist/primitives/merge_runs.d.ts.map +1 -0
- package/dist/primitives/merge_runs.js +195 -0
- package/dist/primitives/merge_runs.js.map +1 -0
- package/dist/primitives/namespaces.d.ts +90 -0
- package/dist/primitives/namespaces.d.ts.map +1 -0
- package/dist/primitives/namespaces.js +107 -0
- package/dist/primitives/namespaces.js.map +1 -0
- package/dist/primitives/numbering.d.ts +27 -0
- package/dist/primitives/numbering.d.ts.map +1 -0
- package/dist/primitives/numbering.js +182 -0
- package/dist/primitives/numbering.js.map +1 -0
- package/dist/primitives/prevent_double_elevation.d.ts +18 -0
- package/dist/primitives/prevent_double_elevation.d.ts.map +1 -0
- package/dist/primitives/prevent_double_elevation.js +190 -0
- package/dist/primitives/prevent_double_elevation.js.map +1 -0
- package/dist/primitives/reject_changes.d.ts +27 -0
- package/dist/primitives/reject_changes.d.ts.map +1 -0
- package/dist/primitives/reject_changes.js +371 -0
- package/dist/primitives/reject_changes.js.map +1 -0
- package/dist/primitives/relationships.d.ts +7 -0
- package/dist/primitives/relationships.d.ts.map +1 -0
- package/dist/primitives/relationships.js +24 -0
- package/dist/primitives/relationships.js.map +1 -0
- package/dist/primitives/semantic_tags.d.ts +32 -0
- package/dist/primitives/semantic_tags.d.ts.map +1 -0
- package/dist/primitives/semantic_tags.js +139 -0
- package/dist/primitives/semantic_tags.js.map +1 -0
- package/dist/primitives/simplify_redlines.d.ts +19 -0
- package/dist/primitives/simplify_redlines.d.ts.map +1 -0
- package/dist/primitives/simplify_redlines.js +94 -0
- package/dist/primitives/simplify_redlines.js.map +1 -0
- package/dist/primitives/styles.d.ts +36 -0
- package/dist/primitives/styles.d.ts.map +1 -0
- package/dist/primitives/styles.js +190 -0
- package/dist/primitives/styles.js.map +1 -0
- package/dist/primitives/text.d.ts +27 -0
- package/dist/primitives/text.d.ts.map +1 -0
- package/dist/primitives/text.js +416 -0
- package/dist/primitives/text.js.map +1 -0
- package/dist/primitives/validate_document.d.ts +24 -0
- package/dist/primitives/validate_document.d.ts.map +1 -0
- package/dist/primitives/validate_document.js +147 -0
- package/dist/primitives/validate_document.js.map +1 -0
- package/dist/primitives/xml.d.ts +5 -0
- package/dist/primitives/xml.d.ts.map +1 -0
- package/dist/primitives/xml.js +19 -0
- package/dist/primitives/xml.js.map +1 -0
- package/dist/primitives/zip.d.ts +25 -0
- package/dist/primitives/zip.d.ts.map +1 -0
- package/dist/primitives/zip.js +78 -0
- package/dist/primitives/zip.js.map +1 -0
- package/dist/shared/docx/DocxArchive.d.ts +94 -0
- package/dist/shared/docx/DocxArchive.d.ts.map +1 -0
- package/dist/shared/docx/DocxArchive.js +169 -0
- package/dist/shared/docx/DocxArchive.js.map +1 -0
- package/dist/shared/ooxml/namespaces.d.ts +149 -0
- package/dist/shared/ooxml/namespaces.d.ts.map +1 -0
- package/dist/shared/ooxml/namespaces.js +224 -0
- package/dist/shared/ooxml/namespaces.js.map +1 -0
- package/dist/shared/ooxml/types.d.ts +136 -0
- package/dist/shared/ooxml/types.d.ts.map +1 -0
- package/dist/shared/ooxml/types.js +7 -0
- package/dist/shared/ooxml/types.js.map +1 -0
- package/package.json +63 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atomizer.js","sourceRoot":"","sources":["../src/atomizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LCS Algorithm for Atoms
|
|
3
|
+
*
|
|
4
|
+
* Implements hash-based Longest Common Subsequence (LCS) algorithm
|
|
5
|
+
* for comparing arrays of ComparisonUnitAtom.
|
|
6
|
+
*/
|
|
7
|
+
import type { ComparisonUnitAtom } from '../../core-types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Represents a match between atoms in original and revised documents.
|
|
10
|
+
*/
|
|
11
|
+
export interface AtomMatch {
|
|
12
|
+
/** Index in the original atom array */
|
|
13
|
+
originalIndex: number;
|
|
14
|
+
/** Index in the revised atom array */
|
|
15
|
+
revisedIndex: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Result of the LCS comparison.
|
|
19
|
+
*/
|
|
20
|
+
export interface LcsResult {
|
|
21
|
+
/** Matched atom pairs (in LCS) */
|
|
22
|
+
matches: AtomMatch[];
|
|
23
|
+
/** Indices of atoms only in original (deleted) */
|
|
24
|
+
deletedIndices: number[];
|
|
25
|
+
/** Indices of atoms only in revised (inserted) */
|
|
26
|
+
insertedIndices: number[];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Compute the Longest Common Subsequence of two atom arrays.
|
|
30
|
+
*
|
|
31
|
+
* Uses hash-based comparison for O(1) equality checks.
|
|
32
|
+
* Time complexity: O(N * M) where N and M are array lengths.
|
|
33
|
+
*
|
|
34
|
+
* @param original - Atoms from the original document
|
|
35
|
+
* @param revised - Atoms from the revised document
|
|
36
|
+
* @returns LCS result with matches and differences
|
|
37
|
+
*/
|
|
38
|
+
export declare function computeAtomLcs(original: ComparisonUnitAtom[], revised: ComparisonUnitAtom[]): LcsResult;
|
|
39
|
+
/**
|
|
40
|
+
* Mark correlation status on atoms based on LCS result.
|
|
41
|
+
*
|
|
42
|
+
* Sets atoms to Equal, Deleted, or Inserted status.
|
|
43
|
+
* Also links matched atoms via comparisonUnitAtomBefore reference.
|
|
44
|
+
*
|
|
45
|
+
* @param original - Atoms from the original document
|
|
46
|
+
* @param revised - Atoms from the revised document
|
|
47
|
+
* @param lcsResult - Result from computeAtomLcs
|
|
48
|
+
*/
|
|
49
|
+
export declare function markCorrelationStatus(original: ComparisonUnitAtom[], revised: ComparisonUnitAtom[], lcsResult: LcsResult): void;
|
|
50
|
+
/**
|
|
51
|
+
* Create a merged atom list for document reconstruction.
|
|
52
|
+
*
|
|
53
|
+
* Interleaves original and revised atoms in document order,
|
|
54
|
+
* preserving the structure needed for track changes rendering.
|
|
55
|
+
*
|
|
56
|
+
* @param original - Atoms from the original document (with status marked)
|
|
57
|
+
* @param revised - Atoms from the revised document (with status marked)
|
|
58
|
+
* @param lcsResult - Result from computeAtomLcs
|
|
59
|
+
* @returns Merged atom list in document order
|
|
60
|
+
*/
|
|
61
|
+
export declare function createMergedAtomList(original: ComparisonUnitAtom[], revised: ComparisonUnitAtom[], lcsResult: LcsResult): ComparisonUnitAtom[];
|
|
62
|
+
/**
|
|
63
|
+
* Compute unified paragraph indices for merged atoms.
|
|
64
|
+
*
|
|
65
|
+
* Maps original and revised paragraph indices to a unified output paragraph index.
|
|
66
|
+
* This ensures that:
|
|
67
|
+
* 1. Atoms from corresponding paragraphs (Equal matches) share the same output index
|
|
68
|
+
* 2. Deleted paragraphs get their own output indices interleaved with matched paragraphs
|
|
69
|
+
* 3. Inserted paragraphs get their own output indices
|
|
70
|
+
*
|
|
71
|
+
* @param original - Original atoms with paragraphIndex set
|
|
72
|
+
* @param revised - Revised atoms with paragraphIndex set
|
|
73
|
+
* @param merged - Merged atom list
|
|
74
|
+
* @param lcsResult - LCS result with matches
|
|
75
|
+
*/
|
|
76
|
+
export declare function assignUnifiedParagraphIndices(original: ComparisonUnitAtom[], revised: ComparisonUnitAtom[], merged: ComparisonUnitAtom[], lcsResult: LcsResult): void;
|
|
77
|
+
/**
|
|
78
|
+
* Statistics from the LCS comparison.
|
|
79
|
+
*/
|
|
80
|
+
export interface LcsStats {
|
|
81
|
+
/** Number of atoms that are equal */
|
|
82
|
+
equal: number;
|
|
83
|
+
/** Number of atoms deleted from original */
|
|
84
|
+
deleted: number;
|
|
85
|
+
/** Number of atoms inserted in revised */
|
|
86
|
+
inserted: number;
|
|
87
|
+
/** Total atoms in original */
|
|
88
|
+
originalCount: number;
|
|
89
|
+
/** Total atoms in revised */
|
|
90
|
+
revisedCount: number;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Compute statistics from LCS result.
|
|
94
|
+
*/
|
|
95
|
+
export declare function computeLcsStats(original: ComparisonUnitAtom[], revised: ComparisonUnitAtom[], lcsResult: LcsResult): LcsStats;
|
|
96
|
+
//# sourceMappingURL=atomLcs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atomLcs.d.ts","sourceRoot":"","sources":["../../../src/baselines/atomizer/atomLcs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAK9D;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,kCAAkC;IAClC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,kDAAkD;IAClD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,kDAAkD;IAClD,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,OAAO,EAAE,kBAAkB,EAAE,GAC5B,SAAS,CAwDX;AA8BD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,OAAO,EAAE,kBAAkB,EAAE,EAC7B,SAAS,EAAE,SAAS,GACnB,IAAI,CAsBN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,OAAO,EAAE,kBAAkB,EAAE,EAC7B,SAAS,EAAE,SAAS,GACnB,kBAAkB,EAAE,CAmFtB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,OAAO,EAAE,kBAAkB,EAAE,EAC7B,MAAM,EAAE,kBAAkB,EAAE,EAC5B,SAAS,EAAE,SAAS,GACnB,IAAI,CA6GN;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,OAAO,EAAE,kBAAkB,EAAE,EAC7B,SAAS,EAAE,SAAS,GACnB,QAAQ,CAQV"}
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LCS Algorithm for Atoms
|
|
3
|
+
*
|
|
4
|
+
* Implements hash-based Longest Common Subsequence (LCS) algorithm
|
|
5
|
+
* for comparing arrays of ComparisonUnitAtom.
|
|
6
|
+
*/
|
|
7
|
+
import { CorrelationStatus } from '../../core-types.js';
|
|
8
|
+
import { EMPTY_PARAGRAPH_TAG } from '../../atomizer.js';
|
|
9
|
+
import { debug } from './debug.js';
|
|
10
|
+
/**
|
|
11
|
+
* Compute the Longest Common Subsequence of two atom arrays.
|
|
12
|
+
*
|
|
13
|
+
* Uses hash-based comparison for O(1) equality checks.
|
|
14
|
+
* Time complexity: O(N * M) where N and M are array lengths.
|
|
15
|
+
*
|
|
16
|
+
* @param original - Atoms from the original document
|
|
17
|
+
* @param revised - Atoms from the revised document
|
|
18
|
+
* @returns LCS result with matches and differences
|
|
19
|
+
*/
|
|
20
|
+
export function computeAtomLcs(original, revised) {
|
|
21
|
+
const n = original.length;
|
|
22
|
+
const m = revised.length;
|
|
23
|
+
// Build LCS length table
|
|
24
|
+
// dp[i][j] = length of LCS of original[0..i-1] and revised[0..j-1]
|
|
25
|
+
const dp = Array(n + 1)
|
|
26
|
+
.fill(null)
|
|
27
|
+
.map(() => Array(m + 1).fill(0));
|
|
28
|
+
for (let i = 1; i <= n; i++) {
|
|
29
|
+
for (let j = 1; j <= m; j++) {
|
|
30
|
+
if (atomsEqual(original[i - 1], revised[j - 1])) {
|
|
31
|
+
dp[i][j] = dp[i - 1][j - 1] + 1;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// Backtrack to find the actual LCS matches
|
|
39
|
+
const matches = [];
|
|
40
|
+
let i = n;
|
|
41
|
+
let j = m;
|
|
42
|
+
while (i > 0 && j > 0) {
|
|
43
|
+
if (atomsEqual(original[i - 1], revised[j - 1])) {
|
|
44
|
+
matches.unshift({ originalIndex: i - 1, revisedIndex: j - 1 });
|
|
45
|
+
i--;
|
|
46
|
+
j--;
|
|
47
|
+
}
|
|
48
|
+
else if (dp[i - 1][j] > dp[i][j - 1]) {
|
|
49
|
+
i--;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
j--;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Find deleted and inserted indices
|
|
56
|
+
const matchedOriginal = new Set(matches.map((m) => m.originalIndex));
|
|
57
|
+
const matchedRevised = new Set(matches.map((m) => m.revisedIndex));
|
|
58
|
+
const deletedIndices = [];
|
|
59
|
+
for (let idx = 0; idx < n; idx++) {
|
|
60
|
+
if (!matchedOriginal.has(idx)) {
|
|
61
|
+
deletedIndices.push(idx);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const insertedIndices = [];
|
|
65
|
+
for (let idx = 0; idx < m; idx++) {
|
|
66
|
+
if (!matchedRevised.has(idx)) {
|
|
67
|
+
insertedIndices.push(idx);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return { matches, deletedIndices, insertedIndices };
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Check if two atoms are equal based on their hash.
|
|
74
|
+
*
|
|
75
|
+
* For more precise comparison, we also check the text content
|
|
76
|
+
* and ancestor context to avoid false positives from hash collisions.
|
|
77
|
+
*/
|
|
78
|
+
function atomsEqual(a, b) {
|
|
79
|
+
// First check hash for quick rejection
|
|
80
|
+
if (a.sha1Hash !== b.sha1Hash) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
// Same hash - verify content to avoid collisions
|
|
84
|
+
const aText = a.contentElement.textContent ?? '';
|
|
85
|
+
const bText = b.contentElement.textContent ?? '';
|
|
86
|
+
if (aText !== bText) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
// Check tag name
|
|
90
|
+
if (a.contentElement.tagName !== b.contentElement.tagName) {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Mark correlation status on atoms based on LCS result.
|
|
97
|
+
*
|
|
98
|
+
* Sets atoms to Equal, Deleted, or Inserted status.
|
|
99
|
+
* Also links matched atoms via comparisonUnitAtomBefore reference.
|
|
100
|
+
*
|
|
101
|
+
* @param original - Atoms from the original document
|
|
102
|
+
* @param revised - Atoms from the revised document
|
|
103
|
+
* @param lcsResult - Result from computeAtomLcs
|
|
104
|
+
*/
|
|
105
|
+
export function markCorrelationStatus(original, revised, lcsResult) {
|
|
106
|
+
// Mark matched atoms as Equal and link them
|
|
107
|
+
for (const match of lcsResult.matches) {
|
|
108
|
+
const origAtom = original[match.originalIndex];
|
|
109
|
+
const revAtom = revised[match.revisedIndex];
|
|
110
|
+
origAtom.correlationStatus = CorrelationStatus.Equal;
|
|
111
|
+
revAtom.correlationStatus = CorrelationStatus.Equal;
|
|
112
|
+
// Link revised atom to original for format change detection
|
|
113
|
+
revAtom.comparisonUnitAtomBefore = origAtom;
|
|
114
|
+
}
|
|
115
|
+
// Mark deleted atoms
|
|
116
|
+
for (const idx of lcsResult.deletedIndices) {
|
|
117
|
+
original[idx].correlationStatus = CorrelationStatus.Deleted;
|
|
118
|
+
}
|
|
119
|
+
// Mark inserted atoms
|
|
120
|
+
for (const idx of lcsResult.insertedIndices) {
|
|
121
|
+
revised[idx].correlationStatus = CorrelationStatus.Inserted;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Create a merged atom list for document reconstruction.
|
|
126
|
+
*
|
|
127
|
+
* Interleaves original and revised atoms in document order,
|
|
128
|
+
* preserving the structure needed for track changes rendering.
|
|
129
|
+
*
|
|
130
|
+
* @param original - Atoms from the original document (with status marked)
|
|
131
|
+
* @param revised - Atoms from the revised document (with status marked)
|
|
132
|
+
* @param lcsResult - Result from computeAtomLcs
|
|
133
|
+
* @returns Merged atom list in document order
|
|
134
|
+
*/
|
|
135
|
+
export function createMergedAtomList(original, revised, lcsResult) {
|
|
136
|
+
const merged = [];
|
|
137
|
+
// Build maps for quick lookup
|
|
138
|
+
const originalToRevised = new Map();
|
|
139
|
+
const revisedToOriginal = new Map();
|
|
140
|
+
for (const match of lcsResult.matches) {
|
|
141
|
+
originalToRevised.set(match.originalIndex, match.revisedIndex);
|
|
142
|
+
revisedToOriginal.set(match.revisedIndex, match.originalIndex);
|
|
143
|
+
}
|
|
144
|
+
const deletedSet = new Set(lcsResult.deletedIndices);
|
|
145
|
+
const insertedSet = new Set(lcsResult.insertedIndices);
|
|
146
|
+
// We'll walk through the revised document order
|
|
147
|
+
// and insert deleted atoms at appropriate positions
|
|
148
|
+
let originalPtr = 0;
|
|
149
|
+
let revisedPtr = 0;
|
|
150
|
+
while (revisedPtr < revised.length || originalPtr < original.length) {
|
|
151
|
+
// First, add any deleted atoms that come before the current revised position
|
|
152
|
+
while (originalPtr < original.length && deletedSet.has(originalPtr)) {
|
|
153
|
+
const atom = original[originalPtr];
|
|
154
|
+
atom.sourceDocument = 'original';
|
|
155
|
+
merged.push(atom);
|
|
156
|
+
originalPtr++;
|
|
157
|
+
}
|
|
158
|
+
// Now handle the current revised atom
|
|
159
|
+
if (revisedPtr < revised.length) {
|
|
160
|
+
const revAtom = revised[revisedPtr];
|
|
161
|
+
if (insertedSet.has(revisedPtr)) {
|
|
162
|
+
// This is an inserted atom
|
|
163
|
+
revAtom.sourceDocument = 'revised';
|
|
164
|
+
merged.push(revAtom);
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
// This is an equal atom - advance original pointer past its match
|
|
168
|
+
const matchedOrigIdx = revisedToOriginal.get(revisedPtr);
|
|
169
|
+
if (matchedOrigIdx !== undefined) {
|
|
170
|
+
// Add any deleted atoms before this match
|
|
171
|
+
while (originalPtr < matchedOrigIdx) {
|
|
172
|
+
if (deletedSet.has(originalPtr)) {
|
|
173
|
+
const atom = original[originalPtr];
|
|
174
|
+
atom.sourceDocument = 'original';
|
|
175
|
+
merged.push(atom);
|
|
176
|
+
}
|
|
177
|
+
originalPtr++;
|
|
178
|
+
}
|
|
179
|
+
// For equal empty paragraphs, use the original version to preserve
|
|
180
|
+
// the original document's structure (important for reject all changes)
|
|
181
|
+
const origAtom = original[matchedOrigIdx];
|
|
182
|
+
if (origAtom.contentElement.tagName === EMPTY_PARAGRAPH_TAG) {
|
|
183
|
+
origAtom.sourceDocument = 'original';
|
|
184
|
+
merged.push(origAtom);
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
// For non-empty content, use the revised version
|
|
188
|
+
revAtom.sourceDocument = 'revised';
|
|
189
|
+
merged.push(revAtom);
|
|
190
|
+
}
|
|
191
|
+
// Advance past the matched original atom
|
|
192
|
+
originalPtr = matchedOrigIdx + 1;
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
merged.push(revAtom);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
revisedPtr++;
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
// No more revised atoms - add remaining deleted originals
|
|
202
|
+
while (originalPtr < original.length) {
|
|
203
|
+
if (deletedSet.has(originalPtr)) {
|
|
204
|
+
const atom = original[originalPtr];
|
|
205
|
+
atom.sourceDocument = 'original';
|
|
206
|
+
merged.push(atom);
|
|
207
|
+
}
|
|
208
|
+
originalPtr++;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return merged;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Compute unified paragraph indices for merged atoms.
|
|
216
|
+
*
|
|
217
|
+
* Maps original and revised paragraph indices to a unified output paragraph index.
|
|
218
|
+
* This ensures that:
|
|
219
|
+
* 1. Atoms from corresponding paragraphs (Equal matches) share the same output index
|
|
220
|
+
* 2. Deleted paragraphs get their own output indices interleaved with matched paragraphs
|
|
221
|
+
* 3. Inserted paragraphs get their own output indices
|
|
222
|
+
*
|
|
223
|
+
* @param original - Original atoms with paragraphIndex set
|
|
224
|
+
* @param revised - Revised atoms with paragraphIndex set
|
|
225
|
+
* @param merged - Merged atom list
|
|
226
|
+
* @param lcsResult - LCS result with matches
|
|
227
|
+
*/
|
|
228
|
+
export function assignUnifiedParagraphIndices(original, revised, merged, lcsResult) {
|
|
229
|
+
// Build paragraph correspondence from matches
|
|
230
|
+
const originalToRevisedPara = new Map();
|
|
231
|
+
for (const match of lcsResult.matches) {
|
|
232
|
+
const origAtom = original[match.originalIndex];
|
|
233
|
+
const revAtom = revised[match.revisedIndex];
|
|
234
|
+
if (origAtom.paragraphIndex !== undefined && revAtom.paragraphIndex !== undefined) {
|
|
235
|
+
if (!originalToRevisedPara.has(origAtom.paragraphIndex)) {
|
|
236
|
+
originalToRevisedPara.set(origAtom.paragraphIndex, revAtom.paragraphIndex);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
// Collect all unique original paragraph indices
|
|
241
|
+
const allOriginalParas = [...new Set(original.map(a => a.paragraphIndex).filter(p => p !== undefined))];
|
|
242
|
+
allOriginalParas.sort((a, b) => a - b);
|
|
243
|
+
// Collect all unique revised paragraph indices
|
|
244
|
+
const allRevisedParas = [...new Set(revised.map(a => a.paragraphIndex).filter(p => p !== undefined))];
|
|
245
|
+
allRevisedParas.sort((a, b) => a - b);
|
|
246
|
+
// Build interleaved output index sequence
|
|
247
|
+
// Walk through original paragraphs in order, interleaving with revised paragraphs
|
|
248
|
+
const originalToOutputPara = new Map();
|
|
249
|
+
const revisedToOutputPara = new Map();
|
|
250
|
+
let nextOutputPara = 0;
|
|
251
|
+
let revisedIdx = 0;
|
|
252
|
+
for (const origPara of allOriginalParas) {
|
|
253
|
+
const correspondingRevised = originalToRevisedPara.get(origPara);
|
|
254
|
+
if (correspondingRevised !== undefined) {
|
|
255
|
+
// This original paragraph has a correspondent in revised
|
|
256
|
+
// First, assign output indices to any revised paragraphs before this correspondent
|
|
257
|
+
while (revisedIdx < allRevisedParas.length && allRevisedParas[revisedIdx] < correspondingRevised) {
|
|
258
|
+
const revPara = allRevisedParas[revisedIdx];
|
|
259
|
+
if (!revisedToOutputPara.has(revPara)) {
|
|
260
|
+
revisedToOutputPara.set(revPara, nextOutputPara++);
|
|
261
|
+
}
|
|
262
|
+
revisedIdx++;
|
|
263
|
+
}
|
|
264
|
+
// Assign the same output index to both original and revised
|
|
265
|
+
if (!revisedToOutputPara.has(correspondingRevised)) {
|
|
266
|
+
revisedToOutputPara.set(correspondingRevised, nextOutputPara);
|
|
267
|
+
originalToOutputPara.set(origPara, nextOutputPara);
|
|
268
|
+
nextOutputPara++;
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
originalToOutputPara.set(origPara, revisedToOutputPara.get(correspondingRevised));
|
|
272
|
+
}
|
|
273
|
+
// Move past this revised paragraph
|
|
274
|
+
if (revisedIdx < allRevisedParas.length && allRevisedParas[revisedIdx] === correspondingRevised) {
|
|
275
|
+
revisedIdx++;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
// This original paragraph is deleted (no correspondent)
|
|
280
|
+
// Give it its own output index
|
|
281
|
+
originalToOutputPara.set(origPara, nextOutputPara++);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
// Assign output indices to any remaining revised paragraphs (inserted)
|
|
285
|
+
while (revisedIdx < allRevisedParas.length) {
|
|
286
|
+
const revPara = allRevisedParas[revisedIdx];
|
|
287
|
+
if (!revisedToOutputPara.has(revPara)) {
|
|
288
|
+
revisedToOutputPara.set(revPara, nextOutputPara++);
|
|
289
|
+
}
|
|
290
|
+
revisedIdx++;
|
|
291
|
+
}
|
|
292
|
+
// Assign unified paragraph indices to merged atoms
|
|
293
|
+
let emptyParagraphsWithoutMapping = 0;
|
|
294
|
+
for (const atom of merged) {
|
|
295
|
+
if (atom.paragraphIndex === undefined)
|
|
296
|
+
continue;
|
|
297
|
+
const isEmptyPara = atom.contentElement.tagName === EMPTY_PARAGRAPH_TAG;
|
|
298
|
+
if (atom.correlationStatus === CorrelationStatus.Deleted ||
|
|
299
|
+
atom.correlationStatus === CorrelationStatus.MovedSource) {
|
|
300
|
+
// Deleted and MovedSource atoms have paragraph indices from original
|
|
301
|
+
const outputPara = originalToOutputPara.get(atom.paragraphIndex);
|
|
302
|
+
if (outputPara !== undefined) {
|
|
303
|
+
atom.paragraphIndex = outputPara;
|
|
304
|
+
}
|
|
305
|
+
else if (isEmptyPara) {
|
|
306
|
+
emptyParagraphsWithoutMapping++;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
else if (atom.correlationStatus === CorrelationStatus.Equal && isEmptyPara) {
|
|
310
|
+
// Equal empty paragraphs use the original atom (see createMergedAtomList),
|
|
311
|
+
// so their paragraphIndex is from original, not revised
|
|
312
|
+
const outputPara = originalToOutputPara.get(atom.paragraphIndex);
|
|
313
|
+
if (outputPara !== undefined) {
|
|
314
|
+
atom.paragraphIndex = outputPara;
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
emptyParagraphsWithoutMapping++;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
// Inserted and Equal (non-empty) atoms have paragraph indices from revised
|
|
322
|
+
const outputPara = revisedToOutputPara.get(atom.paragraphIndex);
|
|
323
|
+
if (outputPara !== undefined) {
|
|
324
|
+
atom.paragraphIndex = outputPara;
|
|
325
|
+
}
|
|
326
|
+
else if (isEmptyPara) {
|
|
327
|
+
emptyParagraphsWithoutMapping++;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
if (emptyParagraphsWithoutMapping > 0) {
|
|
332
|
+
debug('atomLcs', `Empty paragraphs without mapping: ${emptyParagraphsWithoutMapping}`);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Compute statistics from LCS result.
|
|
337
|
+
*/
|
|
338
|
+
export function computeLcsStats(original, revised, lcsResult) {
|
|
339
|
+
return {
|
|
340
|
+
equal: lcsResult.matches.length,
|
|
341
|
+
deleted: lcsResult.deletedIndices.length,
|
|
342
|
+
inserted: lcsResult.insertedIndices.length,
|
|
343
|
+
originalCount: original.length,
|
|
344
|
+
revisedCount: revised.length,
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
//# sourceMappingURL=atomLcs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atomLcs.js","sourceRoot":"","sources":["../../../src/baselines/atomizer/atomLcs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Debug Logging Utility
|
|
3
|
+
*
|
|
4
|
+
* Provides controlled debug logging for the docx-comparison package.
|
|
5
|
+
* Debug output is controlled by the DOCX_COMPARISON_DEBUG environment variable.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* import { debug, warn } from './debug.js';
|
|
9
|
+
* debug('inPlaceModifier', 'Processing atom', { status: atom.correlationStatus });
|
|
10
|
+
* warn('inPlaceModifier', 'Target paragraph is null');
|
|
11
|
+
*
|
|
12
|
+
* Enable debug output:
|
|
13
|
+
* DOCX_COMPARISON_DEBUG=1 npm test
|
|
14
|
+
* DOCX_COMPARISON_DEBUG=inPlaceModifier,atomizer npm test // Enable specific modules
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Log a debug message (only when DOCX_COMPARISON_DEBUG is enabled).
|
|
18
|
+
*
|
|
19
|
+
* @param module - The module name (e.g., 'inPlaceModifier', 'atomizer')
|
|
20
|
+
* @param message - The message to log
|
|
21
|
+
* @param data - Optional data to include
|
|
22
|
+
*/
|
|
23
|
+
export declare function debug(module: string, message: string, data?: unknown): void;
|
|
24
|
+
/**
|
|
25
|
+
* Log a warning message (always shown, but respects log level).
|
|
26
|
+
* These indicate potential issues that don't prevent operation but may affect results.
|
|
27
|
+
*
|
|
28
|
+
* @param module - The module name
|
|
29
|
+
* @param message - The warning message
|
|
30
|
+
* @param data - Optional data to include
|
|
31
|
+
*/
|
|
32
|
+
export declare function warn(module: string, message: string, data?: unknown): void;
|
|
33
|
+
/**
|
|
34
|
+
* Log an error message (always shown).
|
|
35
|
+
*
|
|
36
|
+
* @param module - The module name
|
|
37
|
+
* @param message - The error message
|
|
38
|
+
* @param data - Optional data to include
|
|
39
|
+
*/
|
|
40
|
+
export declare function error(module: string, message: string, data?: unknown): void;
|
|
41
|
+
//# sourceMappingURL=debug.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/baselines/atomizer/debug.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAsBH;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAS3E;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAO1E;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAO3E"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Debug Logging Utility
|
|
3
|
+
*
|
|
4
|
+
* Provides controlled debug logging for the docx-comparison package.
|
|
5
|
+
* Debug output is controlled by the DOCX_COMPARISON_DEBUG environment variable.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* import { debug, warn } from './debug.js';
|
|
9
|
+
* debug('inPlaceModifier', 'Processing atom', { status: atom.correlationStatus });
|
|
10
|
+
* warn('inPlaceModifier', 'Target paragraph is null');
|
|
11
|
+
*
|
|
12
|
+
* Enable debug output:
|
|
13
|
+
* DOCX_COMPARISON_DEBUG=1 npm test
|
|
14
|
+
* DOCX_COMPARISON_DEBUG=inPlaceModifier,atomizer npm test // Enable specific modules
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Check if debug logging is enabled for a given module.
|
|
18
|
+
*/
|
|
19
|
+
function isDebugEnabled(module) {
|
|
20
|
+
const debugEnv = process.env.DOCX_COMPARISON_DEBUG;
|
|
21
|
+
if (!debugEnv)
|
|
22
|
+
return false;
|
|
23
|
+
if (debugEnv === '1' || debugEnv === 'true' || debugEnv === '*')
|
|
24
|
+
return true;
|
|
25
|
+
return debugEnv.split(',').includes(module);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Format a log message with timestamp and module.
|
|
29
|
+
*/
|
|
30
|
+
function formatMessage(level, module, message) {
|
|
31
|
+
const timestamp = new Date().toISOString();
|
|
32
|
+
return `[${timestamp}] [${level.toUpperCase()}] [${module}] ${message}`;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Log a debug message (only when DOCX_COMPARISON_DEBUG is enabled).
|
|
36
|
+
*
|
|
37
|
+
* @param module - The module name (e.g., 'inPlaceModifier', 'atomizer')
|
|
38
|
+
* @param message - The message to log
|
|
39
|
+
* @param data - Optional data to include
|
|
40
|
+
*/
|
|
41
|
+
export function debug(module, message, data) {
|
|
42
|
+
if (!isDebugEnabled(module))
|
|
43
|
+
return;
|
|
44
|
+
const formatted = formatMessage('debug', module, message);
|
|
45
|
+
if (data !== undefined) {
|
|
46
|
+
console.log(formatted, data);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
console.log(formatted);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Log a warning message (always shown, but respects log level).
|
|
54
|
+
* These indicate potential issues that don't prevent operation but may affect results.
|
|
55
|
+
*
|
|
56
|
+
* @param module - The module name
|
|
57
|
+
* @param message - The warning message
|
|
58
|
+
* @param data - Optional data to include
|
|
59
|
+
*/
|
|
60
|
+
export function warn(module, message, data) {
|
|
61
|
+
const formatted = formatMessage('warn', module, message);
|
|
62
|
+
if (data !== undefined) {
|
|
63
|
+
console.warn(formatted, data);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
console.warn(formatted);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Log an error message (always shown).
|
|
71
|
+
*
|
|
72
|
+
* @param module - The module name
|
|
73
|
+
* @param message - The error message
|
|
74
|
+
* @param data - Optional data to include
|
|
75
|
+
*/
|
|
76
|
+
export function error(module, message, data) {
|
|
77
|
+
const formatted = formatMessage('error', module, message);
|
|
78
|
+
if (data !== undefined) {
|
|
79
|
+
console.error(formatted, data);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
console.error(formatted);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/baselines/atomizer/debug.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;GAEG;AACH,SAAS,cAAc,CAAC,MAAc;IACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACnD,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC7E,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,KAAe,EAAE,MAAc,EAAE,OAAe;IACrE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO,IAAI,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,MAAM,MAAM,KAAK,OAAO,EAAE,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,MAAc,EAAE,OAAe,EAAE,IAAc;IACnE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAAE,OAAO;IAEpC,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,IAAI,CAAC,MAAc,EAAE,OAAe,EAAE,IAAc;IAClE,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACzD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,MAAc,EAAE,OAAe,EAAE,IAAc;IACnE,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
|