loadNpmModule
Result<
Load an npm module (with caching)
Implementation
Result<JSObject, String> loadNpmModule(String packageName) {
// Check cache first
if (_moduleCache.containsKey(packageName)) {
return Success(_moduleCache[packageName]!);
}
try {
final module = requireModule(packageName);
if (module case final JSObject obj) {
_moduleCache[packageName] = obj;
return Success(obj);
}
return Error('Module $packageName did not return an object');
} on Object catch (e) {
return Error('Failed to load module $packageName: $e');
}
}