@loaders.gl/images 4.0.0-alpha.9 → 4.0.0-beta.2

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.
Files changed (75) hide show
  1. package/dist/dist.min.js +1 -1
  2. package/dist/dist.min.js.map +2 -2
  3. package/dist/es5/image-loader.js +2 -3
  4. package/dist/es5/image-loader.js.map +1 -1
  5. package/dist/es5/image-writer.js.map +1 -1
  6. package/dist/es5/lib/parsers/parse-image.js +7 -7
  7. package/dist/es5/lib/parsers/parse-image.js.map +1 -1
  8. package/dist/es5/lib/parsers/parse-to-image-bitmap.js +3 -3
  9. package/dist/es5/lib/parsers/parse-to-image-bitmap.js.map +1 -1
  10. package/dist/es5/lib/parsers/parse-to-image.js +1 -1
  11. package/dist/es5/lib/parsers/parse-to-image.js.map +1 -1
  12. package/dist/es5/lib/parsers/parse-to-node-image.js +1 -1
  13. package/dist/es5/lib/parsers/parse-to-node-image.js.map +1 -1
  14. package/dist/es5/lib/texture-api/deep-load.js.map +1 -1
  15. package/dist/es5/lib/texture-api/load-image.js +3 -3
  16. package/dist/es5/lib/texture-api/load-image.js.map +1 -1
  17. package/dist/es5/lib/utils/version.js +1 -1
  18. package/dist/es5/lib/utils/version.js.map +1 -1
  19. package/dist/esm/image-loader.js +1 -1
  20. package/dist/esm/image-loader.js.map +1 -1
  21. package/dist/esm/image-writer.js.map +1 -1
  22. package/dist/esm/lib/parsers/parse-image.js +4 -4
  23. package/dist/esm/lib/parsers/parse-image.js.map +1 -1
  24. package/dist/esm/lib/parsers/parse-to-image-bitmap.js +2 -2
  25. package/dist/esm/lib/parsers/parse-to-image-bitmap.js.map +1 -1
  26. package/dist/esm/lib/parsers/parse-to-image.js +1 -1
  27. package/dist/esm/lib/parsers/parse-to-image.js.map +1 -1
  28. package/dist/esm/lib/parsers/parse-to-node-image.js +1 -1
  29. package/dist/esm/lib/parsers/parse-to-node-image.js.map +1 -1
  30. package/dist/esm/lib/texture-api/deep-load.js.map +1 -1
  31. package/dist/esm/lib/texture-api/load-image.js +1 -1
  32. package/dist/esm/lib/texture-api/load-image.js.map +1 -1
  33. package/dist/esm/lib/utils/version.js +1 -1
  34. package/dist/esm/lib/utils/version.js.map +1 -1
  35. package/dist/image-writer.d.ts +3 -3
  36. package/dist/image-writer.d.ts.map +1 -1
  37. package/dist/lib/parsers/parse-image.d.ts +1 -1
  38. package/dist/lib/parsers/parse-image.d.ts.map +1 -1
  39. package/dist/lib/parsers/parse-to-image-bitmap.d.ts +1 -1
  40. package/dist/lib/parsers/parse-to-image-bitmap.d.ts.map +1 -1
  41. package/dist/lib/parsers/parse-to-image.d.ts +1 -1
  42. package/dist/lib/parsers/parse-to-image.d.ts.map +1 -1
  43. package/dist/lib/parsers/parse-to-node-image.d.ts +1 -1
  44. package/dist/lib/parsers/parse-to-node-image.d.ts.map +1 -1
  45. package/dist/lib/texture-api/deep-load.d.ts.map +1 -1
  46. package/package.json +3 -3
  47. package/src/image-loader.ts +1 -1
  48. package/src/image-writer.ts +3 -3
  49. package/src/lib/parsers/parse-image.ts +4 -4
  50. package/src/lib/parsers/parse-to-image-bitmap.ts +2 -2
  51. package/src/lib/parsers/parse-to-image.ts +1 -1
  52. package/src/lib/parsers/parse-to-node-image.ts +1 -1
  53. package/src/lib/texture-api/deep-load.ts +0 -1
  54. package/src/lib/texture-api/load-image.ts +1 -1
  55. package/dist/bundle.js +0 -5
  56. package/dist/image-loader.js +0 -44
  57. package/dist/image-writer.js +0 -21
  58. package/dist/index.js +0 -29
  59. package/dist/lib/category-api/binary-image-api.js +0 -161
  60. package/dist/lib/category-api/image-format.js +0 -110
  61. package/dist/lib/category-api/image-type.js +0 -48
  62. package/dist/lib/category-api/parse-isobmff-binary.js +0 -94
  63. package/dist/lib/category-api/parsed-image-api.js +0 -69
  64. package/dist/lib/encoders/encode-image.js +0 -81
  65. package/dist/lib/parsers/parse-image.js +0 -57
  66. package/dist/lib/parsers/parse-to-image-bitmap.js +0 -61
  67. package/dist/lib/parsers/parse-to-image.js +0 -47
  68. package/dist/lib/parsers/parse-to-node-image.js +0 -14
  69. package/dist/lib/parsers/svg-utils.js +0 -42
  70. package/dist/lib/texture-api/async-deep-map.js +0 -56
  71. package/dist/lib/texture-api/deep-load.js +0 -15
  72. package/dist/lib/texture-api/generate-url.js +0 -20
  73. package/dist/lib/texture-api/load-image.js +0 -47
  74. package/dist/lib/utils/version.js +0 -7
  75. package/dist/types.js +0 -2
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = parseToNodeImage;
7
+ exports.parseToNodeImage = parseToNodeImage;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _loaderUtils = require("@loaders.gl/loader-utils");
@@ -1 +1 @@
1
- {"version":3,"file":"parse-to-node-image.js","names":["_loaderUtils","require","_binaryImageApi","parseToNodeImage","_x","_x2","_parseToNodeImage","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","arrayBuffer","options","_ref","mimeType","_parseImageNode","wrap","_callee$","_context","prev","next","getBinaryImageMetadata","globalThis","assert","abrupt","sent","stop"],"sources":["../../../../src/lib/parsers/parse-to-node-image.ts"],"sourcesContent":["import type {ImageLoaderOptions} from '../../image-loader';\nimport type {ImageDataType} from '../../types';\nimport {assert} from '@loaders.gl/loader-utils';\nimport {getBinaryImageMetadata} from '../category-api/binary-image-api';\n\n// Note: These types should be consistent with loaders.gl/polyfills\n\ntype NDArray = {\n shape: number[];\n data: Uint8Array;\n width: number;\n height: number;\n components: number;\n layers: number[];\n};\n\ntype ParseImageNode = (arrayBuffer: ArrayBuffer, mimeType: string) => Promise<NDArray>;\n\n// Use polyfills if installed to parsed image using get-pixels\nexport default async function parseToNodeImage(\n arrayBuffer: ArrayBuffer,\n options: ImageLoaderOptions\n): Promise<ImageDataType> {\n const {mimeType} = getBinaryImageMetadata(arrayBuffer) || {};\n\n // @ts-ignore\n const _parseImageNode: ParseImageNode = globalThis._parseImageNode;\n assert(_parseImageNode); // '@loaders.gl/polyfills not installed'\n\n // @ts-expect-error TODO should we throw error in this case?\n return await _parseImageNode(arrayBuffer, mimeType);\n}\n"],"mappings":";;;;;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAAwE,SAgB1CE,gBAAgBA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,kBAAA;EAAAA,iBAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAA/B,SAAAC,QACbC,WAAwB,EACxBC,OAA2B;IAAA,IAAAC,IAAA,EAAAC,QAAA,EAAAC,eAAA;IAAA,OAAAP,YAAA,CAAAD,OAAA,CAAAS,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAAP,IAAA,GAER,IAAAQ,sCAAsB,EAACV,WAAW,CAAC,IAAI,CAAC,CAAC,EAArDG,QAAQ,GAAAD,IAAA,CAARC,QAAQ;UAGTC,eAA+B,GAAGO,UAAU,CAACP,eAAe;UAClE,IAAAQ,mBAAM,EAACR,eAAe,CAAC;UAACG,QAAA,CAAAE,IAAA;UAAA,OAGXL,eAAe,CAACJ,WAAW,EAAEG,QAAQ,CAAC;QAAA;UAAA,OAAAI,QAAA,CAAAM,MAAA,WAAAN,QAAA,CAAAO,IAAA;QAAA;QAAA;UAAA,OAAAP,QAAA,CAAAQ,IAAA;MAAA;IAAA,GAAAhB,OAAA;EAAA,CACpD;EAAA,OAAAP,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}
1
+ {"version":3,"file":"parse-to-node-image.js","names":["_loaderUtils","require","_binaryImageApi","parseToNodeImage","_x","_x2","_parseToNodeImage","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","arrayBuffer","options","_ref","mimeType","_parseImageNode","wrap","_callee$","_context","prev","next","getBinaryImageMetadata","globalThis","assert","abrupt","sent","stop"],"sources":["../../../../src/lib/parsers/parse-to-node-image.ts"],"sourcesContent":["import type {ImageLoaderOptions} from '../../image-loader';\nimport type {ImageDataType} from '../../types';\nimport {assert} from '@loaders.gl/loader-utils';\nimport {getBinaryImageMetadata} from '../category-api/binary-image-api';\n\n// Note: These types should be consistent with loaders.gl/polyfills\n\ntype NDArray = {\n shape: number[];\n data: Uint8Array;\n width: number;\n height: number;\n components: number;\n layers: number[];\n};\n\ntype ParseImageNode = (arrayBuffer: ArrayBuffer, mimeType: string) => Promise<NDArray>;\n\n// Use polyfills if installed to parsed image using get-pixels\nexport async function parseToNodeImage(\n arrayBuffer: ArrayBuffer,\n options: ImageLoaderOptions\n): Promise<ImageDataType> {\n const {mimeType} = getBinaryImageMetadata(arrayBuffer) || {};\n\n // @ts-ignore\n const _parseImageNode: ParseImageNode = globalThis._parseImageNode;\n assert(_parseImageNode); // '@loaders.gl/polyfills not installed'\n\n // @ts-expect-error TODO should we throw error in this case?\n return await _parseImageNode(arrayBuffer, mimeType);\n}\n"],"mappings":";;;;;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAAwE,SAgBlDE,gBAAgBA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,kBAAA;EAAAA,iBAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAA/B,SAAAC,QACLC,WAAwB,EACxBC,OAA2B;IAAA,IAAAC,IAAA,EAAAC,QAAA,EAAAC,eAAA;IAAA,OAAAP,YAAA,CAAAD,OAAA,CAAAS,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAAP,IAAA,GAER,IAAAQ,sCAAsB,EAACV,WAAW,CAAC,IAAI,CAAC,CAAC,EAArDG,QAAQ,GAAAD,IAAA,CAARC,QAAQ;UAGTC,eAA+B,GAAGO,UAAU,CAACP,eAAe;UAClE,IAAAQ,mBAAM,EAACR,eAAe,CAAC;UAACG,QAAA,CAAAE,IAAA;UAAA,OAGXL,eAAe,CAACJ,WAAW,EAAEG,QAAQ,CAAC;QAAA;UAAA,OAAAI,QAAA,CAAAM,MAAA,WAAAN,QAAA,CAAAO,IAAA;QAAA;QAAA;UAAA,OAAAP,QAAA,CAAAQ,IAAA;MAAA;IAAA,GAAAhB,OAAA;EAAA,CACpD;EAAA,OAAAP,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"deep-load.js","names":["_asyncDeepMap","require","deepLoad","_x","_x2","_x3","_deepLoad","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","urlTree","load","options","wrap","_callee$","_context","prev","next","asyncDeepMap","url","shallowLoad","abrupt","sent","stop","_x4","_x5","_x6","_shallowLoad","_callee2","response","arrayBuffer","_callee2$","_context2","fetch"],"sources":["../../../../src/lib/texture-api/deep-load.ts"],"sourcesContent":["import {asyncDeepMap} from './async-deep-map';\n\nexport async function deepLoad(urlTree, load, options) {\n return await asyncDeepMap(urlTree, (url) => shallowLoad(url, load, options));\n}\n\nexport async function shallowLoad(url, load, options) {\n // console.error('loading', url);\n const response = await fetch(url, options.fetch);\n const arrayBuffer = await response.arrayBuffer();\n return await load(arrayBuffer, options);\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAA8C,SAExBC,QAAQA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,SAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,UAAA;EAAAA,SAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAvB,SAAAC,QAAwBC,OAAO,EAAEC,IAAI,EAAEC,OAAO;IAAA,OAAAL,YAAA,CAAAD,OAAA,CAAAO,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OACtC,IAAAC,0BAAY,EAACR,OAAO,EAAE,UAACS,GAAG;YAAA,OAAKC,WAAW,CAACD,GAAG,EAAER,IAAI,EAAEC,OAAO,CAAC;UAAA,EAAC;QAAA;UAAA,OAAAG,QAAA,CAAAM,MAAA,WAAAN,QAAA,CAAAO,IAAA;QAAA;QAAA;UAAA,OAAAP,QAAA,CAAAQ,IAAA;MAAA;IAAA,GAAAd,OAAA;EAAA,CAC7E;EAAA,OAAAP,SAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAEqBgB,WAAWA,CAAAI,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,YAAA,CAAAxB,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAuB,aAAA;EAAAA,YAAA,OAAAtB,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAA1B,SAAAoB,SAA2BT,GAAG,EAAER,IAAI,EAAEC,OAAO;IAAA,IAAAiB,QAAA,EAAAC,WAAA;IAAA,OAAAvB,YAAA,CAAAD,OAAA,CAAAO,IAAA,UAAAkB,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAhB,IAAA,GAAAgB,SAAA,CAAAf,IAAA;QAAA;UAAAe,SAAA,CAAAf,IAAA;UAAA,OAE3BgB,KAAK,CAACd,GAAG,EAAEP,OAAO,CAACqB,KAAK,CAAC;QAAA;UAA1CJ,QAAQ,GAAAG,SAAA,CAAAV,IAAA;UAAAU,SAAA,CAAAf,IAAA;UAAA,OACYY,QAAQ,CAACC,WAAW,CAAC,CAAC;QAAA;UAA1CA,WAAW,GAAAE,SAAA,CAAAV,IAAA;UAAAU,SAAA,CAAAf,IAAA;UAAA,OACJN,IAAI,CAACmB,WAAW,EAAElB,OAAO,CAAC;QAAA;UAAA,OAAAoB,SAAA,CAAAX,MAAA,WAAAW,SAAA,CAAAV,IAAA;QAAA;QAAA;UAAA,OAAAU,SAAA,CAAAT,IAAA;MAAA;IAAA,GAAAK,QAAA;EAAA,CACxC;EAAA,OAAAD,YAAA,CAAAxB,KAAA,OAAAC,SAAA;AAAA"}
1
+ {"version":3,"file":"deep-load.js","names":["_asyncDeepMap","require","deepLoad","_x","_x2","_x3","_deepLoad","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","urlTree","load","options","wrap","_callee$","_context","prev","next","asyncDeepMap","url","shallowLoad","abrupt","sent","stop","_x4","_x5","_x6","_shallowLoad","_callee2","response","arrayBuffer","_callee2$","_context2","fetch"],"sources":["../../../../src/lib/texture-api/deep-load.ts"],"sourcesContent":["import {asyncDeepMap} from './async-deep-map';\n\nexport async function deepLoad(urlTree, load, options) {\n return await asyncDeepMap(urlTree, (url) => shallowLoad(url, load, options));\n}\n\nexport async function shallowLoad(url, load, options) {\n const response = await fetch(url, options.fetch);\n const arrayBuffer = await response.arrayBuffer();\n return await load(arrayBuffer, options);\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAA8C,SAExBC,QAAQA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,SAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,UAAA;EAAAA,SAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAvB,SAAAC,QAAwBC,OAAO,EAAEC,IAAI,EAAEC,OAAO;IAAA,OAAAL,YAAA,CAAAD,OAAA,CAAAO,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OACtC,IAAAC,0BAAY,EAACR,OAAO,EAAE,UAACS,GAAG;YAAA,OAAKC,WAAW,CAACD,GAAG,EAAER,IAAI,EAAEC,OAAO,CAAC;UAAA,EAAC;QAAA;UAAA,OAAAG,QAAA,CAAAM,MAAA,WAAAN,QAAA,CAAAO,IAAA;QAAA;QAAA;UAAA,OAAAP,QAAA,CAAAQ,IAAA;MAAA;IAAA,GAAAd,OAAA;EAAA,CAC7E;EAAA,OAAAP,SAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAEqBgB,WAAWA,CAAAI,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,YAAA,CAAAxB,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAuB,aAAA;EAAAA,YAAA,OAAAtB,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAA1B,SAAAoB,SAA2BT,GAAG,EAAER,IAAI,EAAEC,OAAO;IAAA,IAAAiB,QAAA,EAAAC,WAAA;IAAA,OAAAvB,YAAA,CAAAD,OAAA,CAAAO,IAAA,UAAAkB,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAhB,IAAA,GAAAgB,SAAA,CAAAf,IAAA;QAAA;UAAAe,SAAA,CAAAf,IAAA;UAAA,OAC3BgB,KAAK,CAACd,GAAG,EAAEP,OAAO,CAACqB,KAAK,CAAC;QAAA;UAA1CJ,QAAQ,GAAAG,SAAA,CAAAV,IAAA;UAAAU,SAAA,CAAAf,IAAA;UAAA,OACYY,QAAQ,CAACC,WAAW,CAAC,CAAC;QAAA;UAA1CA,WAAW,GAAAE,SAAA,CAAAV,IAAA;UAAAU,SAAA,CAAAf,IAAA;UAAA,OACJN,IAAI,CAACmB,WAAW,EAAElB,OAAO,CAAC;QAAA;UAAA,OAAAoB,SAAA,CAAAX,MAAA,WAAAW,SAAA,CAAAV,IAAA;QAAA;QAAA;UAAA,OAAAU,SAAA,CAAAT,IAAA;MAAA;IAAA,GAAAK,QAAA;EAAA,CACxC;EAAA,OAAAD,YAAA,CAAAxB,KAAA,OAAAC,SAAA;AAAA"}
@@ -11,7 +11,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
11
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
13
  var _loaderUtils = require("@loaders.gl/loader-utils");
14
- var _parseImage = _interopRequireDefault(require("../parsers/parse-image"));
14
+ var _parseImage = require("../parsers/parse-image");
15
15
  var _parsedImageApi = require("../category-api/parsed-image-api");
16
16
  var _generateUrl = require("./generate-url");
17
17
  var _deepLoad = require("./deep-load");
@@ -34,7 +34,7 @@ function _loadImage() {
34
34
  case 3:
35
35
  imageUrls = _context.sent;
36
36
  _context.next = 6;
37
- return (0, _deepLoad.deepLoad)(imageUrls, _parseImage.default, options);
37
+ return (0, _deepLoad.deepLoad)(imageUrls, _parseImage.parseImage, options);
38
38
  case 6:
39
39
  return _context.abrupt("return", _context.sent);
40
40
  case 7:
@@ -98,7 +98,7 @@ function _getMipmappedImageUrls() {
98
98
  lod: 0
99
99
  }));
100
100
  _context3.next = 5;
101
- return (0, _deepLoad.shallowLoad)(url, _parseImage.default, options);
101
+ return (0, _deepLoad.shallowLoad)(url, _parseImage.parseImage, options);
102
102
  case 5:
103
103
  image = _context3.sent;
104
104
  _getImageSize = (0, _parsedImageApi.getImageSize)(image), width = _getImageSize.width, height = _getImageSize.height;
@@ -1 +1 @@
1
- {"version":3,"file":"load-image.js","names":["_loaderUtils","require","_parseImage","_interopRequireDefault","_parsedImageApi","_generateUrl","_deepLoad","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","loadImage","_x","_loadImage","_asyncToGenerator2","_regenerator","mark","_callee","getUrl","options","imageUrls","_args","wrap","_callee$","_context","prev","next","undefined","getImageUrls","sent","deepLoad","parseImage","abrupt","stop","_x2","_x3","_getImageUrls","_callee2","urlOptions","mipLevels","_args2","_callee2$","_context2","image","getMipmappedImageUrls","t0","generateUrl","_x4","_x5","_x6","_x7","_getMipmappedImageUrls","_callee3","urls","url","_getImageSize","width","height","mipLevel","_url","_callee3$","_context3","lod","shallowLoad","getImageSize","getMipLevels","assert","_ref","Math","floor","log2","max"],"sources":["../../../../src/lib/texture-api/load-image.ts"],"sourcesContent":["import {assert} from '@loaders.gl/loader-utils';\nimport parseImage from '../parsers/parse-image';\nimport {getImageSize} from '../category-api/parsed-image-api';\nimport {generateUrl} from './generate-url';\nimport {deepLoad, shallowLoad} from './deep-load';\n\nexport async function loadImage(getUrl, options = {}) {\n const imageUrls = await getImageUrls(getUrl, options);\n return await deepLoad(imageUrls, parseImage, options);\n}\n\nexport async function getImageUrls(getUrl, options, urlOptions = {}) {\n const mipLevels = (options && options.image && options.image.mipLevels) || 0;\n return mipLevels !== 0\n ? await getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions)\n : generateUrl(getUrl, options, urlOptions);\n}\n\nasync function getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) {\n const urls: string[] = [];\n\n // If no mip levels supplied, we need to load the level 0 image and calculate based on size\n if (mipLevels === 'auto') {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: 0});\n const image = await shallowLoad(url, parseImage, options);\n\n const {width, height} = getImageSize(image);\n mipLevels = getMipLevels({width, height});\n\n // TODO - push image and make `deepLoad` pass through non-url values, avoid loading twice?\n urls.push(url);\n }\n\n // We now know how many mipLevels we need, remaining image urls can now be constructed\n assert(mipLevels > 0);\n\n for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: mipLevel});\n urls.push(url);\n }\n\n return urls;\n}\n\n// Calculates number of mipmaps based on texture size (log2)\nexport function getMipLevels({width, height}) {\n return 1 + Math.floor(Math.log2(Math.max(width, height)));\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"load-image.js","names":["_loaderUtils","require","_parseImage","_parsedImageApi","_generateUrl","_deepLoad","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","loadImage","_x","_loadImage","_asyncToGenerator2","_regenerator","mark","_callee","getUrl","options","imageUrls","_args","wrap","_callee$","_context","prev","next","undefined","getImageUrls","sent","deepLoad","parseImage","abrupt","stop","_x2","_x3","_getImageUrls","_callee2","urlOptions","mipLevels","_args2","_callee2$","_context2","image","getMipmappedImageUrls","t0","generateUrl","_x4","_x5","_x6","_x7","_getMipmappedImageUrls","_callee3","urls","url","_getImageSize","width","height","mipLevel","_url","_callee3$","_context3","lod","shallowLoad","getImageSize","getMipLevels","assert","_ref","Math","floor","log2","max"],"sources":["../../../../src/lib/texture-api/load-image.ts"],"sourcesContent":["import {assert} from '@loaders.gl/loader-utils';\nimport {parseImage} from '../parsers/parse-image';\nimport {getImageSize} from '../category-api/parsed-image-api';\nimport {generateUrl} from './generate-url';\nimport {deepLoad, shallowLoad} from './deep-load';\n\nexport async function loadImage(getUrl, options = {}) {\n const imageUrls = await getImageUrls(getUrl, options);\n return await deepLoad(imageUrls, parseImage, options);\n}\n\nexport async function getImageUrls(getUrl, options, urlOptions = {}) {\n const mipLevels = (options && options.image && options.image.mipLevels) || 0;\n return mipLevels !== 0\n ? await getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions)\n : generateUrl(getUrl, options, urlOptions);\n}\n\nasync function getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) {\n const urls: string[] = [];\n\n // If no mip levels supplied, we need to load the level 0 image and calculate based on size\n if (mipLevels === 'auto') {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: 0});\n const image = await shallowLoad(url, parseImage, options);\n\n const {width, height} = getImageSize(image);\n mipLevels = getMipLevels({width, height});\n\n // TODO - push image and make `deepLoad` pass through non-url values, avoid loading twice?\n urls.push(url);\n }\n\n // We now know how many mipLevels we need, remaining image urls can now be constructed\n assert(mipLevels > 0);\n\n for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: mipLevel});\n urls.push(url);\n }\n\n return urls;\n}\n\n// Calculates number of mipmaps based on texture size (log2)\nexport function getMipLevels({width, height}) {\n return 1 + Math.floor(Math.log2(Math.max(width, height)));\n}\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAAkD,SAAAK,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAE5BY,SAASA,CAAAC,EAAA;EAAA,OAAAC,UAAA,CAAAhB,KAAA,OAAAI,SAAA;AAAA;AAAA,SAAAY,WAAA;EAAAA,UAAA,OAAAC,kBAAA,CAAAP,OAAA,EAAAQ,YAAA,CAAAR,OAAA,CAAAS,IAAA,CAAxB,SAAAC,QAAyBC,MAAM;IAAA,IAAAC,OAAA;MAAAC,SAAA;MAAAC,KAAA,GAAApB,SAAA;IAAA,OAAAc,YAAA,CAAAR,OAAA,CAAAe,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAEP,OAAO,GAAAE,KAAA,CAAAnB,MAAA,QAAAmB,KAAA,QAAAM,SAAA,GAAAN,KAAA,MAAG,CAAC,CAAC;UAAAG,QAAA,CAAAE,IAAA;UAAA,OAC1BE,YAAY,CAACV,MAAM,EAAEC,OAAO,CAAC;QAAA;UAA/CC,SAAS,GAAAI,QAAA,CAAAK,IAAA;UAAAL,QAAA,CAAAE,IAAA;UAAA,OACF,IAAAI,kBAAQ,EAACV,SAAS,EAAEW,sBAAU,EAAEZ,OAAO,CAAC;QAAA;UAAA,OAAAK,QAAA,CAAAQ,MAAA,WAAAR,QAAA,CAAAK,IAAA;QAAA;QAAA;UAAA,OAAAL,QAAA,CAAAS,IAAA;MAAA;IAAA,GAAAhB,OAAA;EAAA,CACtD;EAAA,OAAAJ,UAAA,CAAAhB,KAAA,OAAAI,SAAA;AAAA;AAAA,SAEqB2B,YAAYA,CAAAM,GAAA,EAAAC,GAAA;EAAA,OAAAC,aAAA,CAAAvC,KAAA,OAAAI,SAAA;AAAA;AAAA,SAAAmC,cAAA;EAAAA,aAAA,OAAAtB,kBAAA,CAAAP,OAAA,EAAAQ,YAAA,CAAAR,OAAA,CAAAS,IAAA,CAA3B,SAAAqB,SAA4BnB,MAAM,EAAEC,OAAO;IAAA,IAAAmB,UAAA;MAAAC,SAAA;MAAAC,MAAA,GAAAvC,SAAA;IAAA,OAAAc,YAAA,CAAAR,OAAA,CAAAe,IAAA,UAAAmB,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAjB,IAAA,GAAAiB,SAAA,CAAAhB,IAAA;QAAA;UAAEY,UAAU,GAAAE,MAAA,CAAAtC,MAAA,QAAAsC,MAAA,QAAAb,SAAA,GAAAa,MAAA,MAAG,CAAC,CAAC;UAC3DD,SAAS,GAAIpB,OAAO,IAAIA,OAAO,CAACwB,KAAK,IAAIxB,OAAO,CAACwB,KAAK,CAACJ,SAAS,IAAK,CAAC;UAAA,MACrEA,SAAS,KAAK,CAAC;YAAAG,SAAA,CAAAhB,IAAA;YAAA;UAAA;UAAAgB,SAAA,CAAAhB,IAAA;UAAA,OACZkB,qBAAqB,CAAC1B,MAAM,EAAEqB,SAAS,EAAEpB,OAAO,EAAEmB,UAAU,CAAC;QAAA;UAAAI,SAAA,CAAAG,EAAA,GAAAH,SAAA,CAAAb,IAAA;UAAAa,SAAA,CAAAhB,IAAA;UAAA;QAAA;UAAAgB,SAAA,CAAAG,EAAA,GACnE,IAAAC,wBAAW,EAAC5B,MAAM,EAAEC,OAAO,EAAEmB,UAAU,CAAC;QAAA;UAAA,OAAAI,SAAA,CAAAV,MAAA,WAAAU,SAAA,CAAAG,EAAA;QAAA;QAAA;UAAA,OAAAH,SAAA,CAAAT,IAAA;MAAA;IAAA,GAAAI,QAAA;EAAA,CAC7C;EAAA,OAAAD,aAAA,CAAAvC,KAAA,OAAAI,SAAA;AAAA;AAAA,SAEc2C,qBAAqBA,CAAAG,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,sBAAA,CAAAtD,KAAA,OAAAI,SAAA;AAAA;AAAA,SAAAkD,uBAAA;EAAAA,sBAAA,OAAArC,kBAAA,CAAAP,OAAA,EAAAQ,YAAA,CAAAR,OAAA,CAAAS,IAAA,CAApC,SAAAoC,SAAqClC,MAAM,EAAEqB,SAAS,EAAEpB,OAAO,EAAEmB,UAAU;IAAA,IAAAe,IAAA,EAAAC,GAAA,EAAAX,KAAA,EAAAY,aAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,QAAA,EAAAC,IAAA;IAAA,OAAA5C,YAAA,CAAAR,OAAA,CAAAe,IAAA,UAAAsC,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAApC,IAAA,GAAAoC,SAAA,CAAAnC,IAAA;QAAA;UACnE2B,IAAc,GAAG,EAAE;UAAA,MAGrBd,SAAS,KAAK,MAAM;YAAAsB,SAAA,CAAAnC,IAAA;YAAA;UAAA;UAChB4B,GAAG,GAAG,IAAAR,wBAAW,EAAC5B,MAAM,EAAEC,OAAO,EAAArB,aAAA,CAAAA,aAAA,KAAMwC,UAAU;YAAEwB,GAAG,EAAE;UAAC,EAAC,CAAC;UAAAD,SAAA,CAAAnC,IAAA;UAAA,OAC7C,IAAAqC,qBAAW,EAACT,GAAG,EAAEvB,sBAAU,EAAEZ,OAAO,CAAC;QAAA;UAAnDwB,KAAK,GAAAkB,SAAA,CAAAhC,IAAA;UAAA0B,aAAA,GAEa,IAAAS,4BAAY,EAACrB,KAAK,CAAC,EAApCa,KAAK,GAAAD,aAAA,CAALC,KAAK,EAAEC,MAAM,GAAAF,aAAA,CAANE,MAAM;UACpBlB,SAAS,GAAG0B,YAAY,CAAC;YAACT,KAAK,EAALA,KAAK;YAAEC,MAAM,EAANA;UAAM,CAAC,CAAC;UAGzCJ,IAAI,CAACzD,IAAI,CAAC0D,GAAG,CAAC;QAAC;UAIjB,IAAAY,mBAAM,EAAC3B,SAAS,GAAG,CAAC,CAAC;UAErB,KAASmB,QAAQ,GAAGL,IAAI,CAACnD,MAAM,EAAEwD,QAAQ,GAAGnB,SAAS,EAAE,EAAEmB,QAAQ,EAAE;YAC3DJ,IAAG,GAAG,IAAAR,wBAAW,EAAC5B,MAAM,EAAEC,OAAO,EAAArB,aAAA,CAAAA,aAAA,KAAMwC,UAAU;cAAEwB,GAAG,EAAEJ;YAAQ,EAAC,CAAC;YACxEL,IAAI,CAACzD,IAAI,CAAC0D,IAAG,CAAC;UAChB;UAAC,OAAAO,SAAA,CAAA7B,MAAA,WAEMqB,IAAI;QAAA;QAAA;UAAA,OAAAQ,SAAA,CAAA5B,IAAA;MAAA;IAAA,GAAAmB,QAAA;EAAA,CACZ;EAAA,OAAAD,sBAAA,CAAAtD,KAAA,OAAAI,SAAA;AAAA;AAGM,SAASgE,YAAYA,CAAAE,IAAA,EAAkB;EAAA,IAAhBX,KAAK,GAAAW,IAAA,CAALX,KAAK;IAAEC,MAAM,GAAAU,IAAA,CAANV,MAAM;EACzC,OAAO,CAAC,GAAGW,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,IAAI,CAACF,IAAI,CAACG,GAAG,CAACf,KAAK,EAAEC,MAAM,CAAC,CAAC,CAAC;AAC3D"}
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.VERSION = void 0;
7
- var VERSION = typeof "4.0.0-alpha.9" !== 'undefined' ? "4.0.0-alpha.9" : 'latest';
7
+ var VERSION = typeof "4.0.0-beta.2" !== 'undefined' ? "4.0.0-beta.2" : 'latest';
8
8
  exports.VERSION = VERSION;
9
9
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","names":["VERSION","exports"],"sources":["../../../../src/lib/utils/version.ts"],"sourcesContent":["// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n"],"mappings":";;;;;;AAGO,IAAMA,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAACC,OAAA,CAAAD,OAAA,GAAAA,OAAA"}
1
+ {"version":3,"file":"version.js","names":["VERSION","exports"],"sources":["../../../../src/lib/utils/version.ts"],"sourcesContent":["// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n"],"mappings":";;;;;;AAGO,IAAMA,OAAO,GAAG,qBAAkB,KAAK,WAAW,oBAAiB,QAAQ;AAACC,OAAA,CAAAD,OAAA,GAAAA,OAAA"}
@@ -1,5 +1,5 @@
1
1
  import { VERSION } from './lib/utils/version';
2
- import parseImage from './lib/parsers/parse-image';
2
+ import { parseImage } from './lib/parsers/parse-image';
3
3
  import { getBinaryImageMetadata } from './lib/category-api/binary-image-api';
4
4
  const EXTENSIONS = ['png', 'jpg', 'jpeg', 'gif', 'webp', 'bmp', 'ico', 'svg', 'avif'];
5
5
  const MIME_TYPES = ['image/png', 'image/jpeg', 'image/gif', 'image/webp', 'image/avif', 'image/bmp', 'image/vnd.microsoft.icon', 'image/svg+xml'];
@@ -1 +1 @@
1
- {"version":3,"file":"image-loader.js","names":["VERSION","parseImage","getBinaryImageMetadata","EXTENSIONS","MIME_TYPES","DEFAULT_IMAGE_LOADER_OPTIONS","image","type","decode","ImageLoader","id","module","name","version","mimeTypes","extensions","parse","tests","arrayBuffer","Boolean","DataView","options"],"sources":["../../src/image-loader.ts"],"sourcesContent":["import type {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {ImageType} from './types';\n// import type { ImageType } from '@loaders.gl/schema';\nimport {VERSION} from './lib/utils/version';\nimport parseImage from './lib/parsers/parse-image';\nimport {getBinaryImageMetadata} from './lib/category-api/binary-image-api';\n\nconst EXTENSIONS = ['png', 'jpg', 'jpeg', 'gif', 'webp', 'bmp', 'ico', 'svg', 'avif'];\nconst MIME_TYPES = [\n 'image/png',\n 'image/jpeg',\n 'image/gif',\n 'image/webp',\n 'image/avif',\n 'image/bmp',\n 'image/vnd.microsoft.icon',\n 'image/svg+xml'\n];\n\nexport type ImageLoaderOptions = LoaderOptions & {\n image?: {\n type?: 'auto' | 'data' | 'imagebitmap' | 'image';\n decode?: boolean;\n };\n imagebitmap?: ImageBitmapOptions;\n};\n\nconst DEFAULT_IMAGE_LOADER_OPTIONS: ImageLoaderOptions = {\n image: {\n type: 'auto',\n decode: true // if format is HTML\n }\n // imagebitmap: {} - passes (platform dependent) parameters to ImageBitmap constructor\n};\n\n/**\n * Loads a platform-specific image type\n * Note: This type can be used as input data to WebGL texture creation\n */\nexport const ImageLoader: LoaderWithParser<ImageType, never, ImageLoaderOptions> = {\n id: 'image',\n module: 'images',\n name: 'Images',\n version: VERSION,\n mimeTypes: MIME_TYPES,\n extensions: EXTENSIONS,\n parse: parseImage,\n // TODO: byteOffset, byteLength;\n tests: [(arrayBuffer) => Boolean(getBinaryImageMetadata(new DataView(arrayBuffer)))],\n options: DEFAULT_IMAGE_LOADER_OPTIONS\n};\n"],"mappings":"AAGA,SAAQA,OAAO,QAAO,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,2BAA2B;AAClD,SAAQC,sBAAsB,QAAO,qCAAqC;AAE1E,MAAMC,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;AACrF,MAAMC,UAAU,GAAG,CACjB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,0BAA0B,EAC1B,eAAe,CAChB;AAUD,MAAMC,4BAAgD,GAAG;EACvDC,KAAK,EAAE;IACLC,IAAI,EAAE,MAAM;IACZC,MAAM,EAAE;EACV;AAEF,CAAC;AAMD,OAAO,MAAMC,WAAmE,GAAG;EACjFC,EAAE,EAAE,OAAO;EACXC,MAAM,EAAE,QAAQ;EAChBC,IAAI,EAAE,QAAQ;EACdC,OAAO,EAAEb,OAAO;EAChBc,SAAS,EAAEV,UAAU;EACrBW,UAAU,EAAEZ,UAAU;EACtBa,KAAK,EAAEf,UAAU;EAEjBgB,KAAK,EAAE,CAAEC,WAAW,IAAKC,OAAO,CAACjB,sBAAsB,CAAC,IAAIkB,QAAQ,CAACF,WAAW,CAAC,CAAC,CAAC,CAAC;EACpFG,OAAO,EAAEhB;AACX,CAAC"}
1
+ {"version":3,"file":"image-loader.js","names":["VERSION","parseImage","getBinaryImageMetadata","EXTENSIONS","MIME_TYPES","DEFAULT_IMAGE_LOADER_OPTIONS","image","type","decode","ImageLoader","id","module","name","version","mimeTypes","extensions","parse","tests","arrayBuffer","Boolean","DataView","options"],"sources":["../../src/image-loader.ts"],"sourcesContent":["import type {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {ImageType} from './types';\n// import type { ImageType } from '@loaders.gl/schema';\nimport {VERSION} from './lib/utils/version';\nimport {parseImage} from './lib/parsers/parse-image';\nimport {getBinaryImageMetadata} from './lib/category-api/binary-image-api';\n\nconst EXTENSIONS = ['png', 'jpg', 'jpeg', 'gif', 'webp', 'bmp', 'ico', 'svg', 'avif'];\nconst MIME_TYPES = [\n 'image/png',\n 'image/jpeg',\n 'image/gif',\n 'image/webp',\n 'image/avif',\n 'image/bmp',\n 'image/vnd.microsoft.icon',\n 'image/svg+xml'\n];\n\nexport type ImageLoaderOptions = LoaderOptions & {\n image?: {\n type?: 'auto' | 'data' | 'imagebitmap' | 'image';\n decode?: boolean;\n };\n imagebitmap?: ImageBitmapOptions;\n};\n\nconst DEFAULT_IMAGE_LOADER_OPTIONS: ImageLoaderOptions = {\n image: {\n type: 'auto',\n decode: true // if format is HTML\n }\n // imagebitmap: {} - passes (platform dependent) parameters to ImageBitmap constructor\n};\n\n/**\n * Loads a platform-specific image type\n * Note: This type can be used as input data to WebGL texture creation\n */\nexport const ImageLoader: LoaderWithParser<ImageType, never, ImageLoaderOptions> = {\n id: 'image',\n module: 'images',\n name: 'Images',\n version: VERSION,\n mimeTypes: MIME_TYPES,\n extensions: EXTENSIONS,\n parse: parseImage,\n // TODO: byteOffset, byteLength;\n tests: [(arrayBuffer) => Boolean(getBinaryImageMetadata(new DataView(arrayBuffer)))],\n options: DEFAULT_IMAGE_LOADER_OPTIONS\n};\n"],"mappings":"AAGA,SAAQA,OAAO,QAAO,qBAAqB;AAC3C,SAAQC,UAAU,QAAO,2BAA2B;AACpD,SAAQC,sBAAsB,QAAO,qCAAqC;AAE1E,MAAMC,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;AACrF,MAAMC,UAAU,GAAG,CACjB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,0BAA0B,EAC1B,eAAe,CAChB;AAUD,MAAMC,4BAAgD,GAAG;EACvDC,KAAK,EAAE;IACLC,IAAI,EAAE,MAAM;IACZC,MAAM,EAAE;EACV;AAEF,CAAC;AAMD,OAAO,MAAMC,WAAmE,GAAG;EACjFC,EAAE,EAAE,OAAO;EACXC,MAAM,EAAE,QAAQ;EAChBC,IAAI,EAAE,QAAQ;EACdC,OAAO,EAAEb,OAAO;EAChBc,SAAS,EAAEV,UAAU;EACrBW,UAAU,EAAEZ,UAAU;EACtBa,KAAK,EAAEf,UAAU;EAEjBgB,KAAK,EAAE,CAAEC,WAAW,IAAKC,OAAO,CAACjB,sBAAsB,CAAC,IAAIkB,QAAQ,CAACF,WAAW,CAAC,CAAC,CAAC,CAAC;EACpFG,OAAO,EAAEhB;AACX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"image-writer.js","names":["VERSION","encodeImage","ImageWriter","name","id","module","version","extensions","options","image","mimeType","jpegQuality","encode"],"sources":["../../src/image-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport type {ImageDataType} from './types';\nimport {VERSION} from './lib/utils/version';\nimport {encodeImage} from './lib/encoders/encode-image';\n\nexport type ImageWriterOptions = WriterOptions & {\n image: {\n mimeType: 'image/png';\n jpegQuality: null;\n };\n};\n\n/** Writer for image data */\nexport const ImageWriter: Writer<ImageDataType, never, ImageWriterOptions> = {\n name: 'Images',\n id: 'image',\n module: 'images',\n version: VERSION,\n extensions: ['jpeg'],\n options: {\n image: {\n mimeType: 'image/png',\n jpegQuality: null\n }\n },\n encode: encodeImage\n};\n"],"mappings":"AAIA,SAAQA,OAAO,QAAO,qBAAqB;AAC3C,SAAQC,WAAW,QAAO,6BAA6B;AAUvD,OAAO,MAAMC,WAA6D,GAAG;EAC3EC,IAAI,EAAE,QAAQ;EACdC,EAAE,EAAE,OAAO;EACXC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAEN,OAAO;EAChBO,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,OAAO,EAAE;IACPC,KAAK,EAAE;MACLC,QAAQ,EAAE,WAAW;MACrBC,WAAW,EAAE;IACf;EACF,CAAC;EACDC,MAAM,EAAEX;AACV,CAAC"}
1
+ {"version":3,"file":"image-writer.js","names":["VERSION","encodeImage","ImageWriter","name","id","module","version","extensions","options","image","mimeType","jpegQuality","encode"],"sources":["../../src/image-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport type {ImageDataType} from './types';\nimport {VERSION} from './lib/utils/version';\nimport {encodeImage} from './lib/encoders/encode-image';\n\nexport type ImageWriterOptions = WriterOptions & {\n image?: {\n mimeType?: 'image/png';\n jpegQuality?: number | null;\n };\n};\n\n/** Writer for image data */\nexport const ImageWriter: Writer<ImageDataType, never, ImageWriterOptions> = {\n name: 'Images',\n id: 'image',\n module: 'images',\n version: VERSION,\n extensions: ['jpeg'],\n options: {\n image: {\n mimeType: 'image/png',\n jpegQuality: null\n }\n },\n encode: encodeImage\n};\n"],"mappings":"AAIA,SAAQA,OAAO,QAAO,qBAAqB;AAC3C,SAAQC,WAAW,QAAO,6BAA6B;AAUvD,OAAO,MAAMC,WAA6D,GAAG;EAC3EC,IAAI,EAAE,QAAQ;EACdC,EAAE,EAAE,OAAO;EACXC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAEN,OAAO;EAChBO,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,OAAO,EAAE;IACPC,KAAK,EAAE;MACLC,QAAQ,EAAE,WAAW;MACrBC,WAAW,EAAE;IACf;EACF,CAAC;EACDC,MAAM,EAAEX;AACV,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { assert } from '@loaders.gl/loader-utils';
2
2
  import { isImageTypeSupported, getDefaultImageType } from '../category-api/image-type';
3
3
  import { getImageData } from '../category-api/parsed-image-api';
4
- import parseToImage from './parse-to-image';
5
- import parseToImageBitmap from './parse-to-image-bitmap';
6
- import parseToNodeImage from './parse-to-node-image';
7
- export default async function parseImage(arrayBuffer, options, context) {
4
+ import { parseToImage } from './parse-to-image';
5
+ import { parseToImageBitmap } from './parse-to-image-bitmap';
6
+ import { parseToNodeImage } from './parse-to-node-image';
7
+ export async function parseImage(arrayBuffer, options, context) {
8
8
  options = options || {};
9
9
  const imageOptions = options.image || {};
10
10
  const imageType = imageOptions.type || 'auto';
@@ -1 +1 @@
1
- {"version":3,"file":"parse-image.js","names":["assert","isImageTypeSupported","getDefaultImageType","getImageData","parseToImage","parseToImageBitmap","parseToNodeImage","parseImage","arrayBuffer","options","context","imageOptions","image","imageType","type","url","loadType","getLoadableImageType"],"sources":["../../../../src/lib/parsers/parse-image.ts"],"sourcesContent":["import type {LoaderContext} from '@loaders.gl/loader-utils';\nimport {assert} from '@loaders.gl/loader-utils';\nimport type {ImageType} from '../../types';\nimport type {ImageLoaderOptions} from '../../image-loader';\nimport {isImageTypeSupported, getDefaultImageType} from '../category-api/image-type';\nimport {getImageData} from '../category-api/parsed-image-api';\nimport parseToImage from './parse-to-image';\nimport parseToImageBitmap from './parse-to-image-bitmap';\nimport parseToNodeImage from './parse-to-node-image';\n\n// Parse to platform defined image type (data on node, ImageBitmap or HTMLImage on browser)\n// eslint-disable-next-line complexity\nexport default async function parseImage(\n arrayBuffer: ArrayBuffer,\n options?: ImageLoaderOptions,\n context?: LoaderContext\n): Promise<ImageType> {\n options = options || {};\n const imageOptions = options.image || {};\n\n // The user can request a specific output format via `options.image.type`\n const imageType = imageOptions.type || 'auto';\n\n const {url} = context || {};\n\n // Note: For options.image.type === `data`, we may still need to load as `image` or `imagebitmap`\n const loadType = getLoadableImageType(imageType);\n\n let image;\n switch (loadType) {\n case 'imagebitmap':\n image = await parseToImageBitmap(arrayBuffer, options, url);\n break;\n case 'image':\n image = await parseToImage(arrayBuffer, options, url);\n break;\n case 'data':\n // Node.js loads imagedata directly\n image = await parseToNodeImage(arrayBuffer, options);\n break;\n default:\n assert(false);\n }\n\n // Browser: if options.image.type === 'data', we can now extract data from the loaded image\n if (imageType === 'data') {\n image = getImageData(image);\n }\n\n return image;\n}\n\n// Get a loadable image type from image type\nfunction getLoadableImageType(type) {\n switch (type) {\n case 'auto':\n case 'data':\n // Browser: For image data we need still need to load using an image format\n // Node: the default image type is `data`.\n return getDefaultImageType();\n default:\n // Throw an error if not supported\n isImageTypeSupported(type);\n return type;\n }\n}\n"],"mappings":"AACA,SAAQA,MAAM,QAAO,0BAA0B;AAG/C,SAAQC,oBAAoB,EAAEC,mBAAmB,QAAO,4BAA4B;AACpF,SAAQC,YAAY,QAAO,kCAAkC;AAC7D,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,kBAAkB,MAAM,yBAAyB;AACxD,OAAOC,gBAAgB,MAAM,uBAAuB;AAIpD,eAAe,eAAeC,UAAUA,CACtCC,WAAwB,EACxBC,OAA4B,EAC5BC,OAAuB,EACH;EACpBD,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAC;EACvB,MAAME,YAAY,GAAGF,OAAO,CAACG,KAAK,IAAI,CAAC,CAAC;EAGxC,MAAMC,SAAS,GAAGF,YAAY,CAACG,IAAI,IAAI,MAAM;EAE7C,MAAM;IAACC;EAAG,CAAC,GAAGL,OAAO,IAAI,CAAC,CAAC;EAG3B,MAAMM,QAAQ,GAAGC,oBAAoB,CAACJ,SAAS,CAAC;EAEhD,IAAID,KAAK;EACT,QAAQI,QAAQ;IACd,KAAK,aAAa;MAChBJ,KAAK,GAAG,MAAMP,kBAAkB,CAACG,WAAW,EAAEC,OAAO,EAAEM,GAAG,CAAC;MAC3D;IACF,KAAK,OAAO;MACVH,KAAK,GAAG,MAAMR,YAAY,CAACI,WAAW,EAAEC,OAAO,EAAEM,GAAG,CAAC;MACrD;IACF,KAAK,MAAM;MAETH,KAAK,GAAG,MAAMN,gBAAgB,CAACE,WAAW,EAAEC,OAAO,CAAC;MACpD;IACF;MACET,MAAM,CAAC,KAAK,CAAC;EACjB;EAGA,IAAIa,SAAS,KAAK,MAAM,EAAE;IACxBD,KAAK,GAAGT,YAAY,CAACS,KAAK,CAAC;EAC7B;EAEA,OAAOA,KAAK;AACd;AAGA,SAASK,oBAAoBA,CAACH,IAAI,EAAE;EAClC,QAAQA,IAAI;IACV,KAAK,MAAM;IACX,KAAK,MAAM;MAGT,OAAOZ,mBAAmB,CAAC,CAAC;IAC9B;MAEED,oBAAoB,CAACa,IAAI,CAAC;MAC1B,OAAOA,IAAI;EACf;AACF"}
1
+ {"version":3,"file":"parse-image.js","names":["assert","isImageTypeSupported","getDefaultImageType","getImageData","parseToImage","parseToImageBitmap","parseToNodeImage","parseImage","arrayBuffer","options","context","imageOptions","image","imageType","type","url","loadType","getLoadableImageType"],"sources":["../../../../src/lib/parsers/parse-image.ts"],"sourcesContent":["import type {LoaderContext} from '@loaders.gl/loader-utils';\nimport {assert} from '@loaders.gl/loader-utils';\nimport type {ImageType} from '../../types';\nimport type {ImageLoaderOptions} from '../../image-loader';\nimport {isImageTypeSupported, getDefaultImageType} from '../category-api/image-type';\nimport {getImageData} from '../category-api/parsed-image-api';\nimport {parseToImage} from './parse-to-image';\nimport {parseToImageBitmap} from './parse-to-image-bitmap';\nimport {parseToNodeImage} from './parse-to-node-image';\n\n// Parse to platform defined image type (data on node, ImageBitmap or HTMLImage on browser)\n// eslint-disable-next-line complexity\nexport async function parseImage(\n arrayBuffer: ArrayBuffer,\n options?: ImageLoaderOptions,\n context?: LoaderContext\n): Promise<ImageType> {\n options = options || {};\n const imageOptions = options.image || {};\n\n // The user can request a specific output format via `options.image.type`\n const imageType = imageOptions.type || 'auto';\n\n const {url} = context || {};\n\n // Note: For options.image.type === `data`, we may still need to load as `image` or `imagebitmap`\n const loadType = getLoadableImageType(imageType);\n\n let image;\n switch (loadType) {\n case 'imagebitmap':\n image = await parseToImageBitmap(arrayBuffer, options, url);\n break;\n case 'image':\n image = await parseToImage(arrayBuffer, options, url);\n break;\n case 'data':\n // Node.js loads imagedata directly\n image = await parseToNodeImage(arrayBuffer, options);\n break;\n default:\n assert(false);\n }\n\n // Browser: if options.image.type === 'data', we can now extract data from the loaded image\n if (imageType === 'data') {\n image = getImageData(image);\n }\n\n return image;\n}\n\n// Get a loadable image type from image type\nfunction getLoadableImageType(type) {\n switch (type) {\n case 'auto':\n case 'data':\n // Browser: For image data we need still need to load using an image format\n // Node: the default image type is `data`.\n return getDefaultImageType();\n default:\n // Throw an error if not supported\n isImageTypeSupported(type);\n return type;\n }\n}\n"],"mappings":"AACA,SAAQA,MAAM,QAAO,0BAA0B;AAG/C,SAAQC,oBAAoB,EAAEC,mBAAmB,QAAO,4BAA4B;AACpF,SAAQC,YAAY,QAAO,kCAAkC;AAC7D,SAAQC,YAAY,QAAO,kBAAkB;AAC7C,SAAQC,kBAAkB,QAAO,yBAAyB;AAC1D,SAAQC,gBAAgB,QAAO,uBAAuB;AAItD,OAAO,eAAeC,UAAUA,CAC9BC,WAAwB,EACxBC,OAA4B,EAC5BC,OAAuB,EACH;EACpBD,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAC;EACvB,MAAME,YAAY,GAAGF,OAAO,CAACG,KAAK,IAAI,CAAC,CAAC;EAGxC,MAAMC,SAAS,GAAGF,YAAY,CAACG,IAAI,IAAI,MAAM;EAE7C,MAAM;IAACC;EAAG,CAAC,GAAGL,OAAO,IAAI,CAAC,CAAC;EAG3B,MAAMM,QAAQ,GAAGC,oBAAoB,CAACJ,SAAS,CAAC;EAEhD,IAAID,KAAK;EACT,QAAQI,QAAQ;IACd,KAAK,aAAa;MAChBJ,KAAK,GAAG,MAAMP,kBAAkB,CAACG,WAAW,EAAEC,OAAO,EAAEM,GAAG,CAAC;MAC3D;IACF,KAAK,OAAO;MACVH,KAAK,GAAG,MAAMR,YAAY,CAACI,WAAW,EAAEC,OAAO,EAAEM,GAAG,CAAC;MACrD;IACF,KAAK,MAAM;MAETH,KAAK,GAAG,MAAMN,gBAAgB,CAACE,WAAW,EAAEC,OAAO,CAAC;MACpD;IACF;MACET,MAAM,CAAC,KAAK,CAAC;EACjB;EAGA,IAAIa,SAAS,KAAK,MAAM,EAAE;IACxBD,KAAK,GAAGT,YAAY,CAACS,KAAK,CAAC;EAC7B;EAEA,OAAOA,KAAK;AACd;AAGA,SAASK,oBAAoBA,CAACH,IAAI,EAAE;EAClC,QAAQA,IAAI;IACV,KAAK,MAAM;IACX,KAAK,MAAM;MAGT,OAAOZ,mBAAmB,CAAC,CAAC;IAC9B;MAEED,oBAAoB,CAACa,IAAI,CAAC;MAC1B,OAAOA,IAAI;EACf;AACF"}
@@ -1,8 +1,8 @@
1
1
  import { isSVG, getBlob } from './svg-utils';
2
- import parseToImage from './parse-to-image';
2
+ import { parseToImage } from './parse-to-image';
3
3
  const EMPTY_OBJECT = {};
4
4
  let imagebitmapOptionsSupported = true;
5
- export default async function parseToImageBitmap(arrayBuffer, options, url) {
5
+ export async function parseToImageBitmap(arrayBuffer, options, url) {
6
6
  let blob;
7
7
  if (isSVG(url)) {
8
8
  const image = await parseToImage(arrayBuffer, options, url);
@@ -1 +1 @@
1
- {"version":3,"file":"parse-to-image-bitmap.js","names":["isSVG","getBlob","parseToImage","EMPTY_OBJECT","imagebitmapOptionsSupported","parseToImageBitmap","arrayBuffer","options","url","blob","image","imagebitmapOptions","imagebitmap","safeCreateImageBitmap","arguments","length","undefined","isEmptyObject","createImageBitmap","error","console","warn","object","key"],"sources":["../../../../src/lib/parsers/parse-to-image-bitmap.ts"],"sourcesContent":["import type {ImageLoaderOptions} from '../../image-loader';\nimport {isSVG, getBlob} from './svg-utils';\nimport parseToImage from './parse-to-image';\n\nconst EMPTY_OBJECT = {};\n\nlet imagebitmapOptionsSupported = true;\n\n/**\n * Asynchronously parses an array buffer into an ImageBitmap - this contains the decoded data\n * ImageBitmaps are supported on worker threads, but not supported on Edge, IE11 and Safari\n * https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap#Browser_compatibility\n *\n * TODO - createImageBitmap supports source rect (5 param overload), pass through?\n */\nexport default async function parseToImageBitmap(\n arrayBuffer: ArrayBuffer,\n options: ImageLoaderOptions,\n url?: string\n): Promise<ImageBitmap> {\n let blob;\n\n // Cannot parse SVG directly to ImageBitmap, parse to Image first\n if (isSVG(url)) {\n // Note: this only works on main thread\n const image = await parseToImage(arrayBuffer, options, url);\n blob = image;\n } else {\n // Create blob from the array buffer\n blob = getBlob(arrayBuffer, url);\n }\n\n const imagebitmapOptions = options && options.imagebitmap;\n\n return await safeCreateImageBitmap(blob, imagebitmapOptions);\n}\n\n/**\n * Safely creates an imageBitmap with options\n * *\n * Firefox crashes if imagebitmapOptions is supplied\n * Avoid supplying if not provided or supported, remember if not supported\n */\nasync function safeCreateImageBitmap(\n blob: Blob,\n imagebitmapOptions: ImageBitmapOptions | null = null\n): Promise<ImageBitmap> {\n if (isEmptyObject(imagebitmapOptions) || !imagebitmapOptionsSupported) {\n imagebitmapOptions = null;\n }\n\n if (imagebitmapOptions) {\n try {\n // @ts-ignore Options\n return await createImageBitmap(blob, imagebitmapOptions);\n } catch (error) {\n console.warn(error); // eslint-disable-line\n imagebitmapOptionsSupported = false;\n }\n }\n\n return await createImageBitmap(blob);\n}\n\nfunction isEmptyObject(object) {\n // @ts-ignore\n for (const key in object || EMPTY_OBJECT) {\n return false;\n }\n return true;\n}\n"],"mappings":"AACA,SAAQA,KAAK,EAAEC,OAAO,QAAO,aAAa;AAC1C,OAAOC,YAAY,MAAM,kBAAkB;AAE3C,MAAMC,YAAY,GAAG,CAAC,CAAC;AAEvB,IAAIC,2BAA2B,GAAG,IAAI;AAStC,eAAe,eAAeC,kBAAkBA,CAC9CC,WAAwB,EACxBC,OAA2B,EAC3BC,GAAY,EACU;EACtB,IAAIC,IAAI;EAGR,IAAIT,KAAK,CAACQ,GAAG,CAAC,EAAE;IAEd,MAAME,KAAK,GAAG,MAAMR,YAAY,CAACI,WAAW,EAAEC,OAAO,EAAEC,GAAG,CAAC;IAC3DC,IAAI,GAAGC,KAAK;EACd,CAAC,MAAM;IAELD,IAAI,GAAGR,OAAO,CAACK,WAAW,EAAEE,GAAG,CAAC;EAClC;EAEA,MAAMG,kBAAkB,GAAGJ,OAAO,IAAIA,OAAO,CAACK,WAAW;EAEzD,OAAO,MAAMC,qBAAqB,CAACJ,IAAI,EAAEE,kBAAkB,CAAC;AAC9D;AAQA,eAAeE,qBAAqBA,CAClCJ,IAAU,EAEY;EAAA,IADtBE,kBAA6C,GAAAG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAEpD,IAAIG,aAAa,CAACN,kBAAkB,CAAC,IAAI,CAACP,2BAA2B,EAAE;IACrEO,kBAAkB,GAAG,IAAI;EAC3B;EAEA,IAAIA,kBAAkB,EAAE;IACtB,IAAI;MAEF,OAAO,MAAMO,iBAAiB,CAACT,IAAI,EAAEE,kBAAkB,CAAC;IAC1D,CAAC,CAAC,OAAOQ,KAAK,EAAE;MACdC,OAAO,CAACC,IAAI,CAACF,KAAK,CAAC;MACnBf,2BAA2B,GAAG,KAAK;IACrC;EACF;EAEA,OAAO,MAAMc,iBAAiB,CAACT,IAAI,CAAC;AACtC;AAEA,SAASQ,aAAaA,CAACK,MAAM,EAAE;EAE7B,KAAK,MAAMC,GAAG,IAAID,MAAM,IAAInB,YAAY,EAAE;IACxC,OAAO,KAAK;EACd;EACA,OAAO,IAAI;AACb"}
1
+ {"version":3,"file":"parse-to-image-bitmap.js","names":["isSVG","getBlob","parseToImage","EMPTY_OBJECT","imagebitmapOptionsSupported","parseToImageBitmap","arrayBuffer","options","url","blob","image","imagebitmapOptions","imagebitmap","safeCreateImageBitmap","arguments","length","undefined","isEmptyObject","createImageBitmap","error","console","warn","object","key"],"sources":["../../../../src/lib/parsers/parse-to-image-bitmap.ts"],"sourcesContent":["import type {ImageLoaderOptions} from '../../image-loader';\nimport {isSVG, getBlob} from './svg-utils';\nimport {parseToImage} from './parse-to-image';\n\nconst EMPTY_OBJECT = {};\n\nlet imagebitmapOptionsSupported = true;\n\n/**\n * Asynchronously parses an array buffer into an ImageBitmap - this contains the decoded data\n * ImageBitmaps are supported on worker threads, but not supported on Edge, IE11 and Safari\n * https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap#Browser_compatibility\n *\n * TODO - createImageBitmap supports source rect (5 param overload), pass through?\n */\nexport async function parseToImageBitmap(\n arrayBuffer: ArrayBuffer,\n options: ImageLoaderOptions,\n url?: string\n): Promise<ImageBitmap> {\n let blob;\n\n // Cannot parse SVG directly to ImageBitmap, parse to Image first\n if (isSVG(url)) {\n // Note: this only works on main thread\n const image = await parseToImage(arrayBuffer, options, url);\n blob = image;\n } else {\n // Create blob from the array buffer\n blob = getBlob(arrayBuffer, url);\n }\n\n const imagebitmapOptions = options && options.imagebitmap;\n\n return await safeCreateImageBitmap(blob, imagebitmapOptions);\n}\n\n/**\n * Safely creates an imageBitmap with options\n * *\n * Firefox crashes if imagebitmapOptions is supplied\n * Avoid supplying if not provided or supported, remember if not supported\n */\nasync function safeCreateImageBitmap(\n blob: Blob,\n imagebitmapOptions: ImageBitmapOptions | null = null\n): Promise<ImageBitmap> {\n if (isEmptyObject(imagebitmapOptions) || !imagebitmapOptionsSupported) {\n imagebitmapOptions = null;\n }\n\n if (imagebitmapOptions) {\n try {\n // @ts-ignore Options\n return await createImageBitmap(blob, imagebitmapOptions);\n } catch (error) {\n console.warn(error); // eslint-disable-line\n imagebitmapOptionsSupported = false;\n }\n }\n\n return await createImageBitmap(blob);\n}\n\nfunction isEmptyObject(object) {\n // @ts-ignore\n for (const key in object || EMPTY_OBJECT) {\n return false;\n }\n return true;\n}\n"],"mappings":"AACA,SAAQA,KAAK,EAAEC,OAAO,QAAO,aAAa;AAC1C,SAAQC,YAAY,QAAO,kBAAkB;AAE7C,MAAMC,YAAY,GAAG,CAAC,CAAC;AAEvB,IAAIC,2BAA2B,GAAG,IAAI;AAStC,OAAO,eAAeC,kBAAkBA,CACtCC,WAAwB,EACxBC,OAA2B,EAC3BC,GAAY,EACU;EACtB,IAAIC,IAAI;EAGR,IAAIT,KAAK,CAACQ,GAAG,CAAC,EAAE;IAEd,MAAME,KAAK,GAAG,MAAMR,YAAY,CAACI,WAAW,EAAEC,OAAO,EAAEC,GAAG,CAAC;IAC3DC,IAAI,GAAGC,KAAK;EACd,CAAC,MAAM;IAELD,IAAI,GAAGR,OAAO,CAACK,WAAW,EAAEE,GAAG,CAAC;EAClC;EAEA,MAAMG,kBAAkB,GAAGJ,OAAO,IAAIA,OAAO,CAACK,WAAW;EAEzD,OAAO,MAAMC,qBAAqB,CAACJ,IAAI,EAAEE,kBAAkB,CAAC;AAC9D;AAQA,eAAeE,qBAAqBA,CAClCJ,IAAU,EAEY;EAAA,IADtBE,kBAA6C,GAAAG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAEpD,IAAIG,aAAa,CAACN,kBAAkB,CAAC,IAAI,CAACP,2BAA2B,EAAE;IACrEO,kBAAkB,GAAG,IAAI;EAC3B;EAEA,IAAIA,kBAAkB,EAAE;IACtB,IAAI;MAEF,OAAO,MAAMO,iBAAiB,CAACT,IAAI,EAAEE,kBAAkB,CAAC;IAC1D,CAAC,CAAC,OAAOQ,KAAK,EAAE;MACdC,OAAO,CAACC,IAAI,CAACF,KAAK,CAAC;MACnBf,2BAA2B,GAAG,KAAK;IACrC;EACF;EAEA,OAAO,MAAMc,iBAAiB,CAACT,IAAI,CAAC;AACtC;AAEA,SAASQ,aAAaA,CAACK,MAAM,EAAE;EAE7B,KAAK,MAAMC,GAAG,IAAID,MAAM,IAAInB,YAAY,EAAE;IACxC,OAAO,KAAK;EACd;EACA,OAAO,IAAI;AACb"}
@@ -1,5 +1,5 @@
1
1
  import { getBlobOrSVGDataUrl } from './svg-utils';
2
- export default async function parseToImage(arrayBuffer, options, url) {
2
+ export async function parseToImage(arrayBuffer, options, url) {
3
3
  const blobOrDataUrl = getBlobOrSVGDataUrl(arrayBuffer, url);
4
4
  const URL = self.URL || self.webkitURL;
5
5
  const objectUrl = typeof blobOrDataUrl !== 'string' && URL.createObjectURL(blobOrDataUrl);
@@ -1 +1 @@
1
- {"version":3,"file":"parse-to-image.js","names":["getBlobOrSVGDataUrl","parseToImage","arrayBuffer","options","url","blobOrDataUrl","URL","self","webkitURL","objectUrl","createObjectURL","loadToImage","revokeObjectURL","image","Image","src","decode","Promise","resolve","reject","onload","onerror","err","Error","concat","error"],"sources":["../../../../src/lib/parsers/parse-to-image.ts"],"sourcesContent":["import type {ImageLoaderOptions} from '../../image-loader';\nimport {getBlobOrSVGDataUrl} from './svg-utils';\n\n// Parses html image from array buffer\nexport default async function parseToImage(\n arrayBuffer: ArrayBuffer,\n options: ImageLoaderOptions,\n url?: string\n): Promise<HTMLImageElement> {\n // Note: image parsing requires conversion to Blob (for createObjectURL).\n // Potentially inefficient for not using `response.blob()` (and for File / Blob inputs)...\n // But presumably not worth adding 'blob' flag to loader objects?\n\n const blobOrDataUrl = getBlobOrSVGDataUrl(arrayBuffer, url);\n const URL = self.URL || self.webkitURL;\n const objectUrl = typeof blobOrDataUrl !== 'string' && URL.createObjectURL(blobOrDataUrl);\n try {\n return await loadToImage(objectUrl || blobOrDataUrl, options);\n } finally {\n if (objectUrl) {\n URL.revokeObjectURL(objectUrl);\n }\n }\n}\n\nexport async function loadToImage(url, options): Promise<HTMLImageElement> {\n const image = new Image();\n image.src = url;\n\n // The `image.onload()` callback does not guarantee that the image has been decoded\n // so a main thread \"freeze\" can be incurred when using the image for the first time.\n // `Image.decode()` returns a promise that completes when image is decoded.\n\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/decode\n // Note: When calling `img.decode()`, we do not need to wait for `img.onload()`\n // Note: `HTMLImageElement.decode()` is not available in Edge and IE11\n if (options.image && options.image.decode && image.decode) {\n await image.decode();\n return image;\n }\n\n // Create a promise that tracks onload/onerror callbacks\n return await new Promise((resolve, reject) => {\n try {\n image.onload = () => resolve(image);\n image.onerror = (err) => reject(new Error(`Could not load image ${url}: ${err}`));\n } catch (error) {\n reject(error);\n }\n });\n}\n"],"mappings":"AACA,SAAQA,mBAAmB,QAAO,aAAa;AAG/C,eAAe,eAAeC,YAAYA,CACxCC,WAAwB,EACxBC,OAA2B,EAC3BC,GAAY,EACe;EAK3B,MAAMC,aAAa,GAAGL,mBAAmB,CAACE,WAAW,EAAEE,GAAG,CAAC;EAC3D,MAAME,GAAG,GAAGC,IAAI,CAACD,GAAG,IAAIC,IAAI,CAACC,SAAS;EACtC,MAAMC,SAAS,GAAG,OAAOJ,aAAa,KAAK,QAAQ,IAAIC,GAAG,CAACI,eAAe,CAACL,aAAa,CAAC;EACzF,IAAI;IACF,OAAO,MAAMM,WAAW,CAACF,SAAS,IAAIJ,aAAa,EAAEF,OAAO,CAAC;EAC/D,CAAC,SAAS;IACR,IAAIM,SAAS,EAAE;MACbH,GAAG,CAACM,eAAe,CAACH,SAAS,CAAC;IAChC;EACF;AACF;AAEA,OAAO,eAAeE,WAAWA,CAACP,GAAG,EAAED,OAAO,EAA6B;EACzE,MAAMU,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC;EACzBD,KAAK,CAACE,GAAG,GAAGX,GAAG;EASf,IAAID,OAAO,CAACU,KAAK,IAAIV,OAAO,CAACU,KAAK,CAACG,MAAM,IAAIH,KAAK,CAACG,MAAM,EAAE;IACzD,MAAMH,KAAK,CAACG,MAAM,CAAC,CAAC;IACpB,OAAOH,KAAK;EACd;EAGA,OAAO,MAAM,IAAII,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC5C,IAAI;MACFN,KAAK,CAACO,MAAM,GAAG,MAAMF,OAAO,CAACL,KAAK,CAAC;MACnCA,KAAK,CAACQ,OAAO,GAAIC,GAAG,IAAKH,MAAM,CAAC,IAAII,KAAK,yBAAAC,MAAA,CAAyBpB,GAAG,QAAAoB,MAAA,CAAKF,GAAG,CAAE,CAAC,CAAC;IACnF,CAAC,CAAC,OAAOG,KAAK,EAAE;MACdN,MAAM,CAACM,KAAK,CAAC;IACf;EACF,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"parse-to-image.js","names":["getBlobOrSVGDataUrl","parseToImage","arrayBuffer","options","url","blobOrDataUrl","URL","self","webkitURL","objectUrl","createObjectURL","loadToImage","revokeObjectURL","image","Image","src","decode","Promise","resolve","reject","onload","onerror","err","Error","concat","error"],"sources":["../../../../src/lib/parsers/parse-to-image.ts"],"sourcesContent":["import type {ImageLoaderOptions} from '../../image-loader';\nimport {getBlobOrSVGDataUrl} from './svg-utils';\n\n// Parses html image from array buffer\nexport async function parseToImage(\n arrayBuffer: ArrayBuffer,\n options: ImageLoaderOptions,\n url?: string\n): Promise<HTMLImageElement> {\n // Note: image parsing requires conversion to Blob (for createObjectURL).\n // Potentially inefficient for not using `response.blob()` (and for File / Blob inputs)...\n // But presumably not worth adding 'blob' flag to loader objects?\n\n const blobOrDataUrl = getBlobOrSVGDataUrl(arrayBuffer, url);\n const URL = self.URL || self.webkitURL;\n const objectUrl = typeof blobOrDataUrl !== 'string' && URL.createObjectURL(blobOrDataUrl);\n try {\n return await loadToImage(objectUrl || blobOrDataUrl, options);\n } finally {\n if (objectUrl) {\n URL.revokeObjectURL(objectUrl);\n }\n }\n}\n\nexport async function loadToImage(url, options): Promise<HTMLImageElement> {\n const image = new Image();\n image.src = url;\n\n // The `image.onload()` callback does not guarantee that the image has been decoded\n // so a main thread \"freeze\" can be incurred when using the image for the first time.\n // `Image.decode()` returns a promise that completes when image is decoded.\n\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/decode\n // Note: When calling `img.decode()`, we do not need to wait for `img.onload()`\n // Note: `HTMLImageElement.decode()` is not available in Edge and IE11\n if (options.image && options.image.decode && image.decode) {\n await image.decode();\n return image;\n }\n\n // Create a promise that tracks onload/onerror callbacks\n return await new Promise((resolve, reject) => {\n try {\n image.onload = () => resolve(image);\n image.onerror = (err) => reject(new Error(`Could not load image ${url}: ${err}`));\n } catch (error) {\n reject(error);\n }\n });\n}\n"],"mappings":"AACA,SAAQA,mBAAmB,QAAO,aAAa;AAG/C,OAAO,eAAeC,YAAYA,CAChCC,WAAwB,EACxBC,OAA2B,EAC3BC,GAAY,EACe;EAK3B,MAAMC,aAAa,GAAGL,mBAAmB,CAACE,WAAW,EAAEE,GAAG,CAAC;EAC3D,MAAME,GAAG,GAAGC,IAAI,CAACD,GAAG,IAAIC,IAAI,CAACC,SAAS;EACtC,MAAMC,SAAS,GAAG,OAAOJ,aAAa,KAAK,QAAQ,IAAIC,GAAG,CAACI,eAAe,CAACL,aAAa,CAAC;EACzF,IAAI;IACF,OAAO,MAAMM,WAAW,CAACF,SAAS,IAAIJ,aAAa,EAAEF,OAAO,CAAC;EAC/D,CAAC,SAAS;IACR,IAAIM,SAAS,EAAE;MACbH,GAAG,CAACM,eAAe,CAACH,SAAS,CAAC;IAChC;EACF;AACF;AAEA,OAAO,eAAeE,WAAWA,CAACP,GAAG,EAAED,OAAO,EAA6B;EACzE,MAAMU,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC;EACzBD,KAAK,CAACE,GAAG,GAAGX,GAAG;EASf,IAAID,OAAO,CAACU,KAAK,IAAIV,OAAO,CAACU,KAAK,CAACG,MAAM,IAAIH,KAAK,CAACG,MAAM,EAAE;IACzD,MAAMH,KAAK,CAACG,MAAM,CAAC,CAAC;IACpB,OAAOH,KAAK;EACd;EAGA,OAAO,MAAM,IAAII,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC5C,IAAI;MACFN,KAAK,CAACO,MAAM,GAAG,MAAMF,OAAO,CAACL,KAAK,CAAC;MACnCA,KAAK,CAACQ,OAAO,GAAIC,GAAG,IAAKH,MAAM,CAAC,IAAII,KAAK,yBAAAC,MAAA,CAAyBpB,GAAG,QAAAoB,MAAA,CAAKF,GAAG,CAAE,CAAC,CAAC;IACnF,CAAC,CAAC,OAAOG,KAAK,EAAE;MACdN,MAAM,CAACM,KAAK,CAAC;IACf;EACF,CAAC,CAAC;AACJ"}
@@ -1,6 +1,6 @@
1
1
  import { assert } from '@loaders.gl/loader-utils';
2
2
  import { getBinaryImageMetadata } from '../category-api/binary-image-api';
3
- export default async function parseToNodeImage(arrayBuffer, options) {
3
+ export async function parseToNodeImage(arrayBuffer, options) {
4
4
  const {
5
5
  mimeType
6
6
  } = getBinaryImageMetadata(arrayBuffer) || {};
@@ -1 +1 @@
1
- {"version":3,"file":"parse-to-node-image.js","names":["assert","getBinaryImageMetadata","parseToNodeImage","arrayBuffer","options","mimeType","_parseImageNode","globalThis"],"sources":["../../../../src/lib/parsers/parse-to-node-image.ts"],"sourcesContent":["import type {ImageLoaderOptions} from '../../image-loader';\nimport type {ImageDataType} from '../../types';\nimport {assert} from '@loaders.gl/loader-utils';\nimport {getBinaryImageMetadata} from '../category-api/binary-image-api';\n\n// Note: These types should be consistent with loaders.gl/polyfills\n\ntype NDArray = {\n shape: number[];\n data: Uint8Array;\n width: number;\n height: number;\n components: number;\n layers: number[];\n};\n\ntype ParseImageNode = (arrayBuffer: ArrayBuffer, mimeType: string) => Promise<NDArray>;\n\n// Use polyfills if installed to parsed image using get-pixels\nexport default async function parseToNodeImage(\n arrayBuffer: ArrayBuffer,\n options: ImageLoaderOptions\n): Promise<ImageDataType> {\n const {mimeType} = getBinaryImageMetadata(arrayBuffer) || {};\n\n // @ts-ignore\n const _parseImageNode: ParseImageNode = globalThis._parseImageNode;\n assert(_parseImageNode); // '@loaders.gl/polyfills not installed'\n\n // @ts-expect-error TODO should we throw error in this case?\n return await _parseImageNode(arrayBuffer, mimeType);\n}\n"],"mappings":"AAEA,SAAQA,MAAM,QAAO,0BAA0B;AAC/C,SAAQC,sBAAsB,QAAO,kCAAkC;AAgBvE,eAAe,eAAeC,gBAAgBA,CAC5CC,WAAwB,EACxBC,OAA2B,EACH;EACxB,MAAM;IAACC;EAAQ,CAAC,GAAGJ,sBAAsB,CAACE,WAAW,CAAC,IAAI,CAAC,CAAC;EAG5D,MAAMG,eAA+B,GAAGC,UAAU,CAACD,eAAe;EAClEN,MAAM,CAACM,eAAe,CAAC;EAGvB,OAAO,MAAMA,eAAe,CAACH,WAAW,EAAEE,QAAQ,CAAC;AACrD"}
1
+ {"version":3,"file":"parse-to-node-image.js","names":["assert","getBinaryImageMetadata","parseToNodeImage","arrayBuffer","options","mimeType","_parseImageNode","globalThis"],"sources":["../../../../src/lib/parsers/parse-to-node-image.ts"],"sourcesContent":["import type {ImageLoaderOptions} from '../../image-loader';\nimport type {ImageDataType} from '../../types';\nimport {assert} from '@loaders.gl/loader-utils';\nimport {getBinaryImageMetadata} from '../category-api/binary-image-api';\n\n// Note: These types should be consistent with loaders.gl/polyfills\n\ntype NDArray = {\n shape: number[];\n data: Uint8Array;\n width: number;\n height: number;\n components: number;\n layers: number[];\n};\n\ntype ParseImageNode = (arrayBuffer: ArrayBuffer, mimeType: string) => Promise<NDArray>;\n\n// Use polyfills if installed to parsed image using get-pixels\nexport async function parseToNodeImage(\n arrayBuffer: ArrayBuffer,\n options: ImageLoaderOptions\n): Promise<ImageDataType> {\n const {mimeType} = getBinaryImageMetadata(arrayBuffer) || {};\n\n // @ts-ignore\n const _parseImageNode: ParseImageNode = globalThis._parseImageNode;\n assert(_parseImageNode); // '@loaders.gl/polyfills not installed'\n\n // @ts-expect-error TODO should we throw error in this case?\n return await _parseImageNode(arrayBuffer, mimeType);\n}\n"],"mappings":"AAEA,SAAQA,MAAM,QAAO,0BAA0B;AAC/C,SAAQC,sBAAsB,QAAO,kCAAkC;AAgBvE,OAAO,eAAeC,gBAAgBA,CACpCC,WAAwB,EACxBC,OAA2B,EACH;EACxB,MAAM;IAACC;EAAQ,CAAC,GAAGJ,sBAAsB,CAACE,WAAW,CAAC,IAAI,CAAC,CAAC;EAG5D,MAAMG,eAA+B,GAAGC,UAAU,CAACD,eAAe;EAClEN,MAAM,CAACM,eAAe,CAAC;EAGvB,OAAO,MAAMA,eAAe,CAACH,WAAW,EAAEE,QAAQ,CAAC;AACrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"deep-load.js","names":["asyncDeepMap","deepLoad","urlTree","load","options","url","shallowLoad","response","fetch","arrayBuffer"],"sources":["../../../../src/lib/texture-api/deep-load.ts"],"sourcesContent":["import {asyncDeepMap} from './async-deep-map';\n\nexport async function deepLoad(urlTree, load, options) {\n return await asyncDeepMap(urlTree, (url) => shallowLoad(url, load, options));\n}\n\nexport async function shallowLoad(url, load, options) {\n // console.error('loading', url);\n const response = await fetch(url, options.fetch);\n const arrayBuffer = await response.arrayBuffer();\n return await load(arrayBuffer, options);\n}\n"],"mappings":"AAAA,SAAQA,YAAY,QAAO,kBAAkB;AAE7C,OAAO,eAAeC,QAAQA,CAACC,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAAE;EACrD,OAAO,MAAMJ,YAAY,CAACE,OAAO,EAAGG,GAAG,IAAKC,WAAW,CAACD,GAAG,EAAEF,IAAI,EAAEC,OAAO,CAAC,CAAC;AAC9E;AAEA,OAAO,eAAeE,WAAWA,CAACD,GAAG,EAAEF,IAAI,EAAEC,OAAO,EAAE;EAEpD,MAAMG,QAAQ,GAAG,MAAMC,KAAK,CAACH,GAAG,EAAED,OAAO,CAACI,KAAK,CAAC;EAChD,MAAMC,WAAW,GAAG,MAAMF,QAAQ,CAACE,WAAW,CAAC,CAAC;EAChD,OAAO,MAAMN,IAAI,CAACM,WAAW,EAAEL,OAAO,CAAC;AACzC"}
1
+ {"version":3,"file":"deep-load.js","names":["asyncDeepMap","deepLoad","urlTree","load","options","url","shallowLoad","response","fetch","arrayBuffer"],"sources":["../../../../src/lib/texture-api/deep-load.ts"],"sourcesContent":["import {asyncDeepMap} from './async-deep-map';\n\nexport async function deepLoad(urlTree, load, options) {\n return await asyncDeepMap(urlTree, (url) => shallowLoad(url, load, options));\n}\n\nexport async function shallowLoad(url, load, options) {\n const response = await fetch(url, options.fetch);\n const arrayBuffer = await response.arrayBuffer();\n return await load(arrayBuffer, options);\n}\n"],"mappings":"AAAA,SAAQA,YAAY,QAAO,kBAAkB;AAE7C,OAAO,eAAeC,QAAQA,CAACC,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAAE;EACrD,OAAO,MAAMJ,YAAY,CAACE,OAAO,EAAGG,GAAG,IAAKC,WAAW,CAACD,GAAG,EAAEF,IAAI,EAAEC,OAAO,CAAC,CAAC;AAC9E;AAEA,OAAO,eAAeE,WAAWA,CAACD,GAAG,EAAEF,IAAI,EAAEC,OAAO,EAAE;EACpD,MAAMG,QAAQ,GAAG,MAAMC,KAAK,CAACH,GAAG,EAAED,OAAO,CAACI,KAAK,CAAC;EAChD,MAAMC,WAAW,GAAG,MAAMF,QAAQ,CAACE,WAAW,CAAC,CAAC;EAChD,OAAO,MAAMN,IAAI,CAACM,WAAW,EAAEL,OAAO,CAAC;AACzC"}
@@ -1,5 +1,5 @@
1
1
  import { assert } from '@loaders.gl/loader-utils';
2
- import parseImage from '../parsers/parse-image';
2
+ import { parseImage } from '../parsers/parse-image';
3
3
  import { getImageSize } from '../category-api/parsed-image-api';
4
4
  import { generateUrl } from './generate-url';
5
5
  import { deepLoad, shallowLoad } from './deep-load';
@@ -1 +1 @@
1
- {"version":3,"file":"load-image.js","names":["assert","parseImage","getImageSize","generateUrl","deepLoad","shallowLoad","loadImage","getUrl","options","arguments","length","undefined","imageUrls","getImageUrls","urlOptions","mipLevels","image","getMipmappedImageUrls","urls","url","lod","width","height","getMipLevels","push","mipLevel","_ref","Math","floor","log2","max"],"sources":["../../../../src/lib/texture-api/load-image.ts"],"sourcesContent":["import {assert} from '@loaders.gl/loader-utils';\nimport parseImage from '../parsers/parse-image';\nimport {getImageSize} from '../category-api/parsed-image-api';\nimport {generateUrl} from './generate-url';\nimport {deepLoad, shallowLoad} from './deep-load';\n\nexport async function loadImage(getUrl, options = {}) {\n const imageUrls = await getImageUrls(getUrl, options);\n return await deepLoad(imageUrls, parseImage, options);\n}\n\nexport async function getImageUrls(getUrl, options, urlOptions = {}) {\n const mipLevels = (options && options.image && options.image.mipLevels) || 0;\n return mipLevels !== 0\n ? await getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions)\n : generateUrl(getUrl, options, urlOptions);\n}\n\nasync function getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) {\n const urls: string[] = [];\n\n // If no mip levels supplied, we need to load the level 0 image and calculate based on size\n if (mipLevels === 'auto') {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: 0});\n const image = await shallowLoad(url, parseImage, options);\n\n const {width, height} = getImageSize(image);\n mipLevels = getMipLevels({width, height});\n\n // TODO - push image and make `deepLoad` pass through non-url values, avoid loading twice?\n urls.push(url);\n }\n\n // We now know how many mipLevels we need, remaining image urls can now be constructed\n assert(mipLevels > 0);\n\n for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: mipLevel});\n urls.push(url);\n }\n\n return urls;\n}\n\n// Calculates number of mipmaps based on texture size (log2)\nexport function getMipLevels({width, height}) {\n return 1 + Math.floor(Math.log2(Math.max(width, height)));\n}\n"],"mappings":"AAAA,SAAQA,MAAM,QAAO,0BAA0B;AAC/C,OAAOC,UAAU,MAAM,wBAAwB;AAC/C,SAAQC,YAAY,QAAO,kCAAkC;AAC7D,SAAQC,WAAW,QAAO,gBAAgB;AAC1C,SAAQC,QAAQ,EAAEC,WAAW,QAAO,aAAa;AAEjD,OAAO,eAAeC,SAASA,CAACC,MAAM,EAAgB;EAAA,IAAdC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAClD,MAAMG,SAAS,GAAG,MAAMC,YAAY,CAACN,MAAM,EAAEC,OAAO,CAAC;EACrD,OAAO,MAAMJ,QAAQ,CAACQ,SAAS,EAAEX,UAAU,EAAEO,OAAO,CAAC;AACvD;AAEA,OAAO,eAAeK,YAAYA,CAACN,MAAM,EAAEC,OAAO,EAAmB;EAAA,IAAjBM,UAAU,GAAAL,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACjE,MAAMM,SAAS,GAAIP,OAAO,IAAIA,OAAO,CAACQ,KAAK,IAAIR,OAAO,CAACQ,KAAK,CAACD,SAAS,IAAK,CAAC;EAC5E,OAAOA,SAAS,KAAK,CAAC,GAClB,MAAME,qBAAqB,CAACV,MAAM,EAAEQ,SAAS,EAAEP,OAAO,EAAEM,UAAU,CAAC,GACnEX,WAAW,CAACI,MAAM,EAAEC,OAAO,EAAEM,UAAU,CAAC;AAC9C;AAEA,eAAeG,qBAAqBA,CAACV,MAAM,EAAEQ,SAAS,EAAEP,OAAO,EAAEM,UAAU,EAAE;EAC3E,MAAMI,IAAc,GAAG,EAAE;EAGzB,IAAIH,SAAS,KAAK,MAAM,EAAE;IACxB,MAAMI,GAAG,GAAGhB,WAAW,CAACI,MAAM,EAAEC,OAAO,EAAE;MAAC,GAAGM,UAAU;MAAEM,GAAG,EAAE;IAAC,CAAC,CAAC;IACjE,MAAMJ,KAAK,GAAG,MAAMX,WAAW,CAACc,GAAG,EAAElB,UAAU,EAAEO,OAAO,CAAC;IAEzD,MAAM;MAACa,KAAK;MAAEC;IAAM,CAAC,GAAGpB,YAAY,CAACc,KAAK,CAAC;IAC3CD,SAAS,GAAGQ,YAAY,CAAC;MAACF,KAAK;MAAEC;IAAM,CAAC,CAAC;IAGzCJ,IAAI,CAACM,IAAI,CAACL,GAAG,CAAC;EAChB;EAGAnB,MAAM,CAACe,SAAS,GAAG,CAAC,CAAC;EAErB,KAAK,IAAIU,QAAQ,GAAGP,IAAI,CAACR,MAAM,EAAEe,QAAQ,GAAGV,SAAS,EAAE,EAAEU,QAAQ,EAAE;IACjE,MAAMN,GAAG,GAAGhB,WAAW,CAACI,MAAM,EAAEC,OAAO,EAAE;MAAC,GAAGM,UAAU;MAAEM,GAAG,EAAEK;IAAQ,CAAC,CAAC;IACxEP,IAAI,CAACM,IAAI,CAACL,GAAG,CAAC;EAChB;EAEA,OAAOD,IAAI;AACb;AAGA,OAAO,SAASK,YAAYA,CAAAG,IAAA,EAAkB;EAAA,IAAjB;IAACL,KAAK;IAAEC;EAAM,CAAC,GAAAI,IAAA;EAC1C,OAAO,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,IAAI,CAACF,IAAI,CAACG,GAAG,CAACT,KAAK,EAAEC,MAAM,CAAC,CAAC,CAAC;AAC3D"}
1
+ {"version":3,"file":"load-image.js","names":["assert","parseImage","getImageSize","generateUrl","deepLoad","shallowLoad","loadImage","getUrl","options","arguments","length","undefined","imageUrls","getImageUrls","urlOptions","mipLevels","image","getMipmappedImageUrls","urls","url","lod","width","height","getMipLevels","push","mipLevel","_ref","Math","floor","log2","max"],"sources":["../../../../src/lib/texture-api/load-image.ts"],"sourcesContent":["import {assert} from '@loaders.gl/loader-utils';\nimport {parseImage} from '../parsers/parse-image';\nimport {getImageSize} from '../category-api/parsed-image-api';\nimport {generateUrl} from './generate-url';\nimport {deepLoad, shallowLoad} from './deep-load';\n\nexport async function loadImage(getUrl, options = {}) {\n const imageUrls = await getImageUrls(getUrl, options);\n return await deepLoad(imageUrls, parseImage, options);\n}\n\nexport async function getImageUrls(getUrl, options, urlOptions = {}) {\n const mipLevels = (options && options.image && options.image.mipLevels) || 0;\n return mipLevels !== 0\n ? await getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions)\n : generateUrl(getUrl, options, urlOptions);\n}\n\nasync function getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) {\n const urls: string[] = [];\n\n // If no mip levels supplied, we need to load the level 0 image and calculate based on size\n if (mipLevels === 'auto') {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: 0});\n const image = await shallowLoad(url, parseImage, options);\n\n const {width, height} = getImageSize(image);\n mipLevels = getMipLevels({width, height});\n\n // TODO - push image and make `deepLoad` pass through non-url values, avoid loading twice?\n urls.push(url);\n }\n\n // We now know how many mipLevels we need, remaining image urls can now be constructed\n assert(mipLevels > 0);\n\n for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: mipLevel});\n urls.push(url);\n }\n\n return urls;\n}\n\n// Calculates number of mipmaps based on texture size (log2)\nexport function getMipLevels({width, height}) {\n return 1 + Math.floor(Math.log2(Math.max(width, height)));\n}\n"],"mappings":"AAAA,SAAQA,MAAM,QAAO,0BAA0B;AAC/C,SAAQC,UAAU,QAAO,wBAAwB;AACjD,SAAQC,YAAY,QAAO,kCAAkC;AAC7D,SAAQC,WAAW,QAAO,gBAAgB;AAC1C,SAAQC,QAAQ,EAAEC,WAAW,QAAO,aAAa;AAEjD,OAAO,eAAeC,SAASA,CAACC,MAAM,EAAgB;EAAA,IAAdC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAClD,MAAMG,SAAS,GAAG,MAAMC,YAAY,CAACN,MAAM,EAAEC,OAAO,CAAC;EACrD,OAAO,MAAMJ,QAAQ,CAACQ,SAAS,EAAEX,UAAU,EAAEO,OAAO,CAAC;AACvD;AAEA,OAAO,eAAeK,YAAYA,CAACN,MAAM,EAAEC,OAAO,EAAmB;EAAA,IAAjBM,UAAU,GAAAL,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACjE,MAAMM,SAAS,GAAIP,OAAO,IAAIA,OAAO,CAACQ,KAAK,IAAIR,OAAO,CAACQ,KAAK,CAACD,SAAS,IAAK,CAAC;EAC5E,OAAOA,SAAS,KAAK,CAAC,GAClB,MAAME,qBAAqB,CAACV,MAAM,EAAEQ,SAAS,EAAEP,OAAO,EAAEM,UAAU,CAAC,GACnEX,WAAW,CAACI,MAAM,EAAEC,OAAO,EAAEM,UAAU,CAAC;AAC9C;AAEA,eAAeG,qBAAqBA,CAACV,MAAM,EAAEQ,SAAS,EAAEP,OAAO,EAAEM,UAAU,EAAE;EAC3E,MAAMI,IAAc,GAAG,EAAE;EAGzB,IAAIH,SAAS,KAAK,MAAM,EAAE;IACxB,MAAMI,GAAG,GAAGhB,WAAW,CAACI,MAAM,EAAEC,OAAO,EAAE;MAAC,GAAGM,UAAU;MAAEM,GAAG,EAAE;IAAC,CAAC,CAAC;IACjE,MAAMJ,KAAK,GAAG,MAAMX,WAAW,CAACc,GAAG,EAAElB,UAAU,EAAEO,OAAO,CAAC;IAEzD,MAAM;MAACa,KAAK;MAAEC;IAAM,CAAC,GAAGpB,YAAY,CAACc,KAAK,CAAC;IAC3CD,SAAS,GAAGQ,YAAY,CAAC;MAACF,KAAK;MAAEC;IAAM,CAAC,CAAC;IAGzCJ,IAAI,CAACM,IAAI,CAACL,GAAG,CAAC;EAChB;EAGAnB,MAAM,CAACe,SAAS,GAAG,CAAC,CAAC;EAErB,KAAK,IAAIU,QAAQ,GAAGP,IAAI,CAACR,MAAM,EAAEe,QAAQ,GAAGV,SAAS,EAAE,EAAEU,QAAQ,EAAE;IACjE,MAAMN,GAAG,GAAGhB,WAAW,CAACI,MAAM,EAAEC,OAAO,EAAE;MAAC,GAAGM,UAAU;MAAEM,GAAG,EAAEK;IAAQ,CAAC,CAAC;IACxEP,IAAI,CAACM,IAAI,CAACL,GAAG,CAAC;EAChB;EAEA,OAAOD,IAAI;AACb;AAGA,OAAO,SAASK,YAAYA,CAAAG,IAAA,EAAkB;EAAA,IAAjB;IAACL,KAAK;IAAEC;EAAM,CAAC,GAAAI,IAAA;EAC1C,OAAO,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,IAAI,CAACF,IAAI,CAACG,GAAG,CAACT,KAAK,EAAEC,MAAM,CAAC,CAAC,CAAC;AAC3D"}
@@ -1,2 +1,2 @@
1
- export const VERSION = typeof "4.0.0-alpha.9" !== 'undefined' ? "4.0.0-alpha.9" : 'latest';
1
+ export const VERSION = typeof "4.0.0-beta.2" !== 'undefined' ? "4.0.0-beta.2" : 'latest';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","names":["VERSION"],"sources":["../../../../src/lib/utils/version.ts"],"sourcesContent":["// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n"],"mappings":"AAGA,OAAO,MAAMA,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ"}
1
+ {"version":3,"file":"version.js","names":["VERSION"],"sources":["../../../../src/lib/utils/version.ts"],"sourcesContent":["// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n"],"mappings":"AAGA,OAAO,MAAMA,OAAO,GAAG,qBAAkB,KAAK,WAAW,oBAAiB,QAAQ"}
@@ -1,9 +1,9 @@
1
1
  import type { Writer, WriterOptions } from '@loaders.gl/loader-utils';
2
2
  import type { ImageDataType } from './types';
3
3
  export type ImageWriterOptions = WriterOptions & {
4
- image: {
5
- mimeType: 'image/png';
6
- jpegQuality: null;
4
+ image?: {
5
+ mimeType?: 'image/png';
6
+ jpegQuality?: number | null;
7
7
  };
8
8
  };
9
9
  /** Writer for image data */
@@ -1 +1 @@
1
- {"version":3,"file":"image-writer.d.ts","sourceRoot":"","sources":["../src/image-writer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAI3C,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,KAAK,EAAE;QACL,QAAQ,EAAE,WAAW,CAAC;QACtB,WAAW,EAAE,IAAI,CAAC;KACnB,CAAC;CACH,CAAC;AAEF,4BAA4B;AAC5B,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,kBAAkB,CAaxE,CAAC"}
1
+ {"version":3,"file":"image-writer.d.ts","sourceRoot":"","sources":["../src/image-writer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAI3C,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,WAAW,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,CAAC;CACH,CAAC;AAEF,4BAA4B;AAC5B,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,kBAAkB,CAaxE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { LoaderContext } from '@loaders.gl/loader-utils';
2
2
  import type { ImageType } from '../../types';
3
3
  import type { ImageLoaderOptions } from '../../image-loader';
4
- export default function parseImage(arrayBuffer: ArrayBuffer, options?: ImageLoaderOptions, context?: LoaderContext): Promise<ImageType>;
4
+ export declare function parseImage(arrayBuffer: ArrayBuffer, options?: ImageLoaderOptions, context?: LoaderContext): Promise<ImageType>;
5
5
  //# sourceMappingURL=parse-image.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-image.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAS3D,wBAA8B,UAAU,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,kBAAkB,EAC5B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,SAAS,CAAC,CAkCpB"}
1
+ {"version":3,"file":"parse-image.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAS3D,wBAAsB,UAAU,CAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,kBAAkB,EAC5B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,SAAS,CAAC,CAkCpB"}
@@ -6,5 +6,5 @@ import type { ImageLoaderOptions } from '../../image-loader';
6
6
  *
7
7
  * TODO - createImageBitmap supports source rect (5 param overload), pass through?
8
8
  */
9
- export default function parseToImageBitmap(arrayBuffer: ArrayBuffer, options: ImageLoaderOptions, url?: string): Promise<ImageBitmap>;
9
+ export declare function parseToImageBitmap(arrayBuffer: ArrayBuffer, options: ImageLoaderOptions, url?: string): Promise<ImageBitmap>;
10
10
  //# sourceMappingURL=parse-to-image-bitmap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-to-image-bitmap.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-to-image-bitmap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAQ3D;;;;;;GAMG;AACH,wBAA8B,kBAAkB,CAC9C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,kBAAkB,EAC3B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,CAAC,CAgBtB"}
1
+ {"version":3,"file":"parse-to-image-bitmap.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-to-image-bitmap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAQ3D;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,kBAAkB,EAC3B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,CAAC,CAgBtB"}
@@ -1,4 +1,4 @@
1
1
  import type { ImageLoaderOptions } from '../../image-loader';
2
- export default function parseToImage(arrayBuffer: ArrayBuffer, options: ImageLoaderOptions, url?: string): Promise<HTMLImageElement>;
2
+ export declare function parseToImage(arrayBuffer: ArrayBuffer, options: ImageLoaderOptions, url?: string): Promise<HTMLImageElement>;
3
3
  export declare function loadToImage(url: any, options: any): Promise<HTMLImageElement>;
4
4
  //# sourceMappingURL=parse-to-image.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-to-image.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-to-image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAI3D,wBAA8B,YAAY,CACxC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,kBAAkB,EAC3B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,CAAC,CAe3B;AAED,wBAAsB,WAAW,CAAC,GAAG,KAAA,EAAE,OAAO,KAAA,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyBzE"}
1
+ {"version":3,"file":"parse-to-image.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-to-image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAI3D,wBAAsB,YAAY,CAChC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,kBAAkB,EAC3B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,CAAC,CAe3B;AAED,wBAAsB,WAAW,CAAC,GAAG,KAAA,EAAE,OAAO,KAAA,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyBzE"}
@@ -1,4 +1,4 @@
1
1
  import type { ImageLoaderOptions } from '../../image-loader';
2
2
  import type { ImageDataType } from '../../types';
3
- export default function parseToNodeImage(arrayBuffer: ArrayBuffer, options: ImageLoaderOptions): Promise<ImageDataType>;
3
+ export declare function parseToNodeImage(arrayBuffer: ArrayBuffer, options: ImageLoaderOptions): Promise<ImageDataType>;
4
4
  //# sourceMappingURL=parse-to-node-image.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-to-node-image.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-to-node-image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAkB/C,wBAA8B,gBAAgB,CAC5C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,aAAa,CAAC,CASxB"}
1
+ {"version":3,"file":"parse-to-node-image.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-to-node-image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAkB/C,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,aAAa,CAAC,CASxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"deep-load.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/deep-load.ts"],"names":[],"mappings":"AAEA,wBAAsB,QAAQ,CAAC,OAAO,KAAA,EAAE,IAAI,KAAA,EAAE,OAAO,KAAA,gBAEpD;AAED,wBAAsB,WAAW,CAAC,GAAG,KAAA,EAAE,IAAI,KAAA,EAAE,OAAO,KAAA,gBAKnD"}
1
+ {"version":3,"file":"deep-load.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/deep-load.ts"],"names":[],"mappings":"AAEA,wBAAsB,QAAQ,CAAC,OAAO,KAAA,EAAE,IAAI,KAAA,EAAE,OAAO,KAAA,gBAEpD;AAED,wBAAsB,WAAW,CAAC,GAAG,KAAA,EAAE,IAAI,KAAA,EAAE,OAAO,KAAA,gBAInD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/images",
3
- "version": "4.0.0-alpha.9",
3
+ "version": "4.0.0-beta.2",
4
4
  "description": "Framework-independent loaders and writers for images (PNG, JPG, ...)",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -32,9 +32,9 @@
32
32
  "build-bundle": "esbuild src/bundle.ts --outfile=dist/dist.min.js --bundle --minify --sourcemap"
33
33
  },
34
34
  "dependencies": {
35
- "@loaders.gl/loader-utils": "4.0.0-alpha.9"
35
+ "@loaders.gl/loader-utils": "4.0.0-beta.2"
36
36
  },
37
- "gitHead": "03ff81ab468f20f3bddeec787aa88d477a7e1c72",
37
+ "gitHead": "79c2033f755e88e11bc30a04428e3666b177b8fc",
38
38
  "devDependencies": {
39
39
  "@types/get-pixels": "^3.3.2"
40
40
  }
@@ -2,7 +2,7 @@ import type {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';
2
2
  import type {ImageType} from './types';
3
3
  // import type { ImageType } from '@loaders.gl/schema';
4
4
  import {VERSION} from './lib/utils/version';
5
- import parseImage from './lib/parsers/parse-image';
5
+ import {parseImage} from './lib/parsers/parse-image';
6
6
  import {getBinaryImageMetadata} from './lib/category-api/binary-image-api';
7
7
 
8
8
  const EXTENSIONS = ['png', 'jpg', 'jpeg', 'gif', 'webp', 'bmp', 'ico', 'svg', 'avif'];
@@ -6,9 +6,9 @@ import {VERSION} from './lib/utils/version';
6
6
  import {encodeImage} from './lib/encoders/encode-image';
7
7
 
8
8
  export type ImageWriterOptions = WriterOptions & {
9
- image: {
10
- mimeType: 'image/png';
11
- jpegQuality: null;
9
+ image?: {
10
+ mimeType?: 'image/png';
11
+ jpegQuality?: number | null;
12
12
  };
13
13
  };
14
14
 
@@ -4,13 +4,13 @@ import type {ImageType} from '../../types';
4
4
  import type {ImageLoaderOptions} from '../../image-loader';
5
5
  import {isImageTypeSupported, getDefaultImageType} from '../category-api/image-type';
6
6
  import {getImageData} from '../category-api/parsed-image-api';
7
- import parseToImage from './parse-to-image';
8
- import parseToImageBitmap from './parse-to-image-bitmap';
9
- import parseToNodeImage from './parse-to-node-image';
7
+ import {parseToImage} from './parse-to-image';
8
+ import {parseToImageBitmap} from './parse-to-image-bitmap';
9
+ import {parseToNodeImage} from './parse-to-node-image';
10
10
 
11
11
  // Parse to platform defined image type (data on node, ImageBitmap or HTMLImage on browser)
12
12
  // eslint-disable-next-line complexity
13
- export default async function parseImage(
13
+ export async function parseImage(
14
14
  arrayBuffer: ArrayBuffer,
15
15
  options?: ImageLoaderOptions,
16
16
  context?: LoaderContext
@@ -1,6 +1,6 @@
1
1
  import type {ImageLoaderOptions} from '../../image-loader';
2
2
  import {isSVG, getBlob} from './svg-utils';
3
- import parseToImage from './parse-to-image';
3
+ import {parseToImage} from './parse-to-image';
4
4
 
5
5
  const EMPTY_OBJECT = {};
6
6
 
@@ -13,7 +13,7 @@ let imagebitmapOptionsSupported = true;
13
13
  *
14
14
  * TODO - createImageBitmap supports source rect (5 param overload), pass through?
15
15
  */
16
- export default async function parseToImageBitmap(
16
+ export async function parseToImageBitmap(
17
17
  arrayBuffer: ArrayBuffer,
18
18
  options: ImageLoaderOptions,
19
19
  url?: string
@@ -2,7 +2,7 @@ import type {ImageLoaderOptions} from '../../image-loader';
2
2
  import {getBlobOrSVGDataUrl} from './svg-utils';
3
3
 
4
4
  // Parses html image from array buffer
5
- export default async function parseToImage(
5
+ export async function parseToImage(
6
6
  arrayBuffer: ArrayBuffer,
7
7
  options: ImageLoaderOptions,
8
8
  url?: string
@@ -17,7 +17,7 @@ type NDArray = {
17
17
  type ParseImageNode = (arrayBuffer: ArrayBuffer, mimeType: string) => Promise<NDArray>;
18
18
 
19
19
  // Use polyfills if installed to parsed image using get-pixels
20
- export default async function parseToNodeImage(
20
+ export async function parseToNodeImage(
21
21
  arrayBuffer: ArrayBuffer,
22
22
  options: ImageLoaderOptions
23
23
  ): Promise<ImageDataType> {
@@ -5,7 +5,6 @@ export async function deepLoad(urlTree, load, options) {
5
5
  }
6
6
 
7
7
  export async function shallowLoad(url, load, options) {
8
- // console.error('loading', url);
9
8
  const response = await fetch(url, options.fetch);
10
9
  const arrayBuffer = await response.arrayBuffer();
11
10
  return await load(arrayBuffer, options);
@@ -1,5 +1,5 @@
1
1
  import {assert} from '@loaders.gl/loader-utils';
2
- import parseImage from '../parsers/parse-image';
2
+ import {parseImage} from '../parsers/parse-image';
3
3
  import {getImageSize} from '../category-api/parsed-image-api';
4
4
  import {generateUrl} from './generate-url';
5
5
  import {deepLoad, shallowLoad} from './deep-load';
package/dist/bundle.js DELETED
@@ -1,5 +0,0 @@
1
- "use strict";
2
- // @ts-nocheck
3
- const moduleExports = require('./index');
4
- globalThis.loaders = globalThis.loaders || {};
5
- module.exports = Object.assign(globalThis.loaders, moduleExports);