当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript fs.stat函数代码示例

本文整理汇总了TypeScript中mz/fs.stat函数的典型用法代码示例。如果您正苦于以下问题:TypeScript stat函数的具体用法?TypeScript stat怎么用?TypeScript stat使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了stat函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: requireDir

export async function requireDir(path: string, iterator: (mod: any, path?: string) => Promise<any>): Promise<void> {
    
    if (!Path.isAbsolute(path)) {
        path = Path.resolve(path);
    }

    let files = await fs.readdir(path);
    files.sort();

    for (let i = 0, ii = files.length; i < ii; i++) {
        let fp = Path.join(path, files[i])

        let stat = await fs.stat(fp);


        if (stat.isDirectory()) {
            await requireDir(fp, iterator);
            continue;
        }

        let mod;
        try {
            mod = require(fp);
        } catch (e) {
            e.path = fp;
            throw e

        }

        await iterator(mod, fp);
    }
}
开发者ID:kildevaeld,项目名称:willburg,代码行数:32,代码来源:utils.ts

示例2: buildDirectory

async function buildDirectory(
  srcDirPath: string,
  outDirPath: string,
  options: CLIOptions,
): Promise<void> {
  const extension = options.sucraseOptions.transforms.includes("typescript") ? ".ts" : ".js";
  if (!(await exists(outDirPath))) {
    await mkdir(outDirPath);
  }
  for (const child of await readdir(srcDirPath)) {
    if (["node_modules", ".git"].includes(child) || options.excludeDirs.includes(child)) {
      continue;
    }
    const srcChildPath = join(srcDirPath, child);
    const outChildPath = join(outDirPath, child);
    if ((await stat(srcChildPath)).isDirectory()) {
      await buildDirectory(srcChildPath, outChildPath, options);
    } else if (srcChildPath.endsWith(extension)) {
      const outPath = `${outChildPath.substr(0, outChildPath.length - extension.length)}.${
        options.outExtension
      }`;
      await buildFile(srcChildPath, outPath, options);
    }
  }
}
开发者ID:alangpierce,项目名称:sucrase,代码行数:25,代码来源:cli.ts

示例3: processPath

 async function processPath(path: string): Promise<void> {
   let info = await stat(path);
   if (info.isDirectory()) {
     await processDirectory(path);
   } else {
     await processFile(path);
   }
 }
开发者ID:alangpierce,项目名称:decaffeinate,代码行数:8,代码来源:cli.ts

示例4: getSubdirectoriesAsync

    /**
     * Gets all subdirectories (not files) under a directory.
     */
    protected static async getSubdirectoriesAsync(directoryPath: string): Promise<string[]> {
        let directoryNames: string[] = [];
        let childNames: string[] = await fs.readdir(directoryPath);

        for (let i = 0; i < childNames.length; i++) {
            if ((await fs.stat(path.join(directoryPath, childNames[i]))).isDirectory()) {
                directoryNames.push(childNames[i]);
            }
        }

        return directoryNames;
    }
开发者ID:arjun-msft,项目名称:opent2t,代码行数:15,代码来源:LocalPackageSource.ts

示例5:

    static async $rmr(node?: string): Promise<void> {
        if (node) {
            if ((await fs.stat(node)).isDirectory()) {
                for (const file of await fs.readdir(node)) {
                    await Engine.$rmr(path.join(node, file));
                }

                await fs.rmdir(node);
            }
            else {
                await fs.unlink(node);
            }
        }
    }
开发者ID:LeviticusMB,项目名称:ghostly,代码行数:14,代码来源:ghostly.ts

示例6: handleClient

