react-saasify-chrisvxd
Version:
React components for Saasify web clients.
61 lines (52 loc) • 1.76 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isAmpBoilerplate = isAmpBoilerplate;
exports.isComment = isComment;
exports.isConditionalComment = isConditionalComment;
exports.isStyleNode = isStyleNode;
exports.extractCssFromStyleNode = extractCssFromStyleNode;
var ampBoilerplateAttributes = ['amp-boilerplate', 'amp4ads-boilerplate', 'amp4email-boilerplate'];
function isAmpBoilerplate(node) {
if (!node.attrs) {
return false;
}
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = ampBoilerplateAttributes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var attr = _step.value;
if (attr in node.attrs) {
return true;
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
return false;
}
function isComment(content) {
return (content || '').trim().search('<!--') === 0;
}
function isConditionalComment(content) {
return (content || '').trim().search(/<!--\[if/) === 0;
}
function isStyleNode(node) {
return node.tag === 'style' && !isAmpBoilerplate(node) && 'content' in node && node.content.length > 0;
}
function extractCssFromStyleNode(node) {
return Array.isArray(node.content) ? node.content.join(' ') : node.content;
}
;