@@ -72,32 +72,32 @@ const luaLibDependencies: { [lib in LuaLibFeature]?: LuaLibFeature[] } = {
7272 SymbolRegistry : [ LuaLibFeature . Symbol ] ,
7373} ;
7474
75- export class LuaLib {
76- public static loadFeatures ( features : Iterable < LuaLibFeature > , emitHost : EmitHost ) : string {
77- let result = "" ;
75+ export function loadLuaLibFeatures ( features : Iterable < LuaLibFeature > , emitHost : EmitHost ) : string {
76+ let result = "" ;
7877
79- const loadedFeatures = new Set < LuaLibFeature > ( ) ;
78+ const loadedFeatures = new Set < LuaLibFeature > ( ) ;
8079
81- function load ( feature : LuaLibFeature ) : void {
82- if ( ! loadedFeatures . has ( feature ) ) {
83- loadedFeatures . add ( feature ) ;
84- const dependencies = luaLibDependencies [ feature ] ;
85- if ( dependencies ) {
86- dependencies . forEach ( load ) ;
87- }
88- const featureFile = path . resolve ( __dirname , `../dist/lualib/${ feature } .lua` ) ;
89- const luaLibFeature = emitHost . readFile ( featureFile ) ;
90- if ( luaLibFeature !== undefined ) {
91- result += luaLibFeature . toString ( ) + "\n" ;
92- } else {
93- throw new Error ( `Could not read lualib feature ../dist/lualib/${ feature } .lua` ) ;
94- }
95- }
80+ function load ( feature : LuaLibFeature ) : void {
81+ if ( loadedFeatures . has ( feature ) ) return ;
82+ loadedFeatures . add ( feature ) ;
83+
84+ const dependencies = luaLibDependencies [ feature ] ;
85+ if ( dependencies ) {
86+ dependencies . forEach ( load ) ;
9687 }
9788
98- for ( const feature of features ) {
99- load ( feature ) ;
89+ const featureFile = path . resolve ( __dirname , `../dist/lualib/${ feature } .lua` ) ;
90+ const luaLibFeature = emitHost . readFile ( featureFile ) ;
91+ if ( luaLibFeature !== undefined ) {
92+ result += luaLibFeature + "\n" ;
93+ } else {
94+ throw new Error ( `Could not read lualib feature ../dist/lualib/${ feature } .lua` ) ;
10095 }
101- return result ;
10296 }
97+
98+ for ( const feature of features ) {
99+ load ( feature ) ;
100+ }
101+
102+ return result ;
103103}
0 commit comments