async function handleClient(assets:Assets, req: http.IncomingMessage, res: http.ServerResponse): Promise<void> {
    
    let stream, mime = "text/html", stats;
    let path: string;
    
    switch (req.url) {
        case '/js/assets-gallery.js':
            path = Path.join(ASSETS_PATH, 'js', 'assets-gallery.js')
            mime = 'application/javascript';
            break;
        case '/css/assets-gallery.css':
            path = Path.join(ASSETS_PATH, 'css', 'assets-gallery.css');
            mime = 'text/css';
            break;
        case '/images/assets-mimetypes.png':
            path = Path.join(ASSETS_PATH, 'images', 'assets-mimetypes.png')
            mime = 'image/png';
            break;
        case '/images/assets-mimetypes@2x.png':
            path = Path.join(ASSETS_PATH, 'images', 'assets-mimetypes@2x.png')
            mime = 'image/png';
            break;
        case '/images/assets-loader.gif':
            path = Path.join(ASSETS_PATH, 'images', 'assets-loader.gif');
            mime = 'image/gif';
            break;
        case '/images/assets-remove.png':
            path = Path.join(ASSETS_PATH, 'images', 'assets-remove.png');
            mime = 'image/png';
            break;
        default:
            path = Path.resolve(__dirname, '../../resources/index.html');
            mime = 'text/html';       
    }
    
    stats = await fs.stat(path);
    
    stream = fs.createReadStream(path);
    
    res.writeHead(200, {
        'Content-Type': mime,
        'Content-Length': stats.size,
        //'ETag': etag(stats)
    });
    
    stream.pipe(res);    
}
开发者ID:kildevaeld,项目名称:assets,代码行数:47,代码来源:server.ts

示例7: mergeDirectoryContents

export default async function mergeDirectoryContents(
  srcDirPath: string,
  destDirPath: string,
): Promise<void> {
  if (!(await exists(destDirPath))) {
    await mkdir(destDirPath);
  }
  for (const child of await readdir(srcDirPath)) {
    const srcChildPath = join(srcDirPath, child);
    const destChildPath = join(destDirPath, child);
    if ((await stat(srcChildPath)).isDirectory()) {
      await mergeDirectoryContents(srcChildPath, destChildPath);
    } else {
      await copyFile(srcChildPath, destChildPath);
    }
  }
}
开发者ID:alangpierce,项目名称:sucrase,代码行数:17,代码来源:mergeDirectoryContents.ts

示例8: processDirectory

  async function processDirectory(path: string): Promise<void> {
    let children = await readdir(path);

    for (let child of children) {
      let childPath = join(path, child);
      let childStat = await stat(childPath);

      if (childStat.isDirectory()) {
        await processDirectory(childPath);
      } else if (options.modernizeJS) {
        if (child.endsWith('.js')) {
          await processPath(childPath);
        }
      } else if (child.endsWith('.coffee') || child.endsWith('.litcoffee') || child.endsWith('.coffee.md')) {
        await processPath(childPath);
      }
    }
  }
开发者ID:alangpierce,项目名称:decaffeinate,代码行数:18,代码来源:cli.ts

示例9: visit

 async function visit(path: string): Promise<void> {
   for (const child of await readdir(path)) {
     if (["node_modules", ".git"].includes(child)) {
       continue;
     }
     const childPath = join(path, child);
     if ((await stat(childPath)).isDirectory()) {
       await visit(childPath);
     } else if (
       childPath.endsWith(".js") ||
       childPath.endsWith(".jsx") ||
       childPath.endsWith(".ts") ||
       childPath.endsWith(".tsx")
     ) {
       const code = (await readFile(childPath)).toString();
       results.push({code, path: childPath});
     }
   }
 }
开发者ID:alangpierce,项目名称:sucrase,代码行数:19,代码来源:loadProjectFiles.ts

示例10: setupConfig

  async setupConfig (configPath: string): Promise<any> {
    let config = {}

    try {
      await fs.stat(configPath)
      config = requireAll(configPath)
    } catch (err) {
      if (err.code === 'ENOENT') {
        this.log.warn(err)
      } else {
        this.log.error(err)
      }

      return {}
    }

    try {
      for (let [key, conf] of entries(config)) {
        if (key === 'index') continue

        conf = conf.default || conf

        key = key.replace('-', '_')

        if (isFunction(conf)) {
          config[key] = conf(this.app)

          if (isPromise(config[key])) {
            config[key] = await config[key]
          }
        } else {
          config[key] = conf
        }
      }
      return config
    } catch (err) {
      this.app.log.error(err)
      return {}
    }
  }
开发者ID:Magnetjs,项目名称:magnet-config,代码行数:40,代码来源:index.ts


注:本文中的mz/fs.stat函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。