@loaders.gl/images 3.4.14 → 3.4.15

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 (41) hide show
  1. package/dist/es5/bundle.js +1 -1
  2. package/dist/es5/bundle.js.map +1 -1
  3. package/dist/es5/image-loader.js +6 -8
  4. package/dist/es5/image-loader.js.map +1 -1
  5. package/dist/es5/image-writer.js +1 -1
  6. package/dist/es5/image-writer.js.map +1 -1
  7. package/dist/es5/index.js +12 -12
  8. package/dist/es5/lib/category-api/binary-image-api.js +24 -23
  9. package/dist/es5/lib/category-api/binary-image-api.js.map +1 -1
  10. package/dist/es5/lib/category-api/image-format.js +35 -142
  11. package/dist/es5/lib/category-api/image-format.js.map +1 -1
  12. package/dist/es5/lib/category-api/image-type.js +7 -5
  13. package/dist/es5/lib/category-api/image-type.js.map +1 -1
  14. package/dist/es5/lib/category-api/parse-isobmff-binary.js +6 -10
  15. package/dist/es5/lib/category-api/parse-isobmff-binary.js.map +1 -1
  16. package/dist/es5/lib/category-api/parsed-image-api.js +4 -6
  17. package/dist/es5/lib/category-api/parsed-image-api.js.map +1 -1
  18. package/dist/es5/lib/encoders/encode-image.js +45 -78
  19. package/dist/es5/lib/encoders/encode-image.js.map +1 -1
  20. package/dist/es5/lib/parsers/parse-image.js +26 -52
  21. package/dist/es5/lib/parsers/parse-image.js.map +1 -1
  22. package/dist/es5/lib/parsers/parse-to-image-bitmap.js +27 -81
  23. package/dist/es5/lib/parsers/parse-to-image-bitmap.js.map +1 -1
  24. package/dist/es5/lib/parsers/parse-to-image.js +26 -75
  25. package/dist/es5/lib/parsers/parse-to-image.js.map +1 -1
  26. package/dist/es5/lib/parsers/parse-to-node-image.js +7 -26
  27. package/dist/es5/lib/parsers/parse-to-node-image.js.map +1 -1
  28. package/dist/es5/lib/parsers/svg-utils.js +5 -5
  29. package/dist/es5/lib/parsers/svg-utils.js.map +1 -1
  30. package/dist/es5/lib/texture-api/async-deep-map.js +32 -147
  31. package/dist/es5/lib/texture-api/async-deep-map.js.map +1 -1
  32. package/dist/es5/lib/texture-api/deep-load.js +6 -52
  33. package/dist/es5/lib/texture-api/deep-load.js.map +1 -1
  34. package/dist/es5/lib/texture-api/generate-url.js +8 -7
  35. package/dist/es5/lib/texture-api/generate-url.js.map +1 -1
  36. package/dist/es5/lib/texture-api/load-image.js +39 -112
  37. package/dist/es5/lib/texture-api/load-image.js.map +1 -1
  38. package/dist/es5/lib/utils/version.js +1 -1
  39. package/dist/es5/lib/utils/version.js.map +1 -1
  40. package/dist/esm/lib/utils/version.js +1 -1
  41. package/package.json +3 -3
@@ -1,132 +1,59 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.getImageUrls = getImageUrls;
8
7
  exports.getMipLevels = getMipLevels;
9
8
  exports.loadImage = loadImage;
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
9
  var _loaderUtils = require("@loaders.gl/loader-utils");
14
10
  var _parseImage = require("../parsers/parse-image");
15
11
  var _parsedImageApi = require("../category-api/parsed-image-api");
16
12
  var _generateUrl = require("./generate-url");
17
13
  var _deepLoad = require("./deep-load");
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
- function loadImage(_x) {
21
- return _loadImage.apply(this, arguments);
14
+ async function loadImage(getUrl) {
15
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
16
+ const imageUrls = await getImageUrls(getUrl, options);
17
+ return await (0, _deepLoad.deepLoad)(imageUrls, _parseImage.parseImage, options);
22
18
  }
23
- function _loadImage() {
24
- _loadImage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(getUrl) {
25
- var options,
26
- imageUrls,
27
- _args = arguments;
28
- return _regenerator.default.wrap(function _callee$(_context) {
29
- while (1) switch (_context.prev = _context.next) {
30
- case 0:
31
- options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
32
- _context.next = 3;
33
- return getImageUrls(getUrl, options);
34
- case 3:
35
- imageUrls = _context.sent;
36
- _context.next = 6;
37
- return (0, _deepLoad.deepLoad)(imageUrls, _parseImage.parseImage, options);
38
- case 6:
39
- return _context.abrupt("return", _context.sent);
40
- case 7:
41
- case "end":
42
- return _context.stop();
43
- }
44
- }, _callee);
45
- }));
46
- return _loadImage.apply(this, arguments);
19
+ async function getImageUrls(getUrl, options) {
20
+ let urlOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
21
+ const mipLevels = options && options.image && options.image.mipLevels || 0;
22
+ return mipLevels !== 0 ? await getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) : (0, _generateUrl.generateUrl)(getUrl, options, urlOptions);
47
23
  }
