UNPKG

synapse-react-client

Version:

[![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synapse-react-client) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettie

43 lines (42 loc) 1.47 kB
import { getEntity as _, getFiles as g, getFileHandleContent as m } from "../../synapse-client/SynapseClient.js"; import { FileHandleAssociateType as u } from "@sage-bionetworks/synapse-types"; const A = 200, E = "ESTIMATED_DOWNLOAD_SPEED_EXPIRE_TIME", a = "ESTIMATED_DOWNLOAD_SPEED", f = "syn12600511", F = (t) => new Promise((n, d) => { const i = localStorage.getItem( E ), s = localStorage.getItem(a); if (i && s && (/* @__PURE__ */ new Date()).getTime() < Number(i)) { n(Number(s)); return; } _(t, f).then((e) => { const o = e, S = { includeFileHandles: !0, includePreSignedURLs: !0, includePreviewPreSignedURLs: !1, requestedFiles: [ { associateObjectId: o.id, associateObjectType: u.FileEntity, fileHandleId: o.dataFileHandleId } ] }; g(S, t).then((l) => { const D = l.requestedFiles[0].preSignedURL, c = l.requestedFiles[0].fileHandle, T = (/* @__PURE__ */ new Date()).getTime(); return m(c, D).then(() => { const r = c.contentSize / (((/* @__PURE__ */ new Date()).getTime() - T - A) / 1e3), I = (/* @__PURE__ */ new Date()).getTime(); localStorage.setItem( E, (I + 1e3 * 60 * 5).toString() ), localStorage.setItem( a, r.toString() ), n(r); }); }); }).catch((e) => d(e)); }); export { F as testDownloadSpeed }; //# sourceMappingURL=testDownloadSpeed.js.map