UNPKG

vtex

Version:

The platform for e-commerce apps

33 lines (32 loc) 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.storeUrl = void 0; const SessionManager_1 = require("./session/SessionManager"); const env_1 = require("./env"); /** * Create the store URL for a specific account + workspace + path * Examples: * 1) storeUrl({ account: 'vtex', workspace: 'master', path: '/admin' }) * Will return 'https://master--vtex.myvtex.com/admin' * * 2) storeUrl({ account: 'vtex', addWorkspace: false }) * Will return 'https://vtex.myvtex.com */ function storeUrl(opts) { var _a, _b, _c; const session = SessionManager_1.SessionManager.getSingleton(); const { account, workspace } = { account: (_a = opts.account) !== null && _a !== void 0 ? _a : session.account, workspace: (_b = opts.workspace) !== null && _b !== void 0 ? _b : session.workspace, }; let path = '/'; if (opts.path) { path = opts.path.startsWith('/') ? opts.path : `/${opts.path}`; } const addWorkspace = (_c = opts.addWorkspace) !== null && _c !== void 0 ? _c : true; if (addWorkspace) { return `https://${workspace}--${account}.${env_1.publicEndpoint()}${path}`; } return `https://${account}.${env_1.publicEndpoint()}${path}`; } exports.storeUrl = storeUrl;