@apistudio/apim-cli
Version:
CLI for API Management Products
23 lines (22 loc) • 954 B
JavaScript
import { LogWrapper } from '../service/log-wrapper.js';
export class RefParser {
parseRef(ref) {
LogWrapper.logDebug('0003', `Starting to parse reference: ${ref}`);
const parts = ref.split(':');
let namespace, name, version;
if (parts.length === 3) {
[namespace, name, version] = parts;
LogWrapper.logDebug('0003', `Parsed reference into namespace: ${namespace}, name: ${name}, version: ${version}`);
}
else if (parts.length === 2) {
[name, version] = parts;
LogWrapper.logDebug('0003', `Parsed reference into name: ${name}, version: ${version}`);
}
else {
LogWrapper.logError('0003', `Invalid reference format: ${ref}`);
throw new Error(`Invalid reference format: ${ref}`);
}
LogWrapper.logDebug('0003', `Completed parsing reference: ${ref}`);
return { namespace, name, version };
}
}