blob: 7da86899f140de5783b87e690132fe65ecbba310 [file] [log] [blame]
/* @flow */
"use strict";
const beforeBlockString = require("./beforeBlockString");
const hasBlock = require("./hasBlock");
const rawNodeString = require("./rawNodeString");
/**
* Return a CSS statement's block -- the string that starts and `{` and ends with `}`.
*
* If the statement has no block (e.g. `@import url(foo.css);`),
* return undefined.
*
* @param {Rule|AtRule} statement - postcss rule or at-rule node
* @return {string|undefined}
*/
module.exports = function(
statement /*: postcss$rule | postcss$atRule*/
) /*: string | boolean*/ {
if (!hasBlock(statement)) {
return false;
}
return rawNodeString(statement).slice(beforeBlockString(statement).length);
};