zp-figma-converter
Version:
Convert Figma designs to various code formats
54 lines • 2.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TextParser = void 0;
const xml_utils_1 = require("../../../../utils/xml-utils");
const widget_parser_1 = require("./widget-parser");
/**
* Parser for TextData
*/
class TextParser extends widget_parser_1.WidgetParser {
parse(nodeData) {
const result = this.parseBaseAttributes(nodeData);
// Text specific properties
if (nodeData.FontSize !== undefined)
result['@_FontSize'] = (0, xml_utils_1.toString)(nodeData.FontSize);
if (nodeData.LabelText !== undefined)
result['@_LabelText'] = nodeData.LabelText;
if (nodeData.FontResource) {
result.FontResource = {
'@_Type': nodeData.FontResource.Type,
'@_Path': nodeData.FontResource.Path,
'@_Plist': nodeData.FontResource.Plist
};
}
if (nodeData.HorizontalAlignmentType !== undefined)
result['@_HorizontalAlignmentType'] = nodeData.HorizontalAlignmentType;
if (nodeData.OutlineEnabled !== undefined)
result['@_OutlineEnabled'] = (0, xml_utils_1.boolToString)(nodeData.OutlineEnabled);
if (nodeData.OutlineColor) {
result.OutlineColor = {
'@_A': '255',
'@_R': '255',
'@_G': (0, xml_utils_1.toString)(nodeData.OutlineColor.G || 0),
'@_B': (0, xml_utils_1.toString)(nodeData.OutlineColor.B || 0)
};
}
if (nodeData.ShadowColor) {
result.ShadowColor = {
'@_A': '255',
'@_R': (0, xml_utils_1.toString)(nodeData.ShadowColor.R || 110),
'@_G': (0, xml_utils_1.toString)(nodeData.ShadowColor.G || 110),
'@_B': (0, xml_utils_1.toString)(nodeData.ShadowColor.B || 110)
};
}
if (nodeData.ShadowOffsetX !== undefined)
result['@_ShadowOffsetX'] = (0, xml_utils_1.toString)(nodeData.ShadowOffsetX);
if (nodeData.ShadowOffsetY !== undefined)
result['@_ShadowOffsetY'] = (0, xml_utils_1.toString)(nodeData.ShadowOffsetY);
if (nodeData.ShadowEnabled !== undefined)
result['@_ShadowEnabled'] = (0, xml_utils_1.boolToString)(nodeData.ShadowEnabled);
return result;
}
}
exports.TextParser = TextParser;
//# sourceMappingURL=text-parser.js.map