MCPcopy Create free account
hub / github.com/diffusionstudio/vits-web / fetchRemotePackage

Function fetchRemotePackage

src/piper.js:47–110  ·  view source on GitHub ↗
(packageName, packageSize, callback, errback)

Source from the content-addressed store, hash-verified

45 : REMOTE_PACKAGE_BASE;
46 var REMOTE_PACKAGE_SIZE = metadata['remote_package_size'];
47 function fetchRemotePackage(packageName, packageSize, callback, errback) {
48 if (
49 typeof process === 'object' &&
50 typeof process.versions === 'object' &&
51 typeof process.versions.node === 'string'
52 ) {
53 require('fs').readFile(packageName, function (err, contents) {
54 if (err) {
55 errback(err);
56 } else {
57 callback(contents.buffer);
58 }
59 });
60 return;
61 }
62 var xhr = new XMLHttpRequest();
63 xhr.open('GET', packageName, true);
64 xhr.responseType = 'arraybuffer';
65 xhr.onprogress = function (event) {
66 var url = packageName;
67 var size = packageSize;
68 if (event.total) size = event.total;
69 if (event.loaded) {
70 if (!xhr.addedTotal) {
71 xhr.addedTotal = true;
72 if (!Module.dataFileDownloads) Module.dataFileDownloads = {};
73 Module.dataFileDownloads[url] = { loaded: event.loaded, total: size };
74 } else {
75 Module.dataFileDownloads[url].loaded = event.loaded;
76 }
77 var total = 0;
78 var loaded = 0;
79 var num = 0;
80 for (var download in Module.dataFileDownloads) {
81 var data = Module.dataFileDownloads[download];
82 total += data.total;
83 loaded += data.loaded;
84 num++;
85 }
86 total = Math.ceil((total * Module.expectedDataFileDownloads) / num);
87 if (Module['setStatus'])
88 Module['setStatus'](`Downloading data... (${loaded}/${total})`);
89 } else if (!Module.dataFileDownloads) {
90 if (Module['setStatus']) Module['setStatus']('Downloading data...');
91 }
92 };
93 xhr.onerror = function (event) {
94 throw new Error('NetworkError for: ' + packageName);
95 };
96 xhr.onload = function (event) {
97 if (
98 xhr.status == 200 ||
99 xhr.status == 304 ||
100 xhr.status == 206 ||
101 (xhr.status == 0 && xhr.response)
102 ) {
103 var packageData = xhr.response;
104 callback(packageData);

Callers 1

loadPackageFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected