Skip to content

Commit

Permalink
fix(deps): cicle dependencies between walk and index
Browse files Browse the repository at this point in the history
  • Loading branch information
nampdn committed Nov 21, 2018
1 parent 89e17fc commit c5736f1
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 32 deletions.
24 changes: 24 additions & 0 deletions src/builtins.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import {promisify} from 'util'
import * as fs from 'graceful-fs'
// Graceful-fs
export const readFileAsync = promisify(fs.readFile)
export const writeFileAsync = promisify(fs.writeFile)
export const statAsync = promisify(fs.stat)
export const mkdirAsync = promisify(fs.mkdir)
export const rmdirAsync = promisify(fs.rmdir)
export const unlinkAsync = promisify(fs.unlink)
export const renameAsync = promisify(fs.rename)
export const existsAsync = promisify(fs.exists)
export const readdirAsync = promisify(fs.readdir)

// Native node fs
export const fsReadFileAsync = promisify(fs.readFile)
export const fsWriteFileAsync = promisify(fs.writeFile)
export const fsStatAsync = promisify(fs.stat)
export const fsMkdirAsync = promisify(fs.mkdir)
export const fsRmdirAsync = promisify(fs.rmdir)
export const fsUnlinkAsync = promisify(fs.unlink)
export const fsRenameAsync = promisify(fs.rename)
export const fsExistsAsync = promisify(fs.exists)
export const fsReaddirAsync = promisify(fs.readdir)

30 changes: 2 additions & 28 deletions src/index.ts
Original file line number Diff line number Diff line change
@@ -1,28 +1,2 @@
import * as fs from 'graceful-fs'
import {promisify} from 'util'
import {walk as w} from './walk'

// Graceful-fs
export const readFileAsync = promisify(fs.readFile)
export const writeFileAsync = promisify(fs.writeFile)
export const statAsync = promisify(fs.stat)
export const mkdirAsync = promisify(fs.mkdir)
export const rmdirAsync = promisify(fs.rmdir)
export const unlinkAsync = promisify(fs.unlink)
export const renameAsync = promisify(fs.rename)
export const existsAsync = promisify(fs.exists)
export const readdirAsync = promisify(fs.readdir)

// Native node fs
export const fsReadFileAsync = promisify(fs.readFile)
export const fsWriteFileAsync = promisify(fs.writeFile)
export const fsStatAsync = promisify(fs.stat)
export const fsMkdirAsync = promisify(fs.mkdir)
export const fsRmdirAsync = promisify(fs.rmdir)
export const fsUnlinkAsync = promisify(fs.unlink)
export const fsRenameAsync = promisify(fs.rename)
export const fsExistsAsync = promisify(fs.exists)
export const fsReaddirAsync = promisify(fs.readdir)

// Walk
export const walk = w
export * from './builtins'
export * from './walk'
9 changes: 5 additions & 4 deletions src/walk.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
import {join} from 'path'
import * as R from 'ramda'
import {statAsync, readdirAsync} from './index'
import {map, forEach} from 'ramda'
import {statAsync, readdirAsync} from './builtins'

// Walk
const getPathInfo = async (path: string) => {
const stats = await statAsync(path)
return {path, isDir: stats.isDirectory()}
}

const getFilesInDir = async (path: string) => {
const files = await readdirAsync(path)
return R.map((file: any) => join(path, file), files)
return map((file: any) => join(path, file), files)
}

/**
Expand All @@ -22,7 +23,7 @@ export const walk = async (path: string): Promise<string[]> => {
const contents = await getFilesInDir(path)
const pathInfoArray = await Promise.all(contents.map(getPathInfo))

R.forEach(({isDir, path}: any) => (isDir ? folders : files).push(path), pathInfoArray)
forEach(({isDir, path}: any) => (isDir ? folders : files).push(path), pathInfoArray)

const result = await Promise.all(folders.map(walk))
return files.concat(...result)
Expand Down

0 comments on commit c5736f1

Please sign in to comment.