export function openListOfProviders()

in src/ObjectStoreProvider.ts [412:444]


export function openListOfProviders(
  providersToTry: DbProvider[],
  dbName: string,
  schema: DbSchema,
  wipeIfExists: boolean,
  verbose: boolean
): Promise<DbProvider> {
  return new Promise<DbProvider>((resolve, reject) => {
    let providerIndex = 0;
    let errorList: any[] = [];

    var tryNext = () => {
      if (providerIndex >= providersToTry.length) {
        reject(errorList.length <= 1 ? errorList[0] : errorList);
        return;
      }

      var provider = providersToTry[providerIndex];
      provider.open(dbName, schema, wipeIfExists, verbose).then(
        () => {
          resolve(provider);
        },
        (err) => {
          errorList.push(err);
          providerIndex++;
          tryNext();
        }
      );
    };

    tryNext();
  });
}