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


TypeScript filesize.fileSize函数代码示例

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


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

示例1: it

 it("fileSize", () => {
   assert.equal(fileSize(1023), "1023 B");
   assert.equal(fileSize(234090), "229 KiB");
   assert.equal(fileSize(6934028), "6.6 MiB");
   assert.equal(fileSize(239502889), "228 MiB");
   assert.equal(fileSize(2395028891), "2.2 GiB");
 });
开发者ID:itchio,项目名称:itch,代码行数:7,代码来源:filesize.spec.ts

示例2: makeUploadButton

export function makeUploadButton(
  upload: Upload,
  opts = { showSize: true } as IMakeUploadButtonOpts
): IUploadButton {
  let label = `${upload.displayName || upload.filename}`;
  let tags: IModalButtonTag[] = [];

  if (upload.size > 0 && opts.showSize) {
    tags.push({
      label: `${fileSize(upload.size)}`,
    });
  }

  if (upload.demo) {
    tags.push({
      label: ["pick_update_upload.tags.demo"],
    });
  }

  for (const prop of Object.keys(platformData)) {
    if ((upload as any)[prop]) {
      tags.push({
        icon: platformData[prop].icon,
      });
    }
  }

  const timeAgo = {
    date: upload.updatedAt,
  };

  const icon = uploadIcon(upload) || "download";
  return { label, tags, icon, timeAgo };
}
开发者ID:HorrerGames,项目名称:itch,代码行数:34,代码来源:make-upload-button.ts

示例3: onProgress

 progressStream.on("progress", info => {
   onProgress({
     progress: info.percentage / 100,
     eta: info.eta,
     bps: info.speed,
     doneBytes: (info.percentage / 100) * totalSize,
     totalBytes: totalSize,
   });
   logger.info(
     `${info.percentage.toFixed(1)}% done, eta ${info.eta.toFixed(
       1
     )}s @ ${fileSize(info.speed)}/s`
   );
 });
开发者ID:itchio,项目名称:itch,代码行数:14,代码来源:download.ts

示例4: downloadToFile

export async function downloadToFile(
  onProgress: (progress: ProgressInfo) => void,
  logger: Logger,
  url: string,
  file: string
) {
  const dir = dirname(file);
  try {
    await sf.mkdirp(dir);
  } catch (e) {
    logger.error(`Could not create ${dir}: ${e.message}`);
  }

  const fileSink = sf.createWriteStream(file, {
    flags: "w",
    mode: 0o777,
    defaultEncoding: "binary",
  }) as WriteStream;
  try {
    let totalSize = 0;

    let progressStream: NodeJS.ReadWriteStream;
    await request(
      "get",
      url,
      {},
      {
        sink: () => {
          progressStream = progress({ length: totalSize, time: 500 });
          progressStream.on("progress", info => {
            onProgress({
              progress: info.percentage / 100,
              eta: info.eta,
              bps: info.speed,
              doneBytes: (info.percentage / 100) * totalSize,
              totalBytes: totalSize,
            });
            logger.info(
              `${info.percentage.toFixed(1)}% done, eta ${info.eta.toFixed(
                1
              )}s @ ${fileSize(info.speed)}/s`
            );
          });
          progressStream.pipe(fileSink);
          return progressStream;
        },
        cb: res => {
          logger.info(`HTTP ${res.statusCode} ${url}`);
          if (!/^2/.test("" + res.statusCode)) {
            const e = new Error(`HTTP ${res.statusCode} ${url}`) as HTTPError;
            e.httpStatusCode = res.statusCode;
            throw e;
          }

          const contentLengthHeader = res.headers["content-length"];
          if (!isEmpty(contentLengthHeader)) {
            totalSize = parseInt(contentLengthHeader[0], 10);
          }
        },
      }
    );
    await sf.promised(fileSink);

    const stats = await sf.lstat(file);
    logger.info(
      `Downloaded ${fileSize(stats.size)} / ${fileSize(totalSize)} (${
        stats.size
      } bytes)`
    );

    if (totalSize !== 0 && stats.size !== totalSize) {
      throw new Error(`download failed (short size) for ${url}`);
    }
  } finally {
    fileSink.end();
  }
}
开发者ID:itchio,项目名称:itch,代码行数:77,代码来源:download.ts


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