Skip to content

Commit 0d6e73b

Browse files
authored
small optimizations (#20)
* small optimizations * minor fixes
1 parent fe1f0d1 commit 0d6e73b

File tree

7 files changed

+17
-13
lines changed

7 files changed

+17
-13
lines changed

docker/docker-compose.yml renamed to docker-compose.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ version: '3.2'
22
services:
33
php:
44
build:
5-
context: ./
6-
dockerfile: dev/php/Dockerfile
5+
context: docker/dev
6+
dockerfile: php/Dockerfile
77
args:
88
HOST_USER: ${USER}
99
HOST_USER_ID: ${USER_ID}
1010
volumes:
11-
- ../:/var/www/html
11+
- ./:/var/www/html

docker/.env

-1
This file was deleted.

docker/dev/php/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ FROM php:7.4-cli-alpine3.15
33
ARG HOST_USER_ID
44
ARG HOST_USER
55

6-
COPY dev/php/files/bin/ /usr/local/bin/
6+
COPY php/files/bin/ /usr/local/bin/
77

88
# SYS: Install required packages
99
RUN apk --no-cache upgrade && \

phpstan.neon

+1
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ parameters:
66
- "#Call to function token_get_all\\(\\) on a separate line has no effect.#"
77
- "#Strict comparison using === between array<int, mixed>&nonEmpty and ',' will always evaluate to false.#"
88
- "#Strict comparison using === between array<int, mixed>&nonEmpty and ';' will always evaluate to false.#"
9+
- "#Method PhpKafka\\\\\\PhpAvroSchemaGenerator\\\\\\Optimizer\\\\\\OptimizerInterface::optimize\\(\\) invoked with 2 parameters, 1 required.#"

src/Merger/SchemaMerger.php

+7-8
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44

55
namespace PhpKafka\PhpAvroSchemaGenerator\Merger;
66

7+
use AvroSchema;
78
use AvroSchemaParseException;
89
use PhpKafka\PhpAvroSchemaGenerator\Avro\Avro;
910
use PhpKafka\PhpAvroSchemaGenerator\Exception\SchemaMergerException;
1011
use PhpKafka\PhpAvroSchemaGenerator\Optimizer\OptimizerInterface;
11-
use PhpKafka\PhpAvroSchemaGenerator\Optimizer\PrimitiveSchemaOptimizer;
1212
use PhpKafka\PhpAvroSchemaGenerator\Registry\SchemaRegistryInterface;
1313
use PhpKafka\PhpAvroSchemaGenerator\Schema\SchemaTemplateInterface;
1414

@@ -65,7 +65,7 @@ public function getResolvedSchemaTemplate(SchemaTemplateInterface $rootSchemaTem
6565
$exceptionThrown = false;
6666

6767
try {
68-
\AvroSchema::parse($rootDefinition);
68+
AvroSchema::parse($rootDefinition);
6969
} catch (AvroSchemaParseException $e) {
7070
if (false === strpos($e->getMessage(), ' is not a schema we know about.')) {
7171
throw $e;
@@ -124,14 +124,13 @@ public function merge(
124124
foreach ($registry->getRootSchemas() as $rootSchemaTemplate) {
125125
try {
126126
$resolvedTemplate = $this->getResolvedSchemaTemplate($rootSchemaTemplate);
127+
127128
foreach ($this->optimizers as $optimizer) {
128129
$resolvedTemplate = $resolvedTemplate->withSchemaDefinition(
129-
$optimizer instanceof PrimitiveSchemaOptimizer ?
130-
$optimizer->optimize(
131-
$resolvedTemplate->getSchemaDefinition(),
132-
$resolvedTemplate->isPrimitive()
133-
) :
134-
$optimizer->optimize($resolvedTemplate->getSchemaDefinition())
130+
$optimizer->optimize(
131+
$resolvedTemplate->getSchemaDefinition(),
132+
$resolvedTemplate->isPrimitive()
133+
)
135134
);
136135
}
137136
} catch (SchemaMergerException $e) {

src/Optimizer/OptimizerInterface.php

+4
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,9 @@
66

77
interface OptimizerInterface
88
{
9+
/**
10+
* @param string $definition
11+
* @return string
12+
*/
913
public function optimize(string $definition): string;
1014
}

src/Optimizer/PrimitiveSchemaOptimizer.php

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ class PrimitiveSchemaOptimizer extends AbstractOptimizer implements OptimizerInt
88
{
99
/**
1010
* @param string $definition
11+
* @param bool $isPrimitive
1112
* @return string
1213
* @throws \JsonException
1314
*/

0 commit comments

Comments
 (0)