aboutsummaryrefslogtreecommitdiff
path: root/node_modules/@nodelib/fs.stat/out/providers
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/@nodelib/fs.stat/out/providers')
-rw-r--r--node_modules/@nodelib/fs.stat/out/providers/stat.d.ts11
-rw-r--r--node_modules/@nodelib/fs.stat/out/providers/stat.js45
2 files changed, 56 insertions, 0 deletions
diff --git a/node_modules/@nodelib/fs.stat/out/providers/stat.d.ts b/node_modules/@nodelib/fs.stat/out/providers/stat.d.ts
new file mode 100644
index 0000000..47c0bd1
--- /dev/null
+++ b/node_modules/@nodelib/fs.stat/out/providers/stat.d.ts
@@ -0,0 +1,11 @@
+/// <reference types="node" />
+import * as fs from 'fs';
+import { StrictOptions } from '../managers/options';
+export declare function sync(path: fs.PathLike, options: StrictOptions): fs.Stats;
+export declare type AsyncCallback = (err: NodeJS.ErrnoException | null, stats?: fs.Stats) => void;
+export declare function async(path: fs.PathLike, options: StrictOptions, callback: AsyncCallback): void;
+/**
+ * Returns `true` for followed symlink.
+ */
+export declare function isFollowedSymlink(stat: fs.Stats, options: StrictOptions): boolean;
+//# sourceMappingURL=stat.d.ts.map \ No newline at end of file
diff --git a/node_modules/@nodelib/fs.stat/out/providers/stat.js b/node_modules/@nodelib/fs.stat/out/providers/stat.js
new file mode 100644
index 0000000..a7bbc52
--- /dev/null
+++ b/node_modules/@nodelib/fs.stat/out/providers/stat.js
@@ -0,0 +1,45 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+function sync(path, options) {
+ const lstat = options.fs.lstatSync(path);
+ if (!isFollowedSymlink(lstat, options)) {
+ return lstat;
+ }
+ try {
+ const stat = options.fs.statSync(path);
+ stat.isSymbolicLink = () => true;
+ return stat;
+ }
+ catch (err) {
+ if (!options.throwErrorOnBrokenSymlinks) {
+ return lstat;
+ }
+ throw err;
+ }
+}
+exports.sync = sync;
+function async(path, options, callback) {
+ options.fs.lstat(path, (err0, lstat) => {
+ if (err0) {
+ return callback(err0, undefined);
+ }
+ if (!isFollowedSymlink(lstat, options)) {
+ return callback(null, lstat);
+ }
+ options.fs.stat(path, (err1, stat) => {
+ if (err1) {
+ return options.throwErrorOnBrokenSymlinks ? callback(err1) : callback(null, lstat);
+ }
+ stat.isSymbolicLink = () => true;
+ callback(null, stat);
+ });
+ });
+}
+exports.async = async;
+/**
+ * Returns `true` for followed symlink.
+ */
+function isFollowedSymlink(stat, options) {
+ return stat.isSymbolicLink() && options.followSymlinks;
+}
+exports.isFollowedSymlink = isFollowedSymlink;