File tree Expand file tree Collapse file tree 5 files changed +131
-0
lines changed Expand file tree Collapse file tree 5 files changed +131
-0
lines changed Original file line number Diff line number Diff line change 1+ *
2+ ! ** /* .d.ts
3+ ! ** /* .d.cts
4+ ! ** /* .d.mts
5+ ! ** /* .d. * .ts
Original file line number Diff line number Diff line change 1+ /// <reference types="node" />
2+
3+ declare namespace VPK {
4+ interface VPKHeader {
5+ version : number ;
6+ treeLength : number ;
7+ unknown1 ?: number ;
8+ footerLength ?: number ;
9+ unknown3 ?: number ;
10+ unknown4 ?: number ;
11+ }
12+
13+ interface VPKDirectoryEntry {
14+ crc : number ;
15+ preloadBytes : number ;
16+ archiveIndex : number ;
17+ entryOffset : number ;
18+ entryLength : number ;
19+ preloadOffset ?: number ;
20+ }
21+ }
22+
23+ declare class VPK {
24+ constructor ( path : string ) ;
25+
26+ directoryPath : string ;
27+ header : VPK . VPKHeader ;
28+ tree : Record < string , VPK . VPKDirectoryEntry > ;
29+
30+ isValid ( ) : boolean ;
31+ load ( ) : void ;
32+ readonly files : string [ ] ;
33+ getFile ( path : string ) : Buffer | null ;
34+ }
35+
36+ export = VPK ;
Original file line number Diff line number Diff line change 1+ {
2+ "private" : true ,
3+ "name" : " @types/vpk" ,
4+ "version" : " 0.2.9999" ,
5+ "projects" : [
6+ " https://github.com/fwdcp/node-vpk"
7+ ],
8+ "dependencies" : {
9+ "@types/node" : " *"
10+ },
11+ "devDependencies" : {
12+ "@types/vpk" : " workspace:."
13+ },
14+ "owners" : [
15+ {
16+ "name" : " Veak" ,
17+ "githubUsername" : " v0eak"
18+ }
19+ ]
20+ }
Original file line number Diff line number Diff line change 1+ {
2+ "compilerOptions" : {
3+ "module" : " node16" ,
4+ "lib" : [
5+ " es6"
6+ ],
7+ "noImplicitAny" : true ,
8+ "noImplicitThis" : true ,
9+ "strictFunctionTypes" : true ,
10+ "strictNullChecks" : true ,
11+ "types" : [],
12+ "noEmit" : true ,
13+ "forceConsistentCasingInFileNames" : true
14+ },
15+ "files" : [
16+ " index.d.ts" ,
17+ " vpk-tests.ts"
18+ ]
19+ }
Original file line number Diff line number Diff line change 1+ import VPK = require( "vpk" ) ;
2+
3+ // $ExpectType VPK
4+ const archive = new VPK ( "path/to/archive.vpk" ) ;
5+
6+ // $ExpectType string
7+ archive . directoryPath ;
8+
9+ // $ExpectType VPKHeader
10+ archive . header ;
11+
12+ // $ExpectType Record<string, VPKDirectoryEntry>
13+ archive . tree ;
14+
15+ // $ExpectType boolean
16+ archive . isValid ( ) ;
17+
18+ // $ExpectType void
19+ archive . load ( ) ;
20+
21+ // $ExpectType string[]
22+ archive . files ;
23+
24+ // $ExpectType Buffer | null || Buffer<ArrayBufferLike> | null
25+ archive . getFile ( "some/file.txt" ) ;
26+
27+ // Manual construction of types for testing
28+
29+ const header : VPK . VPKHeader = {
30+ version : 2 ,
31+ treeLength : 1024 ,
32+ unknown1 : 0 ,
33+ footerLength : 512 ,
34+ unknown3 : 1 ,
35+ unknown4 : 2 ,
36+ } ;
37+
38+ // $ExpectType VPKHeader
39+ header ;
40+
41+ const entry : VPK . VPKDirectoryEntry = {
42+ crc : 123456 ,
43+ preloadBytes : 128 ,
44+ archiveIndex : 1 ,
45+ entryOffset : 2048 ,
46+ entryLength : 4096 ,
47+ preloadOffset : 64 ,
48+ } ;
49+
50+ // $ExpectType VPKDirectoryEntry
51+ entry ;
You can’t perform that action at this time.
0 commit comments