From f3930a78941b6636b66e9893089698c072a2247c Mon Sep 17 00:00:00 2001 From: Inga Lovinde <52715130+inga-lovinde@users.noreply.github.com> Date: Wed, 1 Mar 2017 10:34:36 +0300 Subject: [PATCH] Type annotations added to git --- BuildServer/.gitignore | 1 - BuildServer/global.d.ts | 64 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 BuildServer/global.d.ts diff --git a/BuildServer/.gitignore b/BuildServer/.gitignore index 86f6aa2..285b65b 100644 --- a/BuildServer/.gitignore +++ b/BuildServer/.gitignore @@ -18,6 +18,5 @@ data *.crt settings.js settings.ts -*.d.ts iisnode diff --git a/BuildServer/global.d.ts b/BuildServer/global.d.ts new file mode 100644 index 0000000..7c05f6a --- /dev/null +++ b/BuildServer/global.d.ts @@ -0,0 +1,64 @@ +interface Message { + readonly message: string; + readonly prefix: string; +} + +interface PartialMessagesLeaf { + readonly $messages?: string[]; +} + +interface PartialMessagesRecursive { + readonly [propName: string]: Messages | string[] | Message[]; // workaround for compatibility with PartialMessagesLeaf and PartialMessagesRoot +} + +interface PartialMessagesRoot { + readonly $allMessages: Message[]; +} + +type Messages = PartialMessagesLeaf & PartialMessagesRecursive; + +type MessagesRoot = PartialMessagesLeaf & PartialMessagesRecursive & PartialMessagesRoot; + +interface ReportResult { + readonly errors: MessagesRoot; + readonly warns: MessagesRoot; + readonly infos: MessagesRoot; + readonly messages: MessagesRoot; +} + +interface Report { + readonly date: number; + readonly err?: string; + readonly result?: ReportResult; +} + +interface TaskProcessorCallback { + (err: string): void; +} + +interface TaskProcessorCore { + readonly onError: (message: string | Error, prefix?: string) => void; + readonly onWarn: (message: string, prefix?: string) => void; + readonly onInfo: (message: string, prefix?: string) => void; + readonly context?: any; +} + +interface TaskProcessor extends TaskProcessorCore { + readonly process: () => void; + readonly processTask: (task: TaskInfo, innerCallback: TaskProcessorCallback) => void; + readonly done: () => void; +} + +interface TaskInfo { + name?: string; + type: string; + params: any; +} + +interface Task { + (params: any, processor: TaskProcessor): () => void; +} + +interface Tasks { + readonly [taskName: string]: Task; +}