UNPKG

@cuba-platform/front-generator

Version:
56 lines (55 loc) 1.88 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); function sync(fsAdapter, path, options) { const lstat = fsAdapter.lstat(path); if (!isFollowedSymlink(lstat, options)) { return lstat; } try { const stat = fsAdapter.stat(path); stat.isSymbolicLink = () => true; return stat; } catch (err) { if (!options.throwErrorOnBrokenSymlinks) { return lstat; } throw err; } } exports.sync = sync; function async(fsAdapter, path, options) { return __awaiter(this, void 0, void 0, function* () { const lstat = yield fsAdapter.lstat(path); if (!isFollowedSymlink(lstat, options)) { return lstat; } try { const stat = yield fsAdapter.stat(path); stat.isSymbolicLink = () => true; return stat; } catch (err) { if (!options.throwErrorOnBrokenSymlinks) { return lstat; } throw err; } }); } exports.async = async; /** * Returns `true` for followed symlink. */ function isFollowedSymlink(stat, options) { return stat.isSymbolicLink() && options.followSymlinks; } exports.isFollowedSymlink = isFollowedSymlink;