You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.1 KiB
32 lines
1.1 KiB
4 years ago
|
"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;
|