File Editor
Directories:
.. (Back)
development
vendor
Files:
a11y.js
a11y.min.js
annotations.js
annotations.min.js
api-fetch.js
api-fetch.min.js
autop.js
autop.min.js
blob.js
blob.min.js
block-directory.js
block-directory.min.js
block-editor.js
block-editor.min.js
block-library.js
block-library.min.js
block-serialization-default-parser.js
block-serialization-default-parser.min.js
blocks.js
blocks.min.js
commands.js
commands.min.js
components.js
components.min.js
compose.js
compose.min.js
core-commands.js
core-commands.min.js
core-data.js
core-data.min.js
customize-widgets.js
customize-widgets.min.js
data-controls.js
data-controls.min.js
data.js
data.min.js
date.js
date.min.js
deprecated.js
deprecated.min.js
dom-ready.js
dom-ready.min.js
dom.js
dom.min.js
edit-post.js
edit-post.min.js
edit-site.js
edit-site.min.js
edit-widgets.js
edit-widgets.min.js
editor.js
editor.min.js
element.js
element.min.js
escape-html.js
escape-html.min.js
format-library.js
format-library.min.js
hooks.js
hooks.min.js
html-entities.js
html-entities.min.js
i18n.js
i18n.min.js
interactivity-router.asset.php
interactivity-router.js
interactivity-router.min.asset.php
interactivity-router.min.js
interactivity.js
interactivity.min.js
is-shallow-equal.js
is-shallow-equal.min.js
keyboard-shortcuts.js
keyboard-shortcuts.min.js
keycodes.js
keycodes.min.js
list-reusable-blocks.js
list-reusable-blocks.min.js
media-utils.js
media-utils.min.js
notices.js
notices.min.js
nux.js
nux.min.js
patterns.js
patterns.min.js
plugins.js
plugins.min.js
preferences-persistence.js
preferences-persistence.min.js
preferences.js
preferences.min.js
primitives.js
primitives.min.js
priority-queue.js
priority-queue.min.js
private-apis.js
private-apis.min.js
redux-routine.js
redux-routine.min.js
reusable-blocks.js
reusable-blocks.min.js
rich-text.js
rich-text.min.js
router.js
router.min.js
server-side-render.js
server-side-render.min.js
shortcode.js
shortcode.min.js
style-engine.js
style-engine.min.js
token-list.js
token-list.min.js
undo-manager.js
undo-manager.min.js
url.js
url.min.js
viewport.js
viewport.min.js
warning.js
warning.min.js
widgets.js
widgets.min.js
wordcount.js
wordcount.min.js
Create New File
Create
Edit File: blob.js
/******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ // The require scope /******/ var __webpack_require__ = {}; /******/ /************************************************************************/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createBlobURL: () => (/* binding */ createBlobURL), /* harmony export */ downloadBlob: () => (/* binding */ downloadBlob), /* harmony export */ getBlobByURL: () => (/* binding */ getBlobByURL), /* harmony export */ getBlobTypeByURL: () => (/* binding */ getBlobTypeByURL), /* harmony export */ isBlobURL: () => (/* binding */ isBlobURL), /* harmony export */ revokeBlobURL: () => (/* binding */ revokeBlobURL) /* harmony export */ }); /** * @type {Record<string, File|undefined>} */ const cache = {}; /** * Create a blob URL from a file. * * @param {File} file The file to create a blob URL for. * * @return {string} The blob URL. */ function createBlobURL(file) { const url = window.URL.createObjectURL(file); cache[url] = file; return url; } /** * Retrieve a file based on a blob URL. The file must have been created by * `createBlobURL` and not removed by `revokeBlobURL`, otherwise it will return * `undefined`. * * @param {string} url The blob URL. * * @return {File|undefined} The file for the blob URL. */ function getBlobByURL(url) { return cache[url]; } /** * Retrieve a blob type based on URL. The file must have been created by * `createBlobURL` and not removed by `revokeBlobURL`, otherwise it will return * `undefined`. * * @param {string} url The blob URL. * * @return {string|undefined} The blob type. */ function getBlobTypeByURL(url) { return getBlobByURL(url)?.type.split('/')[0]; // 0: media type , 1: file extension eg ( type: 'image/jpeg' ). } /** * Remove the resource and file cache from memory. * * @param {string} url The blob URL. */ function revokeBlobURL(url) { if (cache[url]) { window.URL.revokeObjectURL(url); } delete cache[url]; } /** * Check whether a url is a blob url. * * @param {string|undefined} url The URL. * * @return {boolean} Is the url a blob url? */ function isBlobURL(url) { if (!url || !url.indexOf) { return false; } return url.indexOf('blob:') === 0; } /** * Downloads a file, e.g., a text or readable stream, in the browser. * Appropriate for downloading smaller file sizes, e.g., < 5 MB. * * Example usage: * * ```js * const fileContent = JSON.stringify( * { * "title": "My Post", * }, * null, * 2 * ); * const filename = 'file.json'; * * downloadBlob( filename, fileContent, 'application/json' ); * ``` * * @param {string} filename File name. * @param {BlobPart} content File content (BufferSource | Blob | string). * @param {string} contentType (Optional) File mime type. Default is `''`. */ function downloadBlob(filename, content, contentType = '') { if (!filename || !content) { return; } const file = new window.Blob([content], { type: contentType }); const url = window.URL.createObjectURL(file); const anchorElement = document.createElement('a'); anchorElement.href = url; anchorElement.download = filename; anchorElement.style.display = 'none'; document.body.appendChild(anchorElement); anchorElement.click(); document.body.removeChild(anchorElement); window.URL.revokeObjectURL(url); } (window.wp = window.wp || {}).blob = __webpack_exports__; /******/ })() ;
Save Changes
Rename File
Rename