@restnfeel/agentc-starter-kit
Version:
한국어 기업용 CMS 모듈 - Task Master AI와 함께 빠르게 웹사이트를 구현할 수 있는 재사용 가능한 컴포넌트 시스템
83 lines (70 loc) • 2.53 kB
JavaScript
import { __exports as stylesReader } from '../../../../_virtual/styles-reader.js';
var hasRequiredStylesReader;
function requireStylesReader () {
if (hasRequiredStylesReader) return stylesReader;
hasRequiredStylesReader = 1;
stylesReader.readStylesXml = readStylesXml;
stylesReader.Styles = Styles;
stylesReader.defaultStyles = new Styles({}, {});
function Styles(paragraphStyles, characterStyles, tableStyles, numberingStyles) {
return {
findParagraphStyleById: function(styleId) {
return paragraphStyles[styleId];
},
findCharacterStyleById: function(styleId) {
return characterStyles[styleId];
},
findTableStyleById: function(styleId) {
return tableStyles[styleId];
},
findNumberingStyleById: function(styleId) {
return numberingStyles[styleId];
}
};
}
Styles.EMPTY = new Styles({}, {}, {}, {});
function readStylesXml(root) {
var paragraphStyles = {};
var characterStyles = {};
var tableStyles = {};
var numberingStyles = {};
var styles = {
"paragraph": paragraphStyles,
"character": characterStyles,
"table": tableStyles
};
root.getElementsByTagName("w:style").forEach(function(styleElement) {
var style = readStyleElement(styleElement);
if (style.type === "numbering") {
numberingStyles[style.styleId] = readNumberingStyleElement(styleElement);
} else {
var styleSet = styles[style.type];
if (styleSet) {
styleSet[style.styleId] = style;
}
}
});
return new Styles(paragraphStyles, characterStyles, tableStyles, numberingStyles);
}
function readStyleElement(styleElement) {
var type = styleElement.attributes["w:type"];
var styleId = styleElement.attributes["w:styleId"];
var name = styleName(styleElement);
return {type: type, styleId: styleId, name: name};
}
function styleName(styleElement) {
var nameElement = styleElement.first("w:name");
return nameElement ? nameElement.attributes["w:val"] : null;
}
function readNumberingStyleElement(styleElement) {
var numId = styleElement
.firstOrEmpty("w:pPr")
.firstOrEmpty("w:numPr")
.firstOrEmpty("w:numId")
.attributes["w:val"];
return {numId: numId};
}
return stylesReader;
}
export { requireStylesReader as __require };
//# sourceMappingURL=styles-reader.js.map