43 lines
		
	
	
		
			916 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			916 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| //      
 | |
| 'use strict';
 | |
| 
 | |
| const fs = require('fs');
 | |
| 
 | |
|                 
 | |
|                           
 | |
|   
 | |
| 
 | |
| function readFile(filepath        , options          )                         {
 | |
|   options = options || {};
 | |
|   const throwNotFound = options.throwNotFound || false;
 | |
| 
 | |
|   return new Promise((resolve, reject) => {
 | |
|     fs.readFile(filepath, 'utf8', (err, content) => {
 | |
|       if (err && err.code === 'ENOENT' && !throwNotFound) {
 | |
|         return resolve(null);
 | |
|       }
 | |
|       if (err) return reject(err);
 | |
|       resolve(content);
 | |
|     });
 | |
|   });
 | |
| }
 | |
| 
 | |
| readFile.sync = function readFileSync(
 | |
|   filepath        ,
 | |
|   options          
 | |
| )                {
 | |
|   options = options || {};
 | |
|   const throwNotFound = options.throwNotFound || false;
 | |
| 
 | |
|   try {
 | |
|     return fs.readFileSync(filepath, 'utf8');
 | |
|   } catch (err) {
 | |
|     if (err.code === 'ENOENT' && !throwNotFound) {
 | |
|       return null;
 | |
|     }
 | |
|     throw err;
 | |
|   }
 | |
| };
 | |
| 
 | |
| module.exports = readFile;
 |