MCPcopy Index your code
hub / github.com/TruthHun/BookStack / BodyReader

Function BodyReader

static/word2md/mammoth.browser.js:812–1279  ·  view source on GitHub ↗
(options)

Source from the content-addressed store, hash-verified

810}
811
812function BodyReader(options) {
813 var complexFieldStack = [];
814 var currentInstrText = [];
815 var relationships = options.relationships;
816 var contentTypes = options.contentTypes;
817 var docxFile = options.docxFile;
818 var files = options.files;
819 var numbering = options.numbering;
820 var styles = options.styles;
821
822 function readXmlElements(elements) {
823 var results = elements.map(readXmlElement);
824 return combineResults(results);
825 }
826
827 function readXmlElement(element) {
828 if (element.type === "element") {
829 try {
830 if (element.name=="w:r" && element.first("w:rPr").first("w:vanish")){
831 var message = warning("An hidden element was ignored: " + element.name);
832 return emptyResultWithMessages([message]);}
833 }
834 catch(err){
835 //continue;
836 }
837
838 var handler = xmlElementReaders[element.name];
839 if (handler) {
840 return handler(element);
841 } else if (!Object.prototype.hasOwnProperty.call(ignoreElements, element.name)) {
842 var message = warning("An unrecognised element was ignored: " + element.name);
843 return emptyResultWithMessages([message]);
844 }
845 }
846 return emptyResult();
847 }
848
849 function readParagraphIndent(element) {
850 return {
851 start: element.attributes["w:start"] || element.attributes["w:left"],
852 end: element.attributes["w:end"] || element.attributes["w:right"],
853 firstLine: element.attributes["w:firstLine"],
854 hanging: element.attributes["w:hanging"]
855 };
856 }
857
858 function readRunProperties(element) {
859 return readRunStyle(element).map(function(style) {
860 return {
861 type: "runProperties",
862 styleId: style.styleId,
863 styleName: style.name,
864 verticalAlignment: element.firstOrEmpty("w:vertAlign").attributes["w:val"],
865 font: element.firstOrEmpty("w:rFonts").attributes["w:ascii"],
866 isBold: readBooleanElement(element.first("w:b")),
867 isUnderline: readBooleanElement(element.first("w:u")),
868 isItalic: readBooleanElement(element.first("w:i")),
869 isStrikethrough: readBooleanElement(element.first("w:strike")),

Callers

nothing calls this directly

Calls 14

textMethod · 0.80
readXmlElementsFunction · 0.70
negateFunction · 0.70
readParagraphStyleFunction · 0.70
readNumberingPropertiesFunction · 0.70
readParagraphIndentFunction · 0.70
currentHyperlinkHrefFunction · 0.70
elementResultFunction · 0.70
createFunction · 0.70
noteReferenceReaderFunction · 0.70
emptyResultWithMessagesFunction · 0.70
warningFunction · 0.70

Tested by

no test coverage detected