@egml/name v0.0.28
Name
Инструмент для преобразования имени в разные стили написания: Camel
, CapitalCamel
, Kebab
и др.
Присутствуют также особые стили, такие как Css
, File
.
Есть возможность добавлять суффикс в стиле конкретной нотации. Поддерживаются пространства имён нескольких уровней.
Пример использования
var name = new Name(['potato', 'pie']);
name.camel.toString();
// "potatoPie"
name.capitalCamel.toString();
// "PotatoPie"
name.kebab.toString();
// "potato-pie"
Пространство имен:
var name = new Name(['potato', 'pie'], 'cute');
name.camel.toString();
// "cutePotatoPie"
var name = new Name(['potato', 'pie'], ['very', 'cute']);
name.camel.toString();
// "veryCutePotatoPie"
var name = new Name(['potato', 'pie'], new Name(['very', 'cute'], 'so'));
name.camel.toString();
// "soVeryCutePotatoPie"
Пространство имен по умолчанию:
Name.prototype.ns = 'cute';
var name = new Name(['potato', 'pie']);
name.camel.toString();
// "cutePotatoPie"
Не добавлять пространство имен при наличии пространства имен по умолчанию:
Name.prototype.ns = 'cute';
var name = new Name(['potato', 'pie'], false);
name.camel.toString();
// "potatoPie"
Добавление суффикса:
var name = new Name(['potato', 'pie']);
name.camel.append('indeed').toString();
// "potatoPieIndeed"
name.camel.append(['with', 'cheese']).toString();
// "potatoPieWithCheese"
name.camel.add('yeah').toString(); // синоним append
// "potatoPieYeah"
Поддерживаемые стили (cases)
- AsIs
- Camel
- CapitalCamel
- ClassSelector
- Css
- Dot
- Event
- File
- Flat
- Kebab
- Snake
- Upper
Каждый из них можно использовать как описано выше, указав название стиля со строчной буквы (ClassSelector - classSelector, Css - css и т. д.)
TODO:
#TODO
Описать в README другие стили и методы добавления суффиксов у них.#TODO
PHP-версия требует доработки, т.к. она работает не аналогично JS-версии (или обе требуют доработки, см.test
для примеров разницы работы). В частности в PHP-версии при обращении к одному и тому же экземпляру несколько раз, значение сохраняется, а не возвращается новое. Тем самым при следущих запросах значение уже будет измененено предыдущими вызовами.
Сделано:
#DONE
2 years ago