{{#apis}}import {{name}} from './{{name}}.js';
{{/apis}}
async function {{name}}(web3) {

  const exportObject = {};
  let abi;
  {{#apis}}
    abi = await getJSON( "{{name}}");
    exportObject['{{name}}'] = {{name}}(abi, web3);
  {{/apis}}
  return exportObject;
}

function getJSON(abiName) {
  return new Promise((resolve, reject) => {
    const xobj = new XMLHttpRequest();
    let response = null;
    xobj.overrideMimeType("./abi");
    xobj.open('GET', `abi/${abiName}.json`, true); // Replace 'my_data' with the path to your file
    xobj.addEventListener("readystatechange", function() {
      if (this.readyState === xobj.DONE) {
        response = this.responseText;
        if (response) {
          response = JSON.parse(response);
          resolve(response);
        }
      }
    });
    xobj.onerror = function(error) {
      reject({
        error: "Some error" + error
      });
    };
    xobj.send(null);
  });
}
