Skip to content

Commit 6c89e49

Browse files
committed
Rework rename_transliterate to use Symfony String
1 parent 7707127 commit 6c89e49

4 files changed

Lines changed: 6 additions & 18 deletions

File tree

src/core/etl/src/Flow/ETL/DSL/functions.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -361,9 +361,9 @@ function rename_replace(string $search, string $replace) : Transformer\Rename\Re
361361
}
362362

363363
#[DocumentationDSL(module: Module::CORE, type: DSLType::TRANSFORMER)]
364-
function rename_transliterate(string $transliterator = 'Any-Latin; Latin-ASCII; Lower()') : Transformer\Rename\RenameTransliterateEntryStrategy
364+
function rename_transliterate() : Transformer\Rename\RenameTransliterateEntryStrategy
365365
{
366-
return new Transformer\Rename\RenameTransliterateEntryStrategy($transliterator);
366+
return new Transformer\Rename\RenameTransliterateEntryStrategy();
367367
}
368368

369369
#[DocumentationDSL(module: Module::CORE, type: DSLType::ENTRY)]

src/core/etl/src/Flow/ETL/Transformer/Rename/RenameTransliterateEntryStrategy.php

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,13 @@
44

55
namespace Flow\ETL\Transformer\Rename;
66

7+
use function Symfony\Component\String\u;
78
use Flow\ETL\{FlowContext, Row, Row\Entry};
89

910
final readonly class RenameTransliterateEntryStrategy implements RenameEntryStrategy
1011
{
11-
public function __construct(
12-
private string $transliterator,
13-
) {
14-
}
15-
1612
public function rename(Row $row, Entry $entry, FlowContext $context) : Row
1713
{
18-
return $row->rename($entry->name(), $this->transliterate($entry->name()));
19-
}
20-
21-
private function transliterate(string $string) : string
22-
{
23-
if (\function_exists('transliterator_transliterate')) {
24-
return (string) \transliterator_transliterate($this->transliterator, $string);
25-
}
26-
27-
return $string;
14+
return $row->rename($entry->name(), u($entry->name())->ascii()->toString());
2815
}
2916
}

src/core/etl/tests/Flow/ETL/Tests/Integration/DataFrame/RenameTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ public function test_rename_all_transliterate() : void
109109
$ds = df()
110110
->read(from_rows($rows))
111111
->renameEach(rename_transliterate())
112+
->renameEach(rename_style(Style::LOWER))
112113
->getEachAsArray();
113114

114115
self::assertEquals(

web/landing/resources/dsl.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)