48
- function getImageUrls(_x2, _x3) {
49
- return _getImageUrls.apply(this, arguments);
50
- }
51
- function _getImageUrls() {
52
- _getImageUrls = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(getUrl, options) {
53
- var urlOptions,
54
- mipLevels,
55
- _args2 = arguments;
56
- return _regenerator.default.wrap(function _callee2$(_context2) {
57
- while (1) switch (_context2.prev = _context2.next) {
58
- case 0:
59
- urlOptions = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : {};
60
- mipLevels = options && options.image && options.image.mipLevels || 0;
61
- if (!(mipLevels !== 0)) {
62
- _context2.next = 8;
63
- break;
64
- }
65
- _context2.next = 5;
66
- return getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions);
67
- case 5:
68
- _context2.t0 = _context2.sent;
69
- _context2.next = 9;
70
- break;
71
- case 8:
72
- _context2.t0 = (0, _generateUrl.generateUrl)(getUrl, options, urlOptions);
73
- case 9:
74
- return _context2.abrupt("return", _context2.t0);
75
- case 10:
76
- case "end":
77
- return _context2.stop();
78
- }
79
- }, _callee2);
80
- }));
81
- return _getImageUrls.apply(this, arguments);
82
- }
83
- function getMipmappedImageUrls(_x4, _x5, _x6, _x7) {
84
- return _getMipmappedImageUrls.apply(this, arguments);
85
- }
86
- function _getMipmappedImageUrls() {
87
- _getMipmappedImageUrls = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(getUrl, mipLevels, options, urlOptions) {
88
- var urls, url, image, _getImageSize, width, height, mipLevel, _url;
89
- return _regenerator.default.wrap(function _callee3$(_context3) {
90
- while (1) switch (_context3.prev = _context3.next) {
91
- case 0:
92
- urls = [];
93
- if (!(mipLevels === 'auto')) {
94
- _context3.next = 9;
95
- break;
96
- }
97
- url = (0, _generateUrl.generateUrl)(getUrl, options, _objectSpread(_objectSpread({}, urlOptions), {}, {
98
- lod: 0
99
- }));
100
- _context3.next = 5;
101
- return (0, _deepLoad.shallowLoad)(url, _parseImage.parseImage, options);
102
- case 5:
103
- image = _context3.sent;
104
- _getImageSize = (0, _parsedImageApi.getImageSize)(image), width = _getImageSize.width, height = _getImageSize.height;
105
- mipLevels = getMipLevels({
106
- width: width,
107
- height: height
108
- });
109
- urls.push(url);
110
- case 9:
111
- (0, _loaderUtils.assert)(mipLevels > 0);
112
- for (mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {
113
- _url = (0, _generateUrl.generateUrl)(getUrl, options, _objectSpread(_objectSpread({}, urlOptions), {}, {
114
- lod: mipLevel
115
- }));
116
- urls.push(_url);
117
- }
118
- return _context3.abrupt("return", urls);
119
- case 12:
120
- case "end":
121
- return _context3.stop();
122
- }
123
- }, _callee3);
124
- }));
125
- return _getMipmappedImageUrls.apply(this, arguments);
24
+ async function getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) {
25
+ const urls = [];
26
+ if (mipLevels === 'auto') {
27
+ const url = (0, _generateUrl.generateUrl)(getUrl, options, {
28
+ ...urlOptions,
29
+ lod: 0
30
+ });
31
+ const image = await (0, _deepLoad.shallowLoad)(url, _parseImage.parseImage, options);
32
+ const {
33
+ width,
34
+ height
35
+ } = (0, _parsedImageApi.getImageSize)(image);
36
+ mipLevels = getMipLevels({
37
+ width,
38
+ height
39
+ });
40
+ urls.push(url);
41
+ }
42
+ (0, _loaderUtils.assert)(mipLevels > 0);
43
+ for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {
44
+ const url = (0, _generateUrl.generateUrl)(getUrl, options, {
45
+ ...urlOptions,
46
+ lod: mipLevel
47
+ });
48
+ urls.push(url);
49
+ }
50
+ return urls;
126
51
  }
127
52
  function getMipLevels(_ref) {
128
- var width = _ref.width,
129
- height = _ref.height;
53
+ let {
54
+ width,
55
+ height
56
+ } = _ref;
130
57
  return 1 + Math.floor(Math.log2(Math.max(width, height)));
131
58
  }
132
59
  //# sourceMappingURL=load-image.js.map
