| "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; |