gcal-commander
Version:
A command-line interface for Google Calendar operations
35 lines (34 loc) • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.setupContainer = setupContainer;
require("reflect-metadata");
const tsyringe_1 = require("tsyringe");
const auth_1 = require("../services/auth");
const calendar_1 = require("../services/calendar");
const config_1 = require("../services/config");
const config_storage_1 = require("../services/config-storage");
const i18n_1 = require("../services/i18n");
const prompt_1 = require("../services/prompt");
const paths_1 = require("../utils/paths");
const tokens_1 = require("./tokens");
// Container setup
function setupContainer() {
// Register services
tsyringe_1.container.register(tokens_1.TOKENS.AuthService, {
useClass: auth_1.AuthService,
});
tsyringe_1.container.register(tokens_1.TOKENS.CalendarService, {
useClass: calendar_1.CalendarService,
});
tsyringe_1.container.register(tokens_1.TOKENS.ConfigStorage, {
useFactory: () => new config_storage_1.FileSystemConfigStorage(paths_1.AppPaths.getConfigPath()),
});
tsyringe_1.container.registerSingleton(tokens_1.TOKENS.ConfigService, config_1.ConfigService);
tsyringe_1.container.register(tokens_1.TOKENS.I18nService, {
useClass: i18n_1.I18nService,
});
tsyringe_1.container.register(tokens_1.TOKENS.PromptService, {
useClass: prompt_1.InquirerPromptService,
});
}
setupContainer();