• Matthias Sommerfeld's avatar
    Improve separation of concerns · a40748a2
    Matthias Sommerfeld authored
    The huge nameprep database, which partially exists in two different versions due
    to changes between IDNA 2003 and IDNA 2008 has been extracted from the core class.
    The same goes for the actual Punyocde algorithms.
    
    Thus there's now the IdnaConvert class, which still is the public interface,
    the Punycode class for the core algorithm and the NamePrepData classes for
    IDNA 2003 and 2008 respectively. Since IDNA 2003 is only still supported for
    historic reasons, NamePrepData is the leading class and NamePrepData2003 just
    extends it.
    Both implement the NamePrepDataInterface for easy dependency injection.
    
    Also there's now the PunycodeInterface and the UnicodeTranscoderInterface for the
    same reason.
    a40748a2
Name
Last commit
Last update
src Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
composer.json Loading commit data...