У меня есть объект, объявленный так:
my.namespace.FEATURES = {
FIRST_FEATURE = "first feature",
SECOND_FEATURE = "second feature"
};
Я использую my.namespace.my.object
, чтобы отслеживать, какие функции доступны / реализованы в моем коде.Каждая недавно выпущенная версия будет иметь измененный набор функций.Сторонние разработчики, использующие мой свернутый код, захотят узнать, что они могут сделать в имеющейся версии, поэтому я предоставляю следующую экспортируемую функцию, чтобы они знали, на что они способны.
my.namespace.hasFeature = function(feature) {
for(var prop in my.namespace.FEATURES) {
if(my.namespace.FEATURES[prop] == feature) {
return true;
}
}
return false;
}
Проблема в том, что при запуске Closure Compiler свойства переименовываются.
Мой вопрос: как лучше сохранить эти свойства?Я знаю, что могу вывезти собственность, но она почему-то кажется грязной.Существует ли передовой метод Closure для сохранения свойств объекта?