diff options
Diffstat (limited to 'vendor/scssphp/scssphp/src/Logger')
-rw-r--r-- | vendor/scssphp/scssphp/src/Logger/LoggerInterface.php | 48 | ||||
-rw-r--r-- | vendor/scssphp/scssphp/src/Logger/QuietLogger.php | 29 | ||||
-rw-r--r-- | vendor/scssphp/scssphp/src/Logger/StreamLogger.php | 62 |
3 files changed, 139 insertions, 0 deletions
diff --git a/vendor/scssphp/scssphp/src/Logger/LoggerInterface.php b/vendor/scssphp/scssphp/src/Logger/LoggerInterface.php new file mode 100644 index 000000000..7c0a2f76e --- /dev/null +++ b/vendor/scssphp/scssphp/src/Logger/LoggerInterface.php @@ -0,0 +1,48 @@ +<?php + +/** + * SCSSPHP + * + * @copyright 2012-2020 Leaf Corcoran + * + * @license http://opensource.org/licenses/MIT MIT + * + * @link http://scssphp.github.io/scssphp + */ + +namespace ScssPhp\ScssPhp\Logger; + +/** + * Interface implemented by loggers for warnings and debug messages. + * + * The official Sass implementation recommends that loggers report the + * messages immediately rather than waiting for the end of the + * compilation, to provide a better debugging experience when the + * compilation does not end (error or infinite loop after the warning + * for instance). + */ +interface LoggerInterface +{ + /** + * Emits a warning with the given message. + * + * If $deprecation is true, it indicates that this is a deprecation + * warning. Implementations should surface all this information to + * the end user. + * + * @param string $message + * @param bool $deprecation + * + * @return void + */ + public function warn($message, $deprecation = false); + + /** + * Emits a debugging message. + * + * @param string $message + * + * @return void + */ + public function debug($message); +} diff --git a/vendor/scssphp/scssphp/src/Logger/QuietLogger.php b/vendor/scssphp/scssphp/src/Logger/QuietLogger.php new file mode 100644 index 000000000..ad7c07537 --- /dev/null +++ b/vendor/scssphp/scssphp/src/Logger/QuietLogger.php @@ -0,0 +1,29 @@ +<?php + +/** + * SCSSPHP + * + * @copyright 2012-2020 Leaf Corcoran + * + * @license http://opensource.org/licenses/MIT MIT + * + * @link http://scssphp.github.io/scssphp + */ + +namespace ScssPhp\ScssPhp\Logger; + +/** + * A logger that silently ignores all messages. + * + * @final + */ +class QuietLogger implements LoggerInterface +{ + public function warn($message, $deprecation = false) + { + } + + public function debug($message) + { + } +} diff --git a/vendor/scssphp/scssphp/src/Logger/StreamLogger.php b/vendor/scssphp/scssphp/src/Logger/StreamLogger.php new file mode 100644 index 000000000..7db7cc189 --- /dev/null +++ b/vendor/scssphp/scssphp/src/Logger/StreamLogger.php @@ -0,0 +1,62 @@ +<?php + +/** + * SCSSPHP + * + * @copyright 2012-2020 Leaf Corcoran + * + * @license http://opensource.org/licenses/MIT MIT + * + * @link http://scssphp.github.io/scssphp + */ + +namespace ScssPhp\ScssPhp\Logger; + +/** + * A logger that prints to a PHP stream (for instance stderr) + * + * @final + */ +class StreamLogger implements LoggerInterface +{ + private $stream; + private $closeOnDestruct; + + /** + * @param resource $stream A stream resource + * @param bool $closeOnDestruct If true, takes ownership of the stream and close it on destruct to avoid leaks. + */ + public function __construct($stream, $closeOnDestruct = false) + { + $this->stream = $stream; + $this->closeOnDestruct = $closeOnDestruct; + } + + /** + * @internal + */ + public function __destruct() + { + if ($this->closeOnDestruct) { + fclose($this->stream); + } + } + + /** + * @inheritDoc + */ + public function warn($message, $deprecation = false) + { + $prefix = ($deprecation ? 'DEPRECATION ' : '') . 'WARNING: '; + + fwrite($this->stream, $prefix . $message . "\n\n"); + } + + /** + * @inheritDoc + */ + public function debug($message) + { + fwrite($this->stream, $message . "\n"); + } +} |