@@ -40,11 +40,11 @@ export class AllPackages {
4040 if ( ! raw ) {
4141 throw new Error ( `Can't find package ${ name } ` ) ;
4242 }
43- const versions = Object . keys ( raw ) ;
43+ const versions = Object . values ( raw ) ;
4444 if ( versions . length > 1 ) {
4545 throw new Error ( `Package ${ name } has multiple versions.` ) ;
4646 }
47- return new TypingsData ( raw [ versions [ 0 ] ] , /*isLatest*/ true ) ;
47+ return new TypingsData ( versions [ 0 ] , /*isLatest*/ true ) ;
4848 }
4949
5050 static readSingleNotNeeded ( name : string , dt : FS ) : NotNeededPackage {
@@ -316,7 +316,7 @@ export class NotNeededPackage extends PackageBase {
316316}
317317
318318export interface TypingsVersionsRaw {
319- [ version : string ] : TypingsDataRaw ;
319+ [ version : `${ number } .${ number } ` ] : TypingsDataRaw ;
320320}
321321
322322/** Minor may be unknown if parsed from a major-only version directory, like 'types/v15' */
@@ -504,29 +504,17 @@ export class TypingsVersions {
504504 private readonly versions : Semver [ ] ;
505505
506506 constructor ( data : TypingsVersionsRaw ) {
507- const versionMappings = new Map (
508- Object . keys ( data ) . map ( key => {
509- const version = Semver . parse ( key , true ) ;
510- if ( version ) {
511- return [ version , key ] ;
512- }
513- throw new Error ( `Unable to parse version ${ key } ` ) ;
514- } )
515- ) ;
516-
517507 /**
518508 * Sorted from latest to oldest so that we publish the current version first.
519509 * This is important because older versions repeatedly reset the "latest" tag to the current version.
520510 */
521- this . versions = Array . from ( versionMappings . keys ( ) )
511+ this . versions = Object . keys ( data )
512+ . map ( key => Semver . parse ( key , true ) )
522513 . sort ( Semver . compare )
523514 . reverse ( ) ;
524515
525516 this . map = new Map (
526- this . versions . map ( version => {
527- const dataKey = versionMappings . get ( version ) ! ;
528- return [ version , new TypingsData ( data [ dataKey ] , version . equals ( this . versions [ 0 ] ) ) ] ;
529- } )
517+ this . versions . map ( ( version , i ) => [ version , new TypingsData ( data [ `${ version . major } .${ version . minor } ` ] , ! i ) ] )
530518 ) ;
531519 }
532520
0 commit comments