mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Update LKG
This commit is contained in:
Vendored
+779
-776
File diff suppressed because it is too large
Load Diff
Vendored
+779
-776
File diff suppressed because it is too large
Load Diff
Vendored
+779
-776
File diff suppressed because it is too large
Load Diff
Vendored
+779
-776
File diff suppressed because it is too large
Load Diff
Vendored
+779
-776
File diff suppressed because it is too large
Load Diff
Vendored
+779
-776
File diff suppressed because it is too large
Load Diff
Vendored
+91
-87
@@ -57,7 +57,7 @@ interface IDBIndexParameters {
|
||||
|
||||
interface IDBObjectStoreParameters {
|
||||
autoIncrement?: boolean;
|
||||
keyPath?: IDBKeyPath | null;
|
||||
keyPath?: string | string[];
|
||||
}
|
||||
|
||||
interface KeyAlgorithm {
|
||||
@@ -94,7 +94,7 @@ interface RequestInit {
|
||||
body?: any;
|
||||
cache?: RequestCache;
|
||||
credentials?: RequestCredentials;
|
||||
headers?: Headers | string[][];
|
||||
headers?: HeadersInit;
|
||||
integrity?: string;
|
||||
keepalive?: boolean;
|
||||
method?: string;
|
||||
@@ -106,7 +106,7 @@ interface RequestInit {
|
||||
}
|
||||
|
||||
interface ResponseInit {
|
||||
headers?: Headers | string[][];
|
||||
headers?: HeadersInit;
|
||||
status?: number;
|
||||
statusText?: string;
|
||||
}
|
||||
@@ -461,10 +461,10 @@ interface FileReader extends EventTarget, MSBaseReader {
|
||||
readAsBinaryString(blob: Blob): void;
|
||||
readAsDataURL(blob: Blob): void;
|
||||
readAsText(blob: Blob, encoding?: string): void;
|
||||
addEventListener<K extends keyof MSBaseReaderEventMap>(type: K, listener: (this: FileReader, ev: MSBaseReaderEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof MSBaseReaderEventMap>(type: K, listener: (this: FileReader, ev: MSBaseReaderEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof MSBaseReaderEventMap>(type: K, listener: (this: FileReader, ev: MSBaseReaderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof MSBaseReaderEventMap>(type: K, listener: (this: FileReader, ev: MSBaseReaderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
declare var FileReader: {
|
||||
@@ -492,7 +492,7 @@ interface Headers {
|
||||
|
||||
declare var Headers: {
|
||||
prototype: Headers;
|
||||
new(init?: Headers | string[][] | object): Headers;
|
||||
new(init?: HeadersInit): Headers;
|
||||
};
|
||||
|
||||
interface IDBCursor {
|
||||
@@ -544,11 +544,12 @@ interface IDBDatabase extends EventTarget {
|
||||
createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore;
|
||||
deleteObjectStore(name: string): void;
|
||||
transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction;
|
||||
addEventListener(type: "versionchange", listener: (ev: IDBVersionChangeEvent) => any, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener(type: "versionchange", listener: (this: IDBDatabase, ev: IDBVersionChangeEvent) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener(type: "versionchange", listener: (this: IDBDatabase, ev: IDBVersionChangeEvent) => any, options?: boolean | EventListenerOptions): void;
|
||||
addEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
declare var IDBDatabase: {
|
||||
@@ -632,10 +633,10 @@ interface IDBOpenDBRequestEventMap extends IDBRequestEventMap {
|
||||
interface IDBOpenDBRequest extends IDBRequest {
|
||||
onblocked: (this: IDBOpenDBRequest, ev: Event) => any;
|
||||
onupgradeneeded: (this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any;
|
||||
addEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
declare var IDBOpenDBRequest: {
|
||||
@@ -656,10 +657,10 @@ interface IDBRequest extends EventTarget {
|
||||
readonly result: any;
|
||||
source: IDBObjectStore | IDBIndex | IDBCursor;
|
||||
readonly transaction: IDBTransaction;
|
||||
addEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
declare var IDBRequest: {
|
||||
@@ -685,10 +686,10 @@ interface IDBTransaction extends EventTarget {
|
||||
readonly READ_ONLY: string;
|
||||
readonly READ_WRITE: string;
|
||||
readonly VERSION_CHANGE: string;
|
||||
addEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
declare var IDBTransaction: {
|
||||
@@ -753,10 +754,10 @@ interface MessagePort extends EventTarget {
|
||||
close(): void;
|
||||
postMessage(message?: any, transfer?: any[]): void;
|
||||
start(): void;
|
||||
addEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
declare var MessagePort: {
|
||||
@@ -784,10 +785,10 @@ interface Notification extends EventTarget {
|
||||
readonly tag: string;
|
||||
readonly title: string;
|
||||
close(): void;
|
||||
addEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
declare var Notification: {
|
||||
@@ -1014,10 +1015,10 @@ interface ServiceWorker extends EventTarget, AbstractWorker {
|
||||
readonly scriptURL: USVString;
|
||||
readonly state: ServiceWorkerState;
|
||||
postMessage(message: any, transfer?: any[]): void;
|
||||
addEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
declare var ServiceWorker: {
|
||||
@@ -1041,10 +1042,10 @@ interface ServiceWorkerRegistration extends EventTarget {
|
||||
showNotification(title: string, options?: NotificationOptions): Promise<void>;
|
||||
unregister(): Promise<boolean>;
|
||||
update(): Promise<void>;
|
||||
addEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
declare var ServiceWorkerRegistration: {
|
||||
@@ -1109,10 +1110,10 @@ interface WebSocket extends EventTarget {
|
||||
readonly CLOSING: number;
|
||||
readonly CONNECTING: number;
|
||||
readonly OPEN: number;
|
||||
addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
declare var WebSocket: {
|
||||
@@ -1132,10 +1133,10 @@ interface Worker extends EventTarget, AbstractWorker {
|
||||
onmessage: (this: Worker, ev: MessageEvent) => any;
|
||||
postMessage(message: any, transfer?: any[]): void;
|
||||
terminate(): void;
|
||||
addEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
declare var Worker: {
|
||||
@@ -1175,10 +1176,10 @@ interface XMLHttpRequest extends EventTarget, XMLHttpRequestEventTarget {
|
||||
readonly LOADING: number;
|
||||
readonly OPENED: number;
|
||||
readonly UNSENT: number;
|
||||
addEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
declare var XMLHttpRequest: {
|
||||
@@ -1192,10 +1193,10 @@ declare var XMLHttpRequest: {
|
||||
};
|
||||
|
||||
interface XMLHttpRequestUpload extends EventTarget, XMLHttpRequestEventTarget {
|
||||
addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
declare var XMLHttpRequestUpload: {
|
||||
@@ -1209,10 +1210,10 @@ interface AbstractWorkerEventMap {
|
||||
|
||||
interface AbstractWorker {
|
||||
onerror: (this: AbstractWorker, ev: ErrorEvent) => any;
|
||||
addEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
interface Body {
|
||||
@@ -1249,10 +1250,10 @@ interface MSBaseReader {
|
||||
readonly DONE: number;
|
||||
readonly EMPTY: number;
|
||||
readonly LOADING: number;
|
||||
addEventListener<K extends keyof MSBaseReaderEventMap>(type: K, listener: (this: MSBaseReader, ev: MSBaseReaderEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof MSBaseReaderEventMap>(type: K, listener: (this: MSBaseReader, ev: MSBaseReaderEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof MSBaseReaderEventMap>(type: K, listener: (this: MSBaseReader, ev: MSBaseReaderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof MSBaseReaderEventMap>(type: K, listener: (this: MSBaseReader, ev: MSBaseReaderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
interface NavigatorBeacon {
|
||||
@@ -1306,10 +1307,10 @@ interface XMLHttpRequestEventTarget {
|
||||
onloadstart: (this: XMLHttpRequest, ev: Event) => any;
|
||||
onprogress: (this: XMLHttpRequest, ev: ProgressEvent) => any;
|
||||
ontimeout: (this: XMLHttpRequest, ev: ProgressEvent) => any;
|
||||
addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
interface Client {
|
||||
@@ -1344,10 +1345,10 @@ interface DedicatedWorkerGlobalScope extends WorkerGlobalScope {
|
||||
onmessage: (this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any;
|
||||
close(): void;
|
||||
postMessage(message: any, transfer?: any[]): void;
|
||||
addEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
declare var DedicatedWorkerGlobalScope: {
|
||||
@@ -1457,10 +1458,10 @@ interface ServiceWorkerGlobalScope extends WorkerGlobalScope {
|
||||
onsync: (this: ServiceWorkerGlobalScope, ev: SyncEvent) => any;
|
||||
readonly registration: ServiceWorkerRegistration;
|
||||
skipWaiting(): Promise<void>;
|
||||
addEventListener<K extends keyof ServiceWorkerGlobalScopeEventMap>(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof ServiceWorkerGlobalScopeEventMap>(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof ServiceWorkerGlobalScopeEventMap>(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof ServiceWorkerGlobalScopeEventMap>(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
declare var ServiceWorkerGlobalScope: {
|
||||
@@ -1504,10 +1505,10 @@ interface WorkerGlobalScope extends EventTarget, WorkerUtils, WindowConsole, Glo
|
||||
msWriteProfilerMark(profilerMarkName: string): void;
|
||||
createImageBitmap(image: ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise<ImageBitmap>;
|
||||
createImageBitmap(image: ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise<ImageBitmap>;
|
||||
addEventListener<K extends keyof WorkerGlobalScopeEventMap>(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
removeEventListener<K extends keyof WorkerGlobalScopeEventMap>(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof WorkerGlobalScopeEventMap>(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof WorkerGlobalScopeEventMap>(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
declare var WorkerGlobalScope: {
|
||||
@@ -1564,8 +1565,10 @@ interface BroadcastChannel extends EventTarget {
|
||||
onmessageerror: (ev: MessageEvent) => any;
|
||||
close(): void;
|
||||
postMessage(message: any): void;
|
||||
addEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, useCapture?: boolean): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
addEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
removeEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
}
|
||||
|
||||
declare var BroadcastChannel: {
|
||||
@@ -1895,10 +1898,10 @@ declare function btoa(rawString: string): string;
|
||||
declare var console: Console;
|
||||
declare function fetch(input: RequestInfo, init?: RequestInit): Promise<Response>;
|
||||
declare function dispatchEvent(evt: Event): boolean;
|
||||
declare function addEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void;
|
||||
declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
declare function removeEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void;
|
||||
declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
|
||||
declare function addEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
||||
declare function removeEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
||||
declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
||||
type AlgorithmIdentifier = string | Algorithm;
|
||||
type BodyInit = any;
|
||||
type IDBKeyPath = string;
|
||||
@@ -1907,6 +1910,7 @@ type USVString = string;
|
||||
type IDBValidKey = number | string | Date | IDBArrayKey;
|
||||
type BufferSource = ArrayBuffer | ArrayBufferView;
|
||||
type FormDataEntryValue = string | File;
|
||||
type HeadersInit = Headers | string[][] | { [key: string]: string };
|
||||
type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique";
|
||||
type IDBRequestReadyState = "pending" | "done";
|
||||
type IDBTransactionMode = "readonly" | "readwrite" | "versionchange";
|
||||
|
||||
Vendored
+5
@@ -1207,6 +1207,11 @@ declare namespace ts.server.protocol {
|
||||
* Optional prefix to apply to possible completions.
|
||||
*/
|
||||
prefix?: string;
|
||||
/**
|
||||
* If enabled, TypeScript will search through all external modules' exports and add them to the completions list.
|
||||
* This affects lone identifier completions but not completions on the right hand side of `obj.`.
|
||||
*/
|
||||
includeExternalModuleExports: boolean;
|
||||
}
|
||||
/**
|
||||
* Completions request; value of command field is "completions".
|
||||
|
||||
+19
-4
@@ -152,7 +152,7 @@ var ts;
|
||||
var ts;
|
||||
(function (ts) {
|
||||
ts.versionMajorMinor = "2.6";
|
||||
ts.version = ts.versionMajorMinor + ".1";
|
||||
ts.version = ts.versionMajorMinor + ".2";
|
||||
})(ts || (ts = {}));
|
||||
(function (ts) {
|
||||
function isExternalModuleNameRelative(moduleName) {
|
||||
@@ -20836,18 +20836,21 @@ var ts;
|
||||
function createNodeBuilder() {
|
||||
return {
|
||||
typeToTypeNode: function (type, enclosingDeclaration, flags) {
|
||||
ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8) === 0);
|
||||
var context = createNodeBuilderContext(enclosingDeclaration, flags);
|
||||
var resultingNode = typeToTypeNodeHelper(type, context);
|
||||
var result = context.encounteredError ? undefined : resultingNode;
|
||||
return result;
|
||||
},
|
||||
indexInfoToIndexSignatureDeclaration: function (indexInfo, kind, enclosingDeclaration, flags) {
|
||||
ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8) === 0);
|
||||
var context = createNodeBuilderContext(enclosingDeclaration, flags);
|
||||
var resultingNode = indexInfoToIndexSignatureDeclarationHelper(indexInfo, kind, context);
|
||||
var result = context.encounteredError ? undefined : resultingNode;
|
||||
return result;
|
||||
},
|
||||
signatureToSignatureDeclaration: function (signature, kind, enclosingDeclaration, flags) {
|
||||
ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8) === 0);
|
||||
var context = createNodeBuilderContext(enclosingDeclaration, flags);
|
||||
var resultingNode = signatureToSignatureDeclarationHelper(signature, kind, context);
|
||||
var result = context.encounteredError ? undefined : resultingNode;
|
||||
@@ -59077,6 +59080,9 @@ var ts;
|
||||
function isNodeModulesDirectory(dirPath) {
|
||||
return ts.endsWith(dirPath, "/node_modules");
|
||||
}
|
||||
function isNodeModulesAtTypesDirectory(dirPath) {
|
||||
return ts.endsWith(dirPath, "/node_modules/@types");
|
||||
}
|
||||
function isDirectoryAtleastAtLevelFromFSRoot(dirPath, minLevels) {
|
||||
for (var searchIndex = ts.getRootLength(dirPath); minLevels > 0; minLevels--) {
|
||||
searchIndex = dirPath.indexOf(ts.directorySeparator, searchIndex) + 1;
|
||||
@@ -59258,10 +59264,19 @@ var ts;
|
||||
isChangedFailedLookupLocation = function (location) { return isInDirectoryPath(fileOrDirectoryPath, resolutionHost.toPath(location)); };
|
||||
}
|
||||
else {
|
||||
if (!isPathWithDefaultFailedLookupExtension(fileOrDirectoryPath) && !customFailedLookupPaths.has(fileOrDirectoryPath)) {
|
||||
return false;
|
||||
var dirOfFileOrDirectory = ts.getDirectoryPath(fileOrDirectoryPath);
|
||||
if (isNodeModulesAtTypesDirectory(dirOfFileOrDirectory) || isNodeModulesDirectory(dirOfFileOrDirectory)) {
|
||||
isChangedFailedLookupLocation = function (location) {
|
||||
var locationPath = resolutionHost.toPath(location);
|
||||
return locationPath === fileOrDirectoryPath || ts.startsWith(resolutionHost.toPath(location), fileOrDirectoryPath);
|
||||
};
|
||||
}
|
||||
else {
|
||||
if (!isPathWithDefaultFailedLookupExtension(fileOrDirectoryPath) && !customFailedLookupPaths.has(fileOrDirectoryPath)) {
|
||||
return false;
|
||||
}
|
||||
isChangedFailedLookupLocation = function (location) { return resolutionHost.toPath(location) === fileOrDirectoryPath; };
|
||||
}
|
||||
isChangedFailedLookupLocation = function (location) { return resolutionHost.toPath(location) === fileOrDirectoryPath; };
|
||||
}
|
||||
var hasChangedFailedLookupLocation = function (resolution) { return ts.some(resolution.failedLookupLocations, isChangedFailedLookupLocation); };
|
||||
var invalidatedFilesCount = filesWithInvalidatedResolutions && filesWithInvalidatedResolutions.size;
|
||||
|
||||
+115
-52
@@ -1177,7 +1177,7 @@ var ts;
|
||||
var ts;
|
||||
(function (ts) {
|
||||
ts.versionMajorMinor = "2.6";
|
||||
ts.version = ts.versionMajorMinor + ".1";
|
||||
ts.version = ts.versionMajorMinor + ".2";
|
||||
})(ts || (ts = {}));
|
||||
(function (ts) {
|
||||
function isExternalModuleNameRelative(moduleName) {
|
||||
@@ -22071,18 +22071,21 @@ var ts;
|
||||
function createNodeBuilder() {
|
||||
return {
|
||||
typeToTypeNode: function (type, enclosingDeclaration, flags) {
|
||||
ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8) === 0);
|
||||
var context = createNodeBuilderContext(enclosingDeclaration, flags);
|
||||
var resultingNode = typeToTypeNodeHelper(type, context);
|
||||
var result = context.encounteredError ? undefined : resultingNode;
|
||||
return result;
|
||||
},
|
||||
indexInfoToIndexSignatureDeclaration: function (indexInfo, kind, enclosingDeclaration, flags) {
|
||||
ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8) === 0);
|
||||
var context = createNodeBuilderContext(enclosingDeclaration, flags);
|
||||
var resultingNode = indexInfoToIndexSignatureDeclarationHelper(indexInfo, kind, context);
|
||||
var result = context.encounteredError ? undefined : resultingNode;
|
||||
return result;
|
||||
},
|
||||
signatureToSignatureDeclaration: function (signature, kind, enclosingDeclaration, flags) {
|
||||
ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8) === 0);
|
||||
var context = createNodeBuilderContext(enclosingDeclaration, flags);
|
||||
var resultingNode = signatureToSignatureDeclarationHelper(signature, kind, context);
|
||||
var result = context.encounteredError ? undefined : resultingNode;
|
||||
@@ -65050,14 +65053,14 @@ var ts;
|
||||
KeywordCompletionFilters[KeywordCompletionFilters["ClassElementKeywords"] = 1] = "ClassElementKeywords";
|
||||
KeywordCompletionFilters[KeywordCompletionFilters["ConstructorParameterKeywords"] = 2] = "ConstructorParameterKeywords";
|
||||
})(KeywordCompletionFilters || (KeywordCompletionFilters = {}));
|
||||
function getCompletionsAtPosition(host, typeChecker, log, compilerOptions, sourceFile, position, allSourceFiles) {
|
||||
function getCompletionsAtPosition(host, typeChecker, log, compilerOptions, sourceFile, position, allSourceFiles, options) {
|
||||
if (ts.isInReferenceComment(sourceFile, position)) {
|
||||
return Completions.PathCompletions.getTripleSlashReferenceCompletion(sourceFile, position, compilerOptions, host);
|
||||
}
|
||||
if (ts.isInString(sourceFile, position)) {
|
||||
return getStringLiteralCompletionEntries(sourceFile, position, typeChecker, compilerOptions, host, log);
|
||||
}
|
||||
var completionData = getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles);
|
||||
var completionData = getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles, options);
|
||||
if (!completionData) {
|
||||
return undefined;
|
||||
}
|
||||
@@ -65264,40 +65267,60 @@ var ts;
|
||||
}
|
||||
function getSymbolCompletionFromEntryId(typeChecker, log, compilerOptions, sourceFile, position, _a, allSourceFiles) {
|
||||
var name = _a.name, source = _a.source;
|
||||
var completionData = getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles);
|
||||
var completionData = getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles, { includeExternalModuleExports: true });
|
||||
if (!completionData) {
|
||||
return undefined;
|
||||
return { type: "none" };
|
||||
}
|
||||
var symbols = completionData.symbols, location = completionData.location, allowStringLiteral = completionData.allowStringLiteral, symbolToOriginInfoMap = completionData.symbolToOriginInfoMap, request = completionData.request;
|
||||
if (request) {
|
||||
return { type: "request", request: request };
|
||||
}
|
||||
var symbols = completionData.symbols, location = completionData.location, allowStringLiteral = completionData.allowStringLiteral, symbolToOriginInfoMap = completionData.symbolToOriginInfoMap;
|
||||
var symbol = ts.find(symbols, function (s) {
|
||||
return getCompletionEntryDisplayNameForSymbol(s, compilerOptions.target, false, allowStringLiteral) === name
|
||||
&& getSourceFromOrigin(symbolToOriginInfoMap[ts.getSymbolId(s)]) === source;
|
||||
});
|
||||
return symbol && { symbol: symbol, location: location, symbolToOriginInfoMap: symbolToOriginInfoMap };
|
||||
return symbol ? { type: "symbol", symbol: symbol, location: location, symbolToOriginInfoMap: symbolToOriginInfoMap } : { type: "none" };
|
||||
}
|
||||
function getCompletionEntryDetails(typeChecker, log, compilerOptions, sourceFile, position, entryId, allSourceFiles, host, rulesProvider) {
|
||||
var name = entryId.name, source = entryId.source;
|
||||
var symbolCompletion = getSymbolCompletionFromEntryId(typeChecker, log, compilerOptions, sourceFile, position, entryId, allSourceFiles);
|
||||
if (symbolCompletion) {
|
||||
var symbol = symbolCompletion.symbol, location = symbolCompletion.location, symbolToOriginInfoMap = symbolCompletion.symbolToOriginInfoMap;
|
||||
var codeActions = getCompletionEntryCodeActions(symbolToOriginInfoMap, symbol, typeChecker, host, compilerOptions, sourceFile, rulesProvider);
|
||||
var kindModifiers = ts.SymbolDisplay.getSymbolModifiers(symbol);
|
||||
var _a = ts.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker, symbol, sourceFile, location, location, 7), displayParts = _a.displayParts, documentation = _a.documentation, symbolKind = _a.symbolKind, tags = _a.tags;
|
||||
return { name: name, kindModifiers: kindModifiers, kind: symbolKind, displayParts: displayParts, documentation: documentation, tags: tags, codeActions: codeActions, source: source === undefined ? undefined : [ts.textPart(source)] };
|
||||
switch (symbolCompletion.type) {
|
||||
case "request": {
|
||||
var request = symbolCompletion.request;
|
||||
switch (request.kind) {
|
||||
case "JsDocTagName":
|
||||
return ts.JsDoc.getJSDocTagNameCompletionDetails(name);
|
||||
case "JsDocTag":
|
||||
return ts.JsDoc.getJSDocTagCompletionDetails(name);
|
||||
case "JsDocParameterName":
|
||||
return ts.JsDoc.getJSDocParameterNameCompletionDetails(name);
|
||||
default:
|
||||
return ts.Debug.assertNever(request);
|
||||
}
|
||||
}
|
||||
case "symbol": {
|
||||
var symbol = symbolCompletion.symbol, location = symbolCompletion.location, symbolToOriginInfoMap = symbolCompletion.symbolToOriginInfoMap;
|
||||
var codeActions = getCompletionEntryCodeActions(symbolToOriginInfoMap, symbol, typeChecker, host, compilerOptions, sourceFile, rulesProvider);
|
||||
var kindModifiers = ts.SymbolDisplay.getSymbolModifiers(symbol);
|
||||
var _a = ts.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker, symbol, sourceFile, location, location, 7), displayParts = _a.displayParts, documentation = _a.documentation, symbolKind = _a.symbolKind, tags = _a.tags;
|
||||
return { name: name, kindModifiers: kindModifiers, kind: symbolKind, displayParts: displayParts, documentation: documentation, tags: tags, codeActions: codeActions, source: source === undefined ? undefined : [ts.textPart(source)] };
|
||||
}
|
||||
case "none": {
|
||||
if (ts.some(getKeywordCompletions(0), function (c) { return c.name === name; })) {
|
||||
return {
|
||||
name: name,
|
||||
kind: "keyword",
|
||||
kindModifiers: "",
|
||||
displayParts: [ts.displayPart(name, ts.SymbolDisplayPartKind.keyword)],
|
||||
documentation: undefined,
|
||||
tags: undefined,
|
||||
codeActions: undefined,
|
||||
source: undefined,
|
||||
};
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
if (source === undefined && ts.some(getKeywordCompletions(0), function (c) { return c.name === name; })) {
|
||||
return {
|
||||
name: name,
|
||||
kind: "keyword",
|
||||
kindModifiers: "",
|
||||
displayParts: [ts.displayPart(name, ts.SymbolDisplayPartKind.keyword)],
|
||||
documentation: undefined,
|
||||
tags: undefined,
|
||||
codeActions: undefined,
|
||||
source: undefined,
|
||||
};
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
Completions.getCompletionEntryDetails = getCompletionEntryDetails;
|
||||
function getCompletionEntryCodeActions(symbolToOriginInfoMap, symbol, checker, host, compilerOptions, sourceFile, rulesProvider) {
|
||||
@@ -65321,10 +65344,10 @@ var ts;
|
||||
}
|
||||
function getCompletionEntrySymbol(typeChecker, log, compilerOptions, sourceFile, position, entryId, allSourceFiles) {
|
||||
var completion = getSymbolCompletionFromEntryId(typeChecker, log, compilerOptions, sourceFile, position, entryId, allSourceFiles);
|
||||
return completion && completion.symbol;
|
||||
return completion.type === "symbol" ? completion.symbol : undefined;
|
||||
}
|
||||
Completions.getCompletionEntrySymbol = getCompletionEntrySymbol;
|
||||
function getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles) {
|
||||
function getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles, options) {
|
||||
var isJavaScriptFile = ts.isSourceFileJavaScript(sourceFile);
|
||||
var request;
|
||||
var start = ts.timestamp();
|
||||
@@ -65366,7 +65389,7 @@ var ts;
|
||||
}
|
||||
if (request) {
|
||||
return {
|
||||
symbols: undefined,
|
||||
symbols: ts.emptyArray,
|
||||
isGlobalCompletion: false,
|
||||
isMemberCompletion: false,
|
||||
allowStringLiteral: false,
|
||||
@@ -65591,7 +65614,9 @@ var ts;
|
||||
}
|
||||
var symbolMeanings = 793064 | 107455 | 1920 | 2097152;
|
||||
symbols = typeChecker.getSymbolsInScope(scopeNode, symbolMeanings);
|
||||
getSymbolsFromOtherSourceFileExports(symbols, previousToken && ts.isIdentifier(previousToken) ? previousToken.text : "");
|
||||
if (options.includeExternalModuleExports) {
|
||||
getSymbolsFromOtherSourceFileExports(symbols, previousToken && ts.isIdentifier(previousToken) ? previousToken.text : "");
|
||||
}
|
||||
filterGlobalCompletion(symbols);
|
||||
return true;
|
||||
}
|
||||
@@ -69047,6 +69072,7 @@ var ts;
|
||||
}));
|
||||
}
|
||||
JsDoc.getJSDocTagNameCompletions = getJSDocTagNameCompletions;
|
||||
JsDoc.getJSDocTagNameCompletionDetails = getJSDocTagCompletionDetails;
|
||||
function getJSDocTagCompletions() {
|
||||
return jsDocTagCompletionEntries || (jsDocTagCompletionEntries = ts.map(jsDocTagNames, function (tagName) {
|
||||
return {
|
||||
@@ -69058,6 +69084,18 @@ var ts;
|
||||
}));
|
||||
}
|
||||
JsDoc.getJSDocTagCompletions = getJSDocTagCompletions;
|
||||
function getJSDocTagCompletionDetails(name) {
|
||||
return {
|
||||
name: name,
|
||||
kind: "",
|
||||
kindModifiers: "",
|
||||
displayParts: [ts.textPart(name)],
|
||||
documentation: ts.emptyArray,
|
||||
tags: ts.emptyArray,
|
||||
codeActions: undefined,
|
||||
};
|
||||
}
|
||||
JsDoc.getJSDocTagCompletionDetails = getJSDocTagCompletionDetails;
|
||||
function getJSDocParameterNameCompletions(tag) {
|
||||
if (!ts.isIdentifier(tag.name)) {
|
||||
return ts.emptyArray;
|
||||
@@ -69079,6 +69117,18 @@ var ts;
|
||||
});
|
||||
}
|
||||
JsDoc.getJSDocParameterNameCompletions = getJSDocParameterNameCompletions;
|
||||
function getJSDocParameterNameCompletionDetails(name) {
|
||||
return {
|
||||
name: name,
|
||||
kind: "parameter",
|
||||
kindModifiers: "",
|
||||
displayParts: [ts.textPart(name)],
|
||||
documentation: ts.emptyArray,
|
||||
tags: ts.emptyArray,
|
||||
codeActions: undefined,
|
||||
};
|
||||
}
|
||||
JsDoc.getJSDocParameterNameCompletionDetails = getJSDocParameterNameCompletionDetails;
|
||||
function getDocCommentTemplateAtPosition(newLine, sourceFile, position) {
|
||||
if (ts.isInString(sourceFile, position) || ts.isInComment(sourceFile, position) || ts.hasDocComment(sourceFile, position)) {
|
||||
return undefined;
|
||||
@@ -77996,7 +78046,7 @@ var ts;
|
||||
if (!isJS) {
|
||||
var type = checker.getTypeOfSymbolAtLocation(usage.symbol, usage.node);
|
||||
type = checker.getBaseTypeOfLiteralType(type);
|
||||
typeNode = checker.typeToTypeNode(type, node, ts.NodeBuilderFlags.NoTruncation);
|
||||
typeNode = checker.typeToTypeNode(type, scope, ts.NodeBuilderFlags.NoTruncation);
|
||||
}
|
||||
var paramDecl = ts.createParameter(undefined, undefined, undefined, name, undefined, typeNode);
|
||||
parameters.push(paramDecl);
|
||||
@@ -78862,7 +78912,7 @@ var ts;
|
||||
})(ts || (ts = {}));
|
||||
var ts;
|
||||
(function (ts) {
|
||||
ts.servicesVersion = "0.6";
|
||||
ts.servicesVersion = "0.7";
|
||||
var ruleProvider;
|
||||
function createNode(kind, pos, end, parent) {
|
||||
var node = ts.isNodeKind(kind) ? new NodeObject(kind, pos, end) :
|
||||
@@ -79772,9 +79822,10 @@ var ts;
|
||||
synchronizeHostData();
|
||||
return program.getOptionsDiagnostics(cancellationToken).concat(program.getGlobalDiagnostics(cancellationToken));
|
||||
}
|
||||
function getCompletionsAtPosition(fileName, position) {
|
||||
function getCompletionsAtPosition(fileName, position, options) {
|
||||
if (options === void 0) { options = { includeExternalModuleExports: false }; }
|
||||
synchronizeHostData();
|
||||
return ts.Completions.getCompletionsAtPosition(host, program.getTypeChecker(), log, program.getCompilerOptions(), getValidSourceFile(fileName), position, program.getSourceFiles());
|
||||
return ts.Completions.getCompletionsAtPosition(host, program.getTypeChecker(), log, program.getCompilerOptions(), getValidSourceFile(fileName), position, program.getSourceFiles(), options);
|
||||
}
|
||||
function getCompletionEntryDetails(fileName, position, name, formattingOptions, source) {
|
||||
synchronizeHostData();
|
||||
@@ -80778,9 +80829,9 @@ var ts;
|
||||
return ts.filter(results, function (r) { return ts.normalizeSlashes(r.fileName).toLowerCase() === normalizedName; });
|
||||
});
|
||||
};
|
||||
LanguageServiceShimObject.prototype.getCompletionsAtPosition = function (fileName, position) {
|
||||
LanguageServiceShimObject.prototype.getCompletionsAtPosition = function (fileName, position, options) {
|
||||
var _this = this;
|
||||
return this.forwardJSONCall("getCompletionsAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getCompletionsAtPosition(fileName, position); });
|
||||
return this.forwardJSONCall("getCompletionsAtPosition('" + fileName + "', " + position + ", " + options + ")", function () { return _this.languageService.getCompletionsAtPosition(fileName, position, options); });
|
||||
};
|
||||
LanguageServiceShimObject.prototype.getCompletionEntryDetails = function (fileName, position, entryName, options, source) {
|
||||
var _this = this;
|
||||
@@ -81373,6 +81424,7 @@ var ts;
|
||||
CommandTypes["Completions"] = "completions";
|
||||
CommandTypes["CompletionsFull"] = "completions-full";
|
||||
CommandTypes["CompletionDetails"] = "completionEntryDetails";
|
||||
CommandTypes["CompletionDetailsFull"] = "completionEntryDetailsFull";
|
||||
CommandTypes["CompileOnSaveAffectedFileList"] = "compileOnSaveAffectedFileList";
|
||||
CommandTypes["CompileOnSaveEmitFile"] = "compileOnSaveEmitFile";
|
||||
CommandTypes["Configure"] = "configure";
|
||||
@@ -82079,6 +82131,9 @@ var ts;
|
||||
function isNodeModulesDirectory(dirPath) {
|
||||
return ts.endsWith(dirPath, "/node_modules");
|
||||
}
|
||||
function isNodeModulesAtTypesDirectory(dirPath) {
|
||||
return ts.endsWith(dirPath, "/node_modules/@types");
|
||||
}
|
||||
function isDirectoryAtleastAtLevelFromFSRoot(dirPath, minLevels) {
|
||||
for (var searchIndex = ts.getRootLength(dirPath); minLevels > 0; minLevels--) {
|
||||
searchIndex = dirPath.indexOf(ts.directorySeparator, searchIndex) + 1;
|
||||
@@ -82260,10 +82315,19 @@ var ts;
|
||||
isChangedFailedLookupLocation = function (location) { return isInDirectoryPath(fileOrDirectoryPath, resolutionHost.toPath(location)); };
|
||||
}
|
||||
else {
|
||||
if (!isPathWithDefaultFailedLookupExtension(fileOrDirectoryPath) && !customFailedLookupPaths.has(fileOrDirectoryPath)) {
|
||||
return false;
|
||||
var dirOfFileOrDirectory = ts.getDirectoryPath(fileOrDirectoryPath);
|
||||
if (isNodeModulesAtTypesDirectory(dirOfFileOrDirectory) || isNodeModulesDirectory(dirOfFileOrDirectory)) {
|
||||
isChangedFailedLookupLocation = function (location) {
|
||||
var locationPath = resolutionHost.toPath(location);
|
||||
return locationPath === fileOrDirectoryPath || ts.startsWith(resolutionHost.toPath(location), fileOrDirectoryPath);
|
||||
};
|
||||
}
|
||||
else {
|
||||
if (!isPathWithDefaultFailedLookupExtension(fileOrDirectoryPath) && !customFailedLookupPaths.has(fileOrDirectoryPath)) {
|
||||
return false;
|
||||
}
|
||||
isChangedFailedLookupLocation = function (location) { return resolutionHost.toPath(location) === fileOrDirectoryPath; };
|
||||
}
|
||||
isChangedFailedLookupLocation = function (location) { return resolutionHost.toPath(location) === fileOrDirectoryPath; };
|
||||
}
|
||||
var hasChangedFailedLookupLocation = function (resolution) { return ts.some(resolution.failedLookupLocations, isChangedFailedLookupLocation); };
|
||||
var invalidatedFilesCount = filesWithInvalidatedResolutions && filesWithInvalidatedResolutions.size;
|
||||
@@ -85314,7 +85378,10 @@ var ts;
|
||||
return _this.requiredResponse(_this.getCompletions(request.arguments, false));
|
||||
},
|
||||
_a[server.CommandNames.CompletionDetails] = function (request) {
|
||||
return _this.requiredResponse(_this.getCompletionEntryDetails(request.arguments));
|
||||
return _this.requiredResponse(_this.getCompletionEntryDetails(request.arguments, true));
|
||||
},
|
||||
_a[server.CommandNames.CompletionDetailsFull] = function (request) {
|
||||
return _this.requiredResponse(_this.getCompletionEntryDetails(request.arguments, false));
|
||||
},
|
||||
_a[server.CommandNames.CompileOnSaveAffectedFileList] = function (request) {
|
||||
return _this.requiredResponse(_this.getCompileOnSaveAffectedFileList(request.arguments));
|
||||
@@ -86196,10 +86263,10 @@ var ts;
|
||||
var _a = this.getFileAndProject(args), file = _a.file, project = _a.project;
|
||||
var scriptInfo = this.projectService.getScriptInfoForNormalizedPath(file);
|
||||
var position = this.getPosition(args, scriptInfo);
|
||||
var completions = project.getLanguageService().getCompletionsAtPosition(file, position);
|
||||
var completions = project.getLanguageService().getCompletionsAtPosition(file, position, args);
|
||||
if (simplifiedResult) {
|
||||
return ts.mapDefined(completions && completions.entries, function (entry) {
|
||||
if (completions.isMemberCompletion || (entry.name.toLowerCase().indexOf(prefix.toLowerCase()) === 0)) {
|
||||
if (completions.isMemberCompletion || ts.startsWith(entry.name.toLowerCase(), prefix.toLowerCase())) {
|
||||
var name = entry.name, kind = entry.kind, kindModifiers = entry.kindModifiers, sortText = entry.sortText, replacementSpan = entry.replacementSpan, hasAction = entry.hasAction, source = entry.source;
|
||||
var convertedSpan = replacementSpan ? _this.decorateSpan(replacementSpan, scriptInfo) : undefined;
|
||||
return { name: name, kind: kind, kindModifiers: kindModifiers, sortText: sortText, replacementSpan: convertedSpan, hasAction: hasAction || undefined, source: source };
|
||||
@@ -86210,23 +86277,19 @@ var ts;
|
||||
return completions;
|
||||
}
|
||||
};
|
||||
Session.prototype.getCompletionEntryDetails = function (args) {
|
||||
Session.prototype.getCompletionEntryDetails = function (args, simplifiedResult) {
|
||||
var _this = this;
|
||||
var _a = this.getFileAndProject(args), file = _a.file, project = _a.project;
|
||||
var scriptInfo = this.projectService.getScriptInfoForNormalizedPath(file);
|
||||
var position = this.getPosition(args, scriptInfo);
|
||||
var formattingOptions = project.projectService.getFormatCodeOptions(file);
|
||||
return ts.mapDefined(args.entryNames, function (entryName) {
|
||||
var result = ts.mapDefined(args.entryNames, function (entryName) {
|
||||
var _a = typeof entryName === "string" ? { name: entryName, source: undefined } : entryName, name = _a.name, source = _a.source;
|
||||
var details = project.getLanguageService().getCompletionEntryDetails(file, position, name, formattingOptions, source);
|
||||
if (details) {
|
||||
var mappedCodeActions = ts.map(details.codeActions, function (action) { return _this.mapCodeAction(action, scriptInfo); });
|
||||
return __assign({}, details, { codeActions: mappedCodeActions });
|
||||
}
|
||||
else {
|
||||
return undefined;
|
||||
}
|
||||
return project.getLanguageService().getCompletionEntryDetails(file, position, name, formattingOptions, source);
|
||||
});
|
||||
return simplifiedResult
|
||||
? result.map(function (details) { return (__assign({}, details, { codeActions: ts.map(details.codeActions, function (action) { return _this.mapCodeAction(action, scriptInfo); }) })); })
|
||||
: result;
|
||||
};
|
||||
Session.prototype.getCompileOnSaveAffectedFileList = function (args) {
|
||||
var info = this.projectService.getScriptInfoEnsuringProjectsUptoDate(args.file);
|
||||
|
||||
Vendored
+11
-3
@@ -3914,7 +3914,7 @@ declare namespace ts {
|
||||
getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[];
|
||||
getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications;
|
||||
getEncodedSemanticClassifications(fileName: string, span: TextSpan): Classifications;
|
||||
getCompletionsAtPosition(fileName: string, position: number): CompletionInfo;
|
||||
getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined): CompletionInfo;
|
||||
getCompletionEntryDetails(fileName: string, position: number, name: string, options: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined): CompletionEntryDetails;
|
||||
getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): Symbol;
|
||||
getQuickInfoAtPosition(fileName: string, position: number): QuickInfo;
|
||||
@@ -3952,6 +3952,9 @@ declare namespace ts {
|
||||
getProgram(): Program;
|
||||
dispose(): void;
|
||||
}
|
||||
interface GetCompletionsAtPositionOptions {
|
||||
includeExternalModuleExports: boolean;
|
||||
}
|
||||
interface ApplyCodeActionCommandResult {
|
||||
successMessage: string;
|
||||
}
|
||||
@@ -4598,7 +4601,7 @@ declare namespace ts {
|
||||
}
|
||||
declare namespace ts {
|
||||
/** The version of the language service API */
|
||||
const servicesVersion = "0.6";
|
||||
const servicesVersion = "0.7";
|
||||
interface DisplayPartsSymbolWriter extends SymbolWriter {
|
||||
displayParts(): SymbolDisplayPart[];
|
||||
}
|
||||
@@ -6015,6 +6018,11 @@ declare namespace ts.server.protocol {
|
||||
* Optional prefix to apply to possible completions.
|
||||
*/
|
||||
prefix?: string;
|
||||
/**
|
||||
* If enabled, TypeScript will search through all external modules' exports and add them to the completions list.
|
||||
* This affects lone identifier completions but not completions on the right hand side of `obj.`.
|
||||
*/
|
||||
includeExternalModuleExports: boolean;
|
||||
}
|
||||
/**
|
||||
* Completions request; value of command field is "completions".
|
||||
@@ -6961,7 +6969,7 @@ declare namespace ts.server {
|
||||
private getFormattingEditsAfterKeystrokeFull(args);
|
||||
private getFormattingEditsAfterKeystroke(args);
|
||||
private getCompletions(args, simplifiedResult);
|
||||
private getCompletionEntryDetails(args);
|
||||
private getCompletionEntryDetails(args, simplifiedResult);
|
||||
private getCompileOnSaveAffectedFileList(args);
|
||||
private emitFile(args);
|
||||
private getSignatureHelpItems(args, simplifiedResult);
|
||||
|
||||
+119
-54
@@ -1363,7 +1363,7 @@ var ts;
|
||||
// If changing the text in this section, be sure to test `configureNightly` too.
|
||||
ts.versionMajorMinor = "2.6";
|
||||
/** The version of the TypeScript compiler release */
|
||||
ts.version = ts.versionMajorMinor + ".1";
|
||||
ts.version = ts.versionMajorMinor + ".2";
|
||||
})(ts || (ts = {}));
|
||||
(function (ts) {
|
||||
function isExternalModuleNameRelative(moduleName) {
|
||||
@@ -27775,18 +27775,21 @@ var ts;
|
||||
function createNodeBuilder() {
|
||||
return {
|
||||
typeToTypeNode: function (type, enclosingDeclaration, flags) {
|
||||
ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8 /* Synthesized */) === 0);
|
||||
var context = createNodeBuilderContext(enclosingDeclaration, flags);
|
||||
var resultingNode = typeToTypeNodeHelper(type, context);
|
||||
var result = context.encounteredError ? undefined : resultingNode;
|
||||
return result;
|
||||
},
|
||||
indexInfoToIndexSignatureDeclaration: function (indexInfo, kind, enclosingDeclaration, flags) {
|
||||
ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8 /* Synthesized */) === 0);
|
||||
var context = createNodeBuilderContext(enclosingDeclaration, flags);
|
||||
var resultingNode = indexInfoToIndexSignatureDeclarationHelper(indexInfo, kind, context);
|
||||
var result = context.encounteredError ? undefined : resultingNode;
|
||||
return result;
|
||||
},
|
||||
signatureToSignatureDeclaration: function (signature, kind, enclosingDeclaration, flags) {
|
||||
ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8 /* Synthesized */) === 0);
|
||||
var context = createNodeBuilderContext(enclosingDeclaration, flags);
|
||||
var resultingNode = signatureToSignatureDeclarationHelper(signature, kind, context);
|
||||
var result = context.encounteredError ? undefined : resultingNode;
|
||||
@@ -78943,14 +78946,14 @@ var ts;
|
||||
KeywordCompletionFilters[KeywordCompletionFilters["ClassElementKeywords"] = 1] = "ClassElementKeywords";
|
||||
KeywordCompletionFilters[KeywordCompletionFilters["ConstructorParameterKeywords"] = 2] = "ConstructorParameterKeywords";
|
||||
})(KeywordCompletionFilters || (KeywordCompletionFilters = {}));
|
||||
function getCompletionsAtPosition(host, typeChecker, log, compilerOptions, sourceFile, position, allSourceFiles) {
|
||||
function getCompletionsAtPosition(host, typeChecker, log, compilerOptions, sourceFile, position, allSourceFiles, options) {
|
||||
if (ts.isInReferenceComment(sourceFile, position)) {
|
||||
return Completions.PathCompletions.getTripleSlashReferenceCompletion(sourceFile, position, compilerOptions, host);
|
||||
}
|
||||
if (ts.isInString(sourceFile, position)) {
|
||||
return getStringLiteralCompletionEntries(sourceFile, position, typeChecker, compilerOptions, host, log);
|
||||
}
|
||||
var completionData = getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles);
|
||||
var completionData = getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles, options);
|
||||
if (!completionData) {
|
||||
return undefined;
|
||||
}
|
||||
@@ -79216,11 +79219,14 @@ var ts;
|
||||
}
|
||||
function getSymbolCompletionFromEntryId(typeChecker, log, compilerOptions, sourceFile, position, _a, allSourceFiles) {
|
||||
var name = _a.name, source = _a.source;
|
||||
var completionData = getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles);
|
||||
var completionData = getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles, { includeExternalModuleExports: true });
|
||||
if (!completionData) {
|
||||
return undefined;
|
||||
return { type: "none" };
|
||||
}
|
||||
var symbols = completionData.symbols, location = completionData.location, allowStringLiteral = completionData.allowStringLiteral, symbolToOriginInfoMap = completionData.symbolToOriginInfoMap, request = completionData.request;
|
||||
if (request) {
|
||||
return { type: "request", request: request };
|
||||
}
|
||||
var symbols = completionData.symbols, location = completionData.location, allowStringLiteral = completionData.allowStringLiteral, symbolToOriginInfoMap = completionData.symbolToOriginInfoMap;
|
||||
// Find the symbol with the matching entry name.
|
||||
// We don't need to perform character checks here because we're only comparing the
|
||||
// name against 'entryName' (which is known to be good), not building a new
|
||||
@@ -79229,33 +79235,50 @@ var ts;
|
||||
return getCompletionEntryDisplayNameForSymbol(s, compilerOptions.target, /*performCharacterChecks*/ false, allowStringLiteral) === name
|
||||
&& getSourceFromOrigin(symbolToOriginInfoMap[ts.getSymbolId(s)]) === source;
|
||||
});
|
||||
return symbol && { symbol: symbol, location: location, symbolToOriginInfoMap: symbolToOriginInfoMap };
|
||||
return symbol ? { type: "symbol", symbol: symbol, location: location, symbolToOriginInfoMap: symbolToOriginInfoMap } : { type: "none" };
|
||||
}
|
||||
function getCompletionEntryDetails(typeChecker, log, compilerOptions, sourceFile, position, entryId, allSourceFiles, host, rulesProvider) {
|
||||
var name = entryId.name, source = entryId.source;
|
||||
// Compute all the completion symbols again.
|
||||
var symbolCompletion = getSymbolCompletionFromEntryId(typeChecker, log, compilerOptions, sourceFile, position, entryId, allSourceFiles);
|
||||
if (symbolCompletion) {
|
||||
var symbol = symbolCompletion.symbol, location = symbolCompletion.location, symbolToOriginInfoMap = symbolCompletion.symbolToOriginInfoMap;
|
||||
var codeActions = getCompletionEntryCodeActions(symbolToOriginInfoMap, symbol, typeChecker, host, compilerOptions, sourceFile, rulesProvider);
|
||||
var kindModifiers = ts.SymbolDisplay.getSymbolModifiers(symbol);
|
||||
var _a = ts.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker, symbol, sourceFile, location, location, 7 /* All */), displayParts = _a.displayParts, documentation = _a.documentation, symbolKind = _a.symbolKind, tags = _a.tags;
|
||||
return { name: name, kindModifiers: kindModifiers, kind: symbolKind, displayParts: displayParts, documentation: documentation, tags: tags, codeActions: codeActions, source: source === undefined ? undefined : [ts.textPart(source)] };
|
||||
switch (symbolCompletion.type) {
|
||||
case "request": {
|
||||
var request = symbolCompletion.request;
|
||||
switch (request.kind) {
|
||||
case "JsDocTagName":
|
||||
return ts.JsDoc.getJSDocTagNameCompletionDetails(name);
|
||||
case "JsDocTag":
|
||||
return ts.JsDoc.getJSDocTagCompletionDetails(name);
|
||||
case "JsDocParameterName":
|
||||
return ts.JsDoc.getJSDocParameterNameCompletionDetails(name);
|
||||
default:
|
||||
return ts.Debug.assertNever(request);
|
||||
}
|
||||
}
|
||||
case "symbol": {
|
||||
var symbol = symbolCompletion.symbol, location = symbolCompletion.location, symbolToOriginInfoMap = symbolCompletion.symbolToOriginInfoMap;
|
||||
var codeActions = getCompletionEntryCodeActions(symbolToOriginInfoMap, symbol, typeChecker, host, compilerOptions, sourceFile, rulesProvider);
|
||||
var kindModifiers = ts.SymbolDisplay.getSymbolModifiers(symbol);
|
||||
var _a = ts.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker, symbol, sourceFile, location, location, 7 /* All */), displayParts = _a.displayParts, documentation = _a.documentation, symbolKind = _a.symbolKind, tags = _a.tags;
|
||||
return { name: name, kindModifiers: kindModifiers, kind: symbolKind, displayParts: displayParts, documentation: documentation, tags: tags, codeActions: codeActions, source: source === undefined ? undefined : [ts.textPart(source)] };
|
||||
}
|
||||
case "none": {
|
||||
// Didn't find a symbol with this name. See if we can find a keyword instead.
|
||||
if (ts.some(getKeywordCompletions(0 /* None */), function (c) { return c.name === name; })) {
|
||||
return {
|
||||
name: name,
|
||||
kind: "keyword" /* keyword */,
|
||||
kindModifiers: "" /* none */,
|
||||
displayParts: [ts.displayPart(name, ts.SymbolDisplayPartKind.keyword)],
|
||||
documentation: undefined,
|
||||
tags: undefined,
|
||||
codeActions: undefined,
|
||||
source: undefined,
|
||||
};
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
// Didn't find a symbol with this name. See if we can find a keyword instead.
|
||||
if (source === undefined && ts.some(getKeywordCompletions(0 /* None */), function (c) { return c.name === name; })) {
|
||||
return {
|
||||
name: name,
|
||||
kind: "keyword" /* keyword */,
|
||||
kindModifiers: "" /* none */,
|
||||
displayParts: [ts.displayPart(name, ts.SymbolDisplayPartKind.keyword)],
|
||||
documentation: undefined,
|
||||
tags: undefined,
|
||||
codeActions: undefined,
|
||||
source: undefined,
|
||||
};
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
Completions.getCompletionEntryDetails = getCompletionEntryDetails;
|
||||
function getCompletionEntryCodeActions(symbolToOriginInfoMap, symbol, checker, host, compilerOptions, sourceFile, rulesProvider) {
|
||||
@@ -79279,10 +79302,10 @@ var ts;
|
||||
}
|
||||
function getCompletionEntrySymbol(typeChecker, log, compilerOptions, sourceFile, position, entryId, allSourceFiles) {
|
||||
var completion = getSymbolCompletionFromEntryId(typeChecker, log, compilerOptions, sourceFile, position, entryId, allSourceFiles);
|
||||
return completion && completion.symbol;
|
||||
return completion.type === "symbol" ? completion.symbol : undefined;
|
||||
}
|
||||
Completions.getCompletionEntrySymbol = getCompletionEntrySymbol;
|
||||
function getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles) {
|
||||
function getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles, options) {
|
||||
var isJavaScriptFile = ts.isSourceFileJavaScript(sourceFile);
|
||||
var request;
|
||||
var start = ts.timestamp();
|
||||
@@ -79348,7 +79371,7 @@ var ts;
|
||||
}
|
||||
if (request) {
|
||||
return {
|
||||
symbols: undefined,
|
||||
symbols: ts.emptyArray,
|
||||
isGlobalCompletion: false,
|
||||
isMemberCompletion: false,
|
||||
allowStringLiteral: false,
|
||||
@@ -79637,7 +79660,9 @@ var ts;
|
||||
}
|
||||
var symbolMeanings = 793064 /* Type */ | 107455 /* Value */ | 1920 /* Namespace */ | 2097152 /* Alias */;
|
||||
symbols = typeChecker.getSymbolsInScope(scopeNode, symbolMeanings);
|
||||
getSymbolsFromOtherSourceFileExports(symbols, previousToken && ts.isIdentifier(previousToken) ? previousToken.text : "");
|
||||
if (options.includeExternalModuleExports) {
|
||||
getSymbolsFromOtherSourceFileExports(symbols, previousToken && ts.isIdentifier(previousToken) ? previousToken.text : "");
|
||||
}
|
||||
filterGlobalCompletion(symbols);
|
||||
return true;
|
||||
}
|
||||
@@ -83724,6 +83749,7 @@ var ts;
|
||||
}));
|
||||
}
|
||||
JsDoc.getJSDocTagNameCompletions = getJSDocTagNameCompletions;
|
||||
JsDoc.getJSDocTagNameCompletionDetails = getJSDocTagCompletionDetails;
|
||||
function getJSDocTagCompletions() {
|
||||
return jsDocTagCompletionEntries || (jsDocTagCompletionEntries = ts.map(jsDocTagNames, function (tagName) {
|
||||
return {
|
||||
@@ -83735,6 +83761,18 @@ var ts;
|
||||
}));
|
||||
}
|
||||
JsDoc.getJSDocTagCompletions = getJSDocTagCompletions;
|
||||
function getJSDocTagCompletionDetails(name) {
|
||||
return {
|
||||
name: name,
|
||||
kind: "" /* unknown */,
|
||||
kindModifiers: "",
|
||||
displayParts: [ts.textPart(name)],
|
||||
documentation: ts.emptyArray,
|
||||
tags: ts.emptyArray,
|
||||
codeActions: undefined,
|
||||
};
|
||||
}
|
||||
JsDoc.getJSDocTagCompletionDetails = getJSDocTagCompletionDetails;
|
||||
function getJSDocParameterNameCompletions(tag) {
|
||||
if (!ts.isIdentifier(tag.name)) {
|
||||
return ts.emptyArray;
|
||||
@@ -83756,6 +83794,18 @@ var ts;
|
||||
});
|
||||
}
|
||||
JsDoc.getJSDocParameterNameCompletions = getJSDocParameterNameCompletions;
|
||||
function getJSDocParameterNameCompletionDetails(name) {
|
||||
return {
|
||||
name: name,
|
||||
kind: "parameter" /* parameterElement */,
|
||||
kindModifiers: "",
|
||||
displayParts: [ts.textPart(name)],
|
||||
documentation: ts.emptyArray,
|
||||
tags: ts.emptyArray,
|
||||
codeActions: undefined,
|
||||
};
|
||||
}
|
||||
JsDoc.getJSDocParameterNameCompletionDetails = getJSDocParameterNameCompletionDetails;
|
||||
/**
|
||||
* Checks if position points to a valid position to add JSDoc comments, and if so,
|
||||
* returns the appropriate template. Otherwise returns an empty string.
|
||||
@@ -94080,7 +94130,7 @@ var ts;
|
||||
var type = checker.getTypeOfSymbolAtLocation(usage.symbol, usage.node);
|
||||
// Widen the type so we don't emit nonsense annotations like "function fn(x: 3) {"
|
||||
type = checker.getBaseTypeOfLiteralType(type);
|
||||
typeNode = checker.typeToTypeNode(type, node, ts.NodeBuilderFlags.NoTruncation);
|
||||
typeNode = checker.typeToTypeNode(type, scope, ts.NodeBuilderFlags.NoTruncation);
|
||||
}
|
||||
var paramDecl = ts.createParameter(
|
||||
/*decorators*/ undefined,
|
||||
@@ -95135,7 +95185,7 @@ var ts;
|
||||
var ts;
|
||||
(function (ts) {
|
||||
/** The version of the language service API */
|
||||
ts.servicesVersion = "0.6";
|
||||
ts.servicesVersion = "0.7";
|
||||
/* @internal */
|
||||
var ruleProvider;
|
||||
function createNode(kind, pos, end, parent) {
|
||||
@@ -96154,9 +96204,10 @@ var ts;
|
||||
synchronizeHostData();
|
||||
return program.getOptionsDiagnostics(cancellationToken).concat(program.getGlobalDiagnostics(cancellationToken));
|
||||
}
|
||||
function getCompletionsAtPosition(fileName, position) {
|
||||
function getCompletionsAtPosition(fileName, position, options) {
|
||||
if (options === void 0) { options = { includeExternalModuleExports: false }; }
|
||||
synchronizeHostData();
|
||||
return ts.Completions.getCompletionsAtPosition(host, program.getTypeChecker(), log, program.getCompilerOptions(), getValidSourceFile(fileName), position, program.getSourceFiles());
|
||||
return ts.Completions.getCompletionsAtPosition(host, program.getTypeChecker(), log, program.getCompilerOptions(), getValidSourceFile(fileName), position, program.getSourceFiles(), options);
|
||||
}
|
||||
function getCompletionEntryDetails(fileName, position, name, formattingOptions, source) {
|
||||
synchronizeHostData();
|
||||
@@ -97247,6 +97298,8 @@ var ts;
|
||||
/* @internal */
|
||||
CommandTypes["CompletionsFull"] = "completions-full";
|
||||
CommandTypes["CompletionDetails"] = "completionEntryDetails";
|
||||
/* @internal */
|
||||
CommandTypes["CompletionDetailsFull"] = "completionEntryDetailsFull";
|
||||
CommandTypes["CompileOnSaveAffectedFileList"] = "compileOnSaveAffectedFileList";
|
||||
CommandTypes["CompileOnSaveEmitFile"] = "compileOnSaveEmitFile";
|
||||
CommandTypes["Configure"] = "configure";
|
||||
@@ -97694,7 +97747,10 @@ var ts;
|
||||
return _this.requiredResponse(_this.getCompletions(request.arguments, /*simplifiedResult*/ false));
|
||||
},
|
||||
_a[server.CommandNames.CompletionDetails] = function (request) {
|
||||
return _this.requiredResponse(_this.getCompletionEntryDetails(request.arguments));
|
||||
return _this.requiredResponse(_this.getCompletionEntryDetails(request.arguments, /*simplifiedResult*/ true));
|
||||
},
|
||||
_a[server.CommandNames.CompletionDetailsFull] = function (request) {
|
||||
return _this.requiredResponse(_this.getCompletionEntryDetails(request.arguments, /*simplifiedResult*/ false));
|
||||
},
|
||||
_a[server.CommandNames.CompileOnSaveAffectedFileList] = function (request) {
|
||||
return _this.requiredResponse(_this.getCompileOnSaveAffectedFileList(request.arguments));
|
||||
@@ -98605,10 +98661,10 @@ var ts;
|
||||
var _a = this.getFileAndProject(args), file = _a.file, project = _a.project;
|
||||
var scriptInfo = this.projectService.getScriptInfoForNormalizedPath(file);
|
||||
var position = this.getPosition(args, scriptInfo);
|
||||
var completions = project.getLanguageService().getCompletionsAtPosition(file, position);
|
||||
var completions = project.getLanguageService().getCompletionsAtPosition(file, position, args);
|
||||
if (simplifiedResult) {
|
||||
return ts.mapDefined(completions && completions.entries, function (entry) {
|
||||
if (completions.isMemberCompletion || (entry.name.toLowerCase().indexOf(prefix.toLowerCase()) === 0)) {
|
||||
if (completions.isMemberCompletion || ts.startsWith(entry.name.toLowerCase(), prefix.toLowerCase())) {
|
||||
var name = entry.name, kind = entry.kind, kindModifiers = entry.kindModifiers, sortText = entry.sortText, replacementSpan = entry.replacementSpan, hasAction = entry.hasAction, source = entry.source;
|
||||
var convertedSpan = replacementSpan ? _this.decorateSpan(replacementSpan, scriptInfo) : undefined;
|
||||
// Use `hasAction || undefined` to avoid serializing `false`.
|
||||
@@ -98620,23 +98676,19 @@ var ts;
|
||||
return completions;
|
||||
}
|
||||
};
|
||||
Session.prototype.getCompletionEntryDetails = function (args) {
|
||||
Session.prototype.getCompletionEntryDetails = function (args, simplifiedResult) {
|
||||
var _this = this;
|
||||
var _a = this.getFileAndProject(args), file = _a.file, project = _a.project;
|
||||
var scriptInfo = this.projectService.getScriptInfoForNormalizedPath(file);
|
||||
var position = this.getPosition(args, scriptInfo);
|
||||
var formattingOptions = project.projectService.getFormatCodeOptions(file);
|
||||
return ts.mapDefined(args.entryNames, function (entryName) {
|
||||
var result = ts.mapDefined(args.entryNames, function (entryName) {
|
||||
var _a = typeof entryName === "string" ? { name: entryName, source: undefined } : entryName, name = _a.name, source = _a.source;
|
||||
var details = project.getLanguageService().getCompletionEntryDetails(file, position, name, formattingOptions, source);
|
||||
if (details) {
|
||||
var mappedCodeActions = ts.map(details.codeActions, function (action) { return _this.mapCodeAction(action, scriptInfo); });
|
||||
return __assign({}, details, { codeActions: mappedCodeActions });
|
||||
}
|
||||
else {
|
||||
return undefined;
|
||||
}
|
||||
return project.getLanguageService().getCompletionEntryDetails(file, position, name, formattingOptions, source);
|
||||
});
|
||||
return simplifiedResult
|
||||
? result.map(function (details) { return (__assign({}, details, { codeActions: ts.map(details.codeActions, function (action) { return _this.mapCodeAction(action, scriptInfo); }) })); })
|
||||
: result;
|
||||
};
|
||||
Session.prototype.getCompileOnSaveAffectedFileList = function (args) {
|
||||
var info = this.projectService.getScriptInfoEnsuringProjectsUptoDate(args.file);
|
||||
@@ -100613,6 +100665,9 @@ var ts;
|
||||
function isNodeModulesDirectory(dirPath) {
|
||||
return ts.endsWith(dirPath, "/node_modules");
|
||||
}
|
||||
function isNodeModulesAtTypesDirectory(dirPath) {
|
||||
return ts.endsWith(dirPath, "/node_modules/@types");
|
||||
}
|
||||
function isDirectoryAtleastAtLevelFromFSRoot(dirPath, minLevels) {
|
||||
for (var searchIndex = ts.getRootLength(dirPath); minLevels > 0; minLevels--) {
|
||||
searchIndex = dirPath.indexOf(ts.directorySeparator, searchIndex) + 1;
|
||||
@@ -100825,11 +100880,21 @@ var ts;
|
||||
else {
|
||||
// Some file or directory in the watching directory is created
|
||||
// Return early if it does not have any of the watching extension or not the custom failed lookup path
|
||||
if (!isPathWithDefaultFailedLookupExtension(fileOrDirectoryPath) && !customFailedLookupPaths.has(fileOrDirectoryPath)) {
|
||||
return false;
|
||||
var dirOfFileOrDirectory = ts.getDirectoryPath(fileOrDirectoryPath);
|
||||
if (isNodeModulesAtTypesDirectory(dirOfFileOrDirectory) || isNodeModulesDirectory(dirOfFileOrDirectory)) {
|
||||
// Invalidate any resolution from this directory
|
||||
isChangedFailedLookupLocation = function (location) {
|
||||
var locationPath = resolutionHost.toPath(location);
|
||||
return locationPath === fileOrDirectoryPath || ts.startsWith(resolutionHost.toPath(location), fileOrDirectoryPath);
|
||||
};
|
||||
}
|
||||
else {
|
||||
if (!isPathWithDefaultFailedLookupExtension(fileOrDirectoryPath) && !customFailedLookupPaths.has(fileOrDirectoryPath)) {
|
||||
return false;
|
||||
}
|
||||
// Resolution need to be invalidated if failed lookup location is same as the file or directory getting created
|
||||
isChangedFailedLookupLocation = function (location) { return resolutionHost.toPath(location) === fileOrDirectoryPath; };
|
||||
}
|
||||
// Resolution need to be invalidated if failed lookup location is same as the file or directory getting created
|
||||
isChangedFailedLookupLocation = function (location) { return resolutionHost.toPath(location) === fileOrDirectoryPath; };
|
||||
}
|
||||
var hasChangedFailedLookupLocation = function (resolution) { return ts.some(resolution.failedLookupLocations, isChangedFailedLookupLocation); };
|
||||
var invalidatedFilesCount = filesWithInvalidatedResolutions && filesWithInvalidatedResolutions.size;
|
||||
@@ -104639,9 +104704,9 @@ var ts;
|
||||
* to provide at the given source position and providing a member completion
|
||||
* list if requested.
|
||||
*/
|
||||
LanguageServiceShimObject.prototype.getCompletionsAtPosition = function (fileName, position) {
|
||||
LanguageServiceShimObject.prototype.getCompletionsAtPosition = function (fileName, position, options) {
|
||||
var _this = this;
|
||||
return this.forwardJSONCall("getCompletionsAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getCompletionsAtPosition(fileName, position); });
|
||||
return this.forwardJSONCall("getCompletionsAtPosition('" + fileName + "', " + position + ", " + options + ")", function () { return _this.languageService.getCompletionsAtPosition(fileName, position, options); });
|
||||
};
|
||||
/** Get a string based representation of a completion list entry details */
|
||||
LanguageServiceShimObject.prototype.getCompletionEntryDetails = function (fileName, position, entryName, options /*Services.FormatCodeOptions*/, source) {
|
||||
|
||||
Vendored
+5
-2
@@ -3914,7 +3914,7 @@ declare namespace ts {
|
||||
getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[];
|
||||
getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications;
|
||||
getEncodedSemanticClassifications(fileName: string, span: TextSpan): Classifications;
|
||||
getCompletionsAtPosition(fileName: string, position: number): CompletionInfo;
|
||||
getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined): CompletionInfo;
|
||||
getCompletionEntryDetails(fileName: string, position: number, name: string, options: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined): CompletionEntryDetails;
|
||||
getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): Symbol;
|
||||
getQuickInfoAtPosition(fileName: string, position: number): QuickInfo;
|
||||
@@ -3952,6 +3952,9 @@ declare namespace ts {
|
||||
getProgram(): Program;
|
||||
dispose(): void;
|
||||
}
|
||||
interface GetCompletionsAtPositionOptions {
|
||||
includeExternalModuleExports: boolean;
|
||||
}
|
||||
interface ApplyCodeActionCommandResult {
|
||||
successMessage: string;
|
||||
}
|
||||
@@ -4598,7 +4601,7 @@ declare namespace ts {
|
||||
}
|
||||
declare namespace ts {
|
||||
/** The version of the language service API */
|
||||
const servicesVersion = "0.6";
|
||||
const servicesVersion = "0.7";
|
||||
interface DisplayPartsSymbolWriter extends SymbolWriter {
|
||||
displayParts(): SymbolDisplayPart[];
|
||||
}
|
||||
|
||||
+88
-37
@@ -1363,7 +1363,7 @@ var ts;
|
||||
// If changing the text in this section, be sure to test `configureNightly` too.
|
||||
ts.versionMajorMinor = "2.6";
|
||||
/** The version of the TypeScript compiler release */
|
||||
ts.version = ts.versionMajorMinor + ".1";
|
||||
ts.version = ts.versionMajorMinor + ".2";
|
||||
})(ts || (ts = {}));
|
||||
(function (ts) {
|
||||
function isExternalModuleNameRelative(moduleName) {
|
||||
@@ -25742,18 +25742,21 @@ var ts;
|
||||
function createNodeBuilder() {
|
||||
return {
|
||||
typeToTypeNode: function (type, enclosingDeclaration, flags) {
|
||||
ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8 /* Synthesized */) === 0);
|
||||
var context = createNodeBuilderContext(enclosingDeclaration, flags);
|
||||
var resultingNode = typeToTypeNodeHelper(type, context);
|
||||
var result = context.encounteredError ? undefined : resultingNode;
|
||||
return result;
|
||||
},
|
||||
indexInfoToIndexSignatureDeclaration: function (indexInfo, kind, enclosingDeclaration, flags) {
|
||||
ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8 /* Synthesized */) === 0);
|
||||
var context = createNodeBuilderContext(enclosingDeclaration, flags);
|
||||
var resultingNode = indexInfoToIndexSignatureDeclarationHelper(indexInfo, kind, context);
|
||||
var result = context.encounteredError ? undefined : resultingNode;
|
||||
return result;
|
||||
},
|
||||
signatureToSignatureDeclaration: function (signature, kind, enclosingDeclaration, flags) {
|
||||
ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8 /* Synthesized */) === 0);
|
||||
var context = createNodeBuilderContext(enclosingDeclaration, flags);
|
||||
var resultingNode = signatureToSignatureDeclarationHelper(signature, kind, context);
|
||||
var result = context.encounteredError ? undefined : resultingNode;
|
||||
@@ -78339,14 +78342,14 @@ var ts;
|
||||
KeywordCompletionFilters[KeywordCompletionFilters["ClassElementKeywords"] = 1] = "ClassElementKeywords";
|
||||
KeywordCompletionFilters[KeywordCompletionFilters["ConstructorParameterKeywords"] = 2] = "ConstructorParameterKeywords";
|
||||
})(KeywordCompletionFilters || (KeywordCompletionFilters = {}));
|
||||
function getCompletionsAtPosition(host, typeChecker, log, compilerOptions, sourceFile, position, allSourceFiles) {
|
||||
function getCompletionsAtPosition(host, typeChecker, log, compilerOptions, sourceFile, position, allSourceFiles, options) {
|
||||
if (ts.isInReferenceComment(sourceFile, position)) {
|
||||
return Completions.PathCompletions.getTripleSlashReferenceCompletion(sourceFile, position, compilerOptions, host);
|
||||
}
|
||||
if (ts.isInString(sourceFile, position)) {
|
||||
return getStringLiteralCompletionEntries(sourceFile, position, typeChecker, compilerOptions, host, log);
|
||||
}
|
||||
var completionData = getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles);
|
||||
var completionData = getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles, options);
|
||||
if (!completionData) {
|
||||
return undefined;
|
||||
}
|
||||
@@ -78612,11 +78615,14 @@ var ts;
|
||||
}
|
||||
function getSymbolCompletionFromEntryId(typeChecker, log, compilerOptions, sourceFile, position, _a, allSourceFiles) {
|
||||
var name = _a.name, source = _a.source;
|
||||
var completionData = getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles);
|
||||
var completionData = getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles, { includeExternalModuleExports: true });
|
||||
if (!completionData) {
|
||||
return undefined;
|
||||
return { type: "none" };
|
||||
}
|
||||
var symbols = completionData.symbols, location = completionData.location, allowStringLiteral = completionData.allowStringLiteral, symbolToOriginInfoMap = completionData.symbolToOriginInfoMap, request = completionData.request;
|
||||
if (request) {
|
||||
return { type: "request", request: request };
|
||||
}
|
||||
var symbols = completionData.symbols, location = completionData.location, allowStringLiteral = completionData.allowStringLiteral, symbolToOriginInfoMap = completionData.symbolToOriginInfoMap;
|
||||
// Find the symbol with the matching entry name.
|
||||
// We don't need to perform character checks here because we're only comparing the
|
||||
// name against 'entryName' (which is known to be good), not building a new
|
||||
@@ -78625,33 +78631,50 @@ var ts;
|
||||
return getCompletionEntryDisplayNameForSymbol(s, compilerOptions.target, /*performCharacterChecks*/ false, allowStringLiteral) === name
|
||||
&& getSourceFromOrigin(symbolToOriginInfoMap[ts.getSymbolId(s)]) === source;
|
||||
});
|
||||
return symbol && { symbol: symbol, location: location, symbolToOriginInfoMap: symbolToOriginInfoMap };
|
||||
return symbol ? { type: "symbol", symbol: symbol, location: location, symbolToOriginInfoMap: symbolToOriginInfoMap } : { type: "none" };
|
||||
}
|
||||
function getCompletionEntryDetails(typeChecker, log, compilerOptions, sourceFile, position, entryId, allSourceFiles, host, rulesProvider) {
|
||||
var name = entryId.name, source = entryId.source;
|
||||
// Compute all the completion symbols again.
|
||||
var symbolCompletion = getSymbolCompletionFromEntryId(typeChecker, log, compilerOptions, sourceFile, position, entryId, allSourceFiles);
|
||||
if (symbolCompletion) {
|
||||
var symbol = symbolCompletion.symbol, location = symbolCompletion.location, symbolToOriginInfoMap = symbolCompletion.symbolToOriginInfoMap;
|
||||
var codeActions = getCompletionEntryCodeActions(symbolToOriginInfoMap, symbol, typeChecker, host, compilerOptions, sourceFile, rulesProvider);
|
||||
var kindModifiers = ts.SymbolDisplay.getSymbolModifiers(symbol);
|
||||
var _a = ts.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker, symbol, sourceFile, location, location, 7 /* All */), displayParts = _a.displayParts, documentation = _a.documentation, symbolKind = _a.symbolKind, tags = _a.tags;
|
||||
return { name: name, kindModifiers: kindModifiers, kind: symbolKind, displayParts: displayParts, documentation: documentation, tags: tags, codeActions: codeActions, source: source === undefined ? undefined : [ts.textPart(source)] };
|
||||
switch (symbolCompletion.type) {
|
||||
case "request": {
|
||||
var request = symbolCompletion.request;
|
||||
switch (request.kind) {
|
||||
case "JsDocTagName":
|
||||
return ts.JsDoc.getJSDocTagNameCompletionDetails(name);
|
||||
case "JsDocTag":
|
||||
return ts.JsDoc.getJSDocTagCompletionDetails(name);
|
||||
case "JsDocParameterName":
|
||||
return ts.JsDoc.getJSDocParameterNameCompletionDetails(name);
|
||||
default:
|
||||
return ts.Debug.assertNever(request);
|
||||
}
|
||||
}
|
||||
case "symbol": {
|
||||
var symbol = symbolCompletion.symbol, location = symbolCompletion.location, symbolToOriginInfoMap = symbolCompletion.symbolToOriginInfoMap;
|
||||
var codeActions = getCompletionEntryCodeActions(symbolToOriginInfoMap, symbol, typeChecker, host, compilerOptions, sourceFile, rulesProvider);
|
||||
var kindModifiers = ts.SymbolDisplay.getSymbolModifiers(symbol);
|
||||
var _a = ts.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker, symbol, sourceFile, location, location, 7 /* All */), displayParts = _a.displayParts, documentation = _a.documentation, symbolKind = _a.symbolKind, tags = _a.tags;
|
||||
return { name: name, kindModifiers: kindModifiers, kind: symbolKind, displayParts: displayParts, documentation: documentation, tags: tags, codeActions: codeActions, source: source === undefined ? undefined : [ts.textPart(source)] };
|
||||
}
|
||||
case "none": {
|
||||
// Didn't find a symbol with this name. See if we can find a keyword instead.
|
||||
if (ts.some(getKeywordCompletions(0 /* None */), function (c) { return c.name === name; })) {
|
||||
return {
|
||||
name: name,
|
||||
kind: "keyword" /* keyword */,
|
||||
kindModifiers: "" /* none */,
|
||||
displayParts: [ts.displayPart(name, ts.SymbolDisplayPartKind.keyword)],
|
||||
documentation: undefined,
|
||||
tags: undefined,
|
||||
codeActions: undefined,
|
||||
source: undefined,
|
||||
};
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
// Didn't find a symbol with this name. See if we can find a keyword instead.
|
||||
if (source === undefined && ts.some(getKeywordCompletions(0 /* None */), function (c) { return c.name === name; })) {
|
||||
return {
|
||||
name: name,
|
||||
kind: "keyword" /* keyword */,
|
||||
kindModifiers: "" /* none */,
|
||||
displayParts: [ts.displayPart(name, ts.SymbolDisplayPartKind.keyword)],
|
||||
documentation: undefined,
|
||||
tags: undefined,
|
||||
codeActions: undefined,
|
||||
source: undefined,
|
||||
};
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
Completions.getCompletionEntryDetails = getCompletionEntryDetails;
|
||||
function getCompletionEntryCodeActions(symbolToOriginInfoMap, symbol, checker, host, compilerOptions, sourceFile, rulesProvider) {
|
||||
@@ -78675,10 +78698,10 @@ var ts;
|
||||
}
|
||||
function getCompletionEntrySymbol(typeChecker, log, compilerOptions, sourceFile, position, entryId, allSourceFiles) {
|
||||
var completion = getSymbolCompletionFromEntryId(typeChecker, log, compilerOptions, sourceFile, position, entryId, allSourceFiles);
|
||||
return completion && completion.symbol;
|
||||
return completion.type === "symbol" ? completion.symbol : undefined;
|
||||
}
|
||||
Completions.getCompletionEntrySymbol = getCompletionEntrySymbol;
|
||||
function getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles) {
|
||||
function getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles, options) {
|
||||
var isJavaScriptFile = ts.isSourceFileJavaScript(sourceFile);
|
||||
var request;
|
||||
var start = ts.timestamp();
|
||||
@@ -78744,7 +78767,7 @@ var ts;
|
||||
}
|
||||
if (request) {
|
||||
return {
|
||||
symbols: undefined,
|
||||
symbols: ts.emptyArray,
|
||||
isGlobalCompletion: false,
|
||||
isMemberCompletion: false,
|
||||
allowStringLiteral: false,
|
||||
@@ -79033,7 +79056,9 @@ var ts;
|
||||
}
|
||||
var symbolMeanings = 793064 /* Type */ | 107455 /* Value */ | 1920 /* Namespace */ | 2097152 /* Alias */;
|
||||
symbols = typeChecker.getSymbolsInScope(scopeNode, symbolMeanings);
|
||||
getSymbolsFromOtherSourceFileExports(symbols, previousToken && ts.isIdentifier(previousToken) ? previousToken.text : "");
|
||||
if (options.includeExternalModuleExports) {
|
||||
getSymbolsFromOtherSourceFileExports(symbols, previousToken && ts.isIdentifier(previousToken) ? previousToken.text : "");
|
||||
}
|
||||
filterGlobalCompletion(symbols);
|
||||
return true;
|
||||
}
|
||||
@@ -83120,6 +83145,7 @@ var ts;
|
||||
}));
|
||||
}
|
||||
JsDoc.getJSDocTagNameCompletions = getJSDocTagNameCompletions;
|
||||
JsDoc.getJSDocTagNameCompletionDetails = getJSDocTagCompletionDetails;
|
||||
function getJSDocTagCompletions() {
|
||||
return jsDocTagCompletionEntries || (jsDocTagCompletionEntries = ts.map(jsDocTagNames, function (tagName) {
|
||||
return {
|
||||
@@ -83131,6 +83157,18 @@ var ts;
|
||||
}));
|
||||
}
|
||||
JsDoc.getJSDocTagCompletions = getJSDocTagCompletions;
|
||||
function getJSDocTagCompletionDetails(name) {
|
||||
return {
|
||||
name: name,
|
||||
kind: "" /* unknown */,
|
||||
kindModifiers: "",
|
||||
displayParts: [ts.textPart(name)],
|
||||
documentation: ts.emptyArray,
|
||||
tags: ts.emptyArray,
|
||||
codeActions: undefined,
|
||||
};
|
||||
}
|
||||
JsDoc.getJSDocTagCompletionDetails = getJSDocTagCompletionDetails;
|
||||
function getJSDocParameterNameCompletions(tag) {
|
||||
if (!ts.isIdentifier(tag.name)) {
|
||||
return ts.emptyArray;
|
||||
@@ -83152,6 +83190,18 @@ var ts;
|
||||
});
|
||||
}
|
||||
JsDoc.getJSDocParameterNameCompletions = getJSDocParameterNameCompletions;
|
||||
function getJSDocParameterNameCompletionDetails(name) {
|
||||
return {
|
||||
name: name,
|
||||
kind: "parameter" /* parameterElement */,
|
||||
kindModifiers: "",
|
||||
displayParts: [ts.textPart(name)],
|
||||
documentation: ts.emptyArray,
|
||||
tags: ts.emptyArray,
|
||||
codeActions: undefined,
|
||||
};
|
||||
}
|
||||
JsDoc.getJSDocParameterNameCompletionDetails = getJSDocParameterNameCompletionDetails;
|
||||
/**
|
||||
* Checks if position points to a valid position to add JSDoc comments, and if so,
|
||||
* returns the appropriate template. Otherwise returns an empty string.
|
||||
@@ -93476,7 +93526,7 @@ var ts;
|
||||
var type = checker.getTypeOfSymbolAtLocation(usage.symbol, usage.node);
|
||||
// Widen the type so we don't emit nonsense annotations like "function fn(x: 3) {"
|
||||
type = checker.getBaseTypeOfLiteralType(type);
|
||||
typeNode = checker.typeToTypeNode(type, node, ts.NodeBuilderFlags.NoTruncation);
|
||||
typeNode = checker.typeToTypeNode(type, scope, ts.NodeBuilderFlags.NoTruncation);
|
||||
}
|
||||
var paramDecl = ts.createParameter(
|
||||
/*decorators*/ undefined,
|
||||
@@ -94531,7 +94581,7 @@ var ts;
|
||||
var ts;
|
||||
(function (ts) {
|
||||
/** The version of the language service API */
|
||||
ts.servicesVersion = "0.6";
|
||||
ts.servicesVersion = "0.7";
|
||||
/* @internal */
|
||||
var ruleProvider;
|
||||
function createNode(kind, pos, end, parent) {
|
||||
@@ -95550,9 +95600,10 @@ var ts;
|
||||
synchronizeHostData();
|
||||
return program.getOptionsDiagnostics(cancellationToken).concat(program.getGlobalDiagnostics(cancellationToken));
|
||||
}
|
||||
function getCompletionsAtPosition(fileName, position) {
|
||||
function getCompletionsAtPosition(fileName, position, options) {
|
||||
if (options === void 0) { options = { includeExternalModuleExports: false }; }
|
||||
synchronizeHostData();
|
||||
return ts.Completions.getCompletionsAtPosition(host, program.getTypeChecker(), log, program.getCompilerOptions(), getValidSourceFile(fileName), position, program.getSourceFiles());
|
||||
return ts.Completions.getCompletionsAtPosition(host, program.getTypeChecker(), log, program.getCompilerOptions(), getValidSourceFile(fileName), position, program.getSourceFiles(), options);
|
||||
}
|
||||
function getCompletionEntryDetails(fileName, position, name, formattingOptions, source) {
|
||||
synchronizeHostData();
|
||||
@@ -97388,9 +97439,9 @@ var ts;
|
||||
* to provide at the given source position and providing a member completion
|
||||
* list if requested.
|
||||
*/
|
||||
LanguageServiceShimObject.prototype.getCompletionsAtPosition = function (fileName, position) {
|
||||
LanguageServiceShimObject.prototype.getCompletionsAtPosition = function (fileName, position, options) {
|
||||
var _this = this;
|
||||
return this.forwardJSONCall("getCompletionsAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getCompletionsAtPosition(fileName, position); });
|
||||
return this.forwardJSONCall("getCompletionsAtPosition('" + fileName + "', " + position + ", " + options + ")", function () { return _this.languageService.getCompletionsAtPosition(fileName, position, options); });
|
||||
};
|
||||
/** Get a string based representation of a completion list entry details */
|
||||
LanguageServiceShimObject.prototype.getCompletionEntryDetails = function (fileName, position, entryName, options /*Services.FormatCodeOptions*/, source) {
|
||||
|
||||
Vendored
+5
-2
@@ -3914,7 +3914,7 @@ declare namespace ts {
|
||||
getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[];
|
||||
getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications;
|
||||
getEncodedSemanticClassifications(fileName: string, span: TextSpan): Classifications;
|
||||
getCompletionsAtPosition(fileName: string, position: number): CompletionInfo;
|
||||
getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined): CompletionInfo;
|
||||
getCompletionEntryDetails(fileName: string, position: number, name: string, options: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined): CompletionEntryDetails;
|
||||
getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): Symbol;
|
||||
getQuickInfoAtPosition(fileName: string, position: number): QuickInfo;
|
||||
@@ -3952,6 +3952,9 @@ declare namespace ts {
|
||||
getProgram(): Program;
|
||||
dispose(): void;
|
||||
}
|
||||
interface GetCompletionsAtPositionOptions {
|
||||
includeExternalModuleExports: boolean;
|
||||
}
|
||||
interface ApplyCodeActionCommandResult {
|
||||
successMessage: string;
|
||||
}
|
||||
@@ -4598,7 +4601,7 @@ declare namespace ts {
|
||||
}
|
||||
declare namespace ts {
|
||||
/** The version of the language service API */
|
||||
const servicesVersion = "0.6";
|
||||
const servicesVersion = "0.7";
|
||||
interface DisplayPartsSymbolWriter extends SymbolWriter {
|
||||
displayParts(): SymbolDisplayPart[];
|
||||
}
|
||||
|
||||
+88
-37
@@ -1363,7 +1363,7 @@ var ts;
|
||||
// If changing the text in this section, be sure to test `configureNightly` too.
|
||||
ts.versionMajorMinor = "2.6";
|
||||
/** The version of the TypeScript compiler release */
|
||||
ts.version = ts.versionMajorMinor + ".1";
|
||||
ts.version = ts.versionMajorMinor + ".2";
|
||||
})(ts || (ts = {}));
|
||||
(function (ts) {
|
||||
function isExternalModuleNameRelative(moduleName) {
|
||||
@@ -25742,18 +25742,21 @@ var ts;
|
||||
function createNodeBuilder() {
|
||||
return {
|
||||
typeToTypeNode: function (type, enclosingDeclaration, flags) {
|
||||
ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8 /* Synthesized */) === 0);
|
||||
var context = createNodeBuilderContext(enclosingDeclaration, flags);
|
||||
var resultingNode = typeToTypeNodeHelper(type, context);
|
||||
var result = context.encounteredError ? undefined : resultingNode;
|
||||
return result;
|
||||
},
|
||||
indexInfoToIndexSignatureDeclaration: function (indexInfo, kind, enclosingDeclaration, flags) {
|
||||
ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8 /* Synthesized */) === 0);
|
||||
var context = createNodeBuilderContext(enclosingDeclaration, flags);
|
||||
var resultingNode = indexInfoToIndexSignatureDeclarationHelper(indexInfo, kind, context);
|
||||
var result = context.encounteredError ? undefined : resultingNode;
|
||||
return result;
|
||||
},
|
||||
signatureToSignatureDeclaration: function (signature, kind, enclosingDeclaration, flags) {
|
||||
ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8 /* Synthesized */) === 0);
|
||||
var context = createNodeBuilderContext(enclosingDeclaration, flags);
|
||||
var resultingNode = signatureToSignatureDeclarationHelper(signature, kind, context);
|
||||
var result = context.encounteredError ? undefined : resultingNode;
|
||||
@@ -78339,14 +78342,14 @@ var ts;
|
||||
KeywordCompletionFilters[KeywordCompletionFilters["ClassElementKeywords"] = 1] = "ClassElementKeywords";
|
||||
KeywordCompletionFilters[KeywordCompletionFilters["ConstructorParameterKeywords"] = 2] = "ConstructorParameterKeywords";
|
||||
})(KeywordCompletionFilters || (KeywordCompletionFilters = {}));
|
||||
function getCompletionsAtPosition(host, typeChecker, log, compilerOptions, sourceFile, position, allSourceFiles) {
|
||||
function getCompletionsAtPosition(host, typeChecker, log, compilerOptions, sourceFile, position, allSourceFiles, options) {
|
||||
if (ts.isInReferenceComment(sourceFile, position)) {
|
||||
return Completions.PathCompletions.getTripleSlashReferenceCompletion(sourceFile, position, compilerOptions, host);
|
||||
}
|
||||
if (ts.isInString(sourceFile, position)) {
|
||||
return getStringLiteralCompletionEntries(sourceFile, position, typeChecker, compilerOptions, host, log);
|
||||
}
|
||||
var completionData = getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles);
|
||||
var completionData = getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles, options);
|
||||
if (!completionData) {
|
||||
return undefined;
|
||||
}
|
||||
@@ -78612,11 +78615,14 @@ var ts;
|
||||
}
|
||||
function getSymbolCompletionFromEntryId(typeChecker, log, compilerOptions, sourceFile, position, _a, allSourceFiles) {
|
||||
var name = _a.name, source = _a.source;
|
||||
var completionData = getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles);
|
||||
var completionData = getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles, { includeExternalModuleExports: true });
|
||||
if (!completionData) {
|
||||
return undefined;
|
||||
return { type: "none" };
|
||||
}
|
||||
var symbols = completionData.symbols, location = completionData.location, allowStringLiteral = completionData.allowStringLiteral, symbolToOriginInfoMap = completionData.symbolToOriginInfoMap, request = completionData.request;
|
||||
if (request) {
|
||||
return { type: "request", request: request };
|
||||
}
|
||||
var symbols = completionData.symbols, location = completionData.location, allowStringLiteral = completionData.allowStringLiteral, symbolToOriginInfoMap = completionData.symbolToOriginInfoMap;
|
||||
// Find the symbol with the matching entry name.
|
||||
// We don't need to perform character checks here because we're only comparing the
|
||||
// name against 'entryName' (which is known to be good), not building a new
|
||||
@@ -78625,33 +78631,50 @@ var ts;
|
||||
return getCompletionEntryDisplayNameForSymbol(s, compilerOptions.target, /*performCharacterChecks*/ false, allowStringLiteral) === name
|
||||
&& getSourceFromOrigin(symbolToOriginInfoMap[ts.getSymbolId(s)]) === source;
|
||||
});
|
||||
return symbol && { symbol: symbol, location: location, symbolToOriginInfoMap: symbolToOriginInfoMap };
|
||||
return symbol ? { type: "symbol", symbol: symbol, location: location, symbolToOriginInfoMap: symbolToOriginInfoMap } : { type: "none" };
|
||||
}
|
||||
function getCompletionEntryDetails(typeChecker, log, compilerOptions, sourceFile, position, entryId, allSourceFiles, host, rulesProvider) {
|
||||
var name = entryId.name, source = entryId.source;
|
||||
// Compute all the completion symbols again.
|
||||
var symbolCompletion = getSymbolCompletionFromEntryId(typeChecker, log, compilerOptions, sourceFile, position, entryId, allSourceFiles);
|
||||
if (symbolCompletion) {
|
||||
var symbol = symbolCompletion.symbol, location = symbolCompletion.location, symbolToOriginInfoMap = symbolCompletion.symbolToOriginInfoMap;
|
||||
var codeActions = getCompletionEntryCodeActions(symbolToOriginInfoMap, symbol, typeChecker, host, compilerOptions, sourceFile, rulesProvider);
|
||||
var kindModifiers = ts.SymbolDisplay.getSymbolModifiers(symbol);
|
||||
var _a = ts.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker, symbol, sourceFile, location, location, 7 /* All */), displayParts = _a.displayParts, documentation = _a.documentation, symbolKind = _a.symbolKind, tags = _a.tags;
|
||||
return { name: name, kindModifiers: kindModifiers, kind: symbolKind, displayParts: displayParts, documentation: documentation, tags: tags, codeActions: codeActions, source: source === undefined ? undefined : [ts.textPart(source)] };
|
||||
switch (symbolCompletion.type) {
|
||||
case "request": {
|
||||
var request = symbolCompletion.request;
|
||||
switch (request.kind) {
|
||||
case "JsDocTagName":
|
||||
return ts.JsDoc.getJSDocTagNameCompletionDetails(name);
|
||||
case "JsDocTag":
|
||||
return ts.JsDoc.getJSDocTagCompletionDetails(name);
|
||||
case "JsDocParameterName":
|
||||
return ts.JsDoc.getJSDocParameterNameCompletionDetails(name);
|
||||
default:
|
||||
return ts.Debug.assertNever(request);
|
||||
}
|
||||
}
|
||||
case "symbol": {
|
||||
var symbol = symbolCompletion.symbol, location = symbolCompletion.location, symbolToOriginInfoMap = symbolCompletion.symbolToOriginInfoMap;
|
||||
var codeActions = getCompletionEntryCodeActions(symbolToOriginInfoMap, symbol, typeChecker, host, compilerOptions, sourceFile, rulesProvider);
|
||||
var kindModifiers = ts.SymbolDisplay.getSymbolModifiers(symbol);
|
||||
var _a = ts.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker, symbol, sourceFile, location, location, 7 /* All */), displayParts = _a.displayParts, documentation = _a.documentation, symbolKind = _a.symbolKind, tags = _a.tags;
|
||||
return { name: name, kindModifiers: kindModifiers, kind: symbolKind, displayParts: displayParts, documentation: documentation, tags: tags, codeActions: codeActions, source: source === undefined ? undefined : [ts.textPart(source)] };
|
||||
}
|
||||
case "none": {
|
||||
// Didn't find a symbol with this name. See if we can find a keyword instead.
|
||||
if (ts.some(getKeywordCompletions(0 /* None */), function (c) { return c.name === name; })) {
|
||||
return {
|
||||
name: name,
|
||||
kind: "keyword" /* keyword */,
|
||||
kindModifiers: "" /* none */,
|
||||
displayParts: [ts.displayPart(name, ts.SymbolDisplayPartKind.keyword)],
|
||||
documentation: undefined,
|
||||
tags: undefined,
|
||||
codeActions: undefined,
|
||||
source: undefined,
|
||||
};
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
// Didn't find a symbol with this name. See if we can find a keyword instead.
|
||||
if (source === undefined && ts.some(getKeywordCompletions(0 /* None */), function (c) { return c.name === name; })) {
|
||||
return {
|
||||
name: name,
|
||||
kind: "keyword" /* keyword */,
|
||||
kindModifiers: "" /* none */,
|
||||
displayParts: [ts.displayPart(name, ts.SymbolDisplayPartKind.keyword)],
|
||||
documentation: undefined,
|
||||
tags: undefined,
|
||||
codeActions: undefined,
|
||||
source: undefined,
|
||||
};
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
Completions.getCompletionEntryDetails = getCompletionEntryDetails;
|
||||
function getCompletionEntryCodeActions(symbolToOriginInfoMap, symbol, checker, host, compilerOptions, sourceFile, rulesProvider) {
|
||||
@@ -78675,10 +78698,10 @@ var ts;
|
||||
}
|
||||
function getCompletionEntrySymbol(typeChecker, log, compilerOptions, sourceFile, position, entryId, allSourceFiles) {
|
||||
var completion = getSymbolCompletionFromEntryId(typeChecker, log, compilerOptions, sourceFile, position, entryId, allSourceFiles);
|
||||
return completion && completion.symbol;
|
||||
return completion.type === "symbol" ? completion.symbol : undefined;
|
||||
}
|
||||
Completions.getCompletionEntrySymbol = getCompletionEntrySymbol;
|
||||
function getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles) {
|
||||
function getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles, options) {
|
||||
var isJavaScriptFile = ts.isSourceFileJavaScript(sourceFile);
|
||||
var request;
|
||||
var start = ts.timestamp();
|
||||
@@ -78744,7 +78767,7 @@ var ts;
|
||||
}
|
||||
if (request) {
|
||||
return {
|
||||
symbols: undefined,
|
||||
symbols: ts.emptyArray,
|
||||
isGlobalCompletion: false,
|
||||
isMemberCompletion: false,
|
||||
allowStringLiteral: false,
|
||||
@@ -79033,7 +79056,9 @@ var ts;
|
||||
}
|
||||
var symbolMeanings = 793064 /* Type */ | 107455 /* Value */ | 1920 /* Namespace */ | 2097152 /* Alias */;
|
||||
symbols = typeChecker.getSymbolsInScope(scopeNode, symbolMeanings);
|
||||
getSymbolsFromOtherSourceFileExports(symbols, previousToken && ts.isIdentifier(previousToken) ? previousToken.text : "");
|
||||
if (options.includeExternalModuleExports) {
|
||||
getSymbolsFromOtherSourceFileExports(symbols, previousToken && ts.isIdentifier(previousToken) ? previousToken.text : "");
|
||||
}
|
||||
filterGlobalCompletion(symbols);
|
||||
return true;
|
||||
}
|
||||
@@ -83120,6 +83145,7 @@ var ts;
|
||||
}));
|
||||
}
|
||||
JsDoc.getJSDocTagNameCompletions = getJSDocTagNameCompletions;
|
||||
JsDoc.getJSDocTagNameCompletionDetails = getJSDocTagCompletionDetails;
|
||||
function getJSDocTagCompletions() {
|
||||
return jsDocTagCompletionEntries || (jsDocTagCompletionEntries = ts.map(jsDocTagNames, function (tagName) {
|
||||
return {
|
||||
@@ -83131,6 +83157,18 @@ var ts;
|
||||
}));
|
||||
}
|
||||
JsDoc.getJSDocTagCompletions = getJSDocTagCompletions;
|
||||
function getJSDocTagCompletionDetails(name) {
|
||||
return {
|
||||
name: name,
|
||||
kind: "" /* unknown */,
|
||||
kindModifiers: "",
|
||||
displayParts: [ts.textPart(name)],
|
||||
documentation: ts.emptyArray,
|
||||
tags: ts.emptyArray,
|
||||
codeActions: undefined,
|
||||
};
|
||||
}
|
||||
JsDoc.getJSDocTagCompletionDetails = getJSDocTagCompletionDetails;
|
||||
function getJSDocParameterNameCompletions(tag) {
|
||||
if (!ts.isIdentifier(tag.name)) {
|
||||
return ts.emptyArray;
|
||||
@@ -83152,6 +83190,18 @@ var ts;
|
||||
});
|
||||
}
|
||||
JsDoc.getJSDocParameterNameCompletions = getJSDocParameterNameCompletions;
|
||||
function getJSDocParameterNameCompletionDetails(name) {
|
||||
return {
|
||||
name: name,
|
||||
kind: "parameter" /* parameterElement */,
|
||||
kindModifiers: "",
|
||||
displayParts: [ts.textPart(name)],
|
||||
documentation: ts.emptyArray,
|
||||
tags: ts.emptyArray,
|
||||
codeActions: undefined,
|
||||
};
|
||||
}
|
||||
JsDoc.getJSDocParameterNameCompletionDetails = getJSDocParameterNameCompletionDetails;
|
||||
/**
|
||||
* Checks if position points to a valid position to add JSDoc comments, and if so,
|
||||
* returns the appropriate template. Otherwise returns an empty string.
|
||||
@@ -93476,7 +93526,7 @@ var ts;
|
||||
var type = checker.getTypeOfSymbolAtLocation(usage.symbol, usage.node);
|
||||
// Widen the type so we don't emit nonsense annotations like "function fn(x: 3) {"
|
||||
type = checker.getBaseTypeOfLiteralType(type);
|
||||
typeNode = checker.typeToTypeNode(type, node, ts.NodeBuilderFlags.NoTruncation);
|
||||
typeNode = checker.typeToTypeNode(type, scope, ts.NodeBuilderFlags.NoTruncation);
|
||||
}
|
||||
var paramDecl = ts.createParameter(
|
||||
/*decorators*/ undefined,
|
||||
@@ -94531,7 +94581,7 @@ var ts;
|
||||
var ts;
|
||||
(function (ts) {
|
||||
/** The version of the language service API */
|
||||
ts.servicesVersion = "0.6";
|
||||
ts.servicesVersion = "0.7";
|
||||
/* @internal */
|
||||
var ruleProvider;
|
||||
function createNode(kind, pos, end, parent) {
|
||||
@@ -95550,9 +95600,10 @@ var ts;
|
||||
synchronizeHostData();
|
||||
return program.getOptionsDiagnostics(cancellationToken).concat(program.getGlobalDiagnostics(cancellationToken));
|
||||
}
|
||||
function getCompletionsAtPosition(fileName, position) {
|
||||
function getCompletionsAtPosition(fileName, position, options) {
|
||||
if (options === void 0) { options = { includeExternalModuleExports: false }; }
|
||||
synchronizeHostData();
|
||||
return ts.Completions.getCompletionsAtPosition(host, program.getTypeChecker(), log, program.getCompilerOptions(), getValidSourceFile(fileName), position, program.getSourceFiles());
|
||||
return ts.Completions.getCompletionsAtPosition(host, program.getTypeChecker(), log, program.getCompilerOptions(), getValidSourceFile(fileName), position, program.getSourceFiles(), options);
|
||||
}
|
||||
function getCompletionEntryDetails(fileName, position, name, formattingOptions, source) {
|
||||
synchronizeHostData();
|
||||
@@ -97388,9 +97439,9 @@ var ts;
|
||||
* to provide at the given source position and providing a member completion
|
||||
* list if requested.
|
||||
*/
|
||||
LanguageServiceShimObject.prototype.getCompletionsAtPosition = function (fileName, position) {
|
||||
LanguageServiceShimObject.prototype.getCompletionsAtPosition = function (fileName, position, options) {
|
||||
var _this = this;
|
||||
return this.forwardJSONCall("getCompletionsAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getCompletionsAtPosition(fileName, position); });
|
||||
return this.forwardJSONCall("getCompletionsAtPosition('" + fileName + "', " + position + ", " + options + ")", function () { return _this.languageService.getCompletionsAtPosition(fileName, position, options); });
|
||||
};
|
||||
/** Get a string based representation of a completion list entry details */
|
||||
LanguageServiceShimObject.prototype.getCompletionEntryDetails = function (fileName, position, entryName, options /*Services.FormatCodeOptions*/, source) {
|
||||
|
||||
@@ -162,7 +162,7 @@ var ts;
|
||||
var ts;
|
||||
(function (ts) {
|
||||
ts.versionMajorMinor = "2.6";
|
||||
ts.version = ts.versionMajorMinor + ".1";
|
||||
ts.version = ts.versionMajorMinor + ".2";
|
||||
})(ts || (ts = {}));
|
||||
(function (ts) {
|
||||
function isExternalModuleNameRelative(moduleName) {
|
||||
|
||||
Reference in New Issue
Block a user