@@ -1 +1 @@
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":"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"}
1
+ {"version":3,"file":"load-image.js","names":["_loaderUtils","require","_parseImage","_parsedImageApi","_generateUrl","_deepLoad","loadImage","getUrl","options","arguments","length","undefined","imageUrls","getImageUrls","deepLoad","parseImage","urlOptions","mipLevels","image","getMipmappedImageUrls","generateUrl","urls","url","lod","shallowLoad","width","height","getImageSize","getMipLevels","push","assert","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,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAEO,eAAeK,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,MAAM,IAAAM,kBAAQ,EAACF,SAAS,EAAEG,sBAAU,EAAEP,OAAO,CAAC;AACvD;AAEO,eAAeK,YAAYA,CAACN,MAAM,EAAEC,OAAO,EAAmB;EAAA,IAAjBQ,UAAU,GAAAP,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACjE,MAAMQ,SAAS,GAAIT,OAAO,IAAIA,OAAO,CAACU,KAAK,IAAIV,OAAO,CAACU,KAAK,CAACD,SAAS,IAAK,CAAC;EAC5E,OAAOA,SAAS,KAAK,CAAC,GAClB,MAAME,qBAAqB,CAACZ,MAAM,EAAEU,SAAS,EAAET,OAAO,EAAEQ,UAAU,CAAC,GACnE,IAAAI,wBAAW,EAACb,MAAM,EAAEC,OAAO,EAAEQ,UAAU,CAAC;AAC9C;AAEA,eAAeG,qBAAqBA,CAACZ,MAAM,EAAEU,SAAS,EAAET,OAAO,EAAEQ,UAAU,EAAE;EAC3E,MAAMK,IAAc,GAAG,EAAE;EAGzB,IAAIJ,SAAS,KAAK,MAAM,EAAE;IACxB,MAAMK,GAAG,GAAG,IAAAF,wBAAW,EAACb,MAAM,EAAEC,OAAO,EAAE;MAAC,GAAGQ,UAAU;MAAEO,GAAG,EAAE;IAAC,CAAC,CAAC;IACjE,MAAML,KAAK,GAAG,MAAM,IAAAM,qBAAW,EAACF,GAAG,EAAEP,sBAAU,EAAEP,OAAO,CAAC;IAEzD,MAAM;MAACiB,KAAK;MAAEC;IAAM,CAAC,GAAG,IAAAC,4BAAY,EAACT,KAAK,CAAC;IAC3CD,SAAS,GAAGW,YAAY,CAAC;MAACH,KAAK;MAAEC;IAAM,CAAC,CAAC;IAGzCL,IAAI,CAACQ,IAAI,CAACP,GAAG,CAAC;EAChB;EAGA,IAAAQ,mBAAM,EAACb,SAAS,GAAG,CAAC,CAAC;EAErB,KAAK,IAAIc,QAAQ,GAAGV,IAAI,CAACX,MAAM,EAAEqB,QAAQ,GAAGd,SAAS,EAAE,EAAEc,QAAQ,EAAE;IACjE,MAAMT,GAAG,GAAG,IAAAF,wBAAW,EAACb,MAAM,EAAEC,OAAO,EAAE;MAAC,GAAGQ,UAAU;MAAEO,GAAG,EAAEQ;IAAQ,CAAC,CAAC;IACxEV,IAAI,CAACQ,IAAI,CAACP,GAAG,CAAC;EAChB;EAEA,OAAOD,IAAI;AACb;AAGO,SAASO,YAAYA,CAAAI,IAAA,EAAkB;EAAA,IAAjB;IAACP,KAAK;IAAEC;EAAM,CAAC,GAAAM,IAAA;EAC1C,OAAO,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,IAAI,CAACF,IAAI,CAACG,GAAG,CAACX,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 "3.4.14" !== 'undefined' ? "3.4.14" : 'latest';
7
+ const VERSION = typeof "3.4.15" !== 'undefined' ? "3.4.15" : '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,eAAkB,KAAK,WAAW,cAAiB,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,MAAMA,OAAO,GAAG,eAAkB,KAAK,WAAW,cAAiB,QAAQ;AAACC,OAAA,CAAAD,OAAA,GAAAA,OAAA"}
@@ -1,2 +1,2 @@
1
- export const VERSION = typeof "3.4.14" !== 'undefined' ? "3.4.14" : 'latest';
1
+ export const VERSION = typeof "3.4.15" !== 'undefined' ? "3.4.15" : 'latest';
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/images",
3
- "version": "3.4.14",
3
+ "version": "3.4.15",
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": "3.4.14"
35
+ "@loaders.gl/loader-utils": "3.4.15"
36
36
  },
37
- "gitHead": "dffa197c6ae79bac5277d5e8a132f4cd274e74e5",
37
+ "gitHead": "19e941d5805568e449ef9092490d6568a4853298",
38
38
  "devDependencies": {
39
39
  "@types/get-pixels": "^3.3.2"
40
40
  }