mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-09-28 21:24:26 +08:00
This also adds CC-BY-4.0 to the list of accepted licenses. DISABLE_THIRD_PARTY_CHECK=update dependencies Bug: chromium:1083142 Change-Id: I8612de2fba52dae32eeb71af79d5aacfde52142b Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2220097 Reviewed-by: Paul Lewis <aerotwist@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org>
38 lines
859 B
JavaScript
38 lines
859 B
JavaScript
"use strict";
|
|
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;
|
|
};
|