TrinetraLabs/Placebo_AI
0
1// Type definitions for lie 3.22// Project: https://github.com/calvinmetcalf/lie#readme3// Definitions by: Andre Wiggins <https://github.com/andrewiggins>4// TypeScript Version: 2.35 6// These types are copied from TypeScript's built-in Promise types7// and extended with extra Lie utilities namely, finally.8 9export as namespace Promise;10 11/**12 * Represents the completion of an asynchronous operation13 */14interface Promise<T> {15 /**16 * Attaches callbacks for the resolution and/or rejection of the Promise.17 * @param onfulfilled The callback to execute when the Promise is resolved.18 * @param onrejected The callback to execute when the Promise is rejected.19 * @returns A Promise for the completion of which ever callback is executed.20 */21 then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;22 23 /**24 * Attaches a callback for only the rejection of the Promise.25 * @param onrejected The callback to execute when the Promise is rejected.26 * @returns A Promise for the completion of the callback.27 */28 catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): Promise<T | TResult>;29 30 /**31 * When the promise is settled, whether fulfilled or rejected, execute the32 * specified callback function. This provides a way for code that must be33 * executed once the Promise has been dealt with to be run whether the promise34 * was fulfilled successfully or rejected.35 * @param onfinally Function called when the Promise is settled36 * @returns A Promise whose finally handler is set to the specified function, onfinally.37 */38 finally<TResult = never>(onfinally?: (() => TResult | PromiseLike<TResult>) | undefined | null): Promise<T | TResult>;39}40 41interface PromiseConstructor {42 /**43 * A reference to the prototype.44 */45 readonly prototype: Promise<any>;46 47 /**48 * Creates a new Promise.49 * @param executor A callback used to initialize the promise. This callback is passed two arguments:50 * a resolve callback used resolve the promise with a value or the result of another promise,51 * and a reject callback used to reject the promise with a provided reason or error.52 */53 new <T>(executor: (resolve: (value?: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;54 55 /**56 * Creates a Promise that is resolved with an array of results when all of the provided Promises57 * resolve, or rejected when any Promise is rejected.58 * @param values An array of Promises.59 * @returns A new Promise.60 */61 all<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>, T6 | PromiseLike<T6>, T7 | PromiseLike<T7>, T8 | PromiseLike<T8>, T9 | PromiseLike<T9>, T10 | PromiseLike<T10>]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]>;62 63 /**64 * Creates a Promise that is resolved with an array of results when all of the provided Promises65 * resolve, or rejected when any Promise is rejected.66 * @param values An array of Promises.67 * @returns A new Promise.68 */69 all<T1, T2, T3, T4, T5, T6, T7, T8, T9>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>, T6 | PromiseLike<T6>, T7 | PromiseLike<T7>, T8 | PromiseLike<T8>, T9 | PromiseLike<T9>]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9]>;70 71 /**72 * Creates a Promise that is resolved with an array of results when all of the provided Promises73 * resolve, or rejected when any Promise is rejected.74 * @param values An array of Promises.75 * @returns A new Promise.76 */77 all<T1, T2, T3, T4, T5, T6, T7, T8>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>, T6 | PromiseLike<T6>, T7 | PromiseLike<T7>, T8 | PromiseLike<T8>]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8]>;78 79 /**80 * Creates a Promise that is resolved with an array of results when all of the provided Promises81 * resolve, or rejected when any Promise is rejected.82 * @param values An array of Promises.83 * @returns A new Promise.84 */85 all<T1, T2, T3, T4, T5, T6, T7>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>, T6 | PromiseLike<T6>, T7 | PromiseLike<T7>]): Promise<[T1, T2, T3, T4, T5, T6, T7]>;86 87 /**88 * Creates a Promise that is resolved with an array of results when all of the provided Promises89 * resolve, or rejected when any Promise is rejected.90 * @param values An array of Promises.91 * @returns A new Promise.92 */93 all<T1, T2, T3, T4, T5, T6>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>, T6 | PromiseLike<T6>]): Promise<[T1, T2, T3, T4, T5, T6]>;94 95 /**96 * Creates a Promise that is resolved with an array of results when all of the provided Promises97 * resolve, or rejected when any Promise is rejected.98 * @param values An array of Promises.99 * @returns A new Promise.100 */101 all<T1, T2, T3, T4, T5>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>]): Promise<[T1, T2, T3, T4, T5]>;102 103 /**104 * Creates a Promise that is resolved with an array of results when all of the provided Promises105 * resolve, or rejected when any Promise is rejected.106 * @param values An array of Promises.107 * @returns A new Promise.108 */109 all<T1, T2, T3, T4>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>]): Promise<[T1, T2, T3, T4]>;110 111 /**112 * Creates a Promise that is resolved with an array of results when all of the provided Promises113 * resolve, or rejected when any Promise is rejected.114 * @param values An array of Promises.115 * @returns A new Promise.116 */117 all<T1, T2, T3>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>]): Promise<[T1, T2, T3]>;118 119 /**120 * Creates a Promise that is resolved with an array of results when all of the provided Promises121 * resolve, or rejected when any Promise is rejected.122 * @param values An array of Promises.123 * @returns A new Promise.124 */125 all<T1, T2>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>]): Promise<[T1, T2]>;126 127 /**128 * Creates a Promise that is resolved with an array of results when all of the provided Promises129 * resolve, or rejected when any Promise is rejected.130 * @param values An array of Promises.131 * @returns A new Promise.132 */133 all<T>(values: (T | PromiseLike<T>)[]): Promise<T[]>;134 135 /**136 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved137 * or rejected.138 * @param values An array of Promises.139 * @returns A new Promise.140 */141 race<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>, T6 | PromiseLike<T6>, T7 | PromiseLike<T7>, T8 | PromiseLike<T8>, T9 | PromiseLike<T9>, T10 | PromiseLike<T10>]): Promise<T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9 | T10>;142 143 /**144 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved145 * or rejected.146 * @param values An array of Promises.147 * @returns A new Promise.148 */149 race<T1, T2, T3, T4, T5, T6, T7, T8, T9>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>, T6 | PromiseLike<T6>, T7 | PromiseLike<T7>, T8 | PromiseLike<T8>, T9 | PromiseLike<T9>]): Promise<T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9>;150 151 /**152 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved153 * or rejected.154 * @param values An array of Promises.155 * @returns A new Promise.156 */157 race<T1, T2, T3, T4, T5, T6, T7, T8>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>, T6 | PromiseLike<T6>, T7 | PromiseLike<T7>, T8 | PromiseLike<T8>]): Promise<T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8>;158 159 /**160 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved161 * or rejected.162 * @param values An array of Promises.163 * @returns A new Promise.164 */165 race<T1, T2, T3, T4, T5, T6, T7>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>, T6 | PromiseLike<T6>, T7 | PromiseLike<T7>]): Promise<T1 | T2 | T3 | T4 | T5 | T6 | T7>;166 167 /**168 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved169 * or rejected.170 * @param values An array of Promises.171 * @returns A new Promise.172 */173 race<T1, T2, T3, T4, T5, T6>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>, T6 | PromiseLike<T6>]): Promise<T1 | T2 | T3 | T4 | T5 | T6>;174 175 /**176 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved177 * or rejected.178 * @param values An array of Promises.179 * @returns A new Promise.180 */181 race<T1, T2, T3, T4, T5>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>]): Promise<T1 | T2 | T3 | T4 | T5>;182 183 /**184 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved185 * or rejected.186 * @param values An array of Promises.187 * @returns A new Promise.188 */189 race<T1, T2, T3, T4>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>]): Promise<T1 | T2 | T3 | T4>;190 191 /**192 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved193 * or rejected.194 * @param values An array of Promises.195 * @returns A new Promise.196 */197 race<T1, T2, T3>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>]): Promise<T1 | T2 | T3>;198 199 /**200 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved201 * or rejected.202 * @param values An array of Promises.203 * @returns A new Promise.204 */205 race<T1, T2>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>]): Promise<T1 | T2>;206 207 /**208 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved209 * or rejected.210 * @param values An array of Promises.211 * @returns A new Promise.212 */213 race<T>(values: (T | PromiseLike<T>)[]): Promise<T>;214 215 /**216 * Creates a new rejected promise for the provided reason.217 * @param reason The reason the promise was rejected.218 * @returns A new rejected Promise.219 */220 reject(reason: any): Promise<never>;221 222 /**223 * Creates a new rejected promise for the provided reason.224 * @param reason The reason the promise was rejected.225 * @returns A new rejected Promise.226 */227 reject<T>(reason: any): Promise<T>;228 229 /**230 * Creates a new resolved promise for the provided value.231 * @param value A promise.232 * @returns A promise whose internal state matches the provided promise.233 */234 resolve<T>(value: T | PromiseLike<T>): Promise<T>;235 236 /**237 * Creates a new resolved promise .238 * @returns A resolved promise.239 */240 resolve(): Promise<void>;241}242 243declare const Promise: PromiseConstructor;244export default Promise;245 