docxmlater 10.1.8 → 10.1.9
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentParser.d.ts","sourceRoot":"","sources":["../../src/core/DocumentParser.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAe,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAgB,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAS9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAcxD,OAAO,EAAoB,OAAO,EAAkC,MAAM,qBAAqB,CAAC;AAOhG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,KAAK,EAA8B,MAAM,qBAAqB,CAAC;AAaxE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAK5D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;CACd;AAKD,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,eAAe,CAAgC;IAMvD,OAAO,CAAC,eAAe,CAAiC;gBAE5C,aAAa,UAAQ;IAOjC,cAAc,IAAI,UAAU,EAAE;IAO9B,gBAAgB,IAAI,IAAI;IAWlB,aAAa,CACjB,UAAU,EAAE,UAAU,EACtB,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC;QACT,YAAY,EAAE,WAAW,EAAE,CAAC;QAC5B,UAAU,EAAE,kBAAkB,CAAC;QAC/B,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;QACxC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;QACxC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,kBAAkB,CAAC,EAAE;YACnB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;YA0FY,iBAAiB;IAsQ/B,OAAO,CAAC,4BAA4B;IAgBpC,OAAO,CAAC,8BAA8B;IAiCtC,OAAO,CAAC,8BAA8B;IAiBtC,OAAO,CAAC,gCAAgC;IAmBxC,OAAO,CAAC,WAAW;IA+BnB,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,iBAAiB;IAsDzB,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,mBAAmB;IAuC3B,OAAO,CAAC,kBAAkB;IAyC1B,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,qBAAqB;YAqEf,uBAAuB;YAwGvB,6BAA6B;
|
|
1
|
+
{"version":3,"file":"DocumentParser.d.ts","sourceRoot":"","sources":["../../src/core/DocumentParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -788,12 +788,6 @@ class DocumentParser {
|
|
|
788
788
|
searchPos = tagEnd + 1;
|
|
789
789
|
}
|
|
790
790
|
}
|
|
791
|
-
const insXmls = XMLParser_1.XMLParser.extractElements(paraContent, 'w:ins');
|
|
792
|
-
const delXmls = XMLParser_1.XMLParser.extractElements(paraContent, 'w:del');
|
|
793
|
-
const moveFromXmls = XMLParser_1.XMLParser.extractElements(paraContent, 'w:moveFrom');
|
|
794
|
-
const moveToXmls = XMLParser_1.XMLParser.extractElements(paraContent, 'w:moveTo');
|
|
795
|
-
const bookmarkStartXmls = XMLParser_1.XMLParser.extractElements(paraContent, 'w:bookmarkStart');
|
|
796
|
-
const bookmarkEndXmls = XMLParser_1.XMLParser.extractElements(paraContent, 'w:bookmarkEnd');
|
|
797
791
|
const extractRunXmlAtPosition = (pos) => {
|
|
798
792
|
const closeTag = '</w:r>';
|
|
799
793
|
let depth = 1;
|
|
@@ -820,6 +814,40 @@ class DocumentParser {
|
|
|
820
814
|
}
|
|
821
815
|
return null;
|
|
822
816
|
};
|
|
817
|
+
const extractElementXmlAtPosition = (pos, tagName) => {
|
|
818
|
+
const openTag = `<${tagName}`;
|
|
819
|
+
const closeTag = `</${tagName}>`;
|
|
820
|
+
const openEnd = paraContent.indexOf('>', pos);
|
|
821
|
+
if (openEnd === -1)
|
|
822
|
+
return '';
|
|
823
|
+
if (paraContent[openEnd - 1] === '/') {
|
|
824
|
+
return paraContent.substring(pos, openEnd + 1);
|
|
825
|
+
}
|
|
826
|
+
let depth = 1;
|
|
827
|
+
let searchFrom = openEnd + 1;
|
|
828
|
+
while (depth > 0 && searchFrom < paraContent.length) {
|
|
829
|
+
const nextOpen = paraContent.indexOf(openTag, searchFrom);
|
|
830
|
+
const nextClose = paraContent.indexOf(closeTag, searchFrom);
|
|
831
|
+
if (nextClose === -1)
|
|
832
|
+
break;
|
|
833
|
+
if (nextOpen !== -1 && nextOpen < nextClose) {
|
|
834
|
+
const charAfter = paraContent[nextOpen + openTag.length];
|
|
835
|
+
if (charAfter === '>' || charAfter === ' ' || charAfter === '/' ||
|
|
836
|
+
charAfter === '\t' || charAfter === '\n' || charAfter === '\r') {
|
|
837
|
+
depth++;
|
|
838
|
+
}
|
|
839
|
+
searchFrom = nextOpen + openTag.length;
|
|
840
|
+
}
|
|
841
|
+
else {
|
|
842
|
+
depth--;
|
|
843
|
+
if (depth === 0) {
|
|
844
|
+
return paraContent.substring(pos, nextClose + closeTag.length);
|
|
845
|
+
}
|
|
846
|
+
searchFrom = nextClose + closeTag.length;
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
return '';
|
|
850
|
+
};
|
|
823
851
|
for (const child of children) {
|
|
824
852
|
if (child.type === 'w:r') {
|
|
825
853
|
const runs = pElement['w:r'];
|
|
@@ -902,62 +930,17 @@ class DocumentParser {
|
|
|
902
930
|
}
|
|
903
931
|
}
|
|
904
932
|
}
|
|
905
|
-
else if (child.type === 'w:ins'
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
for (const bookmark of revResult.bookmarkStarts) {
|
|
914
|
-
paragraph.addBookmarkStart(bookmark);
|
|
915
|
-
}
|
|
916
|
-
for (const bookmark of revResult.bookmarkEnds) {
|
|
917
|
-
paragraph.addBookmarkEnd(bookmark);
|
|
918
|
-
}
|
|
933
|
+
else if (child.type === 'w:ins' || child.type === 'w:del' ||
|
|
934
|
+
child.type === 'w:moveFrom' || child.type === 'w:moveTo') {
|
|
935
|
+
const revisionXml = extractElementXmlAtPosition(child.pos, child.type);
|
|
936
|
+
if (revisionXml) {
|
|
937
|
+
const innerContent = revisionXml.substring(revisionXml.indexOf('>') + 1);
|
|
938
|
+
const hasNestedRevision = /<w:(del|moveFrom|moveTo|ins)\s/.test(innerContent);
|
|
939
|
+
if (hasNestedRevision) {
|
|
940
|
+
paragraph.addContent(new PreservedElement_1.PreservedElement(revisionXml, child.type, 'inline'));
|
|
919
941
|
}
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
else if (child.type === 'w:del') {
|
|
923
|
-
if (child.index < delXmls.length) {
|
|
924
|
-
const revisionXml = delXmls[child.index];
|
|
925
|
-
if (revisionXml) {
|
|
926
|
-
const revResult = await this.parseRevisionFromXml(revisionXml, 'w:del', relationshipManager, zipHandler, imageManager);
|
|
927
|
-
if (revResult.revision) {
|
|
928
|
-
paragraph.addRevision(revResult.revision);
|
|
929
|
-
}
|
|
930
|
-
for (const bookmark of revResult.bookmarkStarts) {
|
|
931
|
-
paragraph.addBookmarkStart(bookmark);
|
|
932
|
-
}
|
|
933
|
-
for (const bookmark of revResult.bookmarkEnds) {
|
|
934
|
-
paragraph.addBookmarkEnd(bookmark);
|
|
935
|
-
}
|
|
936
|
-
}
|
|
937
|
-
}
|
|
938
|
-
}
|
|
939
|
-
else if (child.type === 'w:moveFrom') {
|
|
940
|
-
if (child.index < moveFromXmls.length) {
|
|
941
|
-
const revisionXml = moveFromXmls[child.index];
|
|
942
|
-
if (revisionXml) {
|
|
943
|
-
const revResult = await this.parseRevisionFromXml(revisionXml, 'w:moveFrom', relationshipManager, zipHandler, imageManager);
|
|
944
|
-
if (revResult.revision) {
|
|
945
|
-
paragraph.addRevision(revResult.revision);
|
|
946
|
-
}
|
|
947
|
-
for (const bookmark of revResult.bookmarkStarts) {
|
|
948
|
-
paragraph.addBookmarkStart(bookmark);
|
|
949
|
-
}
|
|
950
|
-
for (const bookmark of revResult.bookmarkEnds) {
|
|
951
|
-
paragraph.addBookmarkEnd(bookmark);
|
|
952
|
-
}
|
|
953
|
-
}
|
|
954
|
-
}
|
|
955
|
-
}
|
|
956
|
-
else if (child.type === 'w:moveTo') {
|
|
957
|
-
if (child.index < moveToXmls.length) {
|
|
958
|
-
const revisionXml = moveToXmls[child.index];
|
|
959
|
-
if (revisionXml) {
|
|
960
|
-
const revResult = await this.parseRevisionFromXml(revisionXml, 'w:moveTo', relationshipManager, zipHandler, imageManager);
|
|
942
|
+
else {
|
|
943
|
+
const revResult = await this.parseRevisionFromXml(revisionXml, child.type, relationshipManager, zipHandler, imageManager);
|
|
961
944
|
if (revResult.revision) {
|
|
962
945
|
paragraph.addRevision(revResult.revision);
|
|
963
946
|
}
|
|
@@ -971,24 +954,22 @@ class DocumentParser {
|
|
|
971
954
|
}
|
|
972
955
|
}
|
|
973
956
|
else if (child.type === 'w:bookmarkStart') {
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
}
|
|
957
|
+
const endPos = paraContent.indexOf('>', child.pos);
|
|
958
|
+
if (endPos !== -1) {
|
|
959
|
+
const bookmarkXml = paraContent.substring(child.pos, endPos + 1);
|
|
960
|
+
const bookmark = this.parseBookmarkStart(bookmarkXml);
|
|
961
|
+
if (bookmark) {
|
|
962
|
+
paragraph.addBookmarkStart(bookmark);
|
|
981
963
|
}
|
|
982
964
|
}
|
|
983
965
|
}
|
|
984
966
|
else if (child.type === 'w:bookmarkEnd') {
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
}
|
|
967
|
+
const endPos = paraContent.indexOf('>', child.pos);
|
|
968
|
+
if (endPos !== -1) {
|
|
969
|
+
const bookmarkXml = paraContent.substring(child.pos, endPos + 1);
|
|
970
|
+
const bookmark = this.parseBookmarkEnd(bookmarkXml);
|
|
971
|
+
if (bookmark) {
|
|
972
|
+
paragraph.addBookmarkEnd(bookmark);
|
|
992
973
|
}
|
|
993
974
|
}
|
|
994
975
|
}
|