38 lines
		
	
	
		
			819 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			819 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;
 |