Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2namespace Apie\TypescriptCodeBuilder;
3
4use Apie\Core\Attributes\ConcreteClasses;
5use Apie\Core\Dto\DtoInterface;
6use Apie\TypescriptCodeBuilder\Dto\Expressions\ArrayAccessExpression;
7use Apie\TypescriptCodeBuilder\Dto\Expressions\AsExpression;
8use Apie\TypescriptCodeBuilder\Dto\Expressions\BinaryOperationExpression;
9use Apie\TypescriptCodeBuilder\Dto\Expressions\BooleanLiteralExpression;
10use Apie\TypescriptCodeBuilder\Dto\Expressions\FunctionCallExpression;
11use Apie\TypescriptCodeBuilder\Dto\Expressions\IdentifierExpression;
12use Apie\TypescriptCodeBuilder\Dto\Expressions\NullExpression;
13use Apie\TypescriptCodeBuilder\Dto\Expressions\NumberLiteralExpression;
14use Apie\TypescriptCodeBuilder\Dto\Expressions\ObjectExpression;
15use Apie\TypescriptCodeBuilder\Dto\Expressions\ParenthesizedExpression;
16use Apie\TypescriptCodeBuilder\Dto\Expressions\PropertyAccessExpression;
17use Apie\TypescriptCodeBuilder\Dto\Expressions\StringLiteralExpression;
18use Apie\TypescriptCodeBuilder\Dto\Expressions\TernaryExpression;
19use Apie\TypescriptCodeBuilder\Dto\Expressions\TypeCastExpression;
20use Apie\TypescriptCodeBuilder\Dto\Expressions\UnaryOperationExpression;
21use Apie\TypescriptCodeBuilder\Dto\Expressions\UndefinedExpression;
22use Apie\TypescriptCodeBuilder\Dto\IIFE;
23use Apie\TypescriptCodeBuilder\Dto\ImportStatement;
24use Apie\TypescriptCodeBuilder\Dto\NamedFunction;
25use Apie\TypescriptCodeBuilder\Dto\RawJavascript;
26use Apie\TypescriptCodeBuilder\Dto\TypescriptDeclaration;
27use Apie\TypescriptCodeBuilder\Dto\VariableAssignment;
28use Apie\TypescriptCodeBuilder\Lists\JavascriptIdentifierList;
29
30#[ConcreteClasses(
31    IIFE::class,
32    ImportStatement::class,
33    TypescriptDeclaration::class,
34    RawJavascript::class,
35    NamedFunction::class,
36    VariableAssignment::class,
37    ArrayAccessExpression::class,
38    AsExpression::class,
39    BinaryOperationExpression::class,
40    BooleanLiteralExpression::class,
41    FunctionCallExpression::class,
42    IdentifierExpression::class,
43    NullExpression::class,
44    NumberLiteralExpression::class,
45    ObjectExpression::class,
46    ParenthesizedExpression::class,
47    PropertyAccessExpression::class,
48    StringLiteralExpression::class,
49    TypeCastExpression::class,
50    UndefinedExpression::class,
51    UnaryOperationExpression::class,
52    TernaryExpression::class,
53)]
54interface TypescriptFileExpressionInterface extends DtoInterface
55{
56    public function toTypescript(): string;
57    public function toJavascript(): string;
58    public function providesDefinitions(): JavascriptIdentifierList;
59    public function needsDefinitions(): JavascriptIdentifierList;
60}