class ScssCompilerAlterStorage in SCSS/Less Compiler 8
Collects alter data.
Invoke alters on each file which run thru compiler is not effective, so this storage collects all data and allow performing altering based on module/theme name or file path.
Hierarchy
- class \Drupal\scss_compiler\ScssCompilerAlterStorage
 
Expanded class hierarchy of ScssCompilerAlterStorage
File
- src/
ScssCompilerAlterStorage.php, line 12  
Namespace
Drupal\scss_compilerView source
class ScssCompilerAlterStorage {
  /**
   * Array with collected data.
   *
   * @var array
   */
  protected $storage = [];
  /**
   * The ScssCompiler service.
   *
   * @var \Drupal\scss_compiler\ScssCompilerInterface
   */
  protected $scssCompiler;
  /**
   * Constructs ScssCompilerAlterStorage object.
   *
   * @param \Drupal\scss_compiler\ScssCompilerInterface $scss_compiler
   *   The ScssCompiler service.
   */
  public function __construct(ScssCompilerInterface $scss_compiler) {
    $this->scssCompiler = $scss_compiler;
  }
  /**
   * Set data by module/theme name.
   *
   * @param array $values
   *   Array with data.
   * @param string $namespace
   *   Module/theme name. By default global scope.
   */
  public function set(array $values, $namespace = '_global') {
    if (!isset($this->storage['namespace'][$namespace])) {
      $this->storage['namespace'][$namespace] = [];
    }
    $this->storage['namespace'][$namespace] = array_merge($this->storage['namespace'][$namespace], $values);
  }
  /**
   * Set data by file name.
   *
   * @param array $values
   *   Array with data.
   * @param string $file_path
   *   Path to a source file from DRUPAL_ROOT. Supports tokens like @my_module.
   */
  public function setByFile(array $values, $file_path) {
    $file_path = $this->scssCompiler
      ->replaceTokens($file_path);
    if ($file_path) {
      if (!isset($this->storage['file'][$file_path])) {
        $this->storage['file'][$file_path] = [];
      }
      $this->storage['file'][$file_path] = array_merge($this->storage['file'][$file_path], $values);
    }
  }
  /**
   * Get data by module/theme name.
   *
   * @param string $namespace
   *   Module/theme name. By default global scope.
   *
   * @return array
   *   Array with data.
   */
  public function get($namespace = '_global') {
    if (!isset($this->storage['namespace'][$namespace])) {
      return [];
    }
    return $this->storage['namespace'][$namespace];
  }
  /**
   * Get data by file path.
   *
   * @param string $file_path
   *   Path to source file from DRUPAL_ROOT.
   *
   * @return array
   *   Array with data.
   */
  public function getByFile($file_path) {
    if (!isset($this->storage['file'][$file_path])) {
      return [];
    }
    return $this->storage['file'][$file_path];
  }
  /**
   * Returns merged data in all scopes.
   *
   * @param string $namespace
   *   Module/theme name.
   * @param string $file_path
   *   Path to source file from DRUPAL_ROOT.
   *
   * @return array
   *   Array with data.
   */
  public function getAll($namespace, $file_path) {
    return array_merge($this
      ->get(), $this
      ->get($namespace), $this
      ->getByFile($file_path));
  }
  /**
   * Removes variable from the storage.
   *
   * @param string $type
   *   Storage type, file or namespace.
   * @param string $path
   *   Depends on the type. Module/theme name or file path.
   * @param string $key
   *   Key to delete. If omitted, all keys from given path will be deleted.
   */
  public function unset($type, $path, $key = NULL) {
    if (isset($this->storage[$type][$path])) {
      if ($key) {
        if (isset($this->storage[$type][$path][$key])) {
          unset($this->storage[$type][$path][$key]);
        }
      }
      else {
        unset($this->storage[$type][$path]);
      }
    }
  }
  /**
   * Returns entire storage.
   *
   * @return array
   *   Array with data.
   */
  public function getStorage() {
    return $this->storage;
  }
}Members
| 
            Name | 
                  Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| 
            ScssCompilerAlterStorage:: | 
                  protected | property | The ScssCompiler service. | |
| 
            ScssCompilerAlterStorage:: | 
                  protected | property | Array with collected data. | |
| 
            ScssCompilerAlterStorage:: | 
                  public | function | Get data by module/theme name. | |
| 
            ScssCompilerAlterStorage:: | 
                  public | function | Returns merged data in all scopes. | |
| 
            ScssCompilerAlterStorage:: | 
                  public | function | Get data by file path. | |
| 
            ScssCompilerAlterStorage:: | 
                  public | function | Returns entire storage. | |
| 
            ScssCompilerAlterStorage:: | 
                  public | function | Set data by module/theme name. | |
| 
            ScssCompilerAlterStorage:: | 
                  public | function | Set data by file name. | |
| 
            ScssCompilerAlterStorage:: | 
                  public | function | Removes variable from the storage. | |
| 
            ScssCompilerAlterStorage:: | 
                  public | function | Constructs ScssCompilerAlterStorage object. |