UNPKG

communication-react-19

Version:

React library for building modern communication user experiences utilizing Azure Communication Services (React 19 compatible fork)

41 lines 2.02 kB
// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. /** * @private */ export var AttachmentUploadActionType; (function (AttachmentUploadActionType) { AttachmentUploadActionType["Set"] = "set"; AttachmentUploadActionType["Progress"] = "progress"; AttachmentUploadActionType["Completed"] = "completed"; AttachmentUploadActionType["Failed"] = "failed"; AttachmentUploadActionType["Remove"] = "remove"; AttachmentUploadActionType["Clear"] = "clear"; })(AttachmentUploadActionType || (AttachmentUploadActionType = {})); /* @conditional-compile-remove(file-sharing-acs) */ /** * @internal */ export const AttachmentUploadReducer = (state, action) => { switch (action.type) { case AttachmentUploadActionType.Set: return state.filter((v) => !v.metadata.error).concat(action.newUploads); case AttachmentUploadActionType.Completed: return state.map((v) => v.taskId === action.taskId ? Object.assign(Object.assign({}, v), { metadata: Object.assign(Object.assign({}, v.metadata), { id: action.id, url: action.url, progress: 1 }) }) : v); case AttachmentUploadActionType.Failed: return state.map((v) => v.taskId === action.taskId ? Object.assign(Object.assign({}, v), { metadata: Object.assign(Object.assign({}, v.metadata), { error: { message: action.message } }) }) : v); case AttachmentUploadActionType.Remove: return state.filter((v) => !v.metadata.error).filter((v) => v.metadata.id !== action.id); case AttachmentUploadActionType.Progress: return state.map((v) => v.taskId === action.taskId ? Object.assign(Object.assign({}, v), { metadata: Object.assign(Object.assign({}, v.metadata), { progress: action.progress }) }) : v); case AttachmentUploadActionType.Clear: return []; default: return state; } }; //# sourceMappingURL=AttachmentUpload.js.map