File tree Expand file tree Collapse file tree 2 files changed +14
-0
lines changed
Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -47,6 +47,8 @@ export class ArchiveData {
4747 public namehash ! : number ;
4848 public revision ! : number ;
4949 public crc ! : number ;
50+ public decompressedSize ?: number ;
51+ public compressedSize ?: number ;
5052
5153 /**@internal */ files : Map < number , ArchiveFile > = new Map ( ) ;
5254
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ export class DiskIndexData implements IndexData {
88 public compression ! : number ;
99 public crc ! : number ;
1010 public named ! : boolean ;
11+ public sized ! : boolean ;
1112 /** @internal */ archives : Map < number , ArchiveData > = new Map ( ) ;
1213}
1314
@@ -43,6 +44,11 @@ export class DiskCacheProvider implements CacheProvider {
4344
4445 let flags = r . u8 ( ) ;
4546 let named = out . named = ! ! ( flags & 1 ) ;
47+ let sized = out . sized = ! ! ( flags & 4 ) ;
48+
49+ if ( flags & ~ ( 1 | 4 ) ) {
50+ throw new Error ( `unsupported flags ${ flags . toString ( 16 ) } ` ) ;
51+ }
4652
4753 let numArchives = protocol <= 6 ? r . u16 ( ) : r . u32o16 ( ) ;
4854 let ams : ArchiveData [ ] = new Array ( numArchives ) ;
@@ -61,6 +67,12 @@ export class DiskCacheProvider implements CacheProvider {
6167 for ( let am of ams ) {
6268 am . crc = r . i32 ( ) ;
6369 }
70+ if ( sized ) {
71+ for ( let am of ams ) {
72+ am . compressedSize = r . i32 ( ) ;
73+ am . decompressedSize = r . i32 ( ) ;
74+ }
75+ }
6476 for ( let am of ams ) {
6577 am . revision = r . i32 ( ) ;
6678 }
You can’t perform that action at this time.
0 commit comments