'use strict';

var promisify = require('./promisify');

function promisifyAll(object, promisifiedObject) {
    var k;

    promisifiedObject = promisifiedObject || {};

    for (k in object) {
        if (typeof object[k] === 'function') {
            promisifiedObject[k] = promisify(object[k], object);

            if (Object.keys(object[k]).length) {
                promisifiedObject[k] = promisifyAll(object[k], promisifiedObject[k]);
            }
        }
    }

    return promisifiedObject;
}

/*
 * Promisifies all the enumerable own functions of an object,
 * returning a new object, or assigning methods to the `targetObject`.
 */
module.exports = promisifyAll;

@@ -5,17 +5,16 @@
  strict'
-;
 %0A%0Avar pr
@@ -45,17 +45,16 @@
 misify')
-;
 %0A%0Afuncti
@@ -64,24 +64,25 @@
 promisifyAll
+ 
 (object, pro
@@ -105,20 +105,15 @@
 %7B%0A  
- 
- 
 var k
-;
 %0A%0A
-  
   pr
@@ -153,21 +153,18 @@
 ct %7C%7C %7B%7D
-;
 %0A%0A
-  
   for (k
@@ -173,28 +173,24 @@
 n object) %7B%0A
-    
     if (type
@@ -216,30 +216,24 @@
 unction') %7B%0A
-      
       promis
@@ -281,17 +281,10 @@
 ect)
-;
 %0A%0A
-      
     
@@ -330,24 +330,16 @@
         
- 
-       
 promisif
@@ -402,43 +402,28 @@
 %5Bk%5D)
-;%0A   
+%0A
       
-   
 %7D%0A    
- 
-   
 %7D%0A  
- 
- 
 %7D%0A%0A
-  
   re
@@ -448,17 +448,16 @@
 ject
-;
 %0A%7D%0A%0A/*%0A 
 * Pr
@@ -452,17 +452,16 @@
 %0A%7D%0A%0A/*%0A 
-*
  Promisi
@@ -513,17 +513,16 @@
 bject,%0A 
-*
  returni
@@ -586,12 +586,13 @@
 t%60.%0A
- 
+%0A
 */%0A
+%0A
 modu
@@ -620,6 +620,5 @@
 yAll
-;
 %0A

update promise/promisfyAll — lint, es6