Passed
Pull Request — master (#10)
by
unknown
06:45
created

TsplQRCode::translate()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 19
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 10
c 1
b 0
f 0
nc 2
nop 1
dl 0
loc 19
rs 9.9332
1
<?php
2
3
/**
4
 * This file is part of PhpAidc LabelPrinter package.
5
 *
6
 * © Appwilio (https://appwilio.com)
7
 * © JhaoDa (https://github.com/jhaoda)
8
 *
9
 * For the full copyright and license information, please view the LICENSE
10
 * file that was distributed with this source code.
11
 */
12
13
declare(strict_types=1);
14
15
namespace PhpAidc\LabelPrinter\Language\Tspl;
16
17
use PhpAidc\LabelPrinter\Command\QRCode;
18
19
final class TsplQRCode
20
{
21
    public function translate(QRCode $command): iterable
22
    {
23
        $instruction = \vsprintf('QRCODE %d,%d,%s,%d,%s', [
24
            $command->getX(),
25
            $command->getY(),
26
            $command->getECCLevel(),
27
            $command->getCellWidth(),
28
            $command->getMode()
29
        ]);
30
31
        // rotation
32
        $instruction .= ','.$command->getRotation()->getDegrees();
33
34
        // model
35
        if ($command->getModel()) {
36
            $instruction .= ','.(string) $command->getModel();
37
        }
38
     
39
        yield $instruction.\sprintf(',"%s"', $command->getData());
40
    }
41
}
42