el-beeswarm
Version:
<div style="display: flex; padding: 1rem; flex-direction: column; align-items: center; justify-content: center; height: 100vh; text-align: center; display: flex;
38 lines (33 loc) • 859 B
JavaScript
;
const stringify = require("./stringify");
const parseStyle = require("./parse-style");
const normalOpts = require("./normal-opts");
module.exports = (extract, lang) => {
const defaultConfig = {
postcss: "css",
stylus: "css",
babel: "jsx",
xml: "html",
};
function parse (source, opts) {
source = source.toString();
opts = normalOpts(opts, this);
const document = parseStyle(source, opts, extract(source, opts));
document.source.lang = lang;
return document;
}
function initSyntax (syntax) {
syntax.stringify = stringify.bind(syntax);
syntax.parse = parse.bind(syntax);
syntax.extract = extract.bind(syntax);
return syntax;
}
function syntax (config) {
return initSyntax({
config: Object.assign({}, defaultConfig, config),
});
}
initSyntax(syntax);
syntax.config = defaultConfig;
return syntax;
};