all files / promise/ create-promise.ts

80% Statements 12/15
25% Branches 1/4
80% Functions 4/5
78.57% Lines 11/14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 3078× 77× 108× 58× 58× 58×                         58× 58×           77×    
export function createPromise(): any {
   let promise: any = {
     resolve: (...args: Array<any>) => {
        try {
          Eif (promise.resolveCallback) {
             promise.resolveCallback.apply(this, args);
          }
       }
       catch (error) {
          promise.reject(error);
       }
     },
      reject: (error: Error) => {
         if (promise.rejectCallback) {
            promise.rejectCallback(error);
         }
      },
     then: (callback: (testResults: Array<any>) => any) => {
       promise.resolveCallback = callback;
       return promise;
     },
     catch: (callback: (error: Error) => any) => {
        promise.rejectCallback = callback;
        return promise;
     }
  };
 
  return promise;
}