All files / languages resolve-prefix-definition-service.ts

100% Statements 2/2
50% Branches 1/2
100% Functions 1/1
100% Lines 2/2

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19                        10x       10x    
import * as vscode from 'vscode';
import { container } from 'tsyringe';
import { ServiceToken } from '@src/services/tokens';
import { TurtlePrefixDefinitionService } from '@src/languages/turtle/services/turtle-prefix-definition-service';
 
/**
 * Resolves the prefix-definition service that matches a document's language. SPARQL
 * documents use the SPARQL-specific service; all other RDF documents use the Turtle one.
 * @param document The text document to resolve a service for.
 * @returns The matching prefix-definition service.
 */
export function resolvePrefixDefinitionService(document: vscode.TextDocument): TurtlePrefixDefinitionService {
	const token = document.languageId === 'sparql'
		? ServiceToken.SparqlPrefixDefinitionService
		: ServiceToken.TurtlePrefixDefinitionService;
 
	return container.resolve<TurtlePrefixDefinitionService>(token);
}