From 522c71a752cdc62f288c5c4d531e907c703d9d05 Mon Sep 17 00:00:00 2001 From: Zev Spitz Date: Mon, 13 Apr 2015 16:23:31 +0300 Subject: [PATCH 1/4] Ebynerator, VBArray --- src/lib/scriptHost.d.ts | 61 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/src/lib/scriptHost.d.ts b/src/lib/scriptHost.d.ts index decf813bc2d..cf9feac7129 100644 --- a/src/lib/scriptHost.d.ts +++ b/src/lib/scriptHost.d.ts @@ -170,3 +170,64 @@ declare var WScript: { */ Sleep(intTime: number): void; }; + +/* + * Allows enumerating over a COM collection, which may not have indexed item access + */ +interface Enumerator { + /* + * Returns true if the current item is the last one in the collection, or the collection is empty, or the current item is undefined + */ + atEnd(): boolean; + /* + * Returns the current item in the collection + */ + item(): T; + /* + * Resets the current item in the collection to the first item. If there are no items in the collection, the current item is set to undefined. + */ + moveFirst(): void; + /* + * Moves the current item to the next item in the collection. If the enumerator is at the end of the collection or the collection is empty, the current item is set to undefined. + */ + moveNext(): void; +} +interface EnumeratorConstructor { + new (collection: any): Enumerator; + new (collection: any): Enumerator; +} +declare var Enumerator: EnumeratorConstructor; + +/* + * Enables reading from a COM safe array, which might have an alternate lower bound, or multiple dimensions + */ +interface VBArray { + /* + * Returns the number of dimensions (1-based). + */ + dimensions(): number; + /* + * Takes an index for each dimension in the array, and returns the item at the corresponding location. + */ + getItem(dimension1Index: number, ...dimensionNIndexes: number[]): T; + /* + * Returns the smallest available index for a given dimension + * @param dimension 1-based dimension (defaults to 1) + */ + lbound(dimension?: number): number; + /* + * Returns the largest available index for a given dimension + * @param dimension 1-based dimension (defaults to 1) + */ + ubound(dimension?: number): number; + /* + * Returns a Javascript array with all the elements in the VBArray. If there are multiple dimensions, each successive dimension is appended to the end of the array. + * [[1,2,3],[4,5,6]] => [1,2,3,4,5,6] + */ + toArray(): T[]; +} +interface VBArrayConstructor { + new (safeArray: any): VBArray; + new (safeArray: any): VBArray; +} +declare var VBArray: VBArrayConstructor; \ No newline at end of file From b7bcdde18c1d0fa7a99c0c62430e3e23ceea4df6 Mon Sep 17 00:00:00 2001 From: Zev Spitz Date: Mon, 13 Apr 2015 21:35:59 +0300 Subject: [PATCH 2/4] Fixed jsDoc, wrapping, newlines --- src/lib/scriptHost.d.ts | 68 ++++++++++++++++++++++++++--------------- 1 file changed, 43 insertions(+), 25 deletions(-) diff --git a/src/lib/scriptHost.d.ts b/src/lib/scriptHost.d.ts index cf9feac7129..86cf5158be9 100644 --- a/src/lib/scriptHost.d.ts +++ b/src/lib/scriptHost.d.ts @@ -27,7 +27,8 @@ interface TextStreamBase { Line: number; /** * Closes a text stream. - * It is not necessary to close standard streams; they close automatically when the process ends. If you close a standard stream, be aware that any other pointers to that standard stream become invalid. + * It is not necessary to close standard streams; they close automatically when the process ends. If + * you close a standard stream, be aware that any other pointers to that standard stream become invalid. */ Close(): void; } @@ -49,7 +50,7 @@ interface TextStreamWriter extends TextStreamBase { interface TextStreamReader extends TextStreamBase { /** - * Returns a specified number of characters from an input stream, beginning at the current pointer position. + * Returns a specified number of characters from an input stream, starting at the current pointer position. * Does not return until the ENTER key is pressed. * Can only be used on a stream in reading mode; causes an error in writing or appending mode. */ @@ -88,7 +89,8 @@ interface TextStreamReader extends TextStreamBase { declare var WScript: { /** - * Outputs text to either a message box (under WScript.exe) or the command console window followed by a newline (under CScript.ext). + * Outputs text to either a message box (under WScript.exe) or the command console window followed by + * a newline (under CScript.ext). */ Echo(s: any): void; /** @@ -159,7 +161,8 @@ declare var WScript: { DisconnectObject(obj: any): void; /** * Retrieves an existing object with the specified ProgID from memory, or creates a new one from a file. - * @param strPathname Fully qualified path to the file containing the object persisted to disk. For objects in memory, pass a zero-length string. + * @param strPathname Fully qualified path to the file containing the object persisted to disk. + * For objects in memory, pass a zero-length string. * @param strProgID * @param strPrefix Function names in the form prefix_event will be bound to this object's COM events. */ @@ -171,63 +174,78 @@ declare var WScript: { Sleep(intTime: number): void; }; -/* - * Allows enumerating over a COM collection, which may not have indexed item access +/** + * Allows enumerating over a COM collection, which may not have indexed item access. */ interface Enumerator { - /* - * Returns true if the current item is the last one in the collection, or the collection is empty, or the current item is undefined + /** + * Returns true if the current item is the last one in the collection, or the collection is empty, + * or the current item is undefined. */ atEnd(): boolean; - /* + + /** * Returns the current item in the collection */ item(): T; - /* - * Resets the current item in the collection to the first item. If there are no items in the collection, the current item is set to undefined. + + /** + * Resets the current item in the collection to the first item. If there are no items in the collection, + * the current item is set to undefined. */ moveFirst(): void; - /* - * Moves the current item to the next item in the collection. If the enumerator is at the end of the collection or the collection is empty, the current item is set to undefined. + + /** + * Moves the current item to the next item in the collection. If the enumerator is at the end of + * the collection or the collection is empty, the current item is set to undefined. */ moveNext(): void; } + interface EnumeratorConstructor { new (collection: any): Enumerator; new (collection: any): Enumerator; } + declare var Enumerator: EnumeratorConstructor; -/* - * Enables reading from a COM safe array, which might have an alternate lower bound, or multiple dimensions +/** + * Enables reading from a COM safe array, which might have an alternate lower bound, or multiple dimensions. */ interface VBArray { - /* + /** * Returns the number of dimensions (1-based). */ dimensions(): number; - /* + + /** * Takes an index for each dimension in the array, and returns the item at the corresponding location. */ getItem(dimension1Index: number, ...dimensionNIndexes: number[]): T; - /* - * Returns the smallest available index for a given dimension + + /** + * Returns the smallest available index for a given dimension. * @param dimension 1-based dimension (defaults to 1) */ lbound(dimension?: number): number; - /* - * Returns the largest available index for a given dimension + + /** + * Returns the largest available index for a given dimension. * @param dimension 1-based dimension (defaults to 1) */ ubound(dimension?: number): number; - /* - * Returns a Javascript array with all the elements in the VBArray. If there are multiple dimensions, each successive dimension is appended to the end of the array. - * [[1,2,3],[4,5,6]] => [1,2,3,4,5,6] + + /** + * Returns a Javascript array with all the elements in the VBArray. If there are multiple dimensions, + * each successive dimension is appended to the end of the array. + * Example: [[1,2,3],[4,5,6]] becomes [1,2,3,4,5,6] */ toArray(): T[]; } + interface VBArrayConstructor { new (safeArray: any): VBArray; new (safeArray: any): VBArray; } -declare var VBArray: VBArrayConstructor; \ No newline at end of file + +declare var VBArray: VBArrayConstructor; From 77afd9468cb2bbc93adb3014111f3213388e9d0d Mon Sep 17 00:00:00 2001 From: Zev Spitz Date: Mon, 13 Apr 2015 21:41:01 +0300 Subject: [PATCH 3/4] More newlines --- src/lib/scriptHost.d.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/lib/scriptHost.d.ts b/src/lib/scriptHost.d.ts index 86cf5158be9..7ff8399cbfc 100644 --- a/src/lib/scriptHost.d.ts +++ b/src/lib/scriptHost.d.ts @@ -21,10 +21,12 @@ interface TextStreamBase { * The column number of the current character position in an input stream. */ Column: number; + /** * The current line number in an input stream. */ Line: number; + /** * Closes a text stream. * It is not necessary to close standard streams; they close automatically when the process ends. If @@ -38,10 +40,12 @@ interface TextStreamWriter extends TextStreamBase { * Sends a string to an output stream. */ Write(s: string): void; + /** * Sends a specified number of blank lines (newline characters) to an output stream. */ WriteBlankLines(intLines: number): void; + /** * Sends a string followed by a newline character to an output stream. */ @@ -55,32 +59,38 @@ interface TextStreamReader extends TextStreamBase { * Can only be used on a stream in reading mode; causes an error in writing or appending mode. */ Read(characters: number): string; + /** * Returns all characters from an input stream. * Can only be used on a stream in reading mode; causes an error in writing or appending mode. */ ReadAll(): string; + /** * Returns an entire line from an input stream. * Although this method extracts the newline character, it does not add it to the returned string. * Can only be used on a stream in reading mode; causes an error in writing or appending mode. */ ReadLine(): string; + /** * Skips a specified number of characters when reading from an input text stream. * Can only be used on a stream in reading mode; causes an error in writing or appending mode. * @param characters Positive number of characters to skip forward. (Backward skipping is not supported.) */ Skip(characters: number): void; + /** * Skips the next line when reading from an input text stream. * Can only be used on a stream in reading mode, not writing or appending mode. */ SkipLine(): void; + /** * Indicates whether the stream pointer position is at the end of a line. */ AtEndOfLine: boolean; + /** * Indicates whether the stream pointer position is at the end of a stream. */ @@ -93,72 +103,88 @@ declare var WScript: { * a newline (under CScript.ext). */ Echo(s: any): void; + /** * Exposes the write-only error output stream for the current script. * Can be accessed only while using CScript.exe. */ StdErr: TextStreamWriter; + /** * Exposes the write-only output stream for the current script. * Can be accessed only while using CScript.exe. */ StdOut: TextStreamWriter; Arguments: { length: number; Item(n: number): string; }; + /** * The full path of the currently running script. */ ScriptFullName: string; + /** * Forces the script to stop immediately, with an optional exit code. */ Quit(exitCode?: number): number; + /** * The Windows Script Host build version number. */ BuildVersion: number; + /** * Fully qualified path of the host executable. */ FullName: string; + /** * Gets/sets the script mode - interactive(true) or batch(false). */ Interactive: boolean; + /** * The name of the host executable (WScript.exe or CScript.exe). */ Name: string; + /** * Path of the directory containing the host executable. */ Path: string; + /** * The filename of the currently running script. */ ScriptName: string; + /** * Exposes the read-only input stream for the current script. * Can be accessed only while using CScript.exe. */ StdIn: TextStreamReader; + /** * Windows Script Host version */ Version: string; + /** * Connects a COM object's event sources to functions named with a given prefix, in the form prefix_event. */ ConnectObject(objEventSource: any, strPrefix: string): void; + /** * Creates a COM object. * @param strProgiID * @param strPrefix Function names in the form prefix_event will be bound to this object's COM events. */ CreateObject(strProgID: string, strPrefix?: string): any; + /** * Disconnects a COM object from its event sources. */ DisconnectObject(obj: any): void; + /** * Retrieves an existing object with the specified ProgID from memory, or creates a new one from a file. * @param strPathname Fully qualified path to the file containing the object persisted to disk. @@ -167,6 +193,7 @@ declare var WScript: { * @param strPrefix Function names in the form prefix_event will be bound to this object's COM events. */ GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; + /** * Suspends script execution for a specified length of time, then continues execution. * @param intTime Interval (in milliseconds) to suspend script execution. From 9ec046bf9c115ca008d6be4b8842f90f7c923ead Mon Sep 17 00:00:00 2001 From: Zev Spitz Date: Mon, 13 Apr 2015 22:20:37 +0300 Subject: [PATCH 4/4] Formatting --- src/lib/scriptHost.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/scriptHost.d.ts b/src/lib/scriptHost.d.ts index 7ff8399cbfc..7faae06714c 100644 --- a/src/lib/scriptHost.d.ts +++ b/src/lib/scriptHost.d.ts @@ -100,7 +100,7 @@ interface TextStreamReader extends TextStreamBase { declare var WScript: { /** * Outputs text to either a message box (under WScript.exe) or the command console window followed by - * a newline (under CScript.ext). + * a newline (under CScript.exe). */ Echo(s: any): void; @@ -188,7 +188,7 @@ declare var WScript: { /** * Retrieves an existing object with the specified ProgID from memory, or creates a new one from a file. * @param strPathname Fully qualified path to the file containing the object persisted to disk. - * For objects in memory, pass a zero-length string. + * For objects in memory, pass a zero-length string. * @param strProgID * @param strPrefix Function names in the form prefix_event will be bound to this object's COM events. */