Доступ к API из компонента

Я немного разбираюсь в темах Discourse, но не являюсь веб-разработчиком или специалистом по JavaScript. Просматривая некоторые компоненты тем сторонних разработчиков, я задался следующим вопросом.

В файле discourse-header-submenus/javascripts/discourse/connectors/above-site-header/header-submenus.js есть такой код:

export default {
  setupComponent() {
    // какой-то код здесь
  },
};

В начале файла нет импортов.

Если я правильно понимаю (строгий) JavaScript, то код внутри setupComponent() будет иметь доступ только к атрибутам объекта, в контексте которого он выполняется.

Когда я проверяю этот контекст с помощью console.log(this) внутри функции setupComponent(), оказывается, что у меня нет доступа к очень удобному объекту api.

Это жаль!

Кроме того, я не знаю, как правильно его импортировать, так как официальный код-обертка для использования функций API имеет версию и выглядит следующим образом:

import { apiInitializer } from "discourse/lib/api";

export default apiInitializer("0.12.3", api => {
    // код, использующий api здесь
});

Как я могу получить доступ к объекту api внутри setComponent()? Или я упускаю что-то фундаментальное?

Понял, всё делается так:

import { withPluginApi } from "discourse/lib/plugin-api";

export default {
    setupComponent() {
        withPluginApi("0.12.3", api => {
            console.log(api.getCurrentUser());
        });
    },
};