“Unexpected end of input” Error When Importing Dynamic Module in JavaScript

I’m encountering an issue with a JavaScript code that imports and executes a dynamic module. The code appears to be correct, but I get the error “unexpected end of input”. Here is the relevant code snippet:

async createDynamicFunction(moduleCode) {
  let fnResult;
  const blob = new Blob([moduleCode], { type: 'application/javascript' });
  const url = URL.createObjectURL(blob);
  try {
    const module = await import(url);
    fnResult = module.fnSomeFunction;
  } catch (error) {
    console.error(error);
  } finally {
    URL.revokeObjectURL(url);
  }
  return fnResult;
}

The moduleCode parameter contains the following code:

export function fnSomeFunction(data) {
  class SomeType {
    constructor(param1, param2, param3, param4, param5, param6) {
      this.field1 = param1; // some value
      this.field2 = param2; // some value
      this.field3 = param3; // some value
      this.field4 = param4; // some value
      this.field5 = param5; // some value
      this.field6 = param6; // some value
    }

    static dictSomeType = {
      "X.1": new SomeType("X.1", "1000", "Value A", "Description A", "Category A", "Detail A"),
      "X.2": new SomeType("X.2", "2000", "Value B", "Description B", "Category B", "Detail B"),
      // more entries...
    };
  }

  let outData = {};

  if (data.hasOwnProperty("prop1")) {
    let prop = data["prop1"];
    if (SomeType.dictSomeType.hasOwnProperty(prop)) {
      let dict = SomeType.dictSomeType[prop];
      outData["fieldB"] = dict.field3;
      outData["fieldC"] = dict.field4;
      outData["fieldD"] = dict.field5;
      outData["fieldE"] = dict.field6;
    }
  }

  return outData;
}
Problem:

The error occurs when importing the dynamic module. It seems like the error “unexpected end of input” indicates that the code is incomplete or there is a syntax issue. I’ve reviewed the code and it looks correct, but the error persists.

Additional Information:

A shorter function with similar logic works correctly, so the issue might be related to the length or complexity of the code.

Questions:

Are there any hints as to why the “unexpected end of input” error might occur?
Are there specific requirements or constraints when dynamically importing JavaScript modules that I should be aware of?
Are there any tips for debugging or best practices to resolve this error?