1- export function getRandomTime ( ) {
1+ export function getRandomTime ( ) : number {
22 return Math . random ( ) * 100 ;
33}
44
5- export function getTimer ( ) {
5+ export function getTimer ( ) : {
6+ start : ( ) => void ;
7+ stop : ( ) => number ;
8+ } {
69 let startTime : Date ;
710
811 function start ( ) {
@@ -20,7 +23,7 @@ export function getTimer() {
2023
2124export function makeDelayed < T extends unknown [ ] , R > (
2225 fn : ( ...args : T ) => R ,
23- delay = getRandomTime ( ) ,
26+ delay : number = getRandomTime ( ) ,
2427) : ( ...args : T ) => Promise < R > {
2528 return function delayedFunction ( ...args ) {
2629 return new Promise ( ( resolve ) =>
@@ -31,23 +34,25 @@ export function makeDelayed<T extends unknown[], R>(
3134 } ;
3235}
3336
34- export function duplicate ( x : number ) {
37+ export function duplicate ( x : number ) : number {
3538 return x * 2 ;
3639}
3740
38- export const duplicateInRandomTime = makeDelayed ( duplicate ) ;
41+ export const duplicateInRandomTime : ( x : number ) => Promise < number > = makeDelayed ( duplicate ) ;
3942
40- export function largerThanTwo ( x : number ) {
43+ export function largerThanTwo ( x : number ) : boolean {
4144 return x > 2 ;
4245}
4346
44- export const largerThanTwoInRandomTime = makeDelayed ( largerThanTwo ) ;
47+ export const largerThanTwoInRandomTime : ( x : number ) => Promise < boolean > =
48+ makeDelayed ( largerThanTwo ) ;
4549
46- export function largerThanOneHundred ( x : number ) {
50+ export function largerThanOneHundred ( x : number ) : boolean {
4751 return x > 100 ;
4852}
4953
50- export const largerThanOneHundredInRandomTime = makeDelayed ( largerThanOneHundred ) ;
54+ export const largerThanOneHundredInRandomTime : ( x : number ) => Promise < boolean > =
55+ makeDelayed ( largerThanOneHundred ) ;
5156
5257export function makePushDuplicate ( ) : [ number [ ] , ( x : number ) => void ] {
5358 const arr : number [ ] = [ ] ;
@@ -69,9 +74,10 @@ export function makePushDuplicateInRandomTime(): [number[], (x: number) => Promi
6974 return [ arr , pushDuplicate ] ;
7075}
7176
72- export function throws ( ) {
77+ export function throws ( ) : void {
7378 throw new Error ( 'Some error' ) ;
7479}
7580
76- export const inputArr = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ] ;
77- export const doubleInputArr = inputArr . map ( duplicate ) ;
81+ export const inputArr : number [ ] = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ] ;
82+
83+ export const doubleInputArr : number [ ] = inputArr . map ( duplicate ) ;
0 commit comments