UNPKG

cdk8s-cli

Version:

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

49 lines 6.61 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) { 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