73 lines
9.4 KiB
JavaScript
73 lines
9.4 KiB
JavaScript
"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
|