geojs 1.11.2 → 1.12.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/geo.lean.js CHANGED
@@ -3014,7 +3014,6 @@ var rectangleAnnotation = function rectangleAnnotation(args, annotationName) {
3014
3014
  /* Should we ensure that the four points form a rectangle in the current
3015
3015
  * projection, though this might not be rectangular in another gcs? */
3016
3016
  }
3017
-
3018
3017
  return m_this.options('corners');
3019
3018
  };
3020
3019
  this._coordinateOption = 'corners';
@@ -3981,7 +3980,6 @@ var annotationLayer = function annotationLayer(arg) {
3981
3980
  if (id !== undefined && id !== null) {
3982
3981
  id = +id; /* Cast to int */
3983
3982
  }
3984
-
3985
3983
  var annotations = m_annotations.filter(function (annotation) {
3986
3984
  return annotation.id() === id;
3987
3985
  });
@@ -7592,7 +7590,7 @@ var feature = __webpack_require__(6837);
7592
7590
  * @property {geo.colorObject[]} [colorRange] Color lookup table. Default is
7593
7591
  * 9-step color table.
7594
7592
  * @property {function} [scale] A scale converts a input domain into the
7595
- * the colorRange. Default is `d3.scale.quantize()`.
7593
+ * the colorRange. Default is `d3.scaleQuantize()`.
7596
7594
  * @property {function} [geoId] Given a geometry feature, return an identifier.
7597
7595
  * @property {function} [scalarId] Given a scalar element, return an
7598
7596
  * identifier.
@@ -7665,7 +7663,7 @@ var choroplethFeature = function choroplethFeature(arg) {
7665
7663
  g: 0.236630659,
7666
7664
  b: 0.209939162
7667
7665
  }],
7668
- scale: d3.scale.quantize(),
7666
+ scale: d3.scaleQuantize(),
7669
7667
  //accessor for ID on geodata feature
7670
7668
  geoId: function geoId(geoFeature) {
7671
7669
  return geoFeature.properties.GEO_ID;
@@ -7743,7 +7741,6 @@ var choroplethFeature = function choroplethFeature(arg) {
7743
7741
  } else {
7744
7742
  m_choropleth[arg1] = arg2; //if you pass in accessor for prop
7745
7743
  }
7746
-
7747
7744
  m_this.modified();
7748
7745
  return m_this;
7749
7746
  };
@@ -10850,8 +10847,8 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
10850
10847
  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; }
10851
10848
  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) { _defineProperty(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; }
10852
10849
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10853
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
10854
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
10850
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
10851
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10855
10852
  var inherit = __webpack_require__(5699);
10856
10853
  var registerFileReader = (__webpack_require__(4647).registerFileReader);
10857
10854
  var fileReader = __webpack_require__(407);
@@ -11286,16 +11283,15 @@ var geojsonReader = function geojsonReader(arg) {
11286
11283
  // create an object with each property in m_options.polygonStyle,
11287
11284
  // mapping the values through the _style function.
11288
11285
  .style([{}].concat(Object.keys(m_options.polygonStyle)).reduce(function (styleObj, key) {
11289
- var _objectSpread5;
11290
- return _objectSpread((_objectSpread5 = {}, _defineProperty(_objectSpread5, key, ellipses.some(function (d) {
11286
+ return _objectSpread(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, key, ellipses.some(function (d) {
11291
11287
  return d.properties && d.properties[key] !== undefined;
11292
- }) ? m_this._style(key, m_options.polygonStyle[key]) : m_options.polygonStyle[key]), _defineProperty(_objectSpread5, "radius", function radius(d) {
11288
+ }) ? m_this._style(key, m_options.polygonStyle[key]) : m_options.polygonStyle[key]), "radius", function radius(d) {
11293
11289
  return d._props.radius;
11294
- }), _defineProperty(_objectSpread5, "radiusIncludesStroke", false), _defineProperty(_objectSpread5, "symbolValue", function symbolValue(d) {
11290
+ }), "radiusIncludesStroke", false), "symbolValue", function symbolValue(d) {
11295
11291
  return d._props.aspect;
11296
- }), _defineProperty(_objectSpread5, "rotation", function rotation(d) {
11292
+ }), "rotation", function rotation(d) {
11297
11293
  return d._props.rotation;
11298
- }), _defineProperty(_objectSpread5, "strokeOffset", 0), _defineProperty(_objectSpread5, "rotateWithMap", true), _defineProperty(_objectSpread5, "scaleWithZoom", markerFeature.scaleMode.fill), _objectSpread5), styleObj);
11294
+ }), "strokeOffset", 0), "rotateWithMap", true), "scaleWithZoom", markerFeature.scaleMode.fill), styleObj);
11299
11295
  }));
11300
11296
  allFeatures.push(feature);
11301
11297
  }
