Add group functions to core
This commit is contained in:
1 parent
db42e6152b
commit
aba89f20d2
4 files changed
+72
-1
No files matched your search
+1
-1
@@ -25,7 +25,7 @@ export function issueCommand(
|
||||
process.stdout.write(cmd.toString() + os.EOL)
|
||||
}
|
||||
|
||||
export function issue(name: string, message: string): void {
|
||||
export function issue(name: string, message: string = ''): void {
|
||||
issueCommand(name, {}, message)
|
||||
}
|
||||
|
||||
|
||||
+33
@@ -130,3 +130,36 @@ export function error(message: string): void {
|
||||
export function warning(message: string): void {
|
||||
issue('warning', message)
|
||||
}
|
||||
|
||||
/**
|
||||
* Begin an output group.
|
||||
*
|
||||
* Output until the next `groupEnd` will be foldable in this group
|
||||
*
|
||||
* @param name The name of the output group
|
||||
*/
|
||||
export function startGroup(name: string): void {
|
||||
issue('group', name)
|
||||
}
|
||||
|
||||
/**
|
||||
* End an output group.
|
||||
*/
|
||||
export function endGroup(): void {
|
||||
issue('endgroup')
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrap an asynchronous function call in a group.
|
||||
*
|
||||
* Returns the same type as the function itself.
|
||||
*
|
||||
* @param name The name of the group
|
||||
* @param fn The function to wrap in the group
|
||||
*/
|
||||
export async function group<T>(name: string, fn: () => Promise<T>): Promise<T> {
|
||||
startGroup(name)
|
||||
const result = await fn()
|
||||
endGroup()
|
||||
return result
|
||||
}
|
||||
Reference in new issue
Block a user