Наткнулся на интересный модуль для работы с API Вконтакте -
VK-Promise и никак не могу разобраться в его устройстве.
В файле модуля прописан экспорт функции VK в которую обёрнуты функции vk(method, params) - для отправки запросов к API, vk.on(_event, data, add_to_event) - для создания обработчиков событий и объект vk.longpoll с ключами start, stop и т.д.
Подключение модуля происходит как и у всех остальных
const VK = require("VK-Promise");
const vk = new VK("access_token");
В файле в который подключается модуль все вызовы функций происходят через vk(), vk.on(), vk.longpooll.start().
Какой принцип используется? Разве, для того, чтобы обратиться к функции внутри функции не нужно сначала прописывать название внешней функции, а только потом внутренней?