提交 990ef56f 编写于 作者: J Johannes Rieken

remove util duplication

上级 ac75e58f
......@@ -37,9 +37,7 @@ export function createNumberDictionary<V>(): INumberDictionary<V> {
* @param alternate A default value this is return in case an item with
* the key isn't found.
*/
export function lookup<T>(from: IStringDictionary<T>, what: string, alternate?: T): T;
export function lookup<T>(from: INumberDictionary<T>, what: number, alternate?: T): T;
export function lookup<T>(from: any, what: any, alternate: T = null): T {
export function lookup<T>(from: any, what: string|number, alternate: T = null): T {
const key = String(what);
if (contains(from, key)) {
return from[key];
......
......@@ -294,8 +294,3 @@ export function safeStringify(obj: any): string {
return value;
});
}
export function getOrDefault<T,R>(obj: T, fn: (obj: T) => R, defaultValue: R = null): R {
const result = fn(obj);
return typeof result === 'undefined' ? defaultValue : result;
}
\ No newline at end of file
......@@ -7,7 +7,8 @@ import { TPromise } from 'vs/base/common/winjs.base';
import { IExtension, IGalleryService, IGalleryVersion, IQueryOptions, IQueryResult } from 'vs/workbench/parts/extensions/common/extensions';
import { isUndefined } from 'vs/base/common/types';
import { IXHRResponse } from 'vs/base/common/http';
import { assign, getOrDefault } from 'vs/base/common/objects';
import { assign } from 'vs/base/common/objects';
import { lookup } from 'vs/base/common/collections';
import { IRequestService } from 'vs/platform/request/common/request';
import { IWorkspaceContextService } from 'vs/workbench/services/workspace/common/contextService';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
......@@ -279,8 +280,8 @@ export class GalleryService implements IGalleryService {
}
private _query(options: IQueryOptions = {}): TPromise<IQueryResult> {
const text = getOrDefault(options, o => o.text, '');
const pageSize = getOrDefault(options, o => o.pageSize, 30);
const text = lookup(options, 'text', '');
const pageSize = lookup(options, 'pageSize', 30);
let query = new Query()
.withFlags(Flags.IncludeVersions, Flags.IncludeCategoryAndTags, Flags.IncludeAssetUri, Flags.IncludeStatistics)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册