cdk8s-cli
Version:
This is the command line tool for Cloud Development Kit (CDK) for Kubernetes (cdk8s).
49 lines • 6.61 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.safeParseJsonSchema = exports.parseApiTypeName = void 0;
const ajv_1 = __importDefault(require("ajv"));
const reviver_1 = require("../reviver");
const util_1 = require("../util");
var ApiLevel;
(function (ApiLevel) {
ApiLevel["ALPHA"] = "alpha";
ApiLevel["BETA"] = "beta";
ApiLevel["STABLE"] = "stable";
})(ApiLevel || (ApiLevel = {}));
/**
* Parses a fully qualified type name such as to it's components.
*/
function parseApiTypeName(fullname) {
const parts = fullname.split('.');
const type = parts[parts.length - 1];
const namespace = parts.slice(0, parts.length - 2).join('.');
const prebase = parts[parts.length - 2];
const version = /^v([0-9]+)(([a-z]+)([0-9]+))?$/.exec(prebase);
return {
fullname: fullname,
version: version ? {
raw: version[0],
major: parseInt(version[1]),
level: version[3] ?? ApiLevel.STABLE,
subversion: parseInt(version[4] ?? '0'),
} : undefined,
namespace: version ? namespace : `${namespace}.${prebase}`,
basename: type,
};
}
exports.parseApiTypeName = parseApiTypeName;
function safeParseJsonSchema(text) {
const reviver = new reviver_1.SafeReviver({
allowlistedKeys: ['$ref', '$schema'],
sanitizers: [reviver_1.SafeReviver.DESCRIPTION_SANITIZER, reviver_1.SafeReviver.LEGAL_CHAR_SANITIZER],
});
const schema = (0, util_1.safeParseJson)(text, reviver);
const ajv = new ajv_1.default();
ajv.compile(schema);
return schema;
}
exports.safeParseJsonSchema = safeParseJsonSchema;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1wb3J0L2s4cy11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhDQUFzQjtBQUl0Qix3Q0FBeUM7QUFDekMsa0NBQXdDO0FBNEJ4QyxJQUFLLFFBSUo7QUFKRCxXQUFLLFFBQVE7SUFDWCwyQkFBZSxDQUFBO0lBQ2YseUJBQWEsQ0FBQTtJQUNiLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKSSxRQUFRLEtBQVIsUUFBUSxRQUlaO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxRQUFnQjtJQUMvQyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRXJDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sT0FBTyxHQUFHLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxPQUFPO1FBQ0wsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDakIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDZixLQUFLLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQixLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBYSxJQUFJLFFBQVEsQ0FBQyxNQUFNO1lBQ2hELFVBQVUsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQztTQUN4QyxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQ2IsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsSUFBSSxPQUFPLEVBQUU7UUFDMUQsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFDO0FBQ0osQ0FBQztBQWxCRCw0Q0FrQkM7QUFFRCxTQUFnQixtQkFBbUIsQ0FBQyxJQUFZO0lBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUkscUJBQVcsQ0FBQztRQUM5QixlQUFlLEVBQUUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDO1FBQ3BDLFVBQVUsRUFBRSxDQUFDLHFCQUFXLENBQUMscUJBQXFCLEVBQUUscUJBQVcsQ0FBQyxvQkFBb0IsQ0FBQztLQUNsRixDQUFDLENBQUM7SUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFBLG9CQUFhLEVBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLE1BQU0sR0FBRyxHQUFHLElBQUksYUFBRyxFQUFFLENBQUM7SUFDdEIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBVEQsa0RBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQWp2IGZyb20gJ2Fqdic7XG4vLyB3ZSBqdXN0IG5lZWQgdGhlIHR5cGVzIGZyb20ganNvbi1zY2hlbWFcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCB7IEpTT05TY2hlbWE0IH0gZnJvbSAnanNvbi1zY2hlbWEnO1xuaW1wb3J0IHsgU2FmZVJldml2ZXIgfSBmcm9tICcuLi9yZXZpdmVyJztcbmltcG9ydCB7IHNhZmVQYXJzZUpzb24gfSBmcm9tICcuLi91dGlsJztcblxuXG4vKipcbiAqXG4gKiAgICAgaW8uazhzLmFwaS5leHRlbnNpb25zLnYxYmV0YTEuRGVwbG95bWVudFxuICogICAgIHwtLS0tLS0tLS0gXiAtLS0tLS0tfCAgXiAgXiBeIHwtLS1eLS0tLXxcbiAqICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHwgIHwgfCAgICAgfFxuICogIC0gbmFtZXNwYWNlIC0tKyAgICAgICAgICAgfCAgfCB8ICAgICB8XG4gKiAgLSBtYWpvciAtLS0tLS0tLS0tLS0tLS0tLS0rICB8IHwgICAgIHxcbiAqICAtIGxldmVsIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgfCAgICAgfFxuICogIC0gc3VidmVyc2lvbiAtLS0tLS0tLS0tLS0tLS0tLS0rICAgICB8XG4gKiAgLSBiYXNlbmFtZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGlUeXBlTmFtZSB7XG4gIGJhc2VuYW1lOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBmdWxsbmFtZTogc3RyaW5nO1xuICB2ZXJzaW9uPzogQXBpVHlwZVZlcnNpb247XG59XG5cbmludGVyZmFjZSBBcGlUeXBlVmVyc2lvbiB7XG4gIHJhdzogc3RyaW5nO1xuICBsZXZlbDogQXBpTGV2ZWw7XG4gIG1ham9yOiBudW1iZXI7XG4gIHN1YnZlcnNpb246IG51bWJlcjtcbn1cblxuZW51bSBBcGlMZXZlbCB7XG4gIEFMUEhBID0gJ2FscGhhJyxcbiAgQkVUQSA9ICdiZXRhJyxcbiAgU1RBQkxFID0gJ3N0YWJsZScsXG59XG5cbi8qKlxuICogUGFyc2VzIGEgZnVsbHkgcXVhbGlmaWVkIHR5cGUgbmFtZSBzdWNoIGFzIHRvIGl0J3MgY29tcG9uZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQXBpVHlwZU5hbWUoZnVsbG5hbWU6IHN0cmluZyk6IEFwaVR5cGVOYW1lIHtcbiAgY29uc3QgcGFydHMgPSBmdWxsbmFtZS5zcGxpdCgnLicpO1xuICBjb25zdCB0eXBlID0gcGFydHNbcGFydHMubGVuZ3RoIC0gMV07XG5cbiAgY29uc3QgbmFtZXNwYWNlID0gcGFydHMuc2xpY2UoMCwgcGFydHMubGVuZ3RoIC0gMikuam9pbignLicpO1xuICBjb25zdCBwcmViYXNlID0gcGFydHNbcGFydHMubGVuZ3RoIC0gMl07XG4gIGNvbnN0IHZlcnNpb24gPSAvXnYoWzAtOV0rKSgoW2Etel0rKShbMC05XSspKT8kLy5leGVjKHByZWJhc2UpO1xuICByZXR1cm4ge1xuICAgIGZ1bGxuYW1lOiBmdWxsbmFtZSxcbiAgICB2ZXJzaW9uOiB2ZXJzaW9uID8ge1xuICAgICAgcmF3OiB2ZXJzaW9uWzBdLFxuICAgICAgbWFqb3I6IHBhcnNlSW50KHZlcnNpb25bMV0pLFxuICAgICAgbGV2ZWw6IHZlcnNpb25bM10gYXMgQXBpTGV2ZWwgPz8gQXBpTGV2ZWwuU1RBQkxFLFxuICAgICAgc3VidmVyc2lvbjogcGFyc2VJbnQodmVyc2lvbls0XSA/PyAnMCcpLFxuICAgIH0gOiB1bmRlZmluZWQsXG4gICAgbmFtZXNwYWNlOiB2ZXJzaW9uID8gbmFtZXNwYWNlIDogYCR7bmFtZXNwYWNlfS4ke3ByZWJhc2V9YCxcbiAgICBiYXNlbmFtZTogdHlwZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVQYXJzZUpzb25TY2hlbWEodGV4dDogc3RyaW5nKTogSlNPTlNjaGVtYTQge1xuICBjb25zdCByZXZpdmVyID0gbmV3IFNhZmVSZXZpdmVyKHtcbiAgICBhbGxvd2xpc3RlZEtleXM6IFsnJHJlZicsICckc2NoZW1hJ10sXG4gICAgc2FuaXRpemVyczogW1NhZmVSZXZpdmVyLkRFU0NSSVBUSU9OX1NBTklUSVpFUiwgU2FmZVJldml2ZXIuTEVHQUxfQ0hBUl9TQU5JVElaRVJdLFxuICB9KTtcbiAgY29uc3Qgc2NoZW1hID0gc2FmZVBhcnNlSnNvbih0ZXh0LCByZXZpdmVyKTtcbiAgY29uc3QgYWp2ID0gbmV3IEFqdigpO1xuICBhanYuY29tcGlsZShzY2hlbWEpO1xuICByZXR1cm4gc2NoZW1hO1xufVxuIl19
;