export = parser; export as namespace parser; declare var parser: parser.Parser; declare namespace parser { interface Parser { /** * parser() main method * @param dirPath { string } * @param ptions { Options } */ (dirPath: string, ptions: Options): Promise } /** * options of dirparse */ interface Options { depth?: number; reverse?: boolean; fileFirst?: boolean; fileOnly?: boolean; dirOnly?: boolean; getFiles?: boolean; getChildren?: boolean; dirTree?: boolean; // default: true dirInfo?: boolean; // default: true lineType?: 'solid' | 'dash' | 'dashed'; // default: 'solid' excludes?: Array; // eg: [ '.git', 'node_modules', '.idea' ]; excPaths?: Array; // eg: [ 'src/app' ]; excPatterns?: Array; // eg: [ 'src/*.js ]'; ignores: Array; // eg: [ 'public' ]; includes: Array; // eg: [ 'app.js' ]; paths?: Array; // eg: [ 'src/public' ]; patterns?: Array; // eg: [ '*.js' ]'; glob?: string; // eg: '**/*.js'; } /** * the pased result. */ interface Parsed extends DirInfo { dirTree: string; children: Array files: Array } /** * field of directory info. */ interface DirInfo { name: string; type: 'directory'; size: number; size_kb: number; path: string; absPath: string; dir: string; absDir: string; dirNum: number; fileNum: number; children: Array } /** * field of file info. */ interface FileInfo { name: string; base: string; ext: string; type: 'file'; size: number; size_kb: number; path: string; absPath: string; dir: string; absDir: string; } }