Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
86.67% covered (warning)
86.67%
13 / 15
60.00% covered (warning)
60.00%
3 / 5
CRAP
0.00% covered (danger)
0.00%
0 / 1
File
86.67% covered (warning)
86.67%
13 / 15
60.00% covered (warning)
60.00%
3 / 5
9.19
0.00% covered (danger)
0.00%
0 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 toTypescript
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
3
 toJavascript
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
3
 providesDefinitions
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 needsDefinitions
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2namespace Apie\TypescriptCodeBuilder\Dto;
3
4use Apie\TypescriptCodeBuilder\Lists\CodeList;
5use Apie\TypescriptCodeBuilder\Lists\JavascriptIdentifierList;
6use Apie\TypescriptCodeBuilder\TypescriptFileExpressionInterface;
7
8/**
9 * Represents a javascript or typescript file.
10 */
11class File implements TypescriptFileExpressionInterface
12{
13    public function __construct(
14        private CodeList $codeList
15    ) {
16    }
17    public function toTypescript(): string
18    {
19        $list = [];
20        foreach ($this->codeList as $code) {
21            $script = $code->toTypescript();
22            if ($script !== '') {
23                $list[] = $script;
24            }
25        }
26
27        return implode(PHP_EOL, $list);
28    }
29    public function toJavascript(): string
30    {
31        $list = [];
32        foreach ($this->codeList as $code) {
33            $script = $code->toJavascript();
34            if ($script !== '') {
35                $list[] = $script;
36            }
37        }
38
39        return implode(PHP_EOL, $list);
40    }
41    public function providesDefinitions(bool $applyBlockScope): JavascriptIdentifierList
42    {
43        return new JavascriptIdentifierList();
44    }
45    public function needsDefinitions(): JavascriptIdentifierList
46    {
47        return new JavascriptIdentifierList();
48    }
49}