/**
* @module Library
*/
const libraryDir = './library/';
/**
* get list of networks from the library
* @return {Promise} promise, the resolution is an object containing a list of libraries
*/
export function getLibrary() {
return new Promise((resolve, reject) => {
const libraryFile = libraryDir + 'networkList.json';
let request = new XMLHttpRequest();
request.addEventListener('load', function() {
if (this.response) {
resolve(this.response.networks);
}
});
request.addEventListener(['error', 'abort'], () => {
reject('Failed loading libraries.');
});
request.open('GET', libraryFile, true);
request.responseType = 'json';
request.send();
});
}
/**
* get a network from the library, specified by filename
* @param {string} networkName library file name without the extension
* @return {Promise} promise, the resolution is an object containing the library import data
*/
export function getNetworkFromLibrary(networkName) {
return new Promise((resolve, reject) => {
let request = new XMLHttpRequest();
request.addEventListener('load', function() {
if (this.response) {
resolve(this.response);
}
});
request.addEventListener(['error', 'abort'], () => {
reject(`Failed loading library ${networkName}.`);
});
request.open('GET', libraryDir + networkName + '.json', true);
request.responseType = 'json';
request.send();
});
}