Sha256: 436c778b45b4f46cf906bff4c38962219b349d5e42a2c62696c689417ab582a5
Contents?: true
Size: 517 Bytes
Versions: 110
Compression:
Stored size: 517 Bytes
Contents
import { dirname, resolve } from 'path'; import { readdir, stat } from 'fs'; import { promisify } from 'util'; const toStats = promisify(stat); const toRead = promisify(readdir); export default async function (start, callback) { let dir = resolve('.', start); let tmp, stats = await toStats(dir); if (!stats.isDirectory()) { dir = dirname(dir); } while (true) { tmp = await callback(dir, await toRead(dir)); if (tmp) return resolve(dir, tmp); dir = dirname(tmp = dir); if (tmp === dir) break; } }
Version data entries
110 entries across 109 versions & 15 rubygems