• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript core.sha1函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: sha1

export default async function *composePackfile(items : AsyncIterableIterator<Entry>, count : number) {
  const hash = sha1();

  yield hash.update(packHeader(count));

  for await(const item of items){
    for(const chunk of packFrame(item)){
      yield hash.update(chunk);
    }
  }

  yield packHash(hash.digest());
}
开发者ID:strangesast,项目名称:es-git,代码行数:13,代码来源:compose-packfile.ts


示例2: await

export default async function *normalizeEntries(entries : AsyncIterableIterator<Entry>, progress? : Progress) : AsyncIterableIterator<RawObject> {
  const references = new Map<string, NormalEntry>();
  const offsets = new Map<number, NormalEntry>();
  let deltas = 0;

  for await(let entry of entries){
    if(entry.type === Type.ofsDelta
    || entry.type === Type.refDelta){
      const base = getBase(entry);
      const body = applyDelta(entry.body, base.body)
      deltas++;
      entry = {
        type: base.type,
        body,
        offset: entry.offset
      };
    }

    const type = Type[entry.type];
    const body = encodeRaw(type, entry.body);
    const hash = sha1(body);

    references.set(hash, entry);
    offsets.set(entry.offset, entry);
    yield {
      type,
      body,
      hash
    };
  }

  if(progress) progress(`Resolving deltas: 100% (${deltas}/${deltas}), done.\n`);

  function getBase(entry : OfsDeltaEntry | RefDeltaEntry) {
    if(entry.type === Type.ofsDelta) {
      const base = offsets.get(entry.offset - entry.ref);
      if(!base) throw new Error(`Cannot find base of ofs-delta ${entry.offset} - ${entry.ref}`);
      return base;
    } else {
      const base = references.get(entry.ref);
      if(!base) throw new Error(`Cannot find base of ref-delta ${entry.offset}: ${entry.ref}`);
      //ToDo: thinpack lookup
      return base;
    }
  }
}
开发者ID:strangesast,项目名称:es-git,代码行数:46,代码来源:normalize-entries.ts


示例3: digest

 digest(){
   const result = this.sha.digest();
   this.sha = sha1();
   return result;
 }
开发者ID:strangesast,项目名称:es-git,代码行数:5,代码来源:DigestableAsyncBuffer.ts


示例4: constructor

 constructor(chunks : AsyncIterableIterator<Uint8Array>){
   super(chunks);
   this.sha = sha1();
   this.temp = new Uint8Array(1);
 }
开发者ID:strangesast,项目名称:es-git,代码行数:5,代码来源:DigestableAsyncBuffer.ts


示例5: saveObject

 async saveObject(object : GitObject) {
   const raw = encodeObject(object);
   const hash = sha1(raw);
   await super.saveRaw(hash, raw);
   return hash;
 }
开发者ID:strangesast,项目名称:es-git,代码行数:6,代码来源:index.ts



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript core.AsyncBuffer类代码示例发布时间:2022-05-28
下一篇:
TypeScript core.encode函数代码示例发布时间:2022-05-28
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap