@wordpress/upload-media
Version:
Core media upload logic.
100 lines (92 loc) • 2.54 kB
JavaScript
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
;