當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。