UNPKG

growthbook

Version:

The GrowthBook command-line interface (CLI) for working with the GrowthBook A/B testing, feature flagging, and experimentation platform

36 lines (35 loc) 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@oclif/core"); const cli_1 = require("../../utils/cli"); const constants_1 = require("../../utils/constants"); const config_1 = require("../../utils/config"); const segments_repository_1 = require("../../repositories/segments.repository"); class SegmentsGet extends core_1.Command { async run() { const { args: { id, }, flags: { profile, apiBaseUrl, }, } = await this.parse(SegmentsGet); const profileUsed = profile || constants_1.DEFAULT_GROWTHBOOK_PROFILE; const { apiKey, apiBaseUrl: configApiBaseUrl } = (0, config_1.getGrowthBookProfileConfigAndThrowForCommand)(profileUsed, this); const baseUrlUsed = apiBaseUrl || configApiBaseUrl || constants_1.DEFAULT_GROWTHBOOK_BASE_URL; const repo = new segments_repository_1.SegmentsRepository({ apiKey, apiBaseUrl: baseUrlUsed, }); const segment = await repo.getSegment(id); this.logJson(segment); } } exports.default = SegmentsGet; SegmentsGet.description = 'Get a single segment used during experiment analysis'; SegmentsGet.examples = [ '<%= config.bin %> <%= command.id %>', ]; SegmentsGet.flags = { ...cli_1.baseGrowthBookCliFlags, }; SegmentsGet.args = { id: core_1.Args.string({ description: 'Segment ID', required: true, }), };