@wordpress/media-utils
Version:
WordPress Media Upload Utils.
58 lines (55 loc) • 1.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.sideloadMedia = sideloadMedia;
var _i18n = require("@wordpress/i18n");
var _sideloadToServer = require("./sideload-to-server");
var _uploadError = require("./upload-error");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
const noop = () => {};
/**
* Uploads a file to the server without creating an attachment.
*
* @param $0 Parameters object passed to the function.
* @param $0.file Media File to Save.
* @param $0.attachmentId Parent attachment ID.
* @param $0.additionalData Additional data to include in the request.
* @param $0.signal Abort signal.
* @param $0.onFileChange Function called each time a file or a temporary representation of the file is available.
* @param $0.onError Function called when an error happens.
*/
async function sideloadMedia({
file,
attachmentId,
additionalData = {},
signal,
onFileChange,
onError = noop
}) {
try {
const attachment = await (0, _sideloadToServer.sideloadToServer)(file, attachmentId, additionalData, signal);
onFileChange?.([attachment]);
} catch (error) {
let message;
if (error instanceof Error) {
message = error.message;
} else {
message = (0, _i18n.sprintf)(
// translators: %s: file name
(0, _i18n.__)('Error while sideloading file %s to the server.'), file.name);
}
onError(new _uploadError.UploadError({
code: 'GENERAL',
message,
file,
cause: error instanceof Error ? error : undefined
}));
}
}
//# sourceMappingURL=sideload-media.js.map