Skip to content

Commit 1b62fde

Browse files
fix: fallback to a default version when a spec version is not found (#5001)
1 parent f9452f3 commit 1b62fde

File tree

6 files changed

+14
-8
lines changed

6 files changed

+14
-8
lines changed

packages/apidom-ls/src/services/completion/completion-service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ export class DefaultCompletionService implements CompletionService {
412412
// if we cannot parse nothing to do
413413
if (api === undefined) return completionList;
414414
const docNs: string = contentLanguage.namespace;
415-
const specVersion = getSpecVersion(api);
415+
const specVersion = getSpecVersion(api, this.settings?.defaultContentLanguage?.version);
416416

417417
let targetOffset = textModified ? offset - 1 : offset;
418418
let emptyLine = false;

packages/apidom-ls/src/services/definition/definition-service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ export class DefaultDefinitionService implements DefinitionService {
8282
textDocument.getText(),
8383
this.settings?.defaultContentLanguage,
8484
);
85-
const specVersion = getSpecVersion(api);
85+
const specVersion = getSpecVersion(api, this.settings?.defaultContentLanguage?.version);
8686

8787
const format = contentLanguage.format ? contentLanguage.format.toLowerCase() : 'json';
8888
const mediaTypePrefix =

packages/apidom-ls/src/services/hover/hover-service.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ export class DefaultHoverService implements HoverService {
116116
if (api === undefined) return undefined;
117117
const docNs: string = (await findNamespace(text, this.settings?.defaultContentLanguage))
118118
.namespace;
119-
const specVersion = getSpecVersion(api);
119+
const specVersion = getSpecVersion(api, this.settings?.defaultContentLanguage?.version);
120120

121121
api.freeze(); // !! freeze and add parent !!
122122

@@ -186,7 +186,10 @@ export class DefaultHoverService implements HoverService {
186186
textDocument.getText(),
187187
this.settings?.defaultContentLanguage,
188188
);
189-
const nonStrictSpecVersion = getSpecVersion(api);
189+
const nonStrictSpecVersion = getSpecVersion(
190+
api,
191+
this.settings?.defaultContentLanguage?.version,
192+
);
190193

191194
const format = contentLanguage.format ? contentLanguage.format.toLowerCase() : 'json';
192195
const mediaTypePrefix =

packages/apidom-ls/src/services/links/links-service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ export class DefaultLinksService implements LinksService {
113113
const { api } = result;
114114

115115
if (api === undefined) return links;
116-
const specVersion = getSpecVersion(api);
116+
const specVersion = getSpecVersion(api, this.settings?.defaultContentLanguage?.version);
117117
debug('DefaultLinksService.doLinks ns', docNs, specVersion);
118118
const findLinks = (element: Element) => {
119119
const sm = getSourceMap(element);

packages/apidom-ls/src/services/validation/validation-service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -515,7 +515,7 @@ export class DefaultValidationService implements ValidationService {
515515
if (!result) return diagnostics;
516516
const { api } = result;
517517
if (api === undefined) return diagnostics;
518-
const specVersion = getSpecVersion(api);
518+
const specVersion = getSpecVersion(api, this.settings?.defaultContentLanguage?.version);
519519

520520
const hasSyntaxErrors = !!diagnostics.length;
521521

packages/apidom-ls/src/utils/utils.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,9 +166,12 @@ export function setMetadataMap(
166166
}
167167
}
168168

169-
export function getSpecVersion(root: Element): string {
169+
export function getSpecVersion(root: Element, defaultVersion?: string): string {
170170
const el = find((e) => toValue(e.getMetaProperty('classes', []).includes('spec-version')), root);
171-
return el ? toValue(el) : '';
171+
if (el) {
172+
return toValue(el);
173+
}
174+
return defaultVersion ?? '';
172175
}
173176

174177
// eslint-disable-next-line @typescript-eslint/no-unused-vars

0 commit comments

Comments
 (0)