UNPKG

cdk8s-cli

Version:

This is the command line tool for Cloud Development Kit (CDK) for Kubernetes (cdk8s).

50 lines 6.72 kB
"use strict"; 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==