| "use strict"; | 
| Object.defineProperty(exports, "__esModule", { value: true }); | 
| const optionsManager = require("./managers/options"); | 
| const statProvider = require("./providers/stat"); | 
| /** | 
|  * Asynchronous API. | 
|  */ | 
| function stat(path, opts) { | 
|     return new Promise((resolve, reject) => { | 
|         statProvider.async(path, optionsManager.prepare(opts), (err, stats) => err ? reject(err) : resolve(stats)); | 
|     }); | 
| } | 
| exports.stat = stat; | 
| function statCallback(path, optsOrCallback, callback) { | 
|     if (typeof optsOrCallback === 'function') { | 
|         callback = optsOrCallback; /* tslint:disable-line: no-parameter-reassignment */ | 
|         optsOrCallback = undefined; /* tslint:disable-line: no-parameter-reassignment */ | 
|     } | 
|     if (typeof callback === 'undefined') { | 
|         throw new TypeError('The "callback" argument must be of type Function.'); | 
|     } | 
|     statProvider.async(path, optionsManager.prepare(optsOrCallback), callback); | 
| } | 
| exports.statCallback = statCallback; | 
| /** | 
|  * Synchronous API. | 
|  */ | 
| function statSync(path, opts) { | 
|     return statProvider.sync(path, optionsManager.prepare(opts)); | 
| } | 
| exports.statSync = statSync; |