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


TypeScript itch-promise.promisify函数代码示例

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


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

示例1: promisify

 * Let's patch all the things! Electron randomly decides to
 * substitute 'fs' with their own version that considers '.asar'
 * files to be read-only directories.
 *
 * Since itch can install applications that have .asar files, that
 * won't do.
 *
 * We want sf to operate on actual files, so we need to operate some
 * magic for various modules to use the original fs module, not the
 * asar-aware one.
 */

import { EventEmitter } from "events";

type Mkdirp = (path: string, opts?: any) => Promise<void>;
export const mkdirp: Mkdirp = promisify(require("mkdirp")) as any;

type Rimraf = (path: string, opts?: any) => Promise<void>;
const rimraf: Rimraf = promisify(require("rimraf")) as any;

export const nodeReaddir = (promisify(fs.readdir) as any) as typeof readdir;
export const nodeReadFile = (promisify(fs.readFile) as any) as typeof readFile;
export const nodeWriteFile = (promisify(
  fs.writeFile
) as any) as typeof writeFile;
export const nodeAppendFile = (promisify(
  fs.appendFile
) as any) as typeof appendFile;

export const utimes = (promisify(fs.utimes) as any) as (
  path: string,
开发者ID:HorrerGames,项目名称:itch,代码行数:31,代码来源:sf.ts

示例2: require

import yauzl from "yauzl";
import progress from "progress-stream";
import { ItchPromise, promisify } from "common/util/itch-promise";
const crc32 = require("crc-32");
const yauzlOpen = promisify(yauzl.open) as (
  path: string,
  options: yauzl.Options
) => Promise<yauzl.ZipFile>;

import * as sf from "../os/sf";
import { dirname, join } from "path";
import { createWriteStream } from "fs";
import { Logger } from "common/logger";
import { Stream } from "stream";
import { IProgressInfo } from "common/types";

interface UnzipOpts {
  archivePath: string;
  destination: string;
  logger: Logger;
  onProgress: (info: IProgressInfo) => void;
}

const DIR_RE = /\/$/;

export async function unzip(opts: UnzipOpts) {
  const { archivePath, destination, logger } = opts;
  await sf.mkdirp(destination);

  const zipfile = await yauzlOpen(archivePath, { lazyEntries: true });
  logger.debug(`Total zip entries: ${zipfile.entryCount}`);
开发者ID:HorrerGames,项目名称:itch,代码行数:31,代码来源:unzip.ts


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