@graphql-hive/cli
Version:
A CLI util to manage and control your GraphQL Hive
39 lines • 1.02 kB
JavaScript
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
;