zaincode
Version:
A modern, user-friendly CLI tool to manage projects, automate tasks, configure remotes, and push files with ease. Built for developers who want a lightweight yet powerful terminal experience.
34 lines (27 loc) • 866 B
JavaScript
import cmdEvents from '../cmdEventEmitter.js'
import { dirname, join } from 'path'
import fs from 'fs/promises'
import { fileURLToPath } from 'url'
const __filename = fileURLToPath(import.meta.url)
const __dirname = dirname(__filename)
cmdEvents.on('checkType', async (name, resolve, reject) => {
const fullPath = join(__dirname, '../', name)
try {
const state = await fs.stat(fullPath)
if (state.isDirectory()) {
resolve('dir')
} else if (state.isFile()) {
resolve('file')
} else {
reject(new Error(`${name} is neither file nor directory`))
}
} catch (error) {
reject(new Error(`Error: ${name} does not exist`))
}
})
const CheckType = name => {
return new Promise((resolve, reject) => {
cmdEvents.emit('checkType', name, resolve, reject)
})
}
export default CheckType