@connectv/marked
Version:
component-based markdown renderer
33 lines • 1.28 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
var extract_comp_props_1 = require("./util/extract-comp-props");
function linkedComponents(map) {
return function (options, renderer, content) {
if (options && options.href && options.href.startsWith(':')) {
var name_1 = options.href.substr(1);
if (name_1 in map) {
var Comp = map[name_1];
var props = extract_comp_props_1.extractCompProps(options.title || '');
return renderer.create(Comp, __assign({}, props), content);
}
else {
throw new Error('Unrecognized Linked Component:: ' + name_1);
}
}
else
return renderer.create("a", __assign({}, options), content);
};
}
exports.linkedComponents = linkedComponents;
//# sourceMappingURL=link-comp.js.map