Здравствуйте!
Есть следующая задача - на сервере имеется некий файл, в котором должен быть синтаксически корректный js-код, описывающий некий объект с методами. Название файла не задано заранее, а вычисляется. Мы берём этот содержимое этого файла в виде строки и должны воссоздать из этой строки объект с методами, в точности такой, как описано в файле. Описание объекта (содержимое файла) выглядит примерно так:
{
method1: function() {
// что-то делаем
},
method2: function(var1, var2) {
// ещё что-то делаем
}
}
Файл будет редактироваться в умной IDE, поэтому, как я уже сказал, код должен быть синтаксически корректен. Допустимо сделать в файле вокруг описываемого объекта некое минимальное оформление - точнее, насколько я понимаю, это даже необходимо, потому что на код без обвязки (такой, как приведён выше) IDE вполне логично ругается.
Пока что я пришёл к следующему:
файл выглядит так:
var a = {
method1: function() {
// что-то делаем
},
method2: function(var1, var2) {
// ещё что-то делаем
};
}
return a;
место создания объекта выглядит так:
var newObject = new Function(data).call();
где data - это строка с содержимым файла.
Понятно, что это решение далеко от идеала - обвязка вокруг описания объекта выглядит не очень красиво, да и IDE ругается на return вне функции, но мне в голову больше ничего не приходит, поэтому запрашиваю помощь зала. Может, у кого-нибудь есть идеи?
PS. Если не использовать переменную, а сразу сделать return, то код выглядит чуть красивее, но IDE подчёркивает его весь красным, что очень неудобно.
PPS. Из фреймворков используется jQuery, если это имеет значение.