UNPKG

@aws-cdk/cx-api

Version:

Cloud executable protocol

73 lines 9.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MAGIC_V2NEXT = exports.FlagType = void 0; exports.compareVersions = compareVersions; var FlagType; (function (FlagType) { /** * Change the default behavior of the API * * The old behavior is still valid, and possible to achieve with source * code changes, but we recommend the new behavior instead. * * Also valid for changes that don't affect CloudFormation, but the CXAPI * contract. */ FlagType[FlagType["ApiDefault"] = 0] = "ApiDefault"; /** * Address a bug in a way that requires contract breaking or has availability implications for existing infrastructure * * The old behavior is not recommended, and shouldn't have been possible in the first place. * We only have this flag because we can't roll out the fix to everyone * automatically for fear of breakage. */ FlagType[FlagType["BugFix"] = 1] = "BugFix"; /** * Advertise the presence of this context option in `cdk.json` */ FlagType[FlagType["VisibleContext"] = 2] = "VisibleContext"; /** * Use this type for flags that are to be removed on a set date */ FlagType[FlagType["Temporary"] = 3] = "Temporary"; })(FlagType || (exports.FlagType = FlagType = {})); /** * The magic value that will be substituted at version bump time with the actual * new V2 version. * * Do not import this constant in the `features.ts` file, or the substitution * process won't work. */ exports.MAGIC_V2NEXT = 'V2NEXT'; /** * Compare two versions, returning -1, 0, or 1. */ function compareVersions(a, b) { if (a === b) { return 0; } if (a === undefined) { return -1; } if (b === undefined) { return 1; } const as = a.split('.').map(x => parseInt(x, 10)); const bs = b.split('.').map(x => parseInt(x, 10)); if (a === exports.MAGIC_V2NEXT) { return bs[0] <= 2 ? 1 : -1; } if (b === exports.MAGIC_V2NEXT) { return as[0] <= 2 ? -1 : 1; } for (let i = 0; i < Math.min(as.length, bs.length); i++) { if (as[i] < bs[i]) { return -1; } if (as[i] > bs[i]) { return 1; } } return as.length - bs.length; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhZy1tb2RlbGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZsYWctbW9kZWxpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBeUZBLDBDQWdCQztBQXpHRCxJQUFZLFFBOEJYO0FBOUJELFdBQVksUUFBUTtJQUNsQjs7Ozs7Ozs7T0FRRztJQUNILG1EQUFVLENBQUE7SUFFVjs7Ozs7O09BTUc7SUFDSCwyQ0FBTSxDQUFBO0lBRU47O09BRUc7SUFDSCwyREFBYyxDQUFBO0lBRWQ7O09BRUc7SUFDSCxpREFBUyxDQUFBO0FBQ1gsQ0FBQyxFQTlCVyxRQUFRLHdCQUFSLFFBQVEsUUE4Qm5CO0FBK0NEOzs7Ozs7R0FNRztBQUNVLFFBQUEsWUFBWSxHQUFHLFFBQVEsQ0FBQztBQUVyQzs7R0FFRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxDQUFxQixFQUFFLENBQXFCO0lBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxDQUFDLENBQUM7SUFBQyxDQUFDO0lBQzFCLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUFDLENBQUM7SUFDbkMsSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7UUFBQyxPQUFPLENBQUMsQ0FBQztJQUFDLENBQUM7SUFFbEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEQsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFbEQsSUFBSSxDQUFDLEtBQUssb0JBQVksRUFBRSxDQUFDO1FBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQUMsQ0FBQztJQUN2RCxJQUFJLENBQUMsS0FBSyxvQkFBWSxFQUFFLENBQUM7UUFBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFBQyxDQUFDO0lBRXZELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDeEQsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUNqQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7QUFDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEZsYWdUeXBlIHtcbiAgLyoqXG4gICAqIENoYW5nZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgQVBJXG4gICAqXG4gICAqIFRoZSBvbGQgYmVoYXZpb3IgaXMgc3RpbGwgdmFsaWQsIGFuZCBwb3NzaWJsZSB0byBhY2hpZXZlIHdpdGggc291cmNlXG4gICAqIGNvZGUgY2hhbmdlcywgYnV0IHdlIHJlY29tbWVuZCB0aGUgbmV3IGJlaGF2aW9yIGluc3RlYWQuXG4gICAqXG4gICAqIEFsc28gdmFsaWQgZm9yIGNoYW5nZXMgdGhhdCBkb24ndCBhZmZlY3QgQ2xvdWRGb3JtYXRpb24sIGJ1dCB0aGUgQ1hBUElcbiAgICogY29udHJhY3QuXG4gICAqL1xuICBBcGlEZWZhdWx0LFxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGEgYnVnIGluIGEgd2F5IHRoYXQgcmVxdWlyZXMgY29udHJhY3QgYnJlYWtpbmcgb3IgaGFzIGF2YWlsYWJpbGl0eSBpbXBsaWNhdGlvbnMgZm9yIGV4aXN0aW5nIGluZnJhc3RydWN0dXJlXG4gICAqXG4gICAqIFRoZSBvbGQgYmVoYXZpb3IgaXMgbm90IHJlY29tbWVuZGVkLCBhbmQgc2hvdWxkbid0IGhhdmUgYmVlbiBwb3NzaWJsZSBpbiB0aGUgZmlyc3QgcGxhY2UuXG4gICAqIFdlIG9ubHkgaGF2ZSB0aGlzIGZsYWcgYmVjYXVzZSB3ZSBjYW4ndCByb2xsIG91dCB0aGUgZml4IHRvIGV2ZXJ5b25lXG4gICAqIGF1dG9tYXRpY2FsbHkgZm9yIGZlYXIgb2YgYnJlYWthZ2UuXG4gICAqL1xuICBCdWdGaXgsXG5cbiAgLyoqXG4gICAqIEFkdmVydGlzZSB0aGUgcHJlc2VuY2Ugb2YgdGhpcyBjb250ZXh0IG9wdGlvbiBpbiBgY2RrLmpzb25gXG4gICAqL1xuICBWaXNpYmxlQ29udGV4dCxcblxuICAvKipcbiAgICogVXNlIHRoaXMgdHlwZSBmb3IgZmxhZ3MgdGhhdCBhcmUgdG8gYmUgcmVtb3ZlZCBvbiBhIHNldCBkYXRlXG4gICAqL1xuICBUZW1wb3JhcnksXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxhZ0luZm9CYXNlIHtcbiAgLyoqIFNpbmdsZS1saW5lIGRlc2NyaXB0aW9uIGZvciB0aGUgZmxhZyAqL1xuICByZWFkb25seSBzdW1tYXJ5OiBzdHJpbmc7XG4gIC8qKiBEZXRhaWxlZCBkZXNjcmlwdGlvbiBmb3IgdGhlIGZsYWcgKE1hcmtkb3duKSAqL1xuICByZWFkb25seSBkZXRhaWxzTWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFZlcnNpb24gbnVtYmVyIHRoZSBmbGFnIHdhcyBpbnRyb2R1Y2VkIGluIGVhY2ggdmVyc2lvbiBsaW5lLlxuICAgKlxuICAgKiBgdW5kZWZpbmVkYCBtZWFucyBmbGFnIGlzIG5vdCBjb25maWd1cmFibGUgaW4gdGhhdCBsaW5lOyBidXQgaWZcbiAgICogYHVuY29uZmlndXJlZEJlaGF2ZXNMaWtlYCBpcyBzZXQgZm9yIHRoYXQgbGluZSwgd2Ugd2lsbCBkb2N1bWVudCB0aGUgZGVmYXVsdFxuICAgKiBiZWhhdmlvciAoZXZlbiB0aG91Z2ggaXQncyBub3QgY29uZmlndXJhYmxlKS5cbiAgICovXG4gIHJlYWRvbmx5IGludHJvZHVjZWRJbjogeyB2MT86IHN0cmluZzsgdjI/OiBzdHJpbmcgfTtcbiAgLyoqIFdoYXQgeW91IHdvdWxkIGxpa2UgbmV3IHVzZXJzIHRvIHNldCB0aGlzIGZsYWcgdG8gKGRlZmF1bHQgaW4gbmV3IHByb2plY3RzKSAqL1xuICByZWFkb25seSByZWNvbW1lbmRlZFZhbHVlOiBhbnk7XG4gIC8qKlxuICAgKiBJZiB0aGlzIGZsYWcgaXMgbm90IHNldCwgdGhlIENMSSBsaWJyYXJ5IHdpbGwgYmVoYXZlIGFzIGlmIHRoZSBmbGFnIHdhcyBzZXQgdG8gPHRoaXM+LlxuICAgKlxuICAgKiBJZiB0aGlzIGZsYWcgaXMgbm90IHNldCwgd2Ugd2lsbCBhc3N1bWUgeW91IG1lYW50IGBmYWxzZWAsIGFuZCB0aGUgYHJlY29tbWVuZGVkVmFsdWVgIGlzIGB0cnVlYC5cbiAgICpcbiAgICogVGhpcyB2YWx1ZSBpcyBtb3N0IHVzZWZ1bCBmb3IgZmxhZ3MgdGhhdCBhbGxvdyBvcHRpbmcgb3V0IG9mIHVuZGVzaXJhYmxlIGJlaGF2aW9yLiBUbyBhdm9pZCBoYXZpbmdcbiAgICogdG8gd29yZCBvdXIgZmxhZyBuYW1lIGxpa2UgYHNraXBVbmRlc2lyYWJsZUJlaGF2aW9yYCBhbmQgcGVvcGxlIGhhdmluZyB0byBkbyBib29sZWFuIGd5bW5hc3RpY3MgaW5cbiAgICogdGhlaXIgaGVhZCwgd2Ugd2lsbCBuYW1lIHRoZSBmbGFnIGBkb1VuZGVzaXJhYmxlQmVoYXZpb3JgLCBzZXRcbiAgICogYHVuY29uZmlndXJlZEJlaGF2ZXNMaWtlOiB0cnVlYCwgYW5kIGByZWNvbW1lbmRlZFZhbHVlOiBmYWxzZWAuXG4gICAqXG4gICAqIEFnYWluOiB0aGUgdmFsdWUgeW91IHB1dCBoZXJlIHNob3VsZCBkZXNjcmliZSB3aGF0ZXZlciB2YWx1ZSBnZXRzIHVzIHRoZVxuICAgKiBsZWdhY3kgYmVoYXZpb3IsIGZyb20gYmVmb3JlIHRoaXMgZmxhZyB3YXMgaW50cm9kdWNlZC5cbiAgICovXG4gIHJlYWRvbmx5IHVuY29uZmlndXJlZEJlaGF2ZXNMaWtlPzogeyB2MT86IGFueTsgdjI/OiBhbnkgfTtcbn1cblxuLyoqIEZsYWcgaW5mb3JtYXRpb24sIGFkZGluZyByZXF1aXJlZCBmaWVsZHMgaWYgcHJlc2VudCAqL1xuZXhwb3J0IHR5cGUgRmxhZ0luZm8gPSBGbGFnSW5mb0Jhc2UgJiAoXG4gIHwgeyByZWFkb25seSB0eXBlOiBGbGFnVHlwZS5BcGlEZWZhdWx0O1xuXG4gICAgLyoqIERlc2NyaWJlIGhvdyB0byB1c2UgdGhlIEFQSSB0byBhY2hpZXZlIHByZS1mbGFnIGJlaGF2aW9yLCBpZiB0aGUgZmxhZyBpcyBzZXQgKE1hcmtkb3duKSAqL1xuICAgIHJlYWRvbmx5IGNvbXBhdGliaWxpdHlXaXRoT2xkQmVoYXZpb3JNZDogc3RyaW5nOyB9XG4gIHwgeyByZWFkb25seSB0eXBlOiBGbGFnVHlwZS5CdWdGaXg7XG4gICAgLyoqIERlc2NyaWJlIGhvdyB0byBkZWFsIHdpdGggdGhlIGNoYW5nZSBpZiB0aGUgZmxhZyBpcyBzZXQgKE1hcmtkb3duKSAqL1xuICAgIHJlYWRvbmx5IGNvbXBhdGliaWxpdHlXaXRoT2xkQmVoYXZpb3JNZD86IHN0cmluZzsgfVxuICB8IHsgcmVhZG9ubHkgdHlwZTogRmxhZ1R5cGUuVmlzaWJsZUNvbnRleHQgfVxuICB8IHsgcmVhZG9ubHkgdHlwZTogRmxhZ1R5cGUuVGVtcG9yYXJ5O1xuICAgIHJlYWRvbmx5IGNvbXBhdGliaWxpdHlXaXRoT2xkQmVoYXZpb3JNZD86IHN0cmluZzsgfVxuKTtcblxuLyoqXG4gKiBUaGUgbWFnaWMgdmFsdWUgdGhhdCB3aWxsIGJlIHN1YnN0aXR1dGVkIGF0IHZlcnNpb24gYnVtcCB0aW1lIHdpdGggdGhlIGFjdHVhbFxuICogbmV3IFYyIHZlcnNpb24uXG4gKlxuICogRG8gbm90IGltcG9ydCB0aGlzIGNvbnN0YW50IGluIHRoZSBgZmVhdHVyZXMudHNgIGZpbGUsIG9yIHRoZSBzdWJzdGl0dXRpb25cbiAqIHByb2Nlc3Mgd29uJ3Qgd29yay5cbiAqL1xuZXhwb3J0IGNvbnN0IE1BR0lDX1YyTkVYVCA9ICdWMk5FWFQnO1xuXG4vKipcbiAqIENvbXBhcmUgdHdvIHZlcnNpb25zLCByZXR1cm5pbmcgLTEsIDAsIG9yIDEuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wYXJlVmVyc2lvbnMoYTogc3RyaW5nIHwgdW5kZWZpbmVkLCBiOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBudW1iZXIge1xuICBpZiAoYSA9PT0gYikgeyByZXR1cm4gMDsgfVxuICBpZiAoYSA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiAtMTsgfVxuICBpZiAoYiA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiAxOyB9XG5cbiAgY29uc3QgYXMgPSBhLnNwbGl0KCcuJykubWFwKHggPT4gcGFyc2VJbnQoeCwgMTApKTtcbiAgY29uc3QgYnMgPSBiLnNwbGl0KCcuJykubWFwKHggPT4gcGFyc2VJbnQoeCwgMTApKTtcblxuICBpZiAoYSA9PT0gTUFHSUNfVjJORVhUKSB7IHJldHVybiBic1swXSA8PSAyID8gMSA6IC0xOyB9XG4gIGlmIChiID09PSBNQUdJQ19WMk5FWFQpIHsgcmV0dXJuIGFzWzBdIDw9IDIgPyAtMSA6IDE7IH1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IE1hdGgubWluKGFzLmxlbmd0aCwgYnMubGVuZ3RoKTsgaSsrKSB7XG4gICAgaWYgKGFzW2ldIDwgYnNbaV0pIHsgcmV0dXJuIC0xOyB9XG4gICAgaWYgKGFzW2ldID4gYnNbaV0pIHsgcmV0dXJuIDE7IH1cbiAgfVxuICByZXR1cm4gYXMubGVuZ3RoIC0gYnMubGVuZ3RoO1xufVxuIl19