@wordpress/blob 4.33.1 → 4.34.1-next.2f1c7c01b.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 4.34.0 (2025-10-29)
6
+
5
7
  ## 4.33.0 (2025-10-17)
6
8
 
7
9
  ## 4.32.0 (2025-10-01)
package/build/index.js CHANGED
@@ -16,6 +16,8 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // packages/blob/src/index.ts
19
21
  var index_exports = {};
20
22
  __export(index_exports, {
21
23
  createBlobURL: () => createBlobURL,
@@ -26,7 +28,7 @@ __export(index_exports, {
26
28
  revokeBlobURL: () => revokeBlobURL
27
29
  });
28
30
  module.exports = __toCommonJS(index_exports);
29
- const cache = {};
31
+ var cache = {};
30
32
  function createBlobURL(file) {
31
33
  const url = window.URL.createObjectURL(file);
32
34
  cache[url] = file;
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
4
  "sourcesContent": ["const cache: Record< string, File > = {};\n\n/**\n * Create a blob URL from a file.\n *\n * @param file The file to create a blob URL for.\n *\n * @return The blob URL.\n */\nexport function createBlobURL( file: File ): string {\n\tconst url = window.URL.createObjectURL( file );\n\n\tcache[ url ] = file;\n\n\treturn url;\n}\n\n/**\n * Retrieve a file based on a blob URL. The file must have been created by\n * `createBlobURL` and not removed by `revokeBlobURL`, otherwise it will return\n * `undefined`.\n *\n * @param url The blob URL.\n *\n * @return The file for the blob URL.\n */\nexport function getBlobByURL( url: string ): File | undefined {\n\treturn cache[ url ];\n}\n\n/**\n * Retrieve a blob type based on URL. The file must have been created by\n * `createBlobURL` and not removed by `revokeBlobURL`, otherwise it will return\n * `undefined`.\n *\n * @param url The blob URL.\n *\n * @return The blob type.\n */\nexport function getBlobTypeByURL( url: string ): string | undefined {\n\treturn getBlobByURL( url )?.type.split( '/' )[ 0 ]; // 0: media type , 1: file extension eg ( type: 'image/jpeg' ).\n}\n\n/**\n * Remove the resource and file cache from memory.\n *\n * @param url The blob URL.\n */\nexport function revokeBlobURL( url: string ): void {\n\tif ( cache[ url ] ) {\n\t\twindow.URL.revokeObjectURL( url );\n\t}\n\n\tdelete cache[ url ];\n}\n\n/**\n * Check whether a url is a blob url.\n *\n * @param url The URL.\n *\n * @return Is the url a blob url?\n */\nexport function isBlobURL( url: string | undefined ): boolean {\n\tif ( ! url || ! url.indexOf ) {\n\t\treturn false;\n\t}\n\treturn url.indexOf( 'blob:' ) === 0;\n}\n\n/**\n * Downloads a file, e.g., a text or readable stream, in the browser.\n * Appropriate for downloading smaller file sizes, e.g., < 5 MB.\n *\n * Example usage:\n *\n * ```js\n * \tconst fileContent = JSON.stringify(\n * \t\t{\n * \t\t\t\"title\": \"My Post\",\n * \t\t},\n * \t\tnull,\n * \t\t2\n * \t);\n * \tconst filename = 'file.json';\n *\n * \tdownloadBlob( filename, fileContent, 'application/json' );\n * ```\n *\n * @param filename File name.\n * @param content File content (BufferSource | Blob | string).\n * @param contentType (Optional) File mime type. Default is `''`.\n */\nexport function downloadBlob(\n\tfilename: string,\n\tcontent: BlobPart,\n\tcontentType: string = ''\n): void {\n\tif ( ! filename || ! content ) {\n\t\treturn;\n\t}\n\n\tconst file = new window.Blob( [ content ], { type: contentType } );\n\tconst url = window.URL.createObjectURL( file );\n\tconst anchorElement = document.createElement( 'a' );\n\tanchorElement.href = url;\n\tanchorElement.download = filename;\n\tanchorElement.style.display = 'none';\n\tdocument.body.appendChild( anchorElement );\n\tanchorElement.click();\n\tdocument.body.removeChild( anchorElement );\n\twindow.URL.revokeObjectURL( url );\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAM,QAAgC,CAAC;AAShC,SAAS,cAAe,MAAqB;AACnD,QAAM,MAAM,OAAO,IAAI,gBAAiB,IAAK;AAE7C,QAAO,GAAI,IAAI;AAEf,SAAO;AACR;AAWO,SAAS,aAAc,KAAgC;AAC7D,SAAO,MAAO,GAAI;AACnB;AAWO,SAAS,iBAAkB,KAAkC;AACnE,SAAO,aAAc,GAAI,GAAG,KAAK,MAAO,GAAI,EAAG,CAAE;AAClD;AAOO,SAAS,cAAe,KAAoB;AAClD,MAAK,MAAO,GAAI,GAAI;AACnB,WAAO,IAAI,gBAAiB,GAAI;AAAA,EACjC;AAEA,SAAO,MAAO,GAAI;AACnB;AASO,SAAS,UAAW,KAAmC;AAC7D,MAAK,CAAE,OAAO,CAAE,IAAI,SAAU;AAC7B,WAAO;AAAA,EACR;AACA,SAAO,IAAI,QAAS,OAAQ,MAAM;AACnC;AAyBO,SAAS,aACf,UACA,SACA,cAAsB,IACf;AACP,MAAK,CAAE,YAAY,CAAE,SAAU;AAC9B;AAAA,EACD;AAEA,QAAM,OAAO,IAAI,OAAO,KAAM,CAAE,OAAQ,GAAG,EAAE,MAAM,YAAY,CAAE;AACjE,QAAM,MAAM,OAAO,IAAI,gBAAiB,IAAK;AAC7C,QAAM,gBAAgB,SAAS,cAAe,GAAI;AAClD,gBAAc,OAAO;AACrB,gBAAc,WAAW;AACzB,gBAAc,MAAM,UAAU;AAC9B,WAAS,KAAK,YAAa,aAAc;AACzC,gBAAc,MAAM;AACpB,WAAS,KAAK,YAAa,aAAc;AACzC,SAAO,IAAI,gBAAiB,GAAI;AACjC;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAM,QAAgC,CAAC;AAShC,SAAS,cAAe,MAAqB;AACnD,QAAM,MAAM,OAAO,IAAI,gBAAiB,IAAK;AAE7C,QAAO,GAAI,IAAI;AAEf,SAAO;AACR;AAWO,SAAS,aAAc,KAAgC;AAC7D,SAAO,MAAO,GAAI;AACnB;AAWO,SAAS,iBAAkB,KAAkC;AACnE,SAAO,aAAc,GAAI,GAAG,KAAK,MAAO,GAAI,EAAG,CAAE;AAClD;AAOO,SAAS,cAAe,KAAoB;AAClD,MAAK,MAAO,GAAI,GAAI;AACnB,WAAO,IAAI,gBAAiB,GAAI;AAAA,EACjC;AAEA,SAAO,MAAO,GAAI;AACnB;AASO,SAAS,UAAW,KAAmC;AAC7D,MAAK,CAAE,OAAO,CAAE,IAAI,SAAU;AAC7B,WAAO;AAAA,EACR;AACA,SAAO,IAAI,QAAS,OAAQ,MAAM;AACnC;AAyBO,SAAS,aACf,UACA,SACA,cAAsB,IACf;AACP,MAAK,CAAE,YAAY,CAAE,SAAU;AAC9B;AAAA,EACD;AAEA,QAAM,OAAO,IAAI,OAAO,KAAM,CAAE,OAAQ,GAAG,EAAE,MAAM,YAAY,CAAE;AACjE,QAAM,MAAM,OAAO,IAAI,gBAAiB,IAAK;AAC7C,QAAM,gBAAgB,SAAS,cAAe,GAAI;AAClD,gBAAc,OAAO;AACrB,gBAAc,WAAW;AACzB,gBAAc,MAAM,UAAU;AAC9B,WAAS,KAAK,YAAa,aAAc;AACzC,gBAAc,MAAM;AACpB,WAAS,KAAK,YAAa,aAAc;AACzC,SAAO,IAAI,gBAAiB,GAAI;AACjC;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,5 @@
1
- const cache = {};
1
+ // packages/blob/src/index.ts
2
+ var cache = {};
2
3
  function createBlobURL(file) {
3
4
  const url = window.URL.createObjectURL(file);
4
5
  cache[url] = file;
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
4
  "sourcesContent": ["const cache: Record< string, File > = {};\n\n/**\n * Create a blob URL from a file.\n *\n * @param file The file to create a blob URL for.\n *\n * @return The blob URL.\n */\nexport function createBlobURL( file: File ): string {\n\tconst url = window.URL.createObjectURL( file );\n\n\tcache[ url ] = file;\n\n\treturn url;\n}\n\n/**\n * Retrieve a file based on a blob URL. The file must have been created by\n * `createBlobURL` and not removed by `revokeBlobURL`, otherwise it will return\n * `undefined`.\n *\n * @param url The blob URL.\n *\n * @return The file for the blob URL.\n */\nexport function getBlobByURL( url: string ): File | undefined {\n\treturn cache[ url ];\n}\n\n/**\n * Retrieve a blob type based on URL. The file must have been created by\n * `createBlobURL` and not removed by `revokeBlobURL`, otherwise it will return\n * `undefined`.\n *\n * @param url The blob URL.\n *\n * @return The blob type.\n */\nexport function getBlobTypeByURL( url: string ): string | undefined {\n\treturn getBlobByURL( url )?.type.split( '/' )[ 0 ]; // 0: media type , 1: file extension eg ( type: 'image/jpeg' ).\n}\n\n/**\n * Remove the resource and file cache from memory.\n *\n * @param url The blob URL.\n */\nexport function revokeBlobURL( url: string ): void {\n\tif ( cache[ url ] ) {\n\t\twindow.URL.revokeObjectURL( url );\n\t}\n\n\tdelete cache[ url ];\n}\n\n/**\n * Check whether a url is a blob url.\n *\n * @param url The URL.\n *\n * @return Is the url a blob url?\n */\nexport function isBlobURL( url: string | undefined ): boolean {\n\tif ( ! url || ! url.indexOf ) {\n\t\treturn false;\n\t}\n\treturn url.indexOf( 'blob:' ) === 0;\n}\n\n/**\n * Downloads a file, e.g., a text or readable stream, in the browser.\n * Appropriate for downloading smaller file sizes, e.g., < 5 MB.\n *\n * Example usage:\n *\n * ```js\n * \tconst fileContent = JSON.stringify(\n * \t\t{\n * \t\t\t\"title\": \"My Post\",\n * \t\t},\n * \t\tnull,\n * \t\t2\n * \t);\n * \tconst filename = 'file.json';\n *\n * \tdownloadBlob( filename, fileContent, 'application/json' );\n * ```\n *\n * @param filename File name.\n * @param content File content (BufferSource | Blob | string).\n * @param contentType (Optional) File mime type. Default is `''`.\n */\nexport function downloadBlob(\n\tfilename: string,\n\tcontent: BlobPart,\n\tcontentType: string = ''\n): void {\n\tif ( ! filename || ! content ) {\n\t\treturn;\n\t}\n\n\tconst file = new window.Blob( [ content ], { type: contentType } );\n\tconst url = window.URL.createObjectURL( file );\n\tconst anchorElement = document.createElement( 'a' );\n\tanchorElement.href = url;\n\tanchorElement.download = filename;\n\tanchorElement.style.display = 'none';\n\tdocument.body.appendChild( anchorElement );\n\tanchorElement.click();\n\tdocument.body.removeChild( anchorElement );\n\twindow.URL.revokeObjectURL( url );\n}\n"],
5
- "mappings": "AAAA,MAAM,QAAgC,CAAC;AAShC,SAAS,cAAe,MAAqB;AACnD,QAAM,MAAM,OAAO,IAAI,gBAAiB,IAAK;AAE7C,QAAO,GAAI,IAAI;AAEf,SAAO;AACR;AAWO,SAAS,aAAc,KAAgC;AAC7D,SAAO,MAAO,GAAI;AACnB;AAWO,SAAS,iBAAkB,KAAkC;AACnE,SAAO,aAAc,GAAI,GAAG,KAAK,MAAO,GAAI,EAAG,CAAE;AAClD;AAOO,SAAS,cAAe,KAAoB;AAClD,MAAK,MAAO,GAAI,GAAI;AACnB,WAAO,IAAI,gBAAiB,GAAI;AAAA,EACjC;AAEA,SAAO,MAAO,GAAI;AACnB;AASO,SAAS,UAAW,KAAmC;AAC7D,MAAK,CAAE,OAAO,CAAE,IAAI,SAAU;AAC7B,WAAO;AAAA,EACR;AACA,SAAO,IAAI,QAAS,OAAQ,MAAM;AACnC;AAyBO,SAAS,aACf,UACA,SACA,cAAsB,IACf;AACP,MAAK,CAAE,YAAY,CAAE,SAAU;AAC9B;AAAA,EACD;AAEA,QAAM,OAAO,IAAI,OAAO,KAAM,CAAE,OAAQ,GAAG,EAAE,MAAM,YAAY,CAAE;AACjE,QAAM,MAAM,OAAO,IAAI,gBAAiB,IAAK;AAC7C,QAAM,gBAAgB,SAAS,cAAe,GAAI;AAClD,gBAAc,OAAO;AACrB,gBAAc,WAAW;AACzB,gBAAc,MAAM,UAAU;AAC9B,WAAS,KAAK,YAAa,aAAc;AACzC,gBAAc,MAAM;AACpB,WAAS,KAAK,YAAa,aAAc;AACzC,SAAO,IAAI,gBAAiB,GAAI;AACjC;",
5
+ "mappings": ";AAAA,IAAM,QAAgC,CAAC;AAShC,SAAS,cAAe,MAAqB;AACnD,QAAM,MAAM,OAAO,IAAI,gBAAiB,IAAK;AAE7C,QAAO,GAAI,IAAI;AAEf,SAAO;AACR;AAWO,SAAS,aAAc,KAAgC;AAC7D,SAAO,MAAO,GAAI;AACnB;AAWO,SAAS,iBAAkB,KAAkC;AACnE,SAAO,aAAc,GAAI,GAAG,KAAK,MAAO,GAAI,EAAG,CAAE;AAClD;AAOO,SAAS,cAAe,KAAoB;AAClD,MAAK,MAAO,GAAI,GAAI;AACnB,WAAO,IAAI,gBAAiB,GAAI;AAAA,EACjC;AAEA,SAAO,MAAO,GAAI;AACnB;AASO,SAAS,UAAW,KAAmC;AAC7D,MAAK,CAAE,OAAO,CAAE,IAAI,SAAU;AAC7B,WAAO;AAAA,EACR;AACA,SAAO,IAAI,QAAS,OAAQ,MAAM;AACnC;AAyBO,SAAS,aACf,UACA,SACA,cAAsB,IACf;AACP,MAAK,CAAE,YAAY,CAAE,SAAU;AAC9B;AAAA,EACD;AAEA,QAAM,OAAO,IAAI,OAAO,KAAM,CAAE,OAAQ,GAAG,EAAE,MAAM,YAAY,CAAE;AACjE,QAAM,MAAM,OAAO,IAAI,gBAAiB,IAAK;AAC7C,QAAM,gBAAgB,SAAS,cAAe,GAAI;AAClD,gBAAc,OAAO;AACrB,gBAAc,WAAW;AACzB,gBAAc,MAAM,UAAU;AAC9B,WAAS,KAAK,YAAa,aAAc;AACzC,gBAAc,MAAM;AACpB,WAAS,KAAK,YAAa,aAAc;AACzC,SAAO,IAAI,gBAAiB,GAAI;AACjC;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/blob",
3
- "version": "4.33.1",
3
+ "version": "4.34.1-next.2f1c7c01b.0",
4
4
  "description": "Blob utilities for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -39,5 +39,5 @@
39
39
  "publishConfig": {
40
40
  "access": "public"
41
41
  },
42
- "gitHead": "5f84bafdec1bed05247c1080c12f6a237951b862"
42
+ "gitHead": "c6ddcdf455bc02567a2c9e03de6862a2061b85e8"
43
43
  }