MCPcopy Index your code
hub / github.com/TypeScriptToLua/TypeScriptToLua / resolveRecursiveLualibFeatures

Function resolveRecursiveLualibFeatures

src/LuaLib.ts:191–217  ·  view source on GitHub ↗
(
    features: Iterable<LuaLibFeature>,
    luaTarget: LuaTarget,
    emitHost: EmitHost,
    luaLibModulesInfo: LuaLibModulesInfo = getLuaLibModulesInfo(luaTarget, emitHost)
)

Source from the content-addressed store, hash-verified

189}
190
191export function resolveRecursiveLualibFeatures(
192 features: Iterable<LuaLibFeature>,
193 luaTarget: LuaTarget,
194 emitHost: EmitHost,
195 luaLibModulesInfo: LuaLibModulesInfo = getLuaLibModulesInfo(luaTarget, emitHost)
196): LuaLibFeature[] {
197 const loadedFeatures = new Set<LuaLibFeature>();
198 const result: LuaLibFeature[] = [];
199
200 function load(feature: LuaLibFeature): void {
201 if (loadedFeatures.has(feature)) return;
202 loadedFeatures.add(feature);
203
204 const dependencies = luaLibModulesInfo[feature]?.dependencies;
205 if (dependencies) {
206 dependencies.forEach(load);
207 }
208
209 result.push(feature);
210 }
211
212 for (const feature of features) {
213 load(feature);
214 }
215
216 return result;
217}
218
219export function loadInlineLualibFeatures(
220 features: Iterable<LuaLibFeature>,

Callers 2

afterPrintMethod · 0.90
loadInlineLualibFeaturesFunction · 0.85

Calls 2

getLuaLibModulesInfoFunction · 0.85
loadFunction · 0.85

Tested by

no test coverage detected