MCPcopy
hub / github.com/putyy/res-downloader / whenDependentTypesAreResolved

Function whenDependentTypesAreResolved

frontend/src/assets/js/decrypt.js:1773–1811  ·  view source on GitHub ↗
(myTypes, dependentTypes, getTypeConverters)

Source from the content-addressed store, hash-verified

1771 throw new InternalError(message);
1772 }
1773 function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) {
1774 myTypes.forEach(function(type) {
1775 typeDependencies[type] = dependentTypes;
1776 });
1777
1778 function onComplete(typeConverters) {
1779 var myTypeConverters = getTypeConverters(typeConverters);
1780 if (myTypeConverters.length !== myTypes.length) {
1781 throwInternalError('Mismatched type converter count');
1782 }
1783 for (var i = 0; i < myTypes.length; ++i) {
1784 registerType(myTypes[i], myTypeConverters[i]);
1785 }
1786 }
1787
1788 var typeConverters = new Array(dependentTypes.length);
1789 var unregisteredTypes = [];
1790 var registered = 0;
1791 dependentTypes.forEach(function(dt, i) {
1792 if (registeredTypes.hasOwnProperty(dt)) {
1793 typeConverters[i] = registeredTypes[dt];
1794 } else {
1795 unregisteredTypes.push(dt);
1796 if (!awaitingDependencies.hasOwnProperty(dt)) {
1797 awaitingDependencies[dt] = [];
1798 }
1799 awaitingDependencies[dt].push(function() {
1800 typeConverters[i] = registeredTypes[dt];
1801 ++registered;
1802 if (registered === unregisteredTypes.length) {
1803 onComplete(typeConverters);
1804 }
1805 });
1806 }
1807 });
1808 if (0 === unregisteredTypes.length) {
1809 onComplete(typeConverters);
1810 }
1811 }
1812 function __embind_finalize_value_object(structType) {
1813 var reg = structRegistrations[structType];
1814 delete structRegistrations[structType];

Calls 1

onCompleteFunction · 0.85

Tested by

no test coverage detected