ILIAS  release_5-2 Revision v5.2.25-18-g3f80b82851
Assetic\Filter\DartFilter Class Reference

Compiles Dart into Javascript. More...

+ Inheritance diagram for Assetic\Filter\DartFilter:
+ Collaboration diagram for Assetic\Filter\DartFilter:

Public Member Functions

 __construct ($dartBin='/usr/bin/dart2js')
 
 filterLoad (AssetInterface $asset)
 Filters an asset after it has been loaded. More...
 
 filterDump (AssetInterface $asset)
 Filters an asset just before it's dumped. More...
 
- Public Member Functions inherited from Assetic\Filter\BaseProcessFilter
 setTimeout ($timeout)
 Set the process timeout. More...
 

Private Member Functions

 cleanup ($file)
 

Private Attributes

 $dartBin
 

Additional Inherited Members

- Protected Member Functions inherited from Assetic\Filter\BaseProcessFilter
 createProcessBuilder (array $arguments=array())
 Creates a new process builder. More...
 
 mergeEnv (ProcessBuilder $pb)
 

Detailed Description

Compiles Dart into Javascript.

http://dartlang.org/

Definition at line 23 of file DartFilter.php.

Constructor & Destructor Documentation

◆ __construct()

Assetic\Filter\DartFilter::__construct (   $dartBin = '/usr/bin/dart2js')

Definition at line 27 of file DartFilter.php.

References Assetic\Filter\DartFilter\$dartBin.

28  {
29  $this->dartBin = $dartBin;
30  }

Member Function Documentation

◆ cleanup()

Assetic\Filter\DartFilter::cleanup (   $file)
private

Definition at line 67 of file DartFilter.php.

References $file.

Referenced by Assetic\Filter\DartFilter\filterLoad().

68  {
69  foreach (glob($file.'*') as $related) {
70  unlink($related);
71  }
72  }
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
+ Here is the caller graph for this function:

◆ filterDump()

Assetic\Filter\DartFilter::filterDump ( AssetInterface  $asset)

Filters an asset just before it's dumped.

Parameters
AssetInterface$assetAn asset

Implements Assetic\Filter\FilterInterface.

Definition at line 63 of file DartFilter.php.

64  {
65  }

◆ filterLoad()

Assetic\Filter\DartFilter::filterLoad ( AssetInterface  $asset)

Filters an asset after it has been loaded.

Parameters
AssetInterface$assetAn asset

Implements Assetic\Filter\FilterInterface.

Definition at line 32 of file DartFilter.php.

References $code, $output, Assetic\Filter\DartFilter\cleanup(), Assetic\Filter\BaseProcessFilter\createProcessBuilder(), Assetic\Util\FilesystemUtils\createTemporaryFile(), Assetic\Exception\FilterException\fromProcess(), Assetic\Asset\AssetInterface\getContent(), and Assetic\Asset\AssetInterface\setContent().

33  {
34  $input = FilesystemUtils::createTemporaryFile('dart');
36 
37  file_put_contents($input, $asset->getContent());
38 
39  $pb = $this->createProcessBuilder()
40  ->add($this->dartBin)
41  ->add('-o'.$output)
42  ->add($input)
43  ;
44 
45  $proc = $pb->getProcess();
46  $code = $proc->run();
47  unlink($input);
48 
49  if (0 !== $code) {
50  $this->cleanup($output);
51 
52  throw FilterException::fromProcess($proc);
53  }
54 
55  if (!file_exists($output)) {
56  throw new \RuntimeException('Error creating output file.');
57  }
58 
59  $asset->setContent(file_get_contents($output));
60  $this->cleanup($output);
61  }
static createTemporaryFile($prefix)
Creates a temporary file.
static fromProcess(Process $proc)
$code
Definition: example_050.php:99
createProcessBuilder(array $arguments=array())
Creates a new process builder.
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\+" &#(? foreach( $entity_files as $file) $output
+ Here is the call graph for this function:

Field Documentation

◆ $dartBin

Assetic\Filter\DartFilter::$dartBin
private

Definition at line 25 of file DartFilter.php.

Referenced by Assetic\Filter\DartFilter\__construct().


The documentation for this class was generated from the following file: