Merge branch 'polyfill-withresolvers' into 'main'

Polyfill Promise.withResolvers

Closes #1802

See merge request soapbox-pub/soapbox!3307
merge-requests/3297/head^2
Alex Gleason 2024-12-27 18:17:34 +00:00
commit b7907e94f8
3 zmienionych plików z 20 dodań i 1 usunięć

Wyświetl plik

@ -384,7 +384,10 @@ const uploadCompose = (composeId: string, files: FileList, intl: IntlShape) =>
f,
intl,
(data) => dispatch(uploadComposeSuccess(composeId, data, f)),
(error) => dispatch(uploadComposeFail(composeId, error)),
(error) => {
console.error(error);
dispatch(uploadComposeFail(composeId, error));
},
(e: ProgressEvent) => {
progress[i] = e.loaded;
dispatch(uploadComposeProgress(composeId, progress.reduce((a, v) => a + v, 0), e.total));

Wyświetl plik

@ -1,3 +1,5 @@
import 'soapbox/polyfill/Promise.withResolvers.ts';
import { enableMapSet } from 'immer';
import { createRoot } from 'react-dom/client';

Wyświetl plik

@ -0,0 +1,14 @@
if (!Promise.withResolvers) {
Promise.withResolvers = function withResolvers<T>(): PromiseWithResolvers<T> {
let resolve: (value: T | PromiseLike<T>) => void;
let reject: (reason?: any) => void;
const promise = new this<T>((_resolve, _reject) => {
resolve = _resolve;
reject = _reject;
});
return { resolve: resolve!, reject: reject!, promise };
};
}