11import { type NextRequest , NextResponse } from "next/server"
22
3- const pick = ( obj : any , keys : string [ ] ) => Object . fromEntries ( keys . map ( key => [ key , obj [ key ] ] ) )
4-
53interface BadgeOverrides {
64 labelColor ?: string ,
75 color ?: string ,
@@ -13,7 +11,7 @@ interface BadgeOverrides {
1311 *
1412 * Uses the Spacebadgers worker to generate badges.
1513 */
16- export default class Badge {
14+ const Badge = {
1715
1816 /**
1917 * Generate a badge.
@@ -24,7 +22,7 @@ export default class Badge {
2422 * @param overrides Badge overrides.
2523 * @returns The badge response.
2624 */
27- static async generate ( request : NextRequest , label : string , status : string , overrides : BadgeOverrides = { } ) : Promise < NextResponse > {
25+ async generate ( request : NextRequest , label : string , status : string , overrides : BadgeOverrides = { } ) : Promise < NextResponse > {
2826 // Get API configuration from env
2927 const api = {
3028 proto : process . env . NEXT_PUBLIC_API_PROTO ,
@@ -43,8 +41,9 @@ export default class Badge {
4341 . replace ( / ^ \? + / gm, '' ) . split ( '&' )
4442 . reduce ( ( acc , pair ) => {
4543 const [ key , value ] = pair . split ( '=' )
46- return { ...acc , [ key ] : value }
47- } , { } )
44+ acc [ key ] = value
45+ return acc
46+ } , { } as Record < string , string > )
4847 const unifiedQueryOverrides = { ...systemQueryOverrides , ...userQueryOverrides }
4948 const queryParams = Object
5049 . entries ( unifiedQueryOverrides )
@@ -74,13 +73,13 @@ export default class Badge {
7473 statusText : resp . statusText ,
7574 headers,
7675 } )
77- }
76+ } ,
7877
79- static async error ( request : NextRequest , subsystem : string ) : Promise < NextResponse > {
78+ async error ( request : NextRequest , subsystem : string ) : Promise < NextResponse > {
8079 return await Badge . generate ( request , subsystem , 'error' , { color : 'gray' } )
81- }
80+ } ,
8281
83- static async passThrough ( request : NextRequest ) : Promise < NextResponse > {
82+ async passThrough ( request : NextRequest ) : Promise < NextResponse > {
8483 const api = {
8584 proto : process . env . NEXT_PUBLIC_API_PROTO ,
8685 host : process . env . NEXT_PUBLIC_API_HOST ,
@@ -102,5 +101,7 @@ export default class Badge {
102101 statusText : resp . statusText ,
103102 headers,
104103 } )
105- }
104+ } ,
106105}
106+
107+ export default Badge
0 commit comments