@gechiui/block-editor
Version:
44 lines (34 loc) • 926 B
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _traverse = _interopRequireDefault(require("traverse"));
var _ast = require("./ast");
/**
* External dependencies
*/
/**
* Internal dependencies
*/
function traverseCSS(css, callback) {
try {
const parsed = (0, _ast.parse)(css);
const updated = _traverse.default.map(parsed, function (node) {
if (!node) {
return node;
}
const updatedNode = callback(node);
return this.update(updatedNode);
});
return (0, _ast.stringify)(updated);
} catch (err) {
// eslint-disable-next-line no-console
console.warn('Error while traversing the CSS: ' + err);
return null;
}
}
var _default = traverseCSS;
exports.default = _default;
//# sourceMappingURL=traverse.js.map