@@ -14965,7 +14961,6 @@ var map = function map(arg) {
14965
14961
  if (queue.length && queue[0] !== m_animationQueue[0]) {
14966
14962
  window['cancelAnimationFrame'](m_animationQueue[0]); // eslint-disable-line dot-notation
14967
14963
  }
14968
-
14969
14964
  for (var i = queue.length ? 1 : 0; i < m_animationQueue.length; i += 1) {
14970
14965
  queue.push(m_animationQueue[i]);
14971
14966
  }
@@ -16664,7 +16659,6 @@ var map = function map(arg) {
16664
16659
  * override this if needed. */
16665
16660
  m_animationQueue.push(window['requestAnimationFrame'](processAnimationFrame)); // eslint-disable-line dot-notation
16666
16661
  }
16667
-
16668
16662
  var pos = m_animationQueue.indexOf(callback, 1);
16669
16663
  if (pos >= 0) {
16670
16664
  if (!action) {
@@ -20072,7 +20066,6 @@ markerFeature.symbols = {
20072
20066
  // possible other symbols:
20073
20067
  // half inner stellations (bowtie/hourglass), hash (#), inner curved shapes
20074
20068
  };
20075
-
20076
20069
  ['flower', 'star', 'cross', 'jack', 'drop', 'arrow'].forEach(function (key) {
20077
20070
  for (var i = 2; i <= markerFeature.symbols[key + 'Max']; i += 1) {
20078
20071
  markerFeature.symbols[key + i] = markerFeature.symbols[key + 'Base'] - 2 + i;
@@ -25078,7 +25071,7 @@ module.exports = sceneObject;
25078
25071
  * @constant
25079
25072
  * @type {string}
25080
25073
  */
25081
- module.exports = "c1123d90202a0e8629d90d57aefed8d2fc800864";
25074
+ module.exports = "ee3d8be376e56abdc7e2d506b9a724b74fd945fd";
25082
25075
 
25083
25076
  /***/ }),
25084
25077
 
@@ -25245,11 +25238,11 @@ var svg_lineFeature = function svg_lineFeature(arg) {
25245
25238
  style[key] = wrapStyle(s_style[key]);
25246
25239
  }
25247
25240
  }
25248
- line = d3.svg.line().x(function (d) {
25241
+ line = d3.line().x(function (d) {
25249
25242
  return m_this.featureGcsToDisplay(d).x;
25250
25243
  }).y(function (d) {
25251
25244
  return m_this.featureGcsToDisplay(d).y;
25252
- }).interpolate(m_this.style.get('closed')(item, idx) && ln.length > 2 ? 'linear-closed' : 'linear');
25245
+ }).curve(m_this.style.get('closed')(item, idx) && ln.length > 2 ? d3.curveLinearClosed : d3.curveLinear);
25253
25246
  // item is an object representing a single line
25254
25247
  // m_this.line()(item) is an array of coordinates
25255
25248
  m_style = {
@@ -25393,7 +25386,6 @@ var svg_pathFeature = function svg_pathFeature(arg) {
25393
25386
  return new svg_pathFeature(arg);
25394
25387
  }
25395
25388
  var $ = __webpack_require__(5638);
25396
- var d3 = (__webpack_require__(2531).d3);
25397
25389
  var object = __webpack_require__(2738);
25398
25390
  var timestamp = __webpack_require__(6618);
25399
25391
  arg = arg || {};
@@ -25418,11 +25410,9 @@ var svg_pathFeature = function svg_pathFeature(arg) {
25418
25410
  diag;
25419
25411
  s_update.call(m_this);
25420
25412
  diag = function diag(d) {
25421
- var p = {
25422
- source: d.source,
25423
- target: d.target
25424
- };
25425
- return d3.svg.diagonal()(p);
25413
+ // in d3 v3 this was "d3.svg.diagonal(d);". See
25414
+ // https://stackoverflow.com/questions/40845121/where-is-d3-svg-diagonal
25415
+ return 'M' + d.source.x + ',' + d.source.y + 'C' + d.source.x + ',' + (d.source.y + d.target.y) / 2 + ' ' + d.target.x + ',' + (d.source.y + d.target.y) / 2 + ' ' + d.target.x + ',' + d.target.y;
25426
25416
  };
25427
25417
  tmp = [];
25428
25418
  data.forEach(function (d, i) {
@@ -26412,7 +26402,9 @@ var svgRenderer = function svgRenderer(arg) {
26412
26402
  rendersel;
26413
26403
  entries = selection.enter().append(append);
26414
26404
  selection.exit().remove();
26415
- rendersel = m_features[id].onlyRenderNew ? entries : selection;
26405
+ // in d3 v3 this was
26406
+ // rendersel = m_features[id].onlyRenderNew ? entries : selection;
26407
+ rendersel = entries;
26416
26408
  setAttrs(rendersel, attributes);
26417
26409
  rendersel.attr('class', classes.concat([id]).join(' '));
26418
26410
  setStyles(rendersel, style);
@@ -26834,10 +26826,10 @@ var svg_vectorFeature = function svg_vectorFeature(arg) {
26834
26826
  }
26835
26827
  return markers;
26836
26828
  }, []);
26829
+ markerGroup = m_this.renderer()._definitions().selectAll('g.marker-group#' + m_this._svgid());
26837
26830
  var sel = markerGroup.selectAll('marker.geo-vector-marker').data(markers);
26838
- sel.enter().append('marker').append('path');
26839
26831
  var renderer = m_this.renderer();
26840
- sel.each(function (d) {
26832
+ sel.enter().append('marker').each(function (d) {
26841
26833
  var marker = d3.select(this);
26842
26834
  var markerData = d.head ? markerConfigs[endStyle(d.data, d.dataIndex)] : markerConfigs[originStyle(d.data, d.dataIndex)];
26843
26835
  Object.keys(markerData.attrs).forEach(function (attrName) {
@@ -26851,7 +26843,7 @@ var svg_vectorFeature = function svg_vectorFeature(arg) {
26851
26843
  return renderer._convertColor(stroke)(d.data, d.dataIndex);
26852
26844
  }).style('opacity', function (d) {
26853
26845
  return opacity(d.data, d.dataIndex);
26854
- }).select('path').attr('d', function (d) {
26846
+ }).append('path').attr('d', function (d) {
26855
26847
  return d.head ? markerConfigs[endStyle(d.data, d.dataIndex)].path : markerConfigs[originStyle(d.data, d.dataIndex)].path;
26856
26848
  });
26857
26849
  sel.exit().remove();
@@ -31643,12 +31635,7 @@ var colorLegendWidget = function colorLegendWidget(arg) {
31643
31635
  m_categories.forEach(function (category, index) {
31644
31636
  var legendContainer = container.append('div').attr('class', 'geojs-color-legend');
31645
31637
  legendContainer.append('div').attr('class', 'geojs-title').text(category.name);
31646
- var legendSvg = legendContainer.append('svg').attr({
31647
- class: 'svg',
31648
- width: width,
31649
- height: '40px',
31650
- viewBox: -margin + ' 0 ' + width + ' 40'
31651
- });
31638
+ var legendSvg = legendContainer.append('svg').attr('class', 'svg').attr('width', width).attr('height', '40px').attr('viewBox', -margin + ' 0 ' + width + ' 40');
31652
31639
  if (category.type === 'discrete') {
31653
31640
  m_this._drawDiscrete(legendSvg, width - 2 * margin, category);
31654
31641
  } else if (category.type === 'continuous') {
@@ -31723,27 +31710,38 @@ var colorLegendWidget = function colorLegendWidget(arg) {
31723
31710
  * @param {geo.gui.colorLegendWidget.category} category The discrete type legend category
31724
31711
  */
31725
31712
  this._drawDiscrete = function (svg, width, category) {
31713
+ /**
31714
+ * Render the d3 axis object based on the axis d3 Scale.
31715
+ * @param {object} axisScale d3 scale object
31716
+ * @returns {object} d3 axis object
31717
+ */
31718
+ function createAxis(axisScale) {
31719
+ var skip = Math.ceil(axisScale.domain().length / m_ticks);
31720
+ var values = axisScale.domain().filter(function (d, i) {
31721
+ return i % skip === 0;
31722
+ });
31723
+ return d3.axisBottom(axisScale).tickFormat(d3.format('.2s')).tickValues(values);
31724
+ }
31726
31725
  if (['linear', 'log', 'sqrt', 'pow', 'quantile', 'ordinal'].indexOf(category.scale) === -1) {
31727
31726
  throw new Error('unsupported scale');
31728
31727
  }
31729
31728
  var valueRange, valueScale, colorScale, axisScale, axis, steps, ticks;
31730
31729
  if (category.scale === 'ordinal') {
31731
- colorScale = d3.scale.ordinal().domain(category.domain).range(category.colors);
31730
+ colorScale = d3.scaleOrdinal().domain(category.domain).range(category.colors);
31732
31731
  m_this._renderDiscreteColors(svg, category.domain, colorScale, width, function (d) {
31733
31732
  return d;
31734
31733
  });
31735
- axisScale = d3.scale.ordinal().domain(category.domain).rangeRoundBands([0, width]);
31736
- axis = d3.svg.axis().scale(axisScale).tickValues(function () {
31737
- var skip = Math.ceil(category.domain.length / m_ticks);
31738
- return category.domain.filter(function (d, i) {
31739
- return i % skip === 0;
31740
- });
31734
+ axisScale = d3.scaleBand().domain(category.domain).rangeRound([0, width]);
31735
+ var skip = Math.ceil(category.domain.length / m_ticks);
31736
+ var values = category.domain.filter(function (d, i) {
31737
+ return i % skip === 0;
31741
31738
  });
31739
+ axis = d3.axisBottom(axisScale).tickValues(values);
31742
31740
  } else if (category.scale === 'quantile') {
31743
31741
  valueRange = [0, category.colors.length];
31744
31742
  steps = util.range(0, category.colors.length - 1);
31745
- valueScale = d3.scale.quantile().domain(category.domain).range(steps);
31746
- colorScale = d3.scale.quantize().domain(valueRange).range(category.colors);
31743
+ valueScale = d3.scaleQuantile().domain(category.domain).range(steps);
31744
+ colorScale = d3.scaleQuantize().domain(valueRange).range(category.colors);
31747
31745
  m_this._renderDiscreteColors(svg, steps, colorScale, width, function (d) {
31748
31746
  return valueScale.invertExtent(d).join(' - ');
31749
31747
  });
@@ -31751,12 +31749,12 @@ var colorLegendWidget = function colorLegendWidget(arg) {
31751
31749
  axisDomain = axisDomain.concat(steps.map(function (step) {
31752
31750
  return valueScale.invertExtent(step)[1];
31753
31751
  }));
31754
- axisScale = d3.scale.ordinal().domain(axisDomain).rangePoints([0, width]);
31752
+ axisScale = d3.scalePoint().domain(axisDomain).range([0, width]);
31755
31753
  axis = createAxis(axisScale);
31756
31754
  } else if (['linear', 'log', 'sqrt', 'pow'].indexOf(category.scale) !== -1) {
31757
31755
  valueRange = [0, category.colors.length];
31758
- valueScale = d3.scale[category.scale]().domain(category.domain).range(valueRange).nice();
31759
- colorScale = d3.scale.quantize().domain(valueRange).range(category.colors);
31756
+ valueScale = d3['scale' + category.scale.charAt(0).toUpperCase() + category.scale.slice(1)]().domain(category.domain).range(valueRange).nice();
31757
+ colorScale = d3.scaleQuantize().domain(valueRange).range(category.colors);
31760
31758
  steps = util.range(0, category.colors.length - 1);
31761
31759
  var precision = Math.max.apply(null, category.domain.map(function (number) {
31762
31760
  return getPrecision(number);
@@ -31766,29 +31764,15 @@ var colorLegendWidget = function colorLegendWidget(arg) {
31766
31764
  });
31767
31765
  ticks = steps.slice();
31768
31766
  ticks.push(category.colors.length);
31769
- axisScale = d3.scale.ordinal().domain(ticks.map(function (tick) {
31767
+ axisScale = d3.scalePoint().domain(ticks.map(function (tick) {
31770
31768
  return valueScale.invert(tick);
31771
- })).rangePoints([0, width]);
31769
+ })).range([0, width]);
31772
31770
  axis = createAxis(axisScale);
31773
31771
  }
31774
31772
  if (category.endAxisLabelOnly) {
31775
31773
  axis.tickValues([axisScale.domain()[0], axisScale.domain()[axisScale.domain().length - 1]]);
31776
31774
  }
31777
31775
  m_this._renderAxis(svg, axis);
31778
-
31779
- /**
31780
- * Render the d3 axis object based on the axis d3 Scale.
31781
- * @param {object} axisScale d3 scale object
31782
- * @returns {object} d3 axis object
31783
- */
31784
- function createAxis(axisScale) {
31785
- return d3.svg.axis().scale(axisScale).tickFormat(d3.format('.2s')).tickValues(function () {
31786
- var skip = Math.ceil(axisScale.domain().length / m_ticks);
31787
- return axisScale.domain().filter(function (d, i) {
31788
- return i % skip === 0;
31789
- });
31790
- });
31791
- }
31792
31776
  };
31793
31777
 
31794
31778
  /**
@@ -31804,8 +31788,8 @@ var colorLegendWidget = function colorLegendWidget(arg) {
31804
31788
  return colorScale(d);
31805
31789
  }).attr('transform', function (d, i) {
31806
31790
  return 'translate(' + i * width / steps.length + ' ,0)';
31807
- }).on('mousemove', function (d) {
31808
- m_this._showPopup(getValue(d));
31791
+ }).on('mousemove', function (evt, d) {
31792
+ m_this._showPopup(evt, getValue(d));
31809
31793
  }).on('mouseout', m_this._hidePopup);
31810
31794
  };
31811
31795
 
@@ -31825,7 +31809,7 @@ var colorLegendWidget = function colorLegendWidget(arg) {
31825
31809
  range.push(width / (category.domain.length - 1) * i);
31826
31810
  }
31827
31811
  range.push(width);
31828
- axisScale = d3.scale[category.scale]().domain(category.domain).range(range).nice();
31812
+ axisScale = d3['scale' + category.scale.charAt(0).toUpperCase() + category.scale.slice(1)]().domain(category.domain).range(range).nice();
31829
31813
  if (category.scale === 'log' && category.base) {
31830
31814
  axisScale.base(category.base);
31831
31815
  }
@@ -31842,12 +31826,12 @@ var colorLegendWidget = function colorLegendWidget(arg) {
31842
31826
  gradient.append('stop').attr('offset', (100 / (category.colors.length - 1) * i).toFixed(6) + '%').attr('stop-color', category.colors[i]);
31843
31827
  }
31844
31828
  gradient.append('stop').attr('offset', '100%').attr('stop-color', category.colors[category.colors.length - 1]);
31845
- svg.append('rect').attr('fill', 'url(#gradient' + id + ')').attr('width', width).attr('height', '20px').on('mousemove', function () {
31846
- var value = axisScale.invert(d3.mouse(this)[0]);
31829
+ svg.append('rect').attr('fill', 'url(#gradient' + id + ')').attr('width', width).attr('height', '20px').on('mousemove', function (event) {
31830
+ var value = axisScale.invert(d3.pointer(event)[0]);
31847
31831
  var text = m_this._popupFormatter(value, precision);
31848
- m_this._showPopup(text);
31832
+ m_this._showPopup(event, text);
31849
31833
  }).on('mouseout', m_this._hidePopup);
31850
- axis = d3.svg.axis().scale(axisScale).ticks(m_ticks, '.2s');
31834
+ axis = d3.axisBottom(axisScale).ticks(m_ticks, '.2s');
31851
31835
  if (category.endAxisLabelOnly) {
31852
31836
  axis.tickValues([category.domain[0], category.domain[category.domain.length - 1]]);
31853
31837
  }
@@ -31860,9 +31844,12 @@ var colorLegendWidget = function colorLegendWidget(arg) {
31860
31844
  * @param {object} axis d3 axis object
31861
31845
  */
31862
31846
  this._renderAxis = function (svg, axis) {
31863
- svg.append('g').attr('class', 'axis x').attr('transform', 'translate(0, 20)').call(function (g) {
31847
+ svg.append('g').attr('class', 'axis x').attr('transform', 'translate(0, 20)')
31848
+ /*
31849
+ .call(function (g) {
31864
31850
  g.call(axis);
31865
31851
  });
31852
+ */.call(axis);
31866
31853
  };
31867
31854
 
31868
31855
  /**
@@ -31881,19 +31868,18 @@ var colorLegendWidget = function colorLegendWidget(arg) {
31881
31868
 
31882
31869
  /**
31883
31870
  * Show the popup based on current mouse event.
31871
+ * @param {d3.event} event The triggering d3 event.
31884
31872
  * @param {string} text content to be shown in the popup
31885
31873
  */
31886
- this._showPopup = function (text) {
31874
+ this._showPopup = function (event, text) {
31887
31875
  // The cursor location relative to the container
31888
- var offset = d3.mouse(m_this.canvas());
31876
+ var offset = d3.pointer(event, m_this.canvas());
31889
31877
  m_this.popup.text(text);
31890
31878
  var containerWidth = m_this.canvas().clientWidth;
31891
- var popupWidth = m_this.popup[0][0].clientWidth;
31892
- m_this.popup.style({
31893
- // If the popup will be longer or almost longer than the container
31894
- left: offset[0] - (offset[0] + popupWidth - containerWidth > -10 ? popupWidth : 0) + 'px',
31895
- top: offset[1] - 22 + 'px'
31896
- }).transition().duration(200).style('opacity', 1);
31879
+ var popupWidth = m_this.popup.node().clientWidth;
31880
+ m_this.popup
31881
+ // If the popup will be longer or almost longer than the container
31882
+ .style('left', offset[0] - (offset[0] + popupWidth - containerWidth > -10 ? popupWidth : 0) + 'px').style('top', offset[1] - 22 + 'px').transition().duration(200).style('opacity', 1);
31897
31883
  };
31898
31884
 
31899
31885
  /**
@@ -32184,8 +32170,8 @@ var legendWidget = function legendWidget(arg) {
32184
32170
  */
32185
32171
  this._scale = function () {
32186
32172
  return {
32187
- x: d3.scale.linear().domain([0, 1]).range([0, m_this.size().width]),
32188
- y: d3.scale.linear().domain([0, m_categories.length - 1]).range([m_padding / 2, m_this.size().height - m_padding / 2])
32173
+ x: d3.scaleLinear().domain([0, 1]).range([0, m_this.size().width]),
32174
+ y: d3.scaleLinear().domain([0, m_categories.length - 1]).range([m_padding / 2, m_this.size().height - m_padding / 2])
32189
32175
  };
32190
32176
  };
32191
32177
 
@@ -32213,15 +32199,10 @@ var legendWidget = function legendWidget(arg) {
32213
32199
  d3.select(m_this.canvas()).attr('width', w).attr('height', h);
32214
32200
  m_top = d3.select(m_this.canvas()).append('g');
32215
32201
  m_group = m_top.append('g').attr('transform', 'translate(' + [m_padding + 2, m_padding + 2] + ')');
32216
- m_border = m_group.append('rect').attr('x', -m_padding).attr('y', -m_padding).attr('width', w - 4).attr('height', h - 4).attr('rx', 3).attr('ry', 3).style({
32217
- stroke: 'black',
32218
- 'stroke-width': '1.5px',
32219
- fill: 'white',
32220
- 'fill-opacity': 0.75,
32221
- display: 'none'
32222
- });
32223
- m_group.on('mousedown', function () {
32224
- d3.event.stopPropagation();
32202
+ m_border = m_group.append('rect').attr('x', -m_padding).attr('y', -m_padding).attr('width', w - 4).attr('height', h - 4).attr('rx', 3).attr('ry', 3);
32203
+ m_border.style('stroke', 'black').style('stroke-width', '1.5px').style('fill', 'white').style('fill-opacity', 0.75).style('display', 'none');
32204
+ m_group.on('mousedown', function (evt) {
32205
+ evt.stopPropagation();
32225
32206
  });
32226
32207
  m_group.on('mouseover', function () {
32227
32208
  m_border.transition().duration(250).style('fill-opacity', 1);
@@ -32366,10 +32347,7 @@ var scaleWidget = function scaleWidget(arg) {
32366
32347
  m_this._createCanvas();
32367
32348
  m_this._appendCanvasToParent();
32368
32349
  m_this.reposition();
32369
- d3.select(m_this.canvas()).attr({
32370
- width: m_options.maxWidth,
32371
- height: m_options.maxHeight
32372
- });
32350
+ d3.select(m_this.canvas()).attr('width', m_options.maxWidth).attr('height', m_options.maxHeight);
32373
32351
  // Update the scale on pan
32374
32352
  m_this.geoOn(geo_event.pan, m_this._update);
32375
32353
  m_this._render();
@@ -32479,8 +32457,7 @@ var scaleWidget = function scaleWidget(arg) {
32479
32457
  pixels = (vert ? m_options.maxHeight : m_options.maxWidth) - sw;
32480
32458
  /* Calculate the distance that the maximum length scale bar can occupy at
32481
32459
  * the location that the scale bar will be drawn. */
32482
- // svg.attr({width: width, height: height});
32483
- pt1 = $(svg[0][0]).offset();
32460
+ pt1 = $(svg.node()).offset();
32484
32461
  pt1 = {
32485
32462
  x: pt1.left + (m_options.orientation === 'left' ? width - sw2 : sw2),
32486
32463
  y: pt1.top + (m_options.orientation === 'top' ? height - sw2 : sw2)
@@ -32500,15 +32477,9 @@ var scaleWidget = function scaleWidget(arg) {
32500
32477
  } else {
32501
32478
  width = value.pixels + sw;
32502
32479
  }
32503
- svg.attr({
32504
- width: width,
32505
- height: height
32506
- });
32480
+ svg.attr('width', width).attr('height', height);
32507
32481
  if (svg.select('polyline').empty()) {
32508
- svg.append('polyline').classed('geojs-scale-widget-bar', true).attr({
32509
- fill: 'none',
32510
- 'stroke-width': sw
32511
- });
32482
+ svg.append('polyline').classed('geojs-scale-widget-bar', true).attr('fill', 'none').attr('stroke-width', sw);
32512
32483
  }
32513
32484
  if (svg.select('text').empty()) {
32514
32485
  svg.append('text').classed('geojs-scale-widget-text', true);
@@ -32516,39 +32487,19 @@ var scaleWidget = function scaleWidget(arg) {
32516
32487
  switch (m_options.orientation) {
32517
32488
  case 'bottom':
32518
32489
  pts = [[sw2, tl], [sw2, sw2], [width - sw2, sw2], [width - sw2, tl]];
32519
- svg.select('text').attr({
32520
- x: width / 2,
32521
- y: sw * 2,
32522
- 'text-anchor': 'middle',
32523
- 'dominant-baseline': 'hanging'
32524
- });
32490
+ svg.select('text').attr('x', width / 2).attr('y', sw * 2).attr('text-anchor', 'middle').attr('dominant-baseline', 'hanging');
32525
32491
  break;
32526
32492
  case 'top':
32527
32493
  pts = [[sw2, height - tl], [sw2, height - sw2], [width - sw2, height - sw2], [width - sw2, height - tl]];
32528
- svg.select('text').attr({
32529
- x: width / 2,
32530
- y: height - sw * 2,
32531
- 'text-anchor': 'middle',
32532
- 'dominant-baseline': 'alphabetic'
32533
- });
32494
+ svg.select('text').attr('x', width / 2).attr('y', height - sw * 2).attr('text-anchor', 'middle').attr('dominant-baseline', 'alphabetic');
32534
32495
  break;
32535
32496
  case 'left':
32536
32497
  pts = [[width - tl, sw2], [width - sw2, sw2], [width - sw2, height - sw2], [width - tl, height - sw2]];
32537
- svg.select('text').attr({
32538
- x: width - sw * 2,
32539
- y: height / 2,
32540
- 'text-anchor': 'end',
32541
- 'dominant-baseline': 'middle'
32542
- });
32498
+ svg.select('text').attr('x', width - sw * 2).attr('y', height / 2).attr('text-anchor', 'end').attr('dominant-baseline', 'middle');
32543
32499
  break;
32544
32500
  case 'right':
32545
32501
  pts = [[tl, sw2], [sw2, sw2], [sw2, height - sw2], [tl, height - sw2]];
32546
- svg.select('text').attr({
32547
- x: sw * 2,
32548
- y: height / 2,
32549
- 'text-anchor': 'start',
32550
- 'dominant-baseline': 'middle'
32551
- });
32502
+ svg.select('text').attr('x', sw * 2).attr('y', height / 2).attr('text-anchor', 'start').attr('dominant-baseline', 'middle');
32552
32503
  break;
32553
32504
  }
32554
32505
  svg.select('polyline').attr('points', pts.map(function (pt) {
@@ -32896,8 +32847,8 @@ var sliderWidget = function sliderWidget(arg) {
32896
32847
 
32897
32848
  // create d3 scales for positioning
32898
32849
  // TODO: make customizable and responsive
32899
- m_xscale = d3.scale.linear().domain([-4, 4]).range([0, m_width]);
32900
- m_yscale = d3.scale.linear().domain([0, 1]).range([m_width * 1.5, m_height - m_width * 1.5]);
32850
+ m_xscale = d3.scaleLinear().domain([-4, 4]).range([0, m_width]);
32851
+ m_yscale = d3.scaleLinear().domain([0, 1]).range([m_width * 1.5, m_height - m_width * 1.5]);
32901
32852
 
32902
32853
  // Create the main group element
32903
32854
  svg = svg.append('g').classed('geo-ui-slider', true);
@@ -32908,17 +32859,15 @@ var sliderWidget = function sliderWidget(arg) {
32908
32859
  m_plus.append('circle').datum({
32909
32860
  fill: 'white',
32910
32861
  stroke: null
32911
- }).classed('geo-zoom-in', true).attr('cx', m_xscale(0)).attr('cy', m_yscale(0.0) - m_width + 2).attr('r', (m_width - 2) / 2).style({
32912
- cursor: 'pointer'
32913
- }).on('click', function () {
32862
+ }).classed('geo-zoom-in', true).attr('cx', m_xscale(0)).attr('cy', m_yscale(0.0) - m_width + 2).attr('r', (m_width - 2) / 2).style('cursor', 'pointer').on('click', function () {
32914
32863
  var z = map.zoom();
32915
32864
  map.transition({
32916
32865
  zoom: z + 1,
32917
- ease: d3.ease('cubic-in-out'),
32866
+ ease: d3.easeCubicInOut,
32918
32867
  duration: 500
32919
32868
  });
32920
- }).on('mousedown', function () {
32921
- d3.event.stopPropagation();
32869
+ }).on('mousedown', function (evt) {
32870
+ evt.stopPropagation();
32922
32871
  });
32923
32872
  put_icon(m_plusIcon, m_plus, m_xscale(0), m_yscale(0) - m_width + 2, m_width + 4).style('cursor', 'pointer').style('pointer-events', 'none').select('path').datum({
32924
32873
  fill: 'black',
@@ -32930,17 +32879,15 @@ var sliderWidget = function sliderWidget(arg) {
32930
32879
  m_minus.append('circle').datum({
32931
32880
  fill: 'white',
32932
32881
  stroke: null
32933
- }).classed('geo-zoom-out', true).attr('cx', m_xscale(0)).attr('cy', m_yscale(1.0) + m_width - 2).attr('r', (m_width - 2) / 2).style({
32934
- cursor: 'pointer'
32935
- }).on('click', function () {
32882
+ }).classed('geo-zoom-out', true).attr('cx', m_xscale(0)).attr('cy', m_yscale(1.0) + m_width - 2).attr('r', (m_width - 2) / 2).style('cursor', 'pointer').on('click', function () {
32936
32883
  var z = map.zoom();
32937
32884
  map.transition({
32938
32885
  zoom: z - 1,
32939
- ease: d3.ease('cubic-in-out'),
32886
+ ease: d3.easeCubicInOut,
32940
32887
  duration: 500
32941
32888
  });
32942
- }).on('mousedown', function () {
32943
- d3.event.stopPropagation();
32889
+ }).on('mousedown', function (evt) {
32890
+ evt.stopPropagation();
32944
32891
  });
32945
32892
  put_icon(m_minusIcon, m_minus, m_xscale(0), m_yscale(1) + m_width - 2, m_width + 4).style('cursor', 'pointer').style('pointer-events', 'none').select('path').datum({
32946
32893
  fill: 'black',
@@ -32954,13 +32901,13 @@ var sliderWidget = function sliderWidget(arg) {
32954
32901
  * @param {boolean} [trans] Truthy for an animated transition.
32955
32902
  */
32956
32903
  function respond(evt, trans) {
32957
- var z = m_yscale.invert(d3.mouse(svg.node())[1]),
32904
+ var z = m_yscale.invert(d3.pointer(event, svg.node())[1]),
32958
32905
  zrange = map.zoomRange();
32959
32906
  z = (1 - z) * (zrange.max - zrange.min) + zrange.min;
32960
32907
  if (trans) {
32961
32908
  map.transition({
32962
32909
  zoom: z,
32963
- ease: d3.ease('cubic-in-out'),
32910
+ ease: d3.easeCubicInOut,
32964
32911
  duration: 500,
32965
32912
  done: m_this._update()
32966
32913
  });
@@ -32975,27 +32922,23 @@ var sliderWidget = function sliderWidget(arg) {
32975
32922
  svg.append('rect').datum({
32976
32923
  fill: 'white',
32977
32924
  stroke: 'black'
32978
- }).classed('geo-zoom-track', true).attr('x', m_xscale(0) - m_width / 6).attr('y', m_yscale(0)).attr('rx', m_width / 10).attr('ry', m_width / 10).attr('width', m_width / 3).attr('height', m_height - m_width * 3).style({
32979
- cursor: 'pointer'
32980
- }).on('click', function () {
32981
- respond(d3.event, true);
32925
+ }).classed('geo-zoom-track', true).attr('x', m_xscale(0) - m_width / 6).attr('y', m_yscale(0)).attr('rx', m_width / 10).attr('ry', m_width / 10).attr('width', m_width / 3).attr('height', m_height - m_width * 3).style('cursor', 'pointer').on('click', function (evt) {
32926
+ respond(evt, true);
32982
32927
  });
32983
32928
 
32984
32929
  // Create the nub
32985
32930
  m_nub = svg.append('rect').datum({
32986
32931
  fill: 'black',
32987
32932
  stroke: null
32988
- }).classed('geo-zoom-nub', true).attr('x', m_xscale(-4)).attr('y', m_yscale(0.5) - m_nubSize / 2).attr('rx', 3).attr('ry', 3).attr('width', m_width).attr('height', m_nubSize).style({
32989
- cursor: 'pointer'
32990
- }).on('mousedown', function () {
32933
+ }).classed('geo-zoom-nub', true).attr('x', m_xscale(-4)).attr('y', m_yscale(0.5) - m_nubSize / 2).attr('rx', 3).attr('ry', 3).attr('width', m_width).attr('height', m_nubSize).style('cursor', 'pointer').on('mousedown', function (evt) {
32991
32934
  d3.select(document).on('mousemove.geo.slider', function () {
32992
- respond(d3.event);
32935
+ respond(evt);
32993
32936
  });
32994
32937
  d3.select(document).on('mouseup.geo.slider', function () {
32995
- respond(d3.event);
32938
+ respond(evt);
32996
32939
  d3.select(document).on('.geo.slider', null);
32997
32940
  });
32998
- d3.event.stopPropagation();
32941
+ evt.stopPropagation();
32999
32942
  });
33000
32943
 
33001
32944
  /**
@@ -33050,7 +32993,7 @@ var sliderWidget = function sliderWidget(arg) {
33050
32993
  var map = m_this.layer().map(),
33051
32994
  zoomRange = map.zoomRange(),
33052
32995
  zoom = map.zoom(),
33053
- zoomScale = d3.scale.linear();
32996
+ zoomScale = d3.scaleLinear();
33054
32997
  obj = obj || {};
33055
32998
  zoom = obj.value || zoom;
33056
32999
  zoomScale.domain([zoomRange.min, zoomRange.max]).range([1, 0]).clamp(true);
@@ -33149,7 +33092,7 @@ var svgWidget = function svgWidget(arg) {
33149
33092
 
33150
33093
  // svg widgets manage their own sizes, so make the resize handler a no-op
33151
33094
  m_renderer._resize = function () {};
33152
- m_this.canvas(m_renderer.canvas()[0][0]);
33095
+ m_this.canvas(m_renderer.canvas().node());
33153
33096
  };
33154
33097
  return this;
33155
33098
  };
@@ -36956,7 +36899,7 @@ module.exports = vectorFeature;
36956
36899
  * @constant
36957
36900
  * @type {string}
36958
36901
  */
36959
- module.exports = "1.11.2";
36902
+ module.exports = "1.12.0";
36960
36903
 
36961
36904
  /***/ }),
36962
36905
 
@@ -42680,7 +42623,6 @@ var webgl_lineFeature = function webgl_lineFeature(arg) {
42680
42623
  farBuf[dest3 + 1] = position[v2[nextkey] + 1];
42681
42624
  farBuf[dest3 + 2] = 0; // position[v2[nextkey] + 2];
42682
42625
  }
42683
-
42684
42626
  if (updateFlags) {
42685
42627
  offkey = !orderk0 ? 'negStrokeOffset' : 'posStrokeOffset';
42686
42628
  flagsBuf[dest] = order[k][3] + v1.flags * flagsNearLineMult + v2.flags * flagsFarLineMult + v1[offkey] * flagsNearOffsetMult;
@@ -43187,7 +43129,6 @@ var webgl_markerFeature = function webgl_markerFeature(arg) {
43187
43129
  // ignore the z values until we support them
43188
43130
  position[i3 + 2] = 0; // posVal.z || 0;
43189
43131
  }
43190
-
43191
43132
  position = transform.transformCoordinates(m_this.gcs(), m_this.layer().map().gcs(), position, 3);
43192
43133
  m_origin = new Float32Array(m_this.style.get('origin')(position));
43193
43134
  if (m_origin[0] || m_origin[1] || m_origin[2]) {
@@ -44204,7 +44145,6 @@ var webgl_pointFeature = function webgl_pointFeature(arg) {
44204
44145
  // ignore the z values until we support them
44205
44146
  position[i3 + 2] = 0; // posVal.z || 0;
44206
44147
  }
44207
-
44208
44148
  position = transform.transformCoordinates(m_this.gcs(), m_this.layer().map().gcs(), position, 3);
44209
44149
  m_origin = new Float32Array(m_this.style.get('origin')(position));
44210
44150
  if (m_origin[0] || m_origin[1] || m_origin[2]) {
@@ -44832,7 +44772,6 @@ var webgl_polygonFeature = function webgl_polygonFeature(arg) {
44832
44772
  // ignore the z values until we support them
44833
44773
  geometry[d3 + 2] = 0; // c.z || 0;
44834
44774
  }
44835
-
44836
44775
  geometry = {
44837
44776
  vertices: geometry,
44838
44777
  dimensions: 3,
@@ -66317,6 +66256,12 @@ Datum_exports.hermannskogel = {
66317
66256
  datumName: "Hermannskogel"
66318
66257
  };
66319
66258
 
66259
+ Datum_exports.militargeographische_institut = {
66260
+ towgs84: "577.326,90.129,463.919,5.137,1.474,5.297,2.4232",
66261
+ ellipse: "bessel",
66262
+ datumName: "Militar-Geographische Institut"
66263
+ };
66264
+
66320
66265
  Datum_exports.osni52 = {
66321
66266
  towgs84: "482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",
66322
66267
  ellipse: "airy",
@@ -66429,9 +66374,6 @@ function nadgrid(key, data) {
66429
66374
  var view = new DataView(data);
66430
66375
  var isLittleEndian = detectLittleEndian(view);
66431
66376
  var header = readHeader(view, isLittleEndian);
66432
- if (header.nSubgrids > 1) {
66433
- console.log('Only single NTv2 subgrids are currently supported, subsequent sub grids are ignored');
66434
- }
66435
66377
  var subgrids = readSubgrids(view, header, isLittleEndian);
66436
66378
  var nadgrid = {header: header, subgrids: subgrids};
66437
66379
  loadedNadgrids[key] = nadgrid;
@@ -66518,6 +66460,7 @@ function readSubgrids(view, header, isLittleEndian) {
66518
66460
  count: subHeader.gridNodeCount,
66519
66461
  cvs: mapNodes(nodes)
66520
66462
  });
66463
+ gridOffset += 176 + subHeader.gridNodeCount * 16;
66521
66464
  }
66522
66465
  return grids;
66523
66466
  }
@@ -66714,6 +66657,7 @@ function applyGridShift(source, inverse, point) {
66714
66657
  var output = {x: Number.NaN, y: Number.NaN};
66715
66658
  var onlyMandatoryGrids = false;
66716
66659
  var attemptedGrids = [];
66660
+ outer:
66717
66661
  for (var i = 0; i < source.grids.length; i++) {
66718
66662
  var grid = source.grids[i];
66719
66663
  attemptedGrids.push(grid.name);
@@ -66729,19 +66673,22 @@ function applyGridShift(source, inverse, point) {
66729
66673
  }
66730
66674
  continue;
66731
66675
  }
66732
- var subgrid = grid.grid.subgrids[0];
66733
- // skip tables that don't match our point at all
66734
- var epsilon = (Math.abs(subgrid.del[1]) + Math.abs(subgrid.del[0])) / 10000.0;
66735
- var minX = subgrid.ll[0] - epsilon;
66736
- var minY = subgrid.ll[1] - epsilon;
66737
- var maxX = subgrid.ll[0] + (subgrid.lim[0] - 1) * subgrid.del[0] + epsilon;
66738
- var maxY = subgrid.ll[1] + (subgrid.lim[1] - 1) * subgrid.del[1] + epsilon;
66739
- if (minY > input.y || minX > input.x || maxY < input.y || maxX < input.x ) {
66740
- continue;
66741
- }
66742
- output = applySubgridShift(input, inverse, subgrid);
66743
- if (!isNaN(output.x)) {
66744
- break;
66676
+ var subgrids = grid.grid.subgrids;
66677
+ for (var j = 0, jj = subgrids.length; j < jj; j++) {
66678
+ var subgrid = subgrids[j];
66679
+ // skip tables that don't match our point at all
66680
+ var epsilon = (Math.abs(subgrid.del[1]) + Math.abs(subgrid.del[0])) / 10000.0;
66681
+ var minX = subgrid.ll[0] - epsilon;
66682
+ var minY = subgrid.ll[1] - epsilon;
66683
+ var maxX = subgrid.ll[0] + (subgrid.lim[0] - 1) * subgrid.del[0] + epsilon;
66684
+ var maxY = subgrid.ll[1] + (subgrid.lim[1] - 1) * subgrid.del[1] + epsilon;
66685
+ if (minY > input.y || minX > input.x || maxY < input.y || maxX < input.x ) {
66686
+ continue;
66687
+ }
66688
+ output = applySubgridShift(input, inverse, subgrid);
66689
+ if (!isNaN(output.x)) {
66690
+ break outer;
66691
+ }
66745
66692
  }
66746
66693
  }
66747
66694
  if (isNaN(output.x)) {
@@ -69240,7 +69187,7 @@ function inverse(p) {
69240
69187
  return p;
69241
69188
  }
69242
69189
 
69243
- var names = ["Extended_Transverse_Mercator", "Extended Transverse Mercator", "etmerc", "Transverse_Mercator", "Transverse Mercator", "tmerc"];
69190
+ var names = ["Extended_Transverse_Mercator", "Extended Transverse Mercator", "etmerc", "Transverse_Mercator", "Transverse Mercator", "Gauss Kruger", "Gauss_Kruger", "tmerc"];
69244
69191
  /* harmony default export */ var etmerc = ({
69245
69192
  init: init,
69246
69193
  forward: forward,
@@ -72514,6 +72461,8 @@ __webpack_require__.r(__webpack_exports__);
72514
72461
  /* harmony export */ });
72515
72462
  /* harmony import */ var _gauss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9326);
72516
72463
  /* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(759);
72464
+ /* harmony import */ var _common_hypot__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(110);
72465
+
72517
72466
 
72518
72467
 
72519
72468
 
@@ -72552,7 +72501,7 @@ function inverse(p) {
72552
72501
 
72553
72502
  p.x /= this.k0;
72554
72503
  p.y /= this.k0;
72555
- if ((rho = Math.sqrt(p.x * p.x + p.y * p.y))) {
72504
+ if ((rho = (0,_common_hypot__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(p.x, p.y))) {
72556
72505
  var c = 2 * Math.atan2(rho, this.R2);
72557
72506
  sinc = Math.sin(c);
72558
72507
  cosc = Math.cos(c);
@@ -73863,8 +73812,8 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
73863
73812
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
73864
73813
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
73865
73814
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
73866
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
73867
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
73815
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
73816
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
73868
73817
  var ARRAY_TYPES = [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array];
73869
73818
 
73870
73819
  /** @typedef {Int8ArrayConstructor | Uint8ArrayConstructor | Uint8ClampedArrayConstructor | Int16ArrayConstructor | Uint16ArrayConstructor | Int32ArrayConstructor | Uint32ArrayConstructor | Float32ArrayConstructor | Float64ArrayConstructor} TypedArrayConstructor */