38 lines
		
	
	
		
			843 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			843 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| function requireBluebird() {
 | |
|   try {
 | |
|     return require('bluebird');
 | |
|   } catch(e) {
 | |
|     console.error("");
 | |
|     console.error("DON'T PANIC. You're running an old version of node with incomplete Promise support.");
 | |
|     console.error("EASY FIX: `npm install --save bluebird`");
 | |
|     console.error("");
 | |
|     throw e;
 | |
|   }
 | |
| }
 | |
| 
 | |
| if ('undefined' === typeof Promise) {
 | |
|   global.Promise = requireBluebird();
 | |
| }
 | |
| 
 | |
| if ('function' !== typeof require('util').promisify) {
 | |
|   require('util').promisify = requireBluebird().promisify;
 | |
| }
 | |
| 
 | |
| if (!console.debug) {
 | |
|   console.debug = console.log;
 | |
| }
 | |
| 
 | |
| var fs = require('fs');
 | |
| var fsAsync = {};
 | |
| Object.keys(fs).forEach(function (key) {
 | |
|   var fn = fs[key];
 | |
|   if ('function' !== typeof fn || !/[a-z]/.test(key[0])) {
 | |
|     return;
 | |
|   }
 | |
|   fsAsync[key] = require('util').promisify(fn);
 | |
| });
 | |
| 
 | |
| exports.fsAsync = fsAsync;
 |