var { normalizePosition, normalizeColorInOptions, validateEnum } = require('./index'); function renderShape(slide, shapeData) { var opts = {}; if (shapeData.options) { for (var k in shapeData.options) { if (shapeData.options.hasOwnProperty(k)) opts[k] = shapeData.options[k]; } } normalizePosition(opts); if (opts.fill && typeof opts.fill === 'object') { normalizeColorInOptions(opts.fill, 'color'); validateEnum(opts.fill.type, ['none', 'solid'], 'fill.type'); } if (opts.line && typeof opts.line === 'object') { normalizeColorInOptions(opts.line, 'color'); validateEnum(opts.line.dashType, ['solid', 'dash', 'dashDot', 'lgDash', 'lgDashDot', 'lgDashDotDot', 'sysDash', 'sysDot'], 'line.dashType'); validateEnum(opts.line.beginArrowType, ['none', 'arrow', 'diamond', 'oval', 'stealth', 'triangle'], 'line.beginArrowType'); validateEnum(opts.line.endArrowType, ['none', 'arrow', 'diamond', 'oval', 'stealth', 'triangle'], 'line.endArrowType'); } if (opts.shadow && typeof opts.shadow === 'object') { normalizeColorInOptions(opts.shadow, 'color'); validateEnum(opts.shadow.type, ['outer', 'inner', 'none'], 'shadow.type'); } validateEnum(opts.align, ['left', 'center', 'right', 'justify'], 'align'); slide.addShape(shapeData.shapeName, opts); } module.exports = { renderShape };