Skip to content

Commit d3bbd84

Browse files
committed
fix
1 parent d0f5d36 commit d3bbd84

1 file changed

Lines changed: 18 additions & 12 deletions

File tree

tools/proto-convert/src/VersionProcessor.ts

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,17 @@ export class VersionProcessor {
2323

2424

2525
process(currentVersion: string): OpenAPIV3.Document {
26-
this._target_version = currentVersion;
27-
this._logger.info(`Processing version constraints for OpenSearch ${currentVersion} ...`);
26+
const coerced = semver.coerce(currentVersion);
27+
this._target_version = coerced?.toString() || currentVersion;
28+
this._logger.info(`Processing version constraints for OpenSearch ${this._target_version} ...`);
29+
2830
deleteMatchingKeys(this._spec, (item: any) => {
2931
if (_.isObject(item) && this.#exclude_per_semver(item)) {
3032
return true;
3133
}
3234
return false;
3335
});
34-
this._logger.info('Version processing complete');
36+
3537
return this._spec;
3638
}
3739

@@ -42,19 +44,23 @@ export class VersionProcessor {
4244
const x_version_deprecated = semver.coerce(obj['x-version-deprecated'] as string)
4345
const x_version_removed = semver.coerce(obj['x-version-removed'] as string)
4446

45-
// If field was added in a future version, exclude it
46-
if (x_version_added !== null && x_version_added !== undefined && !semver.satisfies(this._target_version, `>=${x_version_added.toString()}`)) {
47-
return true
47+
if (x_version_added !== null) {
48+
if (semver.gt(x_version_added, this._target_version)) {
49+
return true
50+
}
4851
}
4952

50-
// If field was deprecated in current version or earlier, exclude it
51-
if (x_version_deprecated !== null && x_version_deprecated !== undefined && !semver.satisfies(this._target_version, `<${x_version_deprecated.toString()}`)) {
52-
return true
53+
54+
if (x_version_deprecated !== null) {
55+
if (semver.lte(x_version_deprecated, this._target_version)) {
56+
return true
57+
}
5358
}
5459

55-
// If field was removed in current version or earlier, exclude it
56-
if (x_version_removed !== null && x_version_removed !== undefined && !semver.satisfies(this._target_version, `<${x_version_removed.toString()}`)) {
57-
return true
60+
if (x_version_removed !== null) {
61+
if (semver.lte(x_version_removed, this._target_version)) {
62+
return true
63+
}
5864
}
5965

6066
return false

0 commit comments

Comments
 (0)