本文整理汇总了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,
示例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}`);