UNPKG

@wordpress/upload-media

Version:
100 lines (92 loc) 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAllItems = getAllItems; exports.getBlobUrls = getBlobUrls; exports.getItem = getItem; exports.getPausedUploadForPost = getPausedUploadForPost; exports.isBatchUploaded = isBatchUploaded; exports.isPaused = isPaused; exports.isUploadingToPost = isUploadingToPost; var _types = require("./types"); /** * Internal dependencies */ /** * Returns all items currently being uploaded. * * @param state Upload state. * * @return Queue items. */ function getAllItems(state) { return state.queue; } /** * Returns a specific item given its unique ID. * * @param state Upload state. * @param id Item ID. * * @return Queue item. */ function getItem(state, id) { return state.queue.find(item => item.id === id); } /** * Determines whether a batch has been successfully uploaded, given its unique ID. * * @param state Upload state. * @param batchId Batch ID. * * @return Whether a batch has been uploaded. */ function isBatchUploaded(state, batchId) { const batchItems = state.queue.filter(item => batchId === item.batchId); return batchItems.length === 0; } /** * Determines whether an upload is currently in progress given a post or attachment ID. * * @param state Upload state. * @param postOrAttachmentId Post ID or attachment ID. * * @return Whether upload is currently in progress for the given post or attachment. */ function isUploadingToPost(state, postOrAttachmentId) { return state.queue.some(item => item.currentOperation === _types.OperationType.Upload && item.additionalData.post === postOrAttachmentId); } /** * Returns the next paused upload for a given post or attachment ID. * * @param state Upload state. * @param postOrAttachmentId Post ID or attachment ID. * * @return Paused item. */ function getPausedUploadForPost(state, postOrAttachmentId) { return state.queue.find(item => item.status === _types.ItemStatus.Paused && item.additionalData.post === postOrAttachmentId); } /** * Determines whether uploading is currently paused. * * @param state Upload state. * * @return Whether uploading is currently paused. */ function isPaused(state) { return state.queueStatus === 'paused'; } /** * Returns all cached blob URLs for a given item ID. * * @param state Upload state. * @param id Item ID * * @return List of blob URLs. */ function getBlobUrls(state, id) { return state.blobUrls[id] || []; } //# sourceMappingURL=private-selectors.js.map