mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-28 12:33:35 +01:00
git: use simpler versioning scheme
This commit is contained in:
@@ -7,8 +7,19 @@
|
||||
|
||||
import { Model } from '../model';
|
||||
import { GitExtension, Repository, API } from './git';
|
||||
import { getAPI, deprecated } from './api';
|
||||
import { ApiRepository } from './api1';
|
||||
import { ApiRepository, ApiImpl } from './api1';
|
||||
|
||||
export function deprecated(target: any, key: string, descriptor: any): void {
|
||||
if (typeof descriptor.value !== 'function') {
|
||||
throw new Error('not supported');
|
||||
}
|
||||
|
||||
const fn = descriptor.value;
|
||||
descriptor.value = function () {
|
||||
console.warn(`Git extension API method '${key}' is deprecated.`);
|
||||
return fn.apply(this, arguments);
|
||||
};
|
||||
}
|
||||
|
||||
class NoModelGitExtension implements GitExtension {
|
||||
|
||||
@@ -41,8 +52,12 @@ class GitExtensionImpl implements GitExtension {
|
||||
return this._model.repositories.map(repository => new ApiRepository(repository));
|
||||
}
|
||||
|
||||
getAPI(range: string): API {
|
||||
return getAPI(this._model, range);
|
||||
getAPI(version: number): API {
|
||||
if (version !== 1) {
|
||||
throw new Error(`No API version ${version} found.`);
|
||||
}
|
||||
|
||||
return new ApiImpl(this._model);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user