IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an email to s dot adaszewski at gmail dot com. User accounts are meant only to report issues and/or generate pull requests. This is a purpose-specific Git hosting for ADARED projects. Thank you for your understanding!
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

wb-fetch-objects.js 939B

123456789101112131415161718192021222324252627282930313233
  1. import arvadosTypeName from 'arvados-type-name';
  2. import makeArvadosRequest from 'make-arvados-request';
  3. function wbFetchObjects(arvHost, arvToken, uuids) {
  4. const unique = {};
  5. uuids.map(u => (unique[u] = true));
  6. uuids = {};
  7. Object.keys(unique).map(u => {
  8. let typeName = arvadosTypeName(u);
  9. if (!(typeName in uuids))
  10. uuids[typeName] = [];
  11. uuids[typeName].push(u);
  12. });
  13. const lookup = {};
  14. let prom = new Promise(accept => accept());
  15. for (let typeName in uuids) {
  16. let filters = [
  17. ['uuid', 'in', uuids[typeName]]
  18. ];
  19. prom = prom.then(() => makeArvadosRequest(arvHost, arvToken,
  20. '/arvados/v1/' + typeName + 's?filters=' +
  21. encodeURIComponent(JSON.stringify(filters))));
  22. prom = prom.then(xhr => xhr.response.items.map(it => (
  23. lookup[it.uuid] = it)));
  24. }
  25. prom = prom.then(() => lookup);
  26. return prom;
  27. }
  28. export default wbFetchObjects;