cdk8s-cli
Version:
This is the command line tool for Cloud Development Kit (CDK) for Kubernetes (cdk8s).
50 lines • 6.72 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) {
var _a, _b;
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: (_a = version[3]) !== null && _a !== void 0 ? _a : ApiLevel.STABLE,
subversion: parseInt((_b = version[4]) !== null && _b !== void 0 ? _b : '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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1wb3J0L2s4cy11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhDQUFzQjtBQUl0Qix3Q0FBeUM7QUFDekMsa0NBQXdDO0FBNEJ4QyxJQUFLLFFBSUo7QUFKRCxXQUFLLFFBQVE7SUFDWCwyQkFBZSxDQUFBO0lBQ2YseUJBQWEsQ0FBQTtJQUNiLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKSSxRQUFRLEtBQVIsUUFBUSxRQUlaO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxRQUFnQjs7SUFDL0MsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUVyQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3RCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN4QyxNQUFNLE9BQU8sR0FBRyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0QsT0FBTztRQUNMLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2YsS0FBSyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0IsS0FBSyxFQUFFLE1BQUEsT0FBTyxDQUFDLENBQUMsQ0FBYSxtQ0FBSSxRQUFRLENBQUMsTUFBTTtZQUNoRCxVQUFVLEVBQUUsUUFBUSxDQUFDLE1BQUEsT0FBTyxDQUFDLENBQUMsQ0FBQyxtQ0FBSSxHQUFHLENBQUM7U0FDeEMsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUNiLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLElBQUksT0FBTyxFQUFFO1FBQzFELFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FBQztBQUNKLENBQUM7QUFsQkQsNENBa0JDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUMsSUFBWTtJQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFXLENBQUM7UUFDOUIsZUFBZSxFQUFFLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQztRQUNwQyxVQUFVLEVBQUUsQ0FBQyxxQkFBVyxDQUFDLHFCQUFxQixFQUFFLHFCQUFXLENBQUMsb0JBQW9CLENBQUM7S0FDbEYsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBQSxvQkFBYSxFQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUFJLGFBQUcsRUFBRSxDQUFDO0lBQ3RCLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEIsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQVRELGtEQVNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFqdiBmcm9tICdhanYnO1xuLy8gd2UganVzdCBuZWVkIHRoZSB0eXBlcyBmcm9tIGpzb24tc2NoZW1hXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG5pbXBvcnQgeyBKU09OU2NoZW1hNCB9IGZyb20gJ2pzb24tc2NoZW1hJztcbmltcG9ydCB7IFNhZmVSZXZpdmVyIH0gZnJvbSAnLi4vcmV2aXZlcic7XG5pbXBvcnQgeyBzYWZlUGFyc2VKc29uIH0gZnJvbSAnLi4vdXRpbCc7XG5cblxuLyoqXG4gKlxuICogICAgIGlvLms4cy5hcGkuZXh0ZW5zaW9ucy52MWJldGExLkRlcGxveW1lbnRcbiAqICAgICB8LS0tLS0tLS0tIF4gLS0tLS0tLXwgIF4gIF4gXiB8LS0tXi0tLS18XG4gKiAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8ICB8IHwgICAgIHxcbiAqICAtIG5hbWVzcGFjZSAtLSsgICAgICAgICAgIHwgIHwgfCAgICAgfFxuICogIC0gbWFqb3IgLS0tLS0tLS0tLS0tLS0tLS0tKyAgfCB8ICAgICB8XG4gKiAgLSBsZXZlbCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0rIHwgICAgIHxcbiAqICAtIHN1YnZlcnNpb24gLS0tLS0tLS0tLS0tLS0tLS0tKyAgICAgfFxuICogIC0gYmFzZW5hbWUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBpVHlwZU5hbWUge1xuICBiYXNlbmFtZTogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgZnVsbG5hbWU6IHN0cmluZztcbiAgdmVyc2lvbj86IEFwaVR5cGVWZXJzaW9uO1xufVxuXG5pbnRlcmZhY2UgQXBpVHlwZVZlcnNpb24ge1xuICByYXc6IHN0cmluZztcbiAgbGV2ZWw6IEFwaUxldmVsO1xuICBtYWpvcjogbnVtYmVyO1xuICBzdWJ2ZXJzaW9uOiBudW1iZXI7XG59XG5cbmVudW0gQXBpTGV2ZWwge1xuICBBTFBIQSA9ICdhbHBoYScsXG4gIEJFVEEgPSAnYmV0YScsXG4gIFNUQUJMRSA9ICdzdGFibGUnLFxufVxuXG4vKipcbiAqIFBhcnNlcyBhIGZ1bGx5IHF1YWxpZmllZCB0eXBlIG5hbWUgc3VjaCBhcyB0byBpdCdzIGNvbXBvbmVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUFwaVR5cGVOYW1lKGZ1bGxuYW1lOiBzdHJpbmcpOiBBcGlUeXBlTmFtZSB7XG4gIGNvbnN0IHBhcnRzID0gZnVsbG5hbWUuc3BsaXQoJy4nKTtcbiAgY29uc3QgdHlwZSA9IHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdO1xuXG4gIGNvbnN0IG5hbWVzcGFjZSA9IHBhcnRzLnNsaWNlKDAsIHBhcnRzLmxlbmd0aCAtIDIpLmpvaW4oJy4nKTtcbiAgY29uc3QgcHJlYmFzZSA9IHBhcnRzW3BhcnRzLmxlbmd0aCAtIDJdO1xuICBjb25zdCB2ZXJzaW9uID0gL152KFswLTldKykoKFthLXpdKykoWzAtOV0rKSk/JC8uZXhlYyhwcmViYXNlKTtcbiAgcmV0dXJuIHtcbiAgICBmdWxsbmFtZTogZnVsbG5hbWUsXG4gICAgdmVyc2lvbjogdmVyc2lvbiA/IHtcbiAgICAgIHJhdzogdmVyc2lvblswXSxcbiAgICAgIG1ham9yOiBwYXJzZUludCh2ZXJzaW9uWzFdKSxcbiAgICAgIGxldmVsOiB2ZXJzaW9uWzNdIGFzIEFwaUxldmVsID8/IEFwaUxldmVsLlNUQUJMRSxcbiAgICAgIHN1YnZlcnNpb246IHBhcnNlSW50KHZlcnNpb25bNF0gPz8gJzAnKSxcbiAgICB9IDogdW5kZWZpbmVkLFxuICAgIG5hbWVzcGFjZTogdmVyc2lvbiA/IG5hbWVzcGFjZSA6IGAke25hbWVzcGFjZX0uJHtwcmViYXNlfWAsXG4gICAgYmFzZW5hbWU6IHR5cGUsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzYWZlUGFyc2VKc29uU2NoZW1hKHRleHQ6IHN0cmluZyk6IEpTT05TY2hlbWE0IHtcbiAgY29uc3QgcmV2aXZlciA9IG5ldyBTYWZlUmV2aXZlcih7XG4gICAgYWxsb3dsaXN0ZWRLZXlzOiBbJyRyZWYnLCAnJHNjaGVtYSddLFxuICAgIHNhbml0aXplcnM6IFtTYWZlUmV2aXZlci5ERVNDUklQVElPTl9TQU5JVElaRVIsIFNhZmVSZXZpdmVyLkxFR0FMX0NIQVJfU0FOSVRJWkVSXSxcbiAgfSk7XG4gIGNvbnN0IHNjaGVtYSA9IHNhZmVQYXJzZUpzb24odGV4dCwgcmV2aXZlcik7XG4gIGNvbnN0IGFqdiA9IG5ldyBBanYoKTtcbiAgYWp2LmNvbXBpbGUoc2NoZW1hKTtcbiAgcmV0dXJuIHNjaGVtYTtcbn1cbiJdfQ==
;