--- /dev/null
+"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;