initializeLibrary method

Value? initializeLibrary(
  1. Library library
)

Initialize the provided library instance if it hasn't been already.

Returns the exported library table for namespaced libraries and null for global libraries.

Implementation

Value? initializeLibrary(Library library) {
  if (_initialized.contains(library)) {
    if (library.name.isEmpty) {
      return null;
    }
    final existing = _interpreter.getCurrentEnv().get(library.name);
    return existing is Value ? existing : null;
  }

  final context = LibraryContext(
    environment: _interpreter.getCurrentEnv(),
    interpreter: _interpreter,
  );

  final value = _initializeLibrary(library, context);
  _initialized.add(library);
  return value;
}