UNPKG

html-to-article-json

Version:
42 lines (29 loc) 1.1 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _generateFunction = require('generate-function'); var _generateFunction2 = _interopRequireDefault(_generateFunction); var _textFormattings = require('../text-formattings'); var _textFormattings2 = _interopRequireDefault(_textFormattings); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = function (opts) { var textFormattings = (0, _textFormattings2.default)(opts); var fn = (0, _generateFunction2.default)(); var renderTextOpts = textFormattings.reduce(function (opts, row) { opts[row.property] = row.get; if (row.classProperty) { opts[row.classProperty] = row.getClass; } return opts; }, {}); fn = fn('function text (opts, elm) {')('return {'); fn = fn(' type: \'text\','); Object.keys(renderTextOpts).forEach(function (key) { fn = fn(' %s: opts[\'%s\'] || renderTextOpts[\'%s\'](elm),', key, key, key); }); fn = fn('};')('}'); return fn.toFunction({ renderTextOpts: renderTextOpts }); };