mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-01 09:47:56 +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>
55 lines
961 B
JavaScript
55 lines
961 B
JavaScript
'use strict';
|
|
|
|
/** @typedef {import('postcss').Rule} Rule */
|
|
/** @typedef {import('postcss').AtRule} AtRule */
|
|
|
|
/**
|
|
* @param {Rule | AtRule} statement
|
|
* @param {{
|
|
* noRawBefore?: boolean
|
|
* }} options
|
|
*
|
|
* @returns {string}
|
|
*/
|
|
module.exports = function (statement, options = {}) {
|
|
let result = '';
|
|
/** @type {Rule | undefined} */
|
|
let rule; /*?: postcss$rule*/
|
|
/** @type {AtRule | undefined} */
|
|
let atRule; /*?: postcss$atRule*/
|
|
|
|
if (statement.type === 'rule') {
|
|
rule = statement;
|
|
}
|
|
|
|
if (statement.type === 'atrule') {
|
|
atRule = statement;
|
|
}
|
|
|
|
if (!rule && !atRule) {
|
|
return result;
|
|
}
|
|
|
|
const before = statement.raws.before || '';
|
|
|
|
if (!options.noRawBefore) {
|
|
result += before;
|
|
}
|
|
|
|
if (rule) {
|
|
result += rule.selector;
|
|
}
|
|
|
|
if (atRule) {
|
|
result += `@${atRule.name}${atRule.raws.afterName || ''}${atRule.params}`;
|
|
}
|
|
|
|
const between = statement.raws.between;
|
|
|
|
if (between !== undefined) {
|
|
result += between;
|
|
}
|
|
|
|
return result;
|
|
};
|