You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
import { type ExecFileOptionsWithStringEncoding, type ExecFileSyncOptionsWithStringEncoding, type PromiseWithChild,} from 'node:child_process';
/**Converts a `URL` or path to a path.
__Not available in browsers.__
@example```
import path from 'node:path';import {toPath} from 'unicorn-magic';
// `cwd` can be `URL` or a path string.
const getUnicornPath = cwd => path.join(toPath(cwd), 'unicorn');```
*/export function toPath(urlOrPath: URL | string): string;
/**Finds the root directory of the given path.
__Not available in browsers.__
On Unix-based systems, the root is always `'/'`.On Windows, the root varies and includes the drive letter (e.g., `'C:\\'`).
This function operates purely on paths and does not interact with the file system.
@param path - The path or URL to check.@returns The root directory of the path.
@example```
import {rootDirectory} from 'unicorn-magic';
console.log(rootDirectory('/Users/x/y/z'));//=> '/'
console.log(rootDirectory('C:\\Users\\x\\y\\z'));//=> 'C:\\'
```
*/export function rootDirectory(path: string | URL): string;
/**Creates an iterable for traversing from a given start path up to the root directory.
__Not available in browsers.__
This function operates purely on paths and does not interact with the file system.
@param startPath - The starting path. Can be relative.@returns An iterable that iterates over each parent directory up to the root.
Tip: To stop iteration before reaching the root, use a `break` statement within a conditional check.
@example```
import {traversePathUp} from 'unicorn-magic';
for (const directory of traversePathUp('/Users/x/y/z')) { console.log(directory); //=> '/Users/x/y/z'
//=> '/Users/x/y'
//=> '/Users/x'
//=> '/Users'
//=> '/'
}```
*/export function traversePathUp(startPath: string | URL): Iterable<string>;
/**Executes a file.
Same as the built-in `execFile` but with:- Promise API- 10 MB `maxBuffer` instead of 1 MB
@example```
import {execFile} from 'unicorn-magic';
console.log(await execFile('ls', ['-l']));```
__Not available in browsers.__*/export function execFile( file: string, arguments_: readonly string[], options?: ExecFileOptionsWithStringEncoding): PromiseWithChild<{ stdout: string; stderr: string;}>;
/**Executes a file synchronously.
Same as the built-in `execFileSync` but with:- String output instead of buffer (same as `execFile`)- Does not output `stderr` to the terminal by default (same as `execFile`)- 10 MB `maxBuffer` instead of 1 MB
@example```
import {execFileSync} from 'unicorn-magic';
console.log(execFileSync('ls', ['-l']));```
__Not available in browsers.__*/export function execFileSync( file: string, arguments_?: readonly string[], options?: ExecFileSyncOptionsWithStringEncoding): string;
export * from './default.js';
|