@kepler.gl/utils 3.2.6 → 3.3.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/gl-utils.js CHANGED
@@ -4,24 +4,115 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.setLayerBlending = setLayerBlending;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _core = require("@luma.gl/core");
7
+ exports.getLayerBlendingParameters = getLayerBlendingParameters;
8
+ exports.patchDeckRendererForPostProcessing = patchDeckRendererForPostProcessing;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _window = require("global/window");
10
11
  var _constants = require("@kepler.gl/constants");
11
- var _constants2 = _interopRequireDefault(require("@luma.gl/constants"));
12
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // SPDX-License-Identifier: MIT
12
+ var _core = require("@deck.gl/core");
13
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
14
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
15
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } // SPDX-License-Identifier: MIT
14
16
  // Copyright contributors to the kepler.gl project
15
- var getGlConst = function getGlConst(d) {
16
- return _constants2["default"][d];
17
- };
18
- function setLayerBlending(gl, layerBlending) {
17
+ /**
18
+ * Convert layer blending config to deck.gl 9.x parameters format.
19
+ * In deck.gl 9.x, blending is set via `parameters` prop using WebGPU-style string constants
20
+ * instead of calling setParameters with GL constants.
21
+ */
22
+ function getLayerBlendingParameters(layerBlending) {
19
23
  var blending = _constants.LAYER_BLENDINGS[layerBlending];
24
+ if (!blending) return {};
20
25
  var blendFunc = blending.blendFunc,
21
26
  blendEquation = blending.blendEquation;
22
- (0, _core.setParameters)(gl, _objectSpread((0, _defineProperty2["default"])({}, _constants2["default"].BLEND, true), blendFunc ? {
23
- blendFunc: blendFunc.map(getGlConst),
24
- blendEquation: Array.isArray(blendEquation) ? blendEquation.map(getGlConst) : getGlConst(blendEquation)
25
- } : {}));
27
+ if (!blendFunc) return {};
28
+ var params = {
29
+ blend: true
30
+ };
31
+ if (blendFunc.length >= 2) {
32
+ if (!_constants.GL_BLEND_FUNC_TO_WEBGPU[blendFunc[0]]) _window.console.warn("Unmapped blend function: ".concat(blendFunc[0], ", falling back to 'one'"));
33
+ if (!_constants.GL_BLEND_FUNC_TO_WEBGPU[blendFunc[1]]) _window.console.warn("Unmapped blend function: ".concat(blendFunc[1], ", falling back to 'zero'"));
34
+ params.blendColorSrcFactor = _constants.GL_BLEND_FUNC_TO_WEBGPU[blendFunc[0]] || _constants.BLEND_FACTOR.ONE;
35
+ params.blendColorDstFactor = _constants.GL_BLEND_FUNC_TO_WEBGPU[blendFunc[1]] || _constants.BLEND_FACTOR.ZERO;
36
+ }
37
+ if (blendFunc.length >= 4) {
38
+ if (!_constants.GL_BLEND_FUNC_TO_WEBGPU[blendFunc[2]]) _window.console.warn("Unmapped blend function: ".concat(blendFunc[2], ", falling back to 'one'"));
39
+ if (!_constants.GL_BLEND_FUNC_TO_WEBGPU[blendFunc[3]]) _window.console.warn("Unmapped blend function: ".concat(blendFunc[3], ", falling back to 'zero'"));
40
+ params.blendAlphaSrcFactor = _constants.GL_BLEND_FUNC_TO_WEBGPU[blendFunc[2]] || _constants.BLEND_FACTOR.ONE;
41
+ params.blendAlphaDstFactor = _constants.GL_BLEND_FUNC_TO_WEBGPU[blendFunc[3]] || _constants.BLEND_FACTOR.ZERO;
42
+ } else {
43
+ params.blendAlphaSrcFactor = params.blendColorSrcFactor;
44
+ params.blendAlphaDstFactor = params.blendColorDstFactor;
45
+ }
46
+ if (Array.isArray(blendEquation)) {
47
+ params.blendColorOperation = _constants.GL_BLEND_EQ_TO_WEBGPU[blendEquation[0]] || _constants.BLEND_OPERATION.ADD;
48
+ params.blendAlphaOperation = _constants.GL_BLEND_EQ_TO_WEBGPU[blendEquation[1]] || _constants.BLEND_OPERATION.ADD;
49
+ } else if (blendEquation) {
50
+ params.blendColorOperation = _constants.GL_BLEND_EQ_TO_WEBGPU[blendEquation] || _constants.BLEND_OPERATION.ADD;
51
+ params.blendAlphaOperation = params.blendColorOperation;
52
+ }
53
+ return params;
26
54
  }
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29yZSIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX2NvbnN0YW50czIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0Iiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJnZXRHbENvbnN0IiwiZCIsIkdMIiwic2V0TGF5ZXJCbGVuZGluZyIsImdsIiwibGF5ZXJCbGVuZGluZyIsImJsZW5kaW5nIiwiTEFZRVJfQkxFTkRJTkdTIiwiYmxlbmRGdW5jIiwiYmxlbmRFcXVhdGlvbiIsInNldFBhcmFtZXRlcnMiLCJCTEVORCIsIm1hcCIsIkFycmF5IiwiaXNBcnJheSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9nbC11dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge3NldFBhcmFtZXRlcnN9IGZyb20gJ0BsdW1hLmdsL2NvcmUnO1xuaW1wb3J0IHtMQVlFUl9CTEVORElOR1N9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCBHTCBmcm9tICdAbHVtYS5nbC9jb25zdGFudHMnO1xuXG5jb25zdCBnZXRHbENvbnN0ID0gZCA9PiBHTFtkXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHNldExheWVyQmxlbmRpbmcoZ2wsIGxheWVyQmxlbmRpbmcpIHtcbiAgY29uc3QgYmxlbmRpbmcgPSBMQVlFUl9CTEVORElOR1NbbGF5ZXJCbGVuZGluZ107XG4gIGNvbnN0IHtibGVuZEZ1bmMsIGJsZW5kRXF1YXRpb259ID0gYmxlbmRpbmc7XG5cbiAgc2V0UGFyYW1ldGVycyhnbCwge1xuICAgIFtHTC5CTEVORF06IHRydWUsXG4gICAgLi4uKGJsZW5kRnVuY1xuICAgICAgPyB7XG4gICAgICAgICAgYmxlbmRGdW5jOiBibGVuZEZ1bmMubWFwKGdldEdsQ29uc3QpLFxuICAgICAgICAgIGJsZW5kRXF1YXRpb246IEFycmF5LmlzQXJyYXkoYmxlbmRFcXVhdGlvbilcbiAgICAgICAgICAgID8gYmxlbmRFcXVhdGlvbi5tYXAoZ2V0R2xDb25zdClcbiAgICAgICAgICAgIDogZ2V0R2xDb25zdChibGVuZEVxdWF0aW9uKVxuICAgICAgICB9XG4gICAgICA6IHt9KVxuICB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFBb0MsU0FBQUksUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixDQUFBLEVBQUFDLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFaLENBQUEsYUFBQUMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFZLFNBQUEsQ0FBQUMsTUFBQSxFQUFBYixDQUFBLFVBQUFDLENBQUEsV0FBQVcsU0FBQSxDQUFBWixDQUFBLElBQUFZLFNBQUEsQ0FBQVosQ0FBQSxRQUFBQSxDQUFBLE9BQUFGLE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLE9BQUFhLE9BQUEsV0FBQWQsQ0FBQSxRQUFBZSxnQkFBQSxhQUFBaEIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsQ0FBQUQsQ0FBQSxTQUFBRSxNQUFBLENBQUFjLHlCQUFBLEdBQUFkLE1BQUEsQ0FBQWUsZ0JBQUEsQ0FBQWxCLENBQUEsRUFBQUcsTUFBQSxDQUFBYyx5QkFBQSxDQUFBZixDQUFBLEtBQUFILE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLEdBQUFhLE9BQUEsV0FBQWQsQ0FBQSxJQUFBRSxNQUFBLENBQUFnQixjQUFBLENBQUFuQixDQUFBLEVBQUFDLENBQUEsRUFBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBTixDQUFBLEVBQUFELENBQUEsaUJBQUFELENBQUEsSUFMcEM7QUFDQTtBQU1BLElBQU1vQixVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBR0MsQ0FBQztFQUFBLE9BQUlDLHNCQUFFLENBQUNELENBQUMsQ0FBQztBQUFBO0FBRXRCLFNBQVNFLGdCQUFnQkEsQ0FBQ0MsRUFBRSxFQUFFQyxhQUFhLEVBQUU7RUFDbEQsSUFBTUMsUUFBUSxHQUFHQywwQkFBZSxDQUFDRixhQUFhLENBQUM7RUFDL0MsSUFBT0csU0FBUyxHQUFtQkYsUUFBUSxDQUFwQ0UsU0FBUztJQUFFQyxhQUFhLEdBQUlILFFBQVEsQ0FBekJHLGFBQWE7RUFFL0IsSUFBQUMsbUJBQWEsRUFBQ04sRUFBRSxFQUFBWixhQUFBLEtBQUFJLGdCQUFBLGlCQUNiTSxzQkFBRSxDQUFDUyxLQUFLLEVBQUcsSUFBSSxHQUNaSCxTQUFTLEdBQ1Q7SUFDRUEsU0FBUyxFQUFFQSxTQUFTLENBQUNJLEdBQUcsQ0FBQ1osVUFBVSxDQUFDO0lBQ3BDUyxhQUFhLEVBQUVJLEtBQUssQ0FBQ0MsT0FBTyxDQUFDTCxhQUFhLENBQUMsR0FDdkNBLGFBQWEsQ0FBQ0csR0FBRyxDQUFDWixVQUFVLENBQUMsR0FDN0JBLFVBQVUsQ0FBQ1MsYUFBYTtFQUM5QixDQUFDLEdBQ0QsQ0FBQyxDQUFDLENBQ1AsQ0FBQztBQUNKIiwiaWdub3JlTGlzdCI6W119
55
+
56
+ /**
57
+ * Patch DeckRenderer to include depth-stencil attachments on post-processing
58
+ * framebuffers. In deck.gl 9, _resizeRenderBuffers creates FBOs with only color
59
+ * attachments, which breaks depth testing when post-processing effects are active.
60
+ * This was not an issue in deck.gl 8 where Framebuffer() auto-created a depth buffer.
61
+ */
62
+
63
+ var _deckRendererPatched = false;
64
+ function patchDeckRendererForPostProcessing() {
65
+ if (_deckRendererPatched) return;
66
+ _deckRendererPatched = true;
67
+ var proto = _core.DeckRenderer.prototype;
68
+ var original = typeof proto._resizeRenderBuffers === 'function' ? proto._resizeRenderBuffers : null;
69
+ proto._resizeRenderBuffers = function _resizeRenderBufferPatched() {
70
+ var _this$device,
71
+ _this = this;
72
+ if (!((_this$device = this.device) !== null && _this$device !== void 0 && _this$device.canvasContext)) {
73
+ return original === null || original === void 0 ? void 0 : original.call(this);
74
+ }
75
+ var renderBuffers = this.renderBuffers;
76
+ var size = this.device.canvasContext.getDrawingBufferSize();
77
+ var _size = (0, _slicedToArray2["default"])(size, 2),
78
+ width = _size[0],
79
+ height = _size[1];
80
+ if (renderBuffers.length === 0) {
81
+ [0, 1].map(function (i) {
82
+ var colorTexture = _this.device.createTexture({
83
+ sampler: {
84
+ minFilter: _constants.FILTER_MODE.LINEAR,
85
+ magFilter: _constants.FILTER_MODE.LINEAR
86
+ },
87
+ width: width,
88
+ height: height
89
+ });
90
+ var depthTexture = _this.device.createTexture({
91
+ id: "deck-renderbuffer-".concat(i, "-depth"),
92
+ format: _constants.DEPTH_STENCIL_FORMAT.DEPTH24_PLUS,
93
+ usage: _constants.TEXTURE_USAGE.RENDER_ATTACHMENT | _constants.TEXTURE_USAGE.SAMPLE,
94
+ width: width,
95
+ height: height
96
+ });
97
+ renderBuffers.push(_this.device.createFramebuffer({
98
+ id: "deck-renderbuffer-".concat(i),
99
+ colorAttachments: [colorTexture],
100
+ depthStencilAttachment: depthTexture
101
+ }));
102
+ });
103
+ }
104
+ var _iterator = _createForOfIteratorHelper(renderBuffers),
105
+ _step;
106
+ try {
107
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
108
+ var buffer = _step.value;
109
+ buffer.resize(size);
110
+ }
111
+ } catch (err) {
112
+ _iterator.e(err);
113
+ } finally {
114
+ _iterator.f();
115
+ }
116
+ };
117
+ }
118
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2luZG93IiwicmVxdWlyZSIsIl9jb25zdGFudHMiLCJfY29yZSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiciIsImUiLCJ0IiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJsZW5ndGgiLCJfbiIsIkYiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsImYiLCJUeXBlRXJyb3IiLCJvIiwiYSIsInUiLCJjYWxsIiwibmV4dCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwiZ2V0TGF5ZXJCbGVuZGluZ1BhcmFtZXRlcnMiLCJsYXllckJsZW5kaW5nIiwiYmxlbmRpbmciLCJMQVlFUl9CTEVORElOR1MiLCJibGVuZEZ1bmMiLCJibGVuZEVxdWF0aW9uIiwicGFyYW1zIiwiYmxlbmQiLCJHTF9CTEVORF9GVU5DX1RPX1dFQkdQVSIsIkNvbnNvbGUiLCJ3YXJuIiwiY29uY2F0IiwiYmxlbmRDb2xvclNyY0ZhY3RvciIsIkJMRU5EX0ZBQ1RPUiIsIk9ORSIsImJsZW5kQ29sb3JEc3RGYWN0b3IiLCJaRVJPIiwiYmxlbmRBbHBoYVNyY0ZhY3RvciIsImJsZW5kQWxwaGFEc3RGYWN0b3IiLCJibGVuZENvbG9yT3BlcmF0aW9uIiwiR0xfQkxFTkRfRVFfVE9fV0VCR1BVIiwiQkxFTkRfT1BFUkFUSU9OIiwiQUREIiwiYmxlbmRBbHBoYU9wZXJhdGlvbiIsIl9kZWNrUmVuZGVyZXJQYXRjaGVkIiwicGF0Y2hEZWNrUmVuZGVyZXJGb3JQb3N0UHJvY2Vzc2luZyIsInByb3RvIiwiRGVja1JlbmRlcmVyIiwicHJvdG90eXBlIiwib3JpZ2luYWwiLCJfcmVzaXplUmVuZGVyQnVmZmVycyIsIl9yZXNpemVSZW5kZXJCdWZmZXJQYXRjaGVkIiwiX3RoaXMkZGV2aWNlIiwiX3RoaXMiLCJkZXZpY2UiLCJjYW52YXNDb250ZXh0IiwicmVuZGVyQnVmZmVycyIsInNpemUiLCJnZXREcmF3aW5nQnVmZmVyU2l6ZSIsIl9zaXplIiwiX3NsaWNlZFRvQXJyYXkyIiwid2lkdGgiLCJoZWlnaHQiLCJtYXAiLCJpIiwiY29sb3JUZXh0dXJlIiwiY3JlYXRlVGV4dHVyZSIsInNhbXBsZXIiLCJtaW5GaWx0ZXIiLCJGSUxURVJfTU9ERSIsIkxJTkVBUiIsIm1hZ0ZpbHRlciIsImRlcHRoVGV4dHVyZSIsImlkIiwiZm9ybWF0IiwiREVQVEhfU1RFTkNJTF9GT1JNQVQiLCJERVBUSDI0X1BMVVMiLCJ1c2FnZSIsIlRFWFRVUkVfVVNBR0UiLCJSRU5ERVJfQVRUQUNITUVOVCIsIlNBTVBMRSIsInB1c2giLCJjcmVhdGVGcmFtZWJ1ZmZlciIsImNvbG9yQXR0YWNobWVudHMiLCJkZXB0aFN0ZW5jaWxBdHRhY2htZW50IiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJidWZmZXIiLCJyZXNpemUiLCJlcnIiXSwic291cmNlcyI6WyIuLi9zcmMvZ2wtdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtjb25zb2xlIGFzIENvbnNvbGV9IGZyb20gJ2dsb2JhbC93aW5kb3cnO1xuaW1wb3J0IHtcbiAgTEFZRVJfQkxFTkRJTkdTLFxuICBHTF9CTEVORF9GVU5DX1RPX1dFQkdQVSxcbiAgR0xfQkxFTkRfRVFfVE9fV0VCR1BVLFxuICBCTEVORF9PUEVSQVRJT04sXG4gIEJMRU5EX0ZBQ1RPUixcbiAgRklMVEVSX01PREUsXG4gIERFUFRIX1NURU5DSUxfRk9STUFULFxuICBURVhUVVJFX1VTQUdFXG59IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7RGVja1JlbmRlcmVyfSBmcm9tICdAZGVjay5nbC9jb3JlJztcblxuLyoqXG4gKiBDb252ZXJ0IGxheWVyIGJsZW5kaW5nIGNvbmZpZyB0byBkZWNrLmdsIDkueCBwYXJhbWV0ZXJzIGZvcm1hdC5cbiAqIEluIGRlY2suZ2wgOS54LCBibGVuZGluZyBpcyBzZXQgdmlhIGBwYXJhbWV0ZXJzYCBwcm9wIHVzaW5nIFdlYkdQVS1zdHlsZSBzdHJpbmcgY29uc3RhbnRzXG4gKiBpbnN0ZWFkIG9mIGNhbGxpbmcgc2V0UGFyYW1ldGVycyB3aXRoIEdMIGNvbnN0YW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldExheWVyQmxlbmRpbmdQYXJhbWV0ZXJzKFxuICBsYXllckJsZW5kaW5nOiBzdHJpbmdcbik6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IGJvb2xlYW4+IHtcbiAgY29uc3QgYmxlbmRpbmcgPSBMQVlFUl9CTEVORElOR1NbbGF5ZXJCbGVuZGluZ107XG4gIGlmICghYmxlbmRpbmcpIHJldHVybiB7fTtcbiAgY29uc3Qge2JsZW5kRnVuYywgYmxlbmRFcXVhdGlvbn0gPSBibGVuZGluZztcbiAgaWYgKCFibGVuZEZ1bmMpIHJldHVybiB7fTtcblxuICBjb25zdCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IGJvb2xlYW4+ID0ge1xuICAgIGJsZW5kOiB0cnVlXG4gIH07XG5cbiAgaWYgKGJsZW5kRnVuYy5sZW5ndGggPj0gMikge1xuICAgIGlmICghR0xfQkxFTkRfRlVOQ19UT19XRUJHUFVbYmxlbmRGdW5jWzBdXSlcbiAgICAgIENvbnNvbGUud2FybihgVW5tYXBwZWQgYmxlbmQgZnVuY3Rpb246ICR7YmxlbmRGdW5jWzBdfSwgZmFsbGluZyBiYWNrIHRvICdvbmUnYCk7XG4gICAgaWYgKCFHTF9CTEVORF9GVU5DX1RPX1dFQkdQVVtibGVuZEZ1bmNbMV1dKVxuICAgICAgQ29uc29sZS53YXJuKGBVbm1hcHBlZCBibGVuZCBmdW5jdGlvbjogJHtibGVuZEZ1bmNbMV19LCBmYWxsaW5nIGJhY2sgdG8gJ3plcm8nYCk7XG4gICAgcGFyYW1zLmJsZW5kQ29sb3JTcmNGYWN0b3IgPSBHTF9CTEVORF9GVU5DX1RPX1dFQkdQVVtibGVuZEZ1bmNbMF1dIHx8IEJMRU5EX0ZBQ1RPUi5PTkU7XG4gICAgcGFyYW1zLmJsZW5kQ29sb3JEc3RGYWN0b3IgPSBHTF9CTEVORF9GVU5DX1RPX1dFQkdQVVtibGVuZEZ1bmNbMV1dIHx8IEJMRU5EX0ZBQ1RPUi5aRVJPO1xuICB9XG4gIGlmIChibGVuZEZ1bmMubGVuZ3RoID49IDQpIHtcbiAgICBpZiAoIUdMX0JMRU5EX0ZVTkNfVE9fV0VCR1BVW2JsZW5kRnVuY1syXV0pXG4gICAgICBDb25zb2xlLndhcm4oYFVubWFwcGVkIGJsZW5kIGZ1bmN0aW9uOiAke2JsZW5kRnVuY1syXX0sIGZhbGxpbmcgYmFjayB0byAnb25lJ2ApO1xuICAgIGlmICghR0xfQkxFTkRfRlVOQ19UT19XRUJHUFVbYmxlbmRGdW5jWzNdXSlcbiAgICAgIENvbnNvbGUud2FybihgVW5tYXBwZWQgYmxlbmQgZnVuY3Rpb246ICR7YmxlbmRGdW5jWzNdfSwgZmFsbGluZyBiYWNrIHRvICd6ZXJvJ2ApO1xuICAgIHBhcmFtcy5ibGVuZEFscGhhU3JjRmFjdG9yID0gR0xfQkxFTkRfRlVOQ19UT19XRUJHUFVbYmxlbmRGdW5jWzJdXSB8fCBCTEVORF9GQUNUT1IuT05FO1xuICAgIHBhcmFtcy5ibGVuZEFscGhhRHN0RmFjdG9yID0gR0xfQkxFTkRfRlVOQ19UT19XRUJHUFVbYmxlbmRGdW5jWzNdXSB8fCBCTEVORF9GQUNUT1IuWkVSTztcbiAgfSBlbHNlIHtcbiAgICBwYXJhbXMuYmxlbmRBbHBoYVNyY0ZhY3RvciA9IHBhcmFtcy5ibGVuZENvbG9yU3JjRmFjdG9yO1xuICAgIHBhcmFtcy5ibGVuZEFscGhhRHN0RmFjdG9yID0gcGFyYW1zLmJsZW5kQ29sb3JEc3RGYWN0b3I7XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheShibGVuZEVxdWF0aW9uKSkge1xuICAgIHBhcmFtcy5ibGVuZENvbG9yT3BlcmF0aW9uID0gR0xfQkxFTkRfRVFfVE9fV0VCR1BVW2JsZW5kRXF1YXRpb25bMF1dIHx8IEJMRU5EX09QRVJBVElPTi5BREQ7XG4gICAgcGFyYW1zLmJsZW5kQWxwaGFPcGVyYXRpb24gPSBHTF9CTEVORF9FUV9UT19XRUJHUFVbYmxlbmRFcXVhdGlvblsxXV0gfHwgQkxFTkRfT1BFUkFUSU9OLkFERDtcbiAgfSBlbHNlIGlmIChibGVuZEVxdWF0aW9uKSB7XG4gICAgcGFyYW1zLmJsZW5kQ29sb3JPcGVyYXRpb24gPSBHTF9CTEVORF9FUV9UT19XRUJHUFVbYmxlbmRFcXVhdGlvbl0gfHwgQkxFTkRfT1BFUkFUSU9OLkFERDtcbiAgICBwYXJhbXMuYmxlbmRBbHBoYU9wZXJhdGlvbiA9IHBhcmFtcy5ibGVuZENvbG9yT3BlcmF0aW9uO1xuICB9XG5cbiAgcmV0dXJuIHBhcmFtcztcbn1cblxuLyoqXG4gKiBQYXRjaCBEZWNrUmVuZGVyZXIgdG8gaW5jbHVkZSBkZXB0aC1zdGVuY2lsIGF0dGFjaG1lbnRzIG9uIHBvc3QtcHJvY2Vzc2luZ1xuICogZnJhbWVidWZmZXJzLiBJbiBkZWNrLmdsIDksIF9yZXNpemVSZW5kZXJCdWZmZXJzIGNyZWF0ZXMgRkJPcyB3aXRoIG9ubHkgY29sb3JcbiAqIGF0dGFjaG1lbnRzLCB3aGljaCBicmVha3MgZGVwdGggdGVzdGluZyB3aGVuIHBvc3QtcHJvY2Vzc2luZyBlZmZlY3RzIGFyZSBhY3RpdmUuXG4gKiBUaGlzIHdhcyBub3QgYW4gaXNzdWUgaW4gZGVjay5nbCA4IHdoZXJlIEZyYW1lYnVmZmVyKCkgYXV0by1jcmVhdGVkIGEgZGVwdGggYnVmZmVyLlxuICovXG5pbnRlcmZhY2UgRGVja1JlbmRlcmVySW50ZXJuYWxzIHtcbiAgX3Jlc2l6ZVJlbmRlckJ1ZmZlcnM/OiAoKSA9PiB2b2lkO1xuICBkZXZpY2U6IHtcbiAgICBjYW52YXNDb250ZXh0OiB7Z2V0RHJhd2luZ0J1ZmZlclNpemUoKTogW251bWJlciwgbnVtYmVyXX07XG4gICAgY3JlYXRlVGV4dHVyZShwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB1bmtub3duO1xuICAgIGNyZWF0ZUZyYW1lYnVmZmVyKHByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IHtyZXNpemUoc2l6ZTogW251bWJlciwgbnVtYmVyXSk6IHZvaWR9O1xuICB9O1xuICByZW5kZXJCdWZmZXJzOiB7cmVzaXplKHNpemU6IFtudW1iZXIsIG51bWJlcl0pOiB2b2lkfVtdO1xufVxuXG5sZXQgX2RlY2tSZW5kZXJlclBhdGNoZWQgPSBmYWxzZTtcbmV4cG9ydCBmdW5jdGlvbiBwYXRjaERlY2tSZW5kZXJlckZvclBvc3RQcm9jZXNzaW5nKCk6IHZvaWQge1xuICBpZiAoX2RlY2tSZW5kZXJlclBhdGNoZWQpIHJldHVybjtcbiAgX2RlY2tSZW5kZXJlclBhdGNoZWQgPSB0cnVlO1xuXG4gIGNvbnN0IHByb3RvID0gRGVja1JlbmRlcmVyLnByb3RvdHlwZSBhcyB1bmtub3duIGFzIERlY2tSZW5kZXJlckludGVybmFscztcbiAgY29uc3Qgb3JpZ2luYWwgPVxuICAgIHR5cGVvZiBwcm90by5fcmVzaXplUmVuZGVyQnVmZmVycyA9PT0gJ2Z1bmN0aW9uJyA/IHByb3RvLl9yZXNpemVSZW5kZXJCdWZmZXJzIDogbnVsbDtcblxuICBwcm90by5fcmVzaXplUmVuZGVyQnVmZmVycyA9IGZ1bmN0aW9uIF9yZXNpemVSZW5kZXJCdWZmZXJQYXRjaGVkKHRoaXM6IERlY2tSZW5kZXJlckludGVybmFscykge1xuICAgIGlmICghdGhpcy5kZXZpY2U/LmNhbnZhc0NvbnRleHQpIHtcbiAgICAgIHJldHVybiBvcmlnaW5hbD8uY2FsbCh0aGlzKTtcbiAgICB9XG5cbiAgICBjb25zdCB7cmVuZGVyQnVmZmVyc30gPSB0aGlzO1xuICAgIGNvbnN0IHNpemUgPSB0aGlzLmRldmljZS5jYW52YXNDb250ZXh0LmdldERyYXdpbmdCdWZmZXJTaXplKCk7XG4gICAgY29uc3QgW3dpZHRoLCBoZWlnaHRdID0gc2l6ZTtcbiAgICBpZiAocmVuZGVyQnVmZmVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIFswLCAxXS5tYXAoKGk6IG51bWJlcikgPT4ge1xuICAgICAgICBjb25zdCBjb2xvclRleHR1cmUgPSB0aGlzLmRldmljZS5jcmVhdGVUZXh0dXJlKHtcbiAgICAgICAgICBzYW1wbGVyOiB7bWluRmlsdGVyOiBGSUxURVJfTU9ERS5MSU5FQVIsIG1hZ0ZpbHRlcjogRklMVEVSX01PREUuTElORUFSfSxcbiAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICBoZWlnaHRcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGRlcHRoVGV4dHVyZSA9IHRoaXMuZGV2aWNlLmNyZWF0ZVRleHR1cmUoe1xuICAgICAgICAgIGlkOiBgZGVjay1yZW5kZXJidWZmZXItJHtpfS1kZXB0aGAsXG4gICAgICAgICAgZm9ybWF0OiBERVBUSF9TVEVOQ0lMX0ZPUk1BVC5ERVBUSDI0X1BMVVMsXG4gICAgICAgICAgdXNhZ2U6IFRFWFRVUkVfVVNBR0UuUkVOREVSX0FUVEFDSE1FTlQgfCBURVhUVVJFX1VTQUdFLlNBTVBMRSxcbiAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICBoZWlnaHRcbiAgICAgICAgfSk7XG4gICAgICAgIHJlbmRlckJ1ZmZlcnMucHVzaChcbiAgICAgICAgICB0aGlzLmRldmljZS5jcmVhdGVGcmFtZWJ1ZmZlcih7XG4gICAgICAgICAgICBpZDogYGRlY2stcmVuZGVyYnVmZmVyLSR7aX1gLFxuICAgICAgICAgICAgY29sb3JBdHRhY2htZW50czogW2NvbG9yVGV4dHVyZV0sXG4gICAgICAgICAgICBkZXB0aFN0ZW5jaWxBdHRhY2htZW50OiBkZXB0aFRleHR1cmVcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgYnVmZmVyIG9mIHJlbmRlckJ1ZmZlcnMpIHtcbiAgICAgIGJ1ZmZlci5yZXNpemUoc2l6ZSk7XG4gICAgfVxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFHQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFDQSxJ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
package/dist/index.d.ts CHANGED
@@ -14,7 +14,7 @@ export { datasetColorMaker, findDefaultColorField, getFieldFormatLabels, getForm
14
14
  export { exportMapToHTML } from './export-map-html';
15
15
  export { calculateExportImageSize, convertToPng, dataURItoBlob, downloadFile, exportHtml, exportImage, exportJson, exportMap, exportToJsonString, default as exporters, getMapJSON, getScaleFromImageSize, isMSEdge } from './export-utils';
16
16
  export { getFormatValue, getDefaultTimeFormat } from './format';
17
- export { setLayerBlending } from './gl-utils';
17
+ export { getLayerBlendingParameters, patchDeckRendererForPostProcessing } from './gl-utils';
18
18
  export { flattenMessages, mergeMessages } from './locale-utils';
19
19
  export { isValidMapInfo } from './map-info-utils';
20
20
  export { editBottomMapStyle, editTopMapStyle, getDefaultLayerGroupVisibility, getStyleDownloadUrl, getStyleImageIcon, mergeLayerGroupVisibility, scaleMapStyleByResolution } from './map-style-utils/mapbox-gl-style-editor';
package/dist/index.js CHANGED
@@ -76,7 +76,8 @@ var _exportNames = {
76
76
  isMSEdge: true,
77
77
  getFormatValue: true,
78
78
  getDefaultTimeFormat: true,
79
- setLayerBlending: true,
79
+ getLayerBlendingParameters: true,
80
+ patchDeckRendererForPostProcessing: true,
80
81
  flattenMessages: true,
81
82
  mergeMessages: true,
82
83
  isValidMapInfo: true,
@@ -485,6 +486,12 @@ Object.defineProperty(exports, "getHistogramDomain", {
485
486
  return _dataScaleUtils.getHistogramDomain;
486
487
  }
487
488
  });
489
+ Object.defineProperty(exports, "getLayerBlendingParameters", {
490
+ enumerable: true,
491
+ get: function get() {
492
+ return _glUtils.getLayerBlendingParameters;
493
+ }
494
+ });
488
495
  Object.defineProperty(exports, "getLayerColorScale", {
489
496
  enumerable: true,
490
497
  get: function get() {
@@ -803,6 +810,12 @@ Object.defineProperty(exports, "paletteIsType", {
803
810
  return _colorUtils.paletteIsType;
804
811
  }
805
812
  });
813
+ Object.defineProperty(exports, "patchDeckRendererForPostProcessing", {
814
+ enumerable: true,
815
+ get: function get() {
816
+ return _glUtils.patchDeckRendererForPostProcessing;
817
+ }
818
+ });
806
819
  Object.defineProperty(exports, "quickInsertionSort", {
807
820
  enumerable: true,
808
821
  get: function get() {
@@ -863,12 +876,6 @@ Object.defineProperty(exports, "selectRestCategoricalColorMapByIndex", {
863
876
  return _dataScaleUtils.selectRestCategoricalColorMapByIndex;
864
877
  }
865
878
  });
866
- Object.defineProperty(exports, "setLayerBlending", {
867
- enumerable: true,
868
- get: function get() {
869
- return _glUtils.setLayerBlending;
870
- }
871
- });
872
879
  Object.defineProperty(exports, "setStyleSheetBaseHref", {
873
880
  enumerable: true,
874
881
  get: function get() {
@@ -1072,4 +1079,4 @@ var _browserUtils = require("./browser-utils");
1072
1079
  var _quickInsertionSort = _interopRequireDefault(require("./quick-insertion-sort"));
1073
1080
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
1074
1081
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
1075
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29sb3JVdGlscyIsInJlcXVpcmUiLCJfbm90aWZpY2F0aW9uc1V0aWxzIiwiX2RvbVV0aWxzIiwiX2RvbVRvSW1hZ2UiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2FnZ3JlZ2F0aW9uIiwiX3Bsb3QiLCJfZGF0YVV0aWxzIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJfZXhwb3J0TmFtZXMiLCJleHBvcnRzIiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3N0cmluZ3MiLCJfdGltZSIsIl9wb3NpdGlvblV0aWxzIiwiX2RhdGFzZXRVdGlscyIsIl9leHBvcnRNYXBIdG1sIiwiX2V4cG9ydFV0aWxzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfZm9ybWF0IiwiX2dsVXRpbHMiLCJfbG9jYWxlVXRpbHMiLCJfbWFwSW5mb1V0aWxzIiwiX21hcGJveEdsU3R5bGVFZGl0b3IiLCJfbWFwYm94VXRpbHMiLCJfb2JzZXJ2ZURpbWVuc2lvbnMiLCJfcHJvamVjdGlvblV0aWxzIiwiX3NwbGl0TWFwVXRpbHMiLCJfdXRpbHMiLCJfZWZmZWN0VXRpbHMiLCJfbWFwYm94VXRpbHMyIiwiX21hcFV0aWxzIiwiX2Fycm93RGF0YUNvbnRhaW5lciIsIl9kYXRhQ29udGFpbmVyVXRpbHMiLCJfZmlsdGVyVXRpbHMiLCJfZGF0YVNjYWxlVXRpbHMiLCJfZGF0YVJvdyIsIl9hcHBsaWNhdGlvbkNvbmZpZyIsIl9icm93c2VyVXRpbHMiLCJfcXVpY2tJbnNlcnRpb25Tb3J0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwibiIsIl9fcHJvdG9fXyIsImEiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaSIsInNldCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vLyBVVElMU1xuXG5leHBvcnQge1xuICBjb2xvck1heWJlVG9SR0IsXG4gIGNvbG9yUmFuZ2VCYWNrd2FyZENvbXBhdGliaWxpdHksXG4gIGNyZWF0ZUxpbmVhckdyYWRpZW50LFxuICBoYXNDb2xvck1hcCxcbiAgaGV4VG9SZ2IsXG4gIGlzSGV4Q29sb3IsXG4gIGlzUmdiQ29sb3IsXG4gIG5vcm1hbGl6ZUNvbG9yLFxuICByZXZlcnNlQ29sb3JSYW5nZSxcbiAgcmdiVG9IZXgsXG4gIGFkZEN1c3RvbVBhbGV0dGVDb2xvcixcbiAgcmVtb3ZlQ3VzdG9tUGFsZXR0ZUNvbG9yLFxuICBzb3J0Q3VzdG9tUGFsZXR0ZUNvbG9yLFxuICB1cGRhdGVDdXN0b21QYWxldHRlQ29sb3IsXG4gIHVwZGF0ZUNvbG9yUmFuZ2VCeVNlbGVjdGVkUGFsZXR0ZSxcbiAgcGFsZXR0ZUlzU3RlcHMsXG4gIHBhbGV0dGVJc1R5cGUsXG4gIHBhbGV0dGVJc0NvbG9yQmxpbmRTYWZlLFxuICB1cGRhdGVDb2xvclJhbmdlQnlNYXRjaGluZ1BhbGV0dGUsXG4gIHVwZGF0ZUN1c3RvbUNvbG9yUmFuZ2VCeUNvbG9yVUksXG4gIGluaXRpYWxpemVDdXN0b21QYWxldHRlXG59IGZyb20gJy4vY29sb3ItdXRpbHMnO1xuZXhwb3J0IHtlcnJvck5vdGlmaWNhdGlvbn0gZnJvbSAnLi9ub3RpZmljYXRpb25zLXV0aWxzJztcblxuZXhwb3J0IHtjcmVhdGVOb3RpZmljYXRpb24sIGV4cG9ydEltYWdlRXJyb3IsIHN1Y2Nlc3NOb3RpZmljYXRpb259IGZyb20gJy4vbm90aWZpY2F0aW9ucy11dGlscyc7XG5cbmV4cG9ydCB7c2V0U3R5bGVTaGVldEJhc2VIcmVmfSBmcm9tICcuL2RvbS11dGlscyc7XG5leHBvcnQge2RlZmF1bHQgYXMgZG9tdG9pbWFnZX0gZnJvbSAnLi9kb20tdG8taW1hZ2UnO1xuZXhwb3J0IHtnZXRGcmVxdWVuY3ksIGdldE1vZGUsIGFnZ3JlZ2F0ZX0gZnJvbSAnLi9hZ2dyZWdhdGlvbic7XG5leHBvcnQge1xuICBhZGp1c3RWYWx1ZVRvQW5pbWF0aW9uV2luZG93LFxuICBnZXRCaW5UaHJlc2hvbGRzLFxuICBoaXN0b2dyYW1Gcm9tVGhyZXNob2xkLFxuICBoaXN0b2dyYW1Gcm9tVmFsdWVzLFxuICBoaXN0b2dyYW1Gcm9tRG9tYWluLFxuICBoaXN0b2dyYW1Gcm9tT3JkaW5hbCxcbiAgcnVuR3B1RmlsdGVyRm9yUGxvdCxcbiAgdXBkYXRlVGltZUZpbHRlclBsb3RUeXBlXG59IGZyb20gJy4vcGxvdCc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJldHRpZXIvcHJldHRpZXJcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS11dGlscyc7XG5leHBvcnQgdHlwZSB7RmllbGRGb3JtYXR0ZXJ9IGZyb20gJy4vZGF0YS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3N0cmluZ3MnO1xuZXhwb3J0IHtcbiAgU0FNUExFX1RJTUVMSU5FLFxuICBUSU1FTElORV9NT0RFUyxcbiAgVElNRV9JTlRFUlZBTFNfT1JERVJFRCxcbiAgTGF5ZXJUb0ZpbHRlclRpbWVJbnRlcnZhbCxcbiAgVGlsZVRpbWVJbnRlcnZhbCxcbiAgZ2V0VGltZWxpbmVGcm9tQW5pbWF0aW9uQ29uZmlnLFxuICBnZXRUaW1lbGluZUZyb21GaWx0ZXJcbn0gZnJvbSAnLi90aW1lJztcbmV4cG9ydCB7bWF5YmVIZXhUb0dlbywgZ2V0UG9zaXRpb25Gcm9tSGV4VmFsdWV9IGZyb20gJy4vcG9zaXRpb24tdXRpbHMnO1xuXG5leHBvcnQge1xuICBkYXRhc2V0Q29sb3JNYWtlcixcbiAgZmluZERlZmF1bHRDb2xvckZpZWxkLFxuICBnZXRGaWVsZEZvcm1hdExhYmVscyxcbiAgZ2V0Rm9ybWF0TGFiZWxzLFxuICB2YWxpZGF0ZUlucHV0RGF0YVxufSBmcm9tICcuL2RhdGFzZXQtdXRpbHMnO1xuZXhwb3J0IHtleHBvcnRNYXBUb0hUTUx9IGZyb20gJy4vZXhwb3J0LW1hcC1odG1sJztcbmV4cG9ydCB7XG4gIGNhbGN1bGF0ZUV4cG9ydEltYWdlU2l6ZSxcbiAgY29udmVydFRvUG5nLFxuICBkYXRhVVJJdG9CbG9iLFxuICBkb3dubG9hZEZpbGUsXG4gIGV4cG9ydEh0bWwsXG4gIGV4cG9ydEltYWdlLFxuICBleHBvcnRKc29uLFxuICBleHBvcnRNYXAsXG4gIGV4cG9ydFRvSnNvblN0cmluZyxcbiAgZGVmYXVsdCBhcyBleHBvcnRlcnMsXG4gIGdldE1hcEpTT04sXG4gIGdldFNjYWxlRnJvbUltYWdlU2l6ZSxcbiAgaXNNU0VkZ2Vcbn0gZnJvbSAnLi9leHBvcnQtdXRpbHMnO1xuZXhwb3J0IHtnZXRGb3JtYXRWYWx1ZSwgZ2V0RGVmYXVsdFRpbWVGb3JtYXR9IGZyb20gJy4vZm9ybWF0JztcbmV4cG9ydCB7c2V0TGF5ZXJCbGVuZGluZ30gZnJvbSAnLi9nbC11dGlscyc7XG5leHBvcnQge2ZsYXR0ZW5NZXNzYWdlcywgbWVyZ2VNZXNzYWdlc30gZnJvbSAnLi9sb2NhbGUtdXRpbHMnO1xuZXhwb3J0IHtpc1ZhbGlkTWFwSW5mb30gZnJvbSAnLi9tYXAtaW5mby11dGlscyc7XG5leHBvcnQge1xuICBlZGl0Qm90dG9tTWFwU3R5bGUsXG4gIGVkaXRUb3BNYXBTdHlsZSxcbiAgZ2V0RGVmYXVsdExheWVyR3JvdXBWaXNpYmlsaXR5LFxuICBnZXRTdHlsZURvd25sb2FkVXJsLFxuICBnZXRTdHlsZUltYWdlSWNvbixcbiAgbWVyZ2VMYXllckdyb3VwVmlzaWJpbGl0eSxcbiAgc2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvblxufSBmcm9tICcuL21hcC1zdHlsZS11dGlscy9tYXBib3gtZ2wtc3R5bGUtZWRpdG9yJztcbmV4cG9ydCB7dmFsaWRhdGVUb2tlbn0gZnJvbSAnLi9tYXBib3gtdXRpbHMnO1xuZXhwb3J0IHtcbiAgZGVmYXVsdCBhcyB1c2VEaW1lbnNpb25zLFxuICBvYnNlcnZlRGltZW5zaW9ucyxcbiAgdW5vYnNlcnZlRGltZW5zaW9uc1xufSBmcm9tICcuL29ic2VydmUtZGltZW5zaW9ucyc7XG5leHBvcnQgdHlwZSB7RGltZW5zaW9uc30gZnJvbSAnLi9vYnNlcnZlLWRpbWVuc2lvbnMnO1xuZXhwb3J0IHtzbmFwVG9NYXJrcywgZ2V0VGltZUJpbnN9IGZyb20gJy4vcGxvdCc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2plY3Rpb24tdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcGxpdC1tYXAtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCB7XG4gIGNvbXB1dGVEZWNrRWZmZWN0cyxcbiAgZml4RWZmZWN0T3JkZXIsXG4gIHJlb3JkZXJFZmZlY3RPcmRlcixcbiAgdmFsaWRhdGVFZmZlY3RQYXJhbWV0ZXJzXG59IGZyb20gJy4vZWZmZWN0LXV0aWxzJztcblxuLy8gTWFwYm94XG5leHBvcnQge1xuICBpc1N0eWxlVXNpbmdNYXBib3hUaWxlcyxcbiAgaXNTdHlsZVVzaW5nT3BlblN0cmVldE1hcFRpbGVzLFxuICBnZXRCYXNlTWFwTGlicmFyeSxcbiAgdHJhbnNmb3JtUmVxdWVzdFxufSBmcm9tICcuL21hcC1zdHlsZS11dGlscy9tYXBib3gtdXRpbHMnO1xuXG4vLyBNYXBcbmV4cG9ydCAqIGZyb20gJy4vbWFwLXV0aWxzJztcblxuZXhwb3J0IHtcbiAgQXJyb3dEYXRhQ29udGFpbmVyLFxuICBhcnJvd0RhdGFUeXBlVG9BbmFseXplckRhdGFUeXBlLFxuICBhcnJvd0RhdGFUeXBlVG9GaWVsZFR5cGUsXG4gIGlzQXJyb3dUYWJsZSxcbiAgaXNBcnJvd0ZpeGVkU2l6ZUxpc3QsXG4gIGlzQXJyb3dTdHJ1Y3QsXG4gIGlzQXJyb3dWZWN0b3Jcbn0gZnJvbSAnLi9hcnJvdy1kYXRhLWNvbnRhaW5lcic7XG5leHBvcnQgdHlwZSB7RGF0YUNvbnRhaW5lckludGVyZmFjZX0gZnJvbSAnLi9kYXRhLWNvbnRhaW5lci1pbnRlcmZhY2UnO1xuZXhwb3J0IHtcbiAgRGF0YUZvcm0sXG4gIGNyZWF0ZURhdGFDb250YWluZXIsXG4gIGNyZWF0ZUluZGV4ZWREYXRhQ29udGFpbmVyLFxuICBnZXRTYW1wbGVEYXRhIGFzIGdldFNhbXBsZUNvbnRhaW5lckRhdGFcbn0gZnJvbSAnLi9kYXRhLWNvbnRhaW5lci11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci11dGlscyc7XG5leHBvcnQgdHlwZSB7RmlsdGVyQ2hhbmdlZCwgRmlsdGVyUmVzdWx0LCBkYXRhVmFsdWVBY2Nlc3Nvcn0gZnJvbSAnLi9maWx0ZXItdXRpbHMnO1xuXG5leHBvcnQge1xuICBjb2xvck1hcFRvQ29sb3JCcmVha3MsXG4gIGNvbG9yQnJlYWtzVG9Db2xvck1hcCxcbiAgZ2V0TGF5ZXJDb2xvclNjYWxlLFxuICBnZXRMZWdlbmRPZlNjYWxlLFxuICBnZXRMaW5lYXJEb21haW4sXG4gIGdldExvZ0RvbWFpbixcbiAgZ2V0T3JkaW5hbERvbWFpbixcbiAgZ2V0UXVhbnRpbGVEb21haW4sXG4gIGdldFNjYWxlRnVuY3Rpb24sXG4gIGdldFZpc3VhbENoYW5uZWxTY2FsZUJ5Wm9vbSxcbiAgaW5pdGlhbGl6ZUxheWVyQ29sb3JNYXAsXG4gIGlzTnVtZXJpY0NvbG9yQnJlYWtzLFxuICBpc0RvbWFpblN0b3BzLFxuICBpc0RvbWFpblF1YW50aWxlLFxuICBnZXREb21haW5TdGVwc2J5Wm9vbSxcbiAgZ2V0VGhyZXNob2xkc0Zyb21RdWFudGlsZXMsXG4gIGdldFF1YW50TGFiZWxGb3JtYXQsXG4gIGdldEhpc3RvZ3JhbURvbWFpbixcbiAgZ2V0UXVhbnRMZWdlbmRzLFxuICBnZXRDYXRlZ29yaWNhbENvbG9yTWFwLFxuICBnZXRDYXRlZ29yaWNhbENvbG9yU2NhbGUsXG4gIGluaXRDdXN0b21QYWxldHRlQnlDdXN0b21TY2FsZSxcbiAgY29sb3JNYXBUb0NhdGVnb3JpY2FsQ29sb3JCcmVha3MsXG4gIHJlc2V0Q2F0ZWdvcmljYWxDb2xvck1hcEJ5SW5kZXgsXG4gIHNlbGVjdFJlc3RDYXRlZ29yaWNhbENvbG9yTWFwQnlJbmRleCxcbiAgcmVtb3ZlQ2F0ZWdvcmljYWxWYWx1ZUZyb21Db2xvck1hcCxcbiAgYWRkQ2F0ZWdvcmljYWxWYWx1ZXNUb0NvbG9yTWFwXG59IGZyb20gJy4vZGF0YS1zY2FsZS11dGlscyc7XG5leHBvcnQgdHlwZSB7Q29sb3JCcmVhaywgQ29sb3JCcmVha09yZGluYWwsIERvbWFpblF1YW50aWxlcywgRG9tYWluU3RvcHN9IGZyb20gJy4vZGF0YS1zY2FsZS11dGlscyc7XG5cbmV4cG9ydCB7RGF0YVJvd30gZnJvbSAnLi9kYXRhLXJvdyc7XG5cbi8vIEFwcGxpY2F0aW9uIGNvbmZpZ1xuZXhwb3J0IHtnZXRBcHBsaWNhdGlvbkNvbmZpZywgaW5pdEFwcGxpY2F0aW9uQ29uZmlnfSBmcm9tICcuL2FwcGxpY2F0aW9uLWNvbmZpZyc7XG5leHBvcnQgdHlwZSB7XG4gIEtlcGxlckFwcGxpY2F0aW9uQ29uZmlnLFxuICBCYXNlTWFwTGlicmFyeUNvbmZpZyxcbiAgTWFwTGliSW5zdGFuY2UsXG4gIEdldE1hcFJlZlxufSBmcm9tICcuL2FwcGxpY2F0aW9uLWNvbmZpZyc7XG5leHBvcnQgdHlwZSB7RGF0YWJhc2VBZGFwdGVyLCBEYXRhYmFzZUNvbm5lY3Rpb259IGZyb20gJy4vYXBwbGljYXRpb24tY29uZmlnLXR5cGVzJztcblxuLy8gQnJvd3NlciB1dGlsc1xuZXhwb3J0IHtpc0FwcGxlRGV2aWNlfSBmcm9tICcuL2Jyb3dzZXItdXRpbHMnO1xuXG5leHBvcnQge2RlZmF1bHQgYXMgcXVpY2tJbnNlcnRpb25Tb3J0fSBmcm9tICcuL3F1aWNrLWluc2VydGlvbi1zb3J0JztcblxuZXhwb3J0IHR5cGUge0tlcGxlclRhYmxlTW9kZWx9IGZyb20gJy4vdHlwZXMnO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS0EsSUFBQUEs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
1082
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29sb3JVdGlscyIsInJlcXVpcmUiLCJfbm90aWZpY2F0aW9uc1V0aWxzIiwiX2RvbVV0aWxzIiwiX2RvbVRvSW1hZ2UiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2FnZ3JlZ2F0aW9uIiwiX3Bsb3QiLCJfZGF0YVV0aWxzIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJfZXhwb3J0TmFtZXMiLCJleHBvcnRzIiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3N0cmluZ3MiLCJfdGltZSIsIl9wb3NpdGlvblV0aWxzIiwiX2RhdGFzZXRVdGlscyIsIl9leHBvcnRNYXBIdG1sIiwiX2V4cG9ydFV0aWxzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfZm9ybWF0IiwiX2dsVXRpbHMiLCJfbG9jYWxlVXRpbHMiLCJfbWFwSW5mb1V0aWxzIiwiX21hcGJveEdsU3R5bGVFZGl0b3IiLCJfbWFwYm94VXRpbHMiLCJfb2JzZXJ2ZURpbWVuc2lvbnMiLCJfcHJvamVjdGlvblV0aWxzIiwiX3NwbGl0TWFwVXRpbHMiLCJfdXRpbHMiLCJfZWZmZWN0VXRpbHMiLCJfbWFwYm94VXRpbHMyIiwiX21hcFV0aWxzIiwiX2Fycm93RGF0YUNvbnRhaW5lciIsIl9kYXRhQ29udGFpbmVyVXRpbHMiLCJfZmlsdGVyVXRpbHMiLCJfZGF0YVNjYWxlVXRpbHMiLCJfZGF0YVJvdyIsIl9hcHBsaWNhdGlvbkNvbmZpZyIsIl9icm93c2VyVXRpbHMiLCJfcXVpY2tJbnNlcnRpb25Tb3J0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwibiIsIl9fcHJvdG9fXyIsImEiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaSIsInNldCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vLyBVVElMU1xuXG5leHBvcnQge1xuICBjb2xvck1heWJlVG9SR0IsXG4gIGNvbG9yUmFuZ2VCYWNrd2FyZENvbXBhdGliaWxpdHksXG4gIGNyZWF0ZUxpbmVhckdyYWRpZW50LFxuICBoYXNDb2xvck1hcCxcbiAgaGV4VG9SZ2IsXG4gIGlzSGV4Q29sb3IsXG4gIGlzUmdiQ29sb3IsXG4gIG5vcm1hbGl6ZUNvbG9yLFxuICByZXZlcnNlQ29sb3JSYW5nZSxcbiAgcmdiVG9IZXgsXG4gIGFkZEN1c3RvbVBhbGV0dGVDb2xvcixcbiAgcmVtb3ZlQ3VzdG9tUGFsZXR0ZUNvbG9yLFxuICBzb3J0Q3VzdG9tUGFsZXR0ZUNvbG9yLFxuICB1cGRhdGVDdXN0b21QYWxldHRlQ29sb3IsXG4gIHVwZGF0ZUNvbG9yUmFuZ2VCeVNlbGVjdGVkUGFsZXR0ZSxcbiAgcGFsZXR0ZUlzU3RlcHMsXG4gIHBhbGV0dGVJc1R5cGUsXG4gIHBhbGV0dGVJc0NvbG9yQmxpbmRTYWZlLFxuICB1cGRhdGVDb2xvclJhbmdlQnlNYXRjaGluZ1BhbGV0dGUsXG4gIHVwZGF0ZUN1c3RvbUNvbG9yUmFuZ2VCeUNvbG9yVUksXG4gIGluaXRpYWxpemVDdXN0b21QYWxldHRlXG59IGZyb20gJy4vY29sb3ItdXRpbHMnO1xuZXhwb3J0IHtlcnJvck5vdGlmaWNhdGlvbn0gZnJvbSAnLi9ub3RpZmljYXRpb25zLXV0aWxzJztcblxuZXhwb3J0IHtjcmVhdGVOb3RpZmljYXRpb24sIGV4cG9ydEltYWdlRXJyb3IsIHN1Y2Nlc3NOb3RpZmljYXRpb259IGZyb20gJy4vbm90aWZpY2F0aW9ucy11dGlscyc7XG5cbmV4cG9ydCB7c2V0U3R5bGVTaGVldEJhc2VIcmVmfSBmcm9tICcuL2RvbS11dGlscyc7XG5leHBvcnQge2RlZmF1bHQgYXMgZG9tdG9pbWFnZX0gZnJvbSAnLi9kb20tdG8taW1hZ2UnO1xuZXhwb3J0IHtnZXRGcmVxdWVuY3ksIGdldE1vZGUsIGFnZ3JlZ2F0ZX0gZnJvbSAnLi9hZ2dyZWdhdGlvbic7XG5leHBvcnQge1xuICBhZGp1c3RWYWx1ZVRvQW5pbWF0aW9uV2luZG93LFxuICBnZXRCaW5UaHJlc2hvbGRzLFxuICBoaXN0b2dyYW1Gcm9tVGhyZXNob2xkLFxuICBoaXN0b2dyYW1Gcm9tVmFsdWVzLFxuICBoaXN0b2dyYW1Gcm9tRG9tYWluLFxuICBoaXN0b2dyYW1Gcm9tT3JkaW5hbCxcbiAgcnVuR3B1RmlsdGVyRm9yUGxvdCxcbiAgdXBkYXRlVGltZUZpbHRlclBsb3RUeXBlXG59IGZyb20gJy4vcGxvdCc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJldHRpZXIvcHJldHRpZXJcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS11dGlscyc7XG5leHBvcnQgdHlwZSB7RmllbGRGb3JtYXR0ZXJ9IGZyb20gJy4vZGF0YS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3N0cmluZ3MnO1xuZXhwb3J0IHtcbiAgU0FNUExFX1RJTUVMSU5FLFxuICBUSU1FTElORV9NT0RFUyxcbiAgVElNRV9JTlRFUlZBTFNfT1JERVJFRCxcbiAgTGF5ZXJUb0ZpbHRlclRpbWVJbnRlcnZhbCxcbiAgVGlsZVRpbWVJbnRlcnZhbCxcbiAgZ2V0VGltZWxpbmVGcm9tQW5pbWF0aW9uQ29uZmlnLFxuICBnZXRUaW1lbGluZUZyb21GaWx0ZXJcbn0gZnJvbSAnLi90aW1lJztcbmV4cG9ydCB7bWF5YmVIZXhUb0dlbywgZ2V0UG9zaXRpb25Gcm9tSGV4VmFsdWV9IGZyb20gJy4vcG9zaXRpb24tdXRpbHMnO1xuXG5leHBvcnQge1xuICBkYXRhc2V0Q29sb3JNYWtlcixcbiAgZmluZERlZmF1bHRDb2xvckZpZWxkLFxuICBnZXRGaWVsZEZvcm1hdExhYmVscyxcbiAgZ2V0Rm9ybWF0TGFiZWxzLFxuICB2YWxpZGF0ZUlucHV0RGF0YVxufSBmcm9tICcuL2RhdGFzZXQtdXRpbHMnO1xuZXhwb3J0IHtleHBvcnRNYXBUb0hUTUx9IGZyb20gJy4vZXhwb3J0LW1hcC1odG1sJztcbmV4cG9ydCB7XG4gIGNhbGN1bGF0ZUV4cG9ydEltYWdlU2l6ZSxcbiAgY29udmVydFRvUG5nLFxuICBkYXRhVVJJdG9CbG9iLFxuICBkb3dubG9hZEZpbGUsXG4gIGV4cG9ydEh0bWwsXG4gIGV4cG9ydEltYWdlLFxuICBleHBvcnRKc29uLFxuICBleHBvcnRNYXAsXG4gIGV4cG9ydFRvSnNvblN0cmluZyxcbiAgZGVmYXVsdCBhcyBleHBvcnRlcnMsXG4gIGdldE1hcEpTT04sXG4gIGdldFNjYWxlRnJvbUltYWdlU2l6ZSxcbiAgaXNNU0VkZ2Vcbn0gZnJvbSAnLi9leHBvcnQtdXRpbHMnO1xuZXhwb3J0IHtnZXRGb3JtYXRWYWx1ZSwgZ2V0RGVmYXVsdFRpbWVGb3JtYXR9IGZyb20gJy4vZm9ybWF0JztcbmV4cG9ydCB7Z2V0TGF5ZXJCbGVuZGluZ1BhcmFtZXRlcnMsIHBhdGNoRGVja1JlbmRlcmVyRm9yUG9zdFByb2Nlc3Npbmd9IGZyb20gJy4vZ2wtdXRpbHMnO1xuZXhwb3J0IHtmbGF0dGVuTWVzc2FnZXMsIG1lcmdlTWVzc2FnZXN9IGZyb20gJy4vbG9jYWxlLXV0aWxzJztcbmV4cG9ydCB7aXNWYWxpZE1hcEluZm99IGZyb20gJy4vbWFwLWluZm8tdXRpbHMnO1xuZXhwb3J0IHtcbiAgZWRpdEJvdHRvbU1hcFN0eWxlLFxuICBlZGl0VG9wTWFwU3R5bGUsXG4gIGdldERlZmF1bHRMYXllckdyb3VwVmlzaWJpbGl0eSxcbiAgZ2V0U3R5bGVEb3dubG9hZFVybCxcbiAgZ2V0U3R5bGVJbWFnZUljb24sXG4gIG1lcmdlTGF5ZXJHcm91cFZpc2liaWxpdHksXG4gIHNjYWxlTWFwU3R5bGVCeVJlc29sdXRpb25cbn0gZnJvbSAnLi9tYXAtc3R5bGUtdXRpbHMvbWFwYm94LWdsLXN0eWxlLWVkaXRvcic7XG5leHBvcnQge3ZhbGlkYXRlVG9rZW59IGZyb20gJy4vbWFwYm94LXV0aWxzJztcbmV4cG9ydCB7XG4gIGRlZmF1bHQgYXMgdXNlRGltZW5zaW9ucyxcbiAgb2JzZXJ2ZURpbWVuc2lvbnMsXG4gIHVub2JzZXJ2ZURpbWVuc2lvbnNcbn0gZnJvbSAnLi9vYnNlcnZlLWRpbWVuc2lvbnMnO1xuZXhwb3J0IHR5cGUge0RpbWVuc2lvbnN9IGZyb20gJy4vb2JzZXJ2ZS1kaW1lbnNpb25zJztcbmV4cG9ydCB7c25hcFRvTWFya3MsIGdldFRpbWVCaW5zfSBmcm9tICcuL3Bsb3QnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9qZWN0aW9uLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3BsaXQtbWFwLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQge1xuICBjb21wdXRlRGVja0VmZmVjdHMsXG4gIGZpeEVmZmVjdE9yZGVyLFxuICByZW9yZGVyRWZmZWN0T3JkZXIsXG4gIHZhbGlkYXRlRWZmZWN0UGFyYW1ldGVyc1xufSBmcm9tICcuL2VmZmVjdC11dGlscyc7XG5cbi8vIE1hcGJveFxuZXhwb3J0IHtcbiAgaXNTdHlsZVVzaW5nTWFwYm94VGlsZXMsXG4gIGlzU3R5bGVVc2luZ09wZW5TdHJlZXRNYXBUaWxlcyxcbiAgZ2V0QmFzZU1hcExpYnJhcnksXG4gIHRyYW5zZm9ybVJlcXVlc3Rcbn0gZnJvbSAnLi9tYXAtc3R5bGUtdXRpbHMvbWFwYm94LXV0aWxzJztcblxuLy8gTWFwXG5leHBvcnQgKiBmcm9tICcuL21hcC11dGlscyc7XG5cbmV4cG9ydCB7XG4gIEFycm93RGF0YUNvbnRhaW5lcixcbiAgYXJyb3dEYXRhVHlwZVRvQW5hbHl6ZXJEYXRhVHlwZSxcbiAgYXJyb3dEYXRhVHlwZVRvRmllbGRUeXBlLFxuICBpc0Fycm93VGFibGUsXG4gIGlzQXJyb3dGaXhlZFNpemVMaXN0LFxuICBpc0Fycm93U3RydWN0LFxuICBpc0Fycm93VmVjdG9yXG59IGZyb20gJy4vYXJyb3ctZGF0YS1jb250YWluZXInO1xuZXhwb3J0IHR5cGUge0RhdGFDb250YWluZXJJbnRlcmZhY2V9IGZyb20gJy4vZGF0YS1jb250YWluZXItaW50ZXJmYWNlJztcbmV4cG9ydCB7XG4gIERhdGFGb3JtLFxuICBjcmVhdGVEYXRhQ29udGFpbmVyLFxuICBjcmVhdGVJbmRleGVkRGF0YUNvbnRhaW5lcixcbiAgZ2V0U2FtcGxlRGF0YSBhcyBnZXRTYW1wbGVDb250YWluZXJEYXRhXG59IGZyb20gJy4vZGF0YS1jb250YWluZXItdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItdXRpbHMnO1xuZXhwb3J0IHR5cGUge0ZpbHRlckNoYW5nZWQsIEZpbHRlclJlc3VsdCwgZGF0YVZhbHVlQWNjZXNzb3J9IGZyb20gJy4vZmlsdGVyLXV0aWxzJztcblxuZXhwb3J0IHtcbiAgY29sb3JNYXBUb0NvbG9yQnJlYWtzLFxuICBjb2xvckJyZWFrc1RvQ29sb3JNYXAsXG4gIGdldExheWVyQ29sb3JTY2FsZSxcbiAgZ2V0TGVnZW5kT2ZTY2FsZSxcbiAgZ2V0TGluZWFyRG9tYWluLFxuICBnZXRMb2dEb21haW4sXG4gIGdldE9yZGluYWxEb21haW4sXG4gIGdldFF1YW50aWxlRG9tYWluLFxuICBnZXRTY2FsZUZ1bmN0aW9uLFxuICBnZXRWaXN1YWxDaGFubmVsU2NhbGVCeVpvb20sXG4gIGluaXRpYWxpemVMYXllckNvbG9yTWFwLFxuICBpc051bWVyaWNDb2xvckJyZWFrcyxcbiAgaXNEb21haW5TdG9wcyxcbiAgaXNEb21haW5RdWFudGlsZSxcbiAgZ2V0RG9tYWluU3RlcHNieVpvb20sXG4gIGdldFRocmVzaG9sZHNGcm9tUXVhbnRpbGVzLFxuICBnZXRRdWFudExhYmVsRm9ybWF0LFxuICBnZXRIaXN0b2dyYW1Eb21haW4sXG4gIGdldFF1YW50TGVnZW5kcyxcbiAgZ2V0Q2F0ZWdvcmljYWxDb2xvck1hcCxcbiAgZ2V0Q2F0ZWdvcmljYWxDb2xvclNjYWxlLFxuICBpbml0Q3VzdG9tUGFsZXR0ZUJ5Q3VzdG9tU2NhbGUsXG4gIGNvbG9yTWFwVG9DYXRlZ29yaWNhbENvbG9yQnJlYWtzLFxuICByZXNldENhdGVnb3JpY2FsQ29sb3JNYXBCeUluZGV4LFxuICBzZWxlY3RSZXN0Q2F0ZWdvcmljYWxDb2xvck1hcEJ5SW5kZXgsXG4gIHJlbW92ZUNhdGVnb3JpY2FsVmFsdWVGcm9tQ29sb3JNYXAsXG4gIGFkZENhdGVnb3JpY2FsVmFsdWVzVG9Db2xvck1hcFxufSBmcm9tICcuL2RhdGEtc2NhbGUtdXRpbHMnO1xuZXhwb3J0IHR5cGUge0NvbG9yQnJlYWssIENvbG9yQnJlYWtPcmRpbmFsLCBEb21haW5RdWFudGlsZXMsIERvbWFpblN0b3BzfSBmcm9tICcuL2RhdGEtc2NhbGUtdXRpbHMnO1xuXG5leHBvcnQge0RhdGFSb3d9IGZyb20gJy4vZGF0YS1yb3cnO1xuXG4vLyBBcHBsaWNhdGlvbiBjb25maWdcbmV4cG9ydCB7Z2V0QXBwbGljYXRpb25Db25maWcsIGluaXRBcHBsaWNhdGlvbkNvbmZpZ30gZnJvbSAnLi9hcHBsaWNhdGlvbi1jb25maWcnO1xuZXhwb3J0IHR5cGUge1xuICBLZXBsZXJBcHBsaWNhdGlvbkNvbmZpZyxcbiAgQmFzZU1hcExpYnJhcnlDb25maWcsXG4gIE1hcExpYkluc3RhbmNlLFxuICBHZXRNYXBSZWZcbn0gZnJvbSAnLi9hcHBsaWNhdGlvbi1jb25maWcnO1xuZXhwb3J0IHR5cGUge0RhdGFiYXNlQWRhcHRlciwgRGF0YWJhc2VDb25uZWN0aW9ufSBmcm9tICcuL2FwcGxpY2F0aW9uLWNvbmZpZy10eXBlcyc7XG5cbi8vIEJyb3dzZXIgdXRpbHNcbmV4cG9ydCB7aXNBcHBsZURldmljZX0gZnJvbSAnLi9icm93c2VyLXV0aWxzJztcblxuZXhwb3J0IHtkZWZhdWx0IGFzIHF1aWNrSW5zZXJ0aW9uU29ydH0gZnJvbSAnLi9xdWljay1pbnNlcnRpb24tc29ydCc7XG5cbmV4cG9ydCB0eXBlIHtLZXBsZXJUYWJsZU1vZGVsfSBmcm9tICcuL3R5cGVzJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -21,8 +21,8 @@ export declare class IndexedDataContainer implements DataContainerInterface {
21
21
  valueAt(rowIndex: number, columnIndex: number): any;
22
22
  row(rowIndex: number, sharedRow?: SharedRowOptions): DataRow;
23
23
  rowAsArray(rowIndex: number): any[];
24
- rows(sharedRow?: SharedRowOptions): Generator<DataRow, any, unknown>;
25
- column(columnIndex: number): Generator<any, any, unknown>;
24
+ rows(sharedRow?: SharedRowOptions): Generator<DataRow, any, any>;
25
+ column(columnIndex: number): Generator<any, any, any>;
26
26
  getPlainIndex(): number[];
27
27
  flattenData(): any[][];
28
28
  map<T>(func: (row: DataRow, index: number) => T, sharedRow?: SharedRowOptions, options?: RangeOptions): T[];
@@ -1,4 +1,3 @@
1
- /// <reference types="lodash" />
2
1
  import { BaseMapStyle, LayerGroup, MapState } from '@kepler.gl/types';
3
2
  export declare function getDefaultLayerGroupVisibility({ layerGroups }: {
4
3
  layerGroups: LayerGroup[];
@@ -11,11 +10,11 @@ export declare function getDefaultLayerGroupVisibility({ layerGroups }: {
11
10
  * @returns top map style
12
11
  */
13
12
  export declare const editTopMapStyle: (({ mapStyle, visibleLayerGroups }: {
14
- id?: string | undefined;
13
+ id?: string;
15
14
  mapStyle: BaseMapStyle;
16
- visibleLayerGroups: false | {
17
- [id: string]: boolean | LayerGroup;
18
- };
15
+ visibleLayerGroups: {
16
+ [id: string]: LayerGroup | boolean;
17
+ } | false;
19
18
  }) => {
20
19
  layers: any;
21
20
  }) & import("lodash").MemoizedFunction;
@@ -11,9 +11,9 @@ export declare function isStyleUsingOpenStreetMapTiles(mapStyle: any): boolean;
11
11
  * @param mapboxKey mapbox api key
12
12
  * @returns transformed url
13
13
  */
14
- export declare const transformRequest: (_mapboxKey: string) => (url: string, resourceType: string) => {
14
+ export declare const transformRequest: (_mapboxKey: string) => ((url: string, resourceType: string) => {
15
15
  url: string;
16
- };
16
+ });
17
17
  export declare const getBaseMapLibrary: (baseMapStyle?: {
18
18
  url?: string | null;
19
19
  style?: any;
@@ -7,7 +7,7 @@ import { SplitMapLayers, SplitMap, Viewport, MapState } from '@kepler.gl/types';
7
7
  * @returns A new ViewPort object with validated latitude.
8
8
  */
9
9
  export declare const validateViewPort: <T extends Pick<Viewport, "latitude" | "longitude">>(viewport: T) => T;
10
- export declare const onViewPortChange: (viewState: Viewport, onUpdateMap: (next: any, mapIndex: number) => any, onViewStateChange?: ((next: any) => void | null) | undefined, primary?: boolean, mapIndex?: number) => void;
10
+ export declare const onViewPortChange: (viewState: Viewport, onUpdateMap: (next: any, mapIndex: number) => any, onViewStateChange?: (next: any) => void | null, primary?: boolean, mapIndex?: number) => void;
11
11
  export declare const getMapLayersFromSplitMaps: (splitMaps: SplitMap[], mapIndex?: number) => SplitMapLayers | undefined | null;
12
12
  /**
13
13
  * Generates a viewport from a map state.
@@ -1,4 +1,4 @@
1
- export declare type Notification = Record<string, any> & {
1
+ export type Notification = Record<string, any> & {
2
2
  id: string;
3
3
  message: string;
4
4
  type: 'info' | 'error' | 'warning' | 'success';
@@ -18,7 +18,7 @@ export declare const errorNotification: (options: any) => {
18
18
  type: "error";
19
19
  id: string;
20
20
  message: string;
21
- topic: 'global' | 'file';
21
+ topic: "global" | "file";
22
22
  count: number;
23
23
  };
24
24
  /**
@@ -30,13 +30,13 @@ export declare const successNotification: (options: any) => {
30
30
  type: "success";
31
31
  id: string;
32
32
  message: string;
33
- topic: 'global' | 'file';
33
+ topic: "global" | "file";
34
34
  count: number;
35
35
  };
36
36
  export declare const exportImageError: (options: any) => {
37
37
  type: "error";
38
38
  id: string;
39
39
  message: string;
40
- topic: 'global' | 'file';
40
+ topic: "global" | "file";
41
41
  count: number;
42
42
  };
package/dist/plot.d.ts CHANGED
@@ -2,7 +2,7 @@ import { Bin, TimeBins, Millisecond, TimeRangeFilter, RangeFilter, PlotType, Fil
2
2
  import { AggregationTypes } from '@kepler.gl/constants';
3
3
  import { DataContainerInterface } from '.';
4
4
  import { KeplerTableModel } from './types';
5
- declare type Datasets = any;
5
+ type Datasets = any;
6
6
  /**
7
7
  *
8
8
  * @param thresholds
@@ -58,7 +58,7 @@ export declare function snapToMarks(value: number, marks: number[]): number;
58
58
  export declare function normalizeValue(val: any, minValue: any, step: any, marks: any): number;
59
59
  export declare function isPercentField(field: any): any;
60
60
  export declare function updateAggregationByField(field: Field, aggregation: ValueOf<AggregationTypes>): ValueOf<"count" | "average" | "maximum" | "minimum" | "median" | "stdev" | "sum" | "variance" | "mode" | "countUnique">;
61
- export declare const getValueAggrFunc: (field: Field | string | null, aggregation: string, dataset: KeplerTableModel<any, any>) => (bin: Bin) => number;
61
+ export declare const getValueAggrFunc: (field: Field | string | null, aggregation: string, dataset: KeplerTableModel<any, any>) => ((bin: Bin) => number);
62
62
  export declare const getAggregationOptiosnBasedOnField: (field: any) => import("@kepler.gl/constants").TimeAggregation[];
63
63
  export declare function getPctChange(y: unknown, y0: unknown): number | null;
64
64
  /**
@@ -71,7 +71,7 @@ export declare function splitSeries(series: any): {
71
71
  lines: any[];
72
72
  markers: any;
73
73
  };
74
- declare type MinVisStateForAnimationWindow = {
74
+ type MinVisStateForAnimationWindow = {
75
75
  datasets: Datasets;
76
76
  };
77
77
  export declare function adjustValueToAnimationWindow<S extends MinVisStateForAnimationWindow>(state: S, filter: TimeRangeFilter): {
@@ -87,22 +87,22 @@ export declare function adjustValueToAnimationWindow<S extends MinVisStateForAni
87
87
  view: import("@kepler.gl/types").FilterViewType;
88
88
  isAnimating: boolean;
89
89
  speed: number;
90
- showTimeDisplay?: boolean | undefined;
90
+ showTimeDisplay?: boolean;
91
91
  name: string[];
92
92
  type: "timeRange";
93
93
  fieldIdx: number[];
94
94
  domain: any[] & [number, number];
95
95
  mappedValue: number[] & (number | null)[];
96
- yAxis: any;
96
+ yAxis: Field | null;
97
97
  lineChart?: LineChart | undefined;
98
98
  gpu: boolean;
99
- gpuChannel?: number[] | undefined;
99
+ gpuChannel?: number[];
100
100
  fieldType: "timestamp";
101
- layerId?: string[] | undefined;
101
+ layerId?: string[];
102
102
  step: number;
103
- defaultTimeFormat?: string | null | undefined;
104
- timeFormat?: string | null | undefined;
105
- timezone?: string | null | undefined;
103
+ defaultTimeFormat?: string | null;
104
+ timeFormat?: string | null;
105
+ timezone?: string | null;
106
106
  syncedWithLayerTimeline: boolean;
107
107
  syncTimelineMode: import("@kepler.gl/types").SyncTimelineMode;
108
108
  animationWindow: string;
@@ -1,7 +1,7 @@
1
1
  import { DataRow, SharedRowOptions } from './data-row';
2
2
  import { ProtoDatasetField } from '@kepler.gl/types';
3
3
  import { DataContainerInterface, RangeOptions } from './data-container-interface';
4
- declare type RowDataContainerInput = {
4
+ type RowDataContainerInput = {
5
5
  rows: any[][];
6
6
  fields?: ProtoDatasetField[];
7
7
  };
@@ -17,7 +17,7 @@ export declare class RowDataContainer implements DataContainerInterface {
17
17
  valueAt(rowIndex: number, columnIndex: number): any;
18
18
  row(rowIndex: number, sharedRow?: SharedRowOptions): DataRow;
19
19
  rowAsArray(rowIndex: number): any[];
20
- rows(sharedRow: SharedRowOptions): any;
20
+ rows(sharedRow: SharedRowOptions): Generator<DataRow, void, unknown>;
21
21
  column(columnIndex: number): Generator<any, void, unknown>;
22
22
  flattenData(): any[][];
23
23
  getPlainIndex(): number[];
package/dist/utils.d.ts CHANGED
@@ -30,7 +30,7 @@ export declare const camelize: (str: string) => string;
30
30
  * @param {*} value
31
31
  * @returns {Array|Object}
32
32
  */
33
- export declare const insertValue: <T extends object | any[]>(obj: T, key: number | string, value: any) => T;
33
+ export declare const insertValue: <T extends any[] | object>(obj: T, key: number | string, value: any) => T;
34
34
  /**
35
35
  * check if value is a loose object including a plain object, array, function
36
36
  * @param {*} value
@@ -48,8 +48,8 @@ export declare function isPlainObject(obj: unknown): obj is Record<string, unkno
48
48
  * @param {Object} obj
49
49
  * @returns {Object}
50
50
  */
51
- export declare const set: <T extends object | any[]>(path: (string | number)[], value: any, obj: T) => T;
52
- declare type ErrorObject = {
51
+ export declare const set: <T extends any[] | object>(path: (string | number)[], value: any, obj: T) => T;
52
+ type ErrorObject = {
53
53
  error?: any;
54
54
  err?: any;
55
55
  message?: any;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kepler.gl/utils",
3
3
  "author": "Shan He <shan@uber.com>",
4
- "version": "3.2.6",
4
+ "version": "3.3.0-alpha.0",
5
5
  "description": "kepler.gl constants used by kepler.gl components, actions and reducers",
6
6
  "license": "MIT",
7
7
  "main": "dist/index.js",
@@ -30,13 +30,13 @@
30
30
  "umd"
31
31
  ],
32
32
  "dependencies": {
33
- "@deck.gl/core": "^8.9.27",
34
- "@kepler.gl/common-utils": "3.2.6",
35
- "@kepler.gl/constants": "3.2.6",
36
- "@kepler.gl/types": "3.2.6",
37
- "@loaders.gl/arrow": "^4.3.2",
38
- "@luma.gl/constants": "^8.5.20",
39
- "@luma.gl/core": "^8.5.20",
33
+ "@deck.gl/core": "^9.2.11",
34
+ "@kepler.gl/common-utils": "3.3.0-alpha.0",
35
+ "@kepler.gl/constants": "3.3.0-alpha.0",
36
+ "@kepler.gl/types": "3.3.0-alpha.0",
37
+ "@loaders.gl/arrow": "^4.3.4",
38
+ "@luma.gl/constants": "^9.2.6",
39
+ "@luma.gl/core": "^9.2.6",
40
40
  "@mapbox/geo-viewport": "^0.4.1",
41
41
  "@turf/boolean-within": "^6.0.1",
42
42
  "@turf/helpers": "^6.1.4",