UNPKG

@graphql-hive/cli

Version:

A CLI util to manage and control your GraphQL Hive

39 lines 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parse = parse; const zod_1 = require("zod"); const UUIDModel = zod_1.z.string().uuid(); /** * Parse a target slug into its parts. Returns an error if slug is invalid */ function parse(str) { const uuidResult = UUIDModel.safeParse(str); if (uuidResult.success) { return { type: 'ok', data: { byId: uuidResult.data, }, }; } const parts = str.split('/'); const organizationSlug = parts.at(0); const projectSlug = parts.at(1); const targetSlug = parts.at(2); if (!organizationSlug || !projectSlug || !targetSlug || parts.length > 3) { return { type: 'error', }; } return { type: 'ok', data: { bySelector: { organizationSlug, projectSlug, targetSlug, }, }, }; } //# sourceMappingURL=target-input.js.map