UNPKG

vtex

Version:

The platform for e-commerce apps

36 lines (35 loc) 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const utils_1 = require("../../error/utils"); const SessionManager_1 = require("../../session/SessionManager"); const logger_1 = tslib_1.__importDefault(require("../../logger")); const create_1 = require("./create"); const reset_1 = tslib_1.__importDefault(require("./reset")); const Messages_1 = require("../../../lib/constants/Messages"); exports.default = async (name, options) => { var _a; const session = SessionManager_1.SessionManager.getSingleton(); const production = options === null || options === void 0 ? void 0 : options.production; const reset = (_a = options === null || options === void 0 ? void 0 : options.reset) !== null && _a !== void 0 ? _a : false; if (name === '-') { name = session.lastUsedWorkspace; if (name == null) { throw utils_1.createFlowIssueError('No last used workspace was found'); } } const result = await session.workspaceSwitch({ targetWorkspace: name, workspaceCreation: { production, promptCreation: true, creator: create_1.workspaceCreator, onError: create_1.handleErrorCreatingWorkspace, }, }); if (reset && result !== 'created') { await reset_1.default(name, { production }); } const { account, workspace } = session; logger_1.default.info(Messages_1.Messages.USE_SUCCESS(workspace, account)); };