UNPKG

@dabapps/django-s3-file-upload

Version:

Upload files from the browser to S3 - client side implementation

46 lines (34 loc) 969 B
import { MockPromise, MockPromiseCall } from './mock-promise'; export type MockPromiseAllFunction = ( promises: {} | ReadonlyArray<Promise<any>> ) => Promise<any[]>; export interface MockPromiseAllObject { calls: ReadonlyArray<MockPromiseCall>; clear: () => void; } export type MockPromiseAll = MockPromiseAllFunction & MockPromiseAllObject; const mockPromiseAllObject: MockPromiseAllObject = { calls: [], clear, }; const mockPromiseAll = Object.assign( mockPromiseAllFunction as MockPromiseAllFunction, mockPromiseAllObject ); function mockPromiseAllFunction(...args: any[]) { const call: MockPromiseCall = { arguments: args, thenCalls: [], catchCalls: [], }; mockPromiseAll.calls = [...mockPromiseAll.calls, call]; return new MockPromise(call); } function clear() { mockPromiseAll.calls.forEach(call => { call.thenCalls = []; call.catchCalls = []; }); mockPromiseAll.calls = []; } export { mockPromiseAll };