react-amphtml
Version:
Use amphtml components inside your React apps easily!
62 lines (53 loc) • 1.3 kB
JavaScript
;
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var React = require('react');
var React__default = _interopDefault(React);
var __chunk_2 = require('../constants.js');
var __chunk_5 = require('../lib/getScriptSource.js');
var amphtml = require('../amphtml/amphtml.js');
class AmpScripts {
constructor(htmlFormat = __chunk_2.AMP) {
this.scripts = new Map([[htmlFormat, {
specName: htmlFormat,
src: __chunk_2.AMP_SRCS[htmlFormat]
}]]);
}
addExtension({
extension,
version
}) {
this.scripts.set(extension, {
specName: extension,
version
});
}
getScripts() {
return [...this.scripts.values()].map(({
specName,
version,
src
}) => ({
src: __chunk_5.default({
extension: specName,
version,
src
}),
extension: specName
}));
}
getScriptElements() {
return [...this.scripts.values()].map(({
specName,
version,
src
}) => React__default.createElement(amphtml.Script, {
key: specName,
src: src,
specName: specName,
version: version,
async: true
}));
}
}
exports.default = AmpScripts;
//# sourceMappingURL=AmpScripts.js.map