/* @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)
}
