@splunk/visualizations 24.3.2 → 24.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_Tooltip_Dark.png +0 -0
  2. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_basic.png +0 -0
  3. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_bubble_layer_geostats_by.png +0 -0
  4. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_scale_off.png +0 -0
  5. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_scale_unit_metric.png +0 -0
  6. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Map_Editor.png +0 -0
  7. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Additional_Cases.png +0 -0
  8. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Internal_Fields.png +0 -0
  9. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Mostly_null.png +0 -0
  10. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Restricted_Zoom.png +0 -0
  11. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Set_Map_tiles.png +0 -0
  12. package/Area.js +121 -65
  13. package/Area.js.map +1 -1
  14. package/Bar.js +121 -65
  15. package/Bar.js.map +1 -1
  16. package/Bubble.js +121 -65
  17. package/Bubble.js.map +1 -1
  18. package/ChoroplethSvg.js +142 -73
  19. package/ChoroplethSvg.js.map +1 -1
  20. package/Column.js +121 -65
  21. package/Column.js.map +1 -1
  22. package/Ellipse.js +121 -65
  23. package/Ellipse.js.map +1 -1
  24. package/FillerGauge.js +121 -65
  25. package/FillerGauge.js.map +1 -1
  26. package/Image.js +125 -69
  27. package/Image.js.map +1 -1
  28. package/Line.js +121 -65
  29. package/Line.js.map +1 -1
  30. package/LinkGraph.js +121 -65
  31. package/LinkGraph.js.map +1 -1
  32. package/Map.config.js +16 -6
  33. package/Map.config.js.map +1 -1
  34. package/Map.js +430 -126
  35. package/Map.js.map +1 -1
  36. package/Markdown.js +131 -75
  37. package/Markdown.js.map +1 -1
  38. package/MarkerGauge.js +135 -79
  39. package/MarkerGauge.js.map +1 -1
  40. package/ParallelCoordinates.js +140 -83
  41. package/ParallelCoordinates.js.map +1 -1
  42. package/Pie.js +133 -77
  43. package/Pie.js.map +1 -1
  44. package/Punchcard.js +144 -87
  45. package/Punchcard.js.map +1 -1
  46. package/Rectangle.js +129 -73
  47. package/Rectangle.js.map +1 -1
  48. package/Sankey.js +204 -148
  49. package/Sankey.js.map +1 -1
  50. package/Scatter.js +131 -75
  51. package/Scatter.js.map +1 -1
  52. package/SingleValue.js +160 -104
  53. package/SingleValue.js.map +1 -1
  54. package/SingleValueIcon.js +135 -78
  55. package/SingleValueIcon.js.map +1 -1
  56. package/SingleValueRadial.js +202 -146
  57. package/SingleValueRadial.js.map +1 -1
  58. package/Table.js +236 -180
  59. package/Table.js.map +1 -1
  60. package/common/utils/hocUtils.js +65 -9
  61. package/common/utils/hocUtils.js.map +1 -1
  62. package/common/withDashboardViz.js +68 -12
  63. package/common/withDashboardViz.js.map +1 -1
  64. package/package.json +9 -9
package/MarkerGauge.js CHANGED
@@ -87,7 +87,7 @@ module.exports =
87
87
  /******/
88
88
  /******/
89
89
  /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 203);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 204);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
@@ -195,7 +195,7 @@ var withFixedSizeContainer = function withFixedSizeContainer(Viz) {
195
195
 
196
196
  return React.createElement(FixSizeItem, {
197
197
  "data-test": "fix-size-item",
198
- "data-splunk-visualization-version": "24.3.2 - 1cf892b72",
198
+ "data-splunk-visualization-version": "24.3.5 - 8d7f16f22",
199
199
  width: width,
200
200
  height: height,
201
201
  backgroundColor: backgroundColor
@@ -243,13 +243,13 @@ exports.config = exports.computeVizProps = exports.PureMarkerGauge = void 0;
243
243
 
244
244
  var lodash_1 = __webpack_require__(2);
245
245
 
246
- var MarkerGauge_1 = __webpack_require__(204);
246
+ var MarkerGauge_1 = __webpack_require__(205);
247
247
 
248
- var config_1 = __webpack_require__(206);
248
+ var config_1 = __webpack_require__(207);
249
249
 
250
250
  exports.config = config_1.default;
251
251
 
252
- var withDashboardViz_1 = __webpack_require__(27);
252
+ var withDashboardViz_1 = __webpack_require__(28);
253
253
 
254
254
  var gaugeUtils_1 = __webpack_require__(74);
255
255
 
@@ -329,7 +329,7 @@ module.exports = require("@babel/runtime/helpers/typeof");
329
329
 
330
330
  /***/ }),
331
331
 
332
- /***/ 203:
332
+ /***/ 204:
333
333
  /***/ (function(module, exports, __webpack_require__) {
334
334
 
335
335
  "use strict";
@@ -372,7 +372,7 @@ Object.defineProperty(exports, "default", {
372
372
 
373
373
  /***/ }),
374
374
 
375
- /***/ 204:
375
+ /***/ 205:
376
376
  /***/ (function(module, exports, __webpack_require__) {
377
377
 
378
378
  "use strict";
@@ -413,7 +413,7 @@ var SizeAwareWrapper_1 = __webpack_require__(16);
413
413
 
414
414
  var Message_1 = __webpack_require__(9);
415
415
 
416
- var id_1 = __webpack_require__(205);
416
+ var id_1 = __webpack_require__(206);
417
417
 
418
418
  var gaugeUtils_1 = __webpack_require__(74);
419
419
 
@@ -743,14 +743,14 @@ exports.default = MarkerGauge;
743
743
 
744
744
  /***/ }),
745
745
 
746
- /***/ 205:
746
+ /***/ 206:
747
747
  /***/ (function(module, exports) {
748
748
 
749
749
  module.exports = require("@splunk/ui-utils/id");
750
750
 
751
751
  /***/ }),
752
752
 
753
- /***/ 206:
753
+ /***/ 207:
754
754
  /***/ (function(module, exports, __webpack_require__) {
755
755
 
756
756
  "use strict";
@@ -762,7 +762,7 @@ Object.defineProperty(exports, "__esModule", {
762
762
 
763
763
  var i18n_1 = __webpack_require__(3);
764
764
 
765
- var GaugeMarker_1 = __webpack_require__(207);
765
+ var GaugeMarker_1 = __webpack_require__(208);
766
766
 
767
767
  var schemaUtils_1 = __webpack_require__(14);
768
768
 
@@ -774,7 +774,7 @@ var Gauge_1 = __webpack_require__(96);
774
774
 
775
775
  var VizBehavior_1 = __webpack_require__(5);
776
776
 
777
- var VizCategory_1 = __webpack_require__(26);
777
+ var VizCategory_1 = __webpack_require__(27);
778
778
 
779
779
  var configUtils_1 = __webpack_require__(6);
780
780
 
@@ -1000,7 +1000,7 @@ exports.default = configUtils_1.enhanceConfig(config);
1000
1000
 
1001
1001
  /***/ }),
1002
1002
 
1003
- /***/ 207:
1003
+ /***/ 208:
1004
1004
  /***/ (function(module, exports) {
1005
1005
 
1006
1006
  module.exports = require("@splunk/react-icons/GaugeMarker");
@@ -1038,7 +1038,7 @@ var T = __webpack_require__(0);
1038
1038
 
1039
1039
  var lodash_1 = __webpack_require__(2);
1040
1040
 
1041
- var DataSource_1 = __webpack_require__(33);
1041
+ var DataSource_1 = __webpack_require__(34);
1042
1042
 
1043
1043
  exports.SortParamsPropTypes = T.shape({
1044
1044
  currentSortKey: T.string,
@@ -1163,6 +1163,40 @@ exports.getPaginationParams = getPaginationParams;
1163
1163
  "use strict";
1164
1164
 
1165
1165
 
1166
+ Object.defineProperty(exports, "__esModule", {
1167
+ value: true
1168
+ });
1169
+ exports.pickFieldFromJSONSchema = void 0;
1170
+
1171
+ var lodash_1 = __webpack_require__(2);
1172
+
1173
+ var pickFieldFromJSONSchema = function pickFieldFromJSONSchema(optionsSchema) {
1174
+ var fieldName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';
1175
+ return Object.keys(optionsSchema).reduce(function (accum, k) {
1176
+ if (lodash_1.has(optionsSchema[k], fieldName)) {
1177
+ accum[k] = optionsSchema[k][fieldName];
1178
+ } else if (lodash_1.get(optionsSchema, [k, 'type']) === 'object' && lodash_1.has(optionsSchema[k], 'properties')) {
1179
+ var nestedSchema = exports.pickFieldFromJSONSchema(optionsSchema[k].properties, fieldName);
1180
+
1181
+ if (!lodash_1.isEmpty(nestedSchema)) {
1182
+ accum[k] = nestedSchema;
1183
+ }
1184
+ }
1185
+
1186
+ return accum;
1187
+ }, {});
1188
+ };
1189
+
1190
+ exports.pickFieldFromJSONSchema = pickFieldFromJSONSchema;
1191
+
1192
+ /***/ }),
1193
+
1194
+ /***/ 26:
1195
+ /***/ (function(module, exports, __webpack_require__) {
1196
+
1197
+ "use strict";
1198
+
1199
+
1166
1200
  Object.defineProperty(exports, "__esModule", {
1167
1201
  value: true
1168
1202
  });
@@ -1246,7 +1280,7 @@ exports.default = FixedSizeContainer_1.default(IconPlaceholder);
1246
1280
 
1247
1281
  /***/ }),
1248
1282
 
1249
- /***/ 26:
1283
+ /***/ 27:
1250
1284
  /***/ (function(module, exports, __webpack_require__) {
1251
1285
 
1252
1286
  "use strict";
@@ -1275,7 +1309,7 @@ var VizCategory;
1275
1309
 
1276
1310
  /***/ }),
1277
1311
 
1278
- /***/ 27:
1312
+ /***/ 28:
1279
1313
  /***/ (function(module, exports, __webpack_require__) {
1280
1314
 
1281
1315
  "use strict";
@@ -1289,15 +1323,15 @@ var React = __webpack_require__(1);
1289
1323
 
1290
1324
  var lodash_1 = __webpack_require__(2);
1291
1325
 
1292
- var getSettingsFromThemedProps_1 = __webpack_require__(28);
1326
+ var getSettingsFromThemedProps_1 = __webpack_require__(29);
1293
1327
 
1294
- var Options_1 = __webpack_require__(29);
1328
+ var Options_1 = __webpack_require__(30);
1295
1329
 
1296
- var SanitizeProps_1 = __webpack_require__(30);
1330
+ var SanitizeProps_1 = __webpack_require__(31);
1297
1331
 
1298
1332
  var styled_components_1 = __webpack_require__(4);
1299
1333
 
1300
- var SplunkVisualization_1 = __webpack_require__(31);
1334
+ var SplunkVisualization_1 = __webpack_require__(32);
1301
1335
 
1302
1336
  var VizBehavior_1 = __webpack_require__(5);
1303
1337
 
@@ -1305,9 +1339,9 @@ var getSorting_1 = __webpack_require__(23);
1305
1339
 
1306
1340
  var getPagination_1 = __webpack_require__(24);
1307
1341
 
1308
- var useDeepMemo_1 = __webpack_require__(34);
1342
+ var useDeepMemo_1 = __webpack_require__(35);
1309
1343
 
1310
- var JSONSchemaUtils_1 = __webpack_require__(35);
1344
+ var JSONSchemaUtils_1 = __webpack_require__(25);
1311
1345
 
1312
1346
  var MissingPropsMessage_1 = __webpack_require__(36);
1313
1347
 
@@ -1369,7 +1403,7 @@ var withDashboardViz = function withDashboardViz(opts) {
1369
1403
  try {
1370
1404
  return Options_1.Options.evaluate({
1371
1405
  context: lodash_1.defaultsDeep({}, context, vizConfig.defaultContext),
1372
- options: hocUtils_1.deepMergeWithArrayOverrides({}, options, defaultOptions)
1406
+ options: hocUtils_1.deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions)
1373
1407
  }, dataSources, themeFunc);
1374
1408
  } catch (e) {
1375
1409
  // eslint-disable-next-line no-console
@@ -1500,35 +1534,35 @@ exports.default = withDashboardViz;
1500
1534
 
1501
1535
  /***/ }),
1502
1536
 
1503
- /***/ 28:
1537
+ /***/ 29:
1504
1538
  /***/ (function(module, exports) {
1505
1539
 
1506
1540
  module.exports = require("@splunk/themes/getSettingsFromThemedProps");
1507
1541
 
1508
1542
  /***/ }),
1509
1543
 
1510
- /***/ 29:
1544
+ /***/ 3:
1511
1545
  /***/ (function(module, exports) {
1512
1546
 
1513
- module.exports = require("@splunk/visualization-encoding/Options");
1547
+ module.exports = require("@splunk/ui-utils/i18n");
1514
1548
 
1515
1549
  /***/ }),
1516
1550
 
1517
- /***/ 3:
1551
+ /***/ 30:
1518
1552
  /***/ (function(module, exports) {
1519
1553
 
1520
- module.exports = require("@splunk/ui-utils/i18n");
1554
+ module.exports = require("@splunk/visualization-encoding/Options");
1521
1555
 
1522
1556
  /***/ }),
1523
1557
 
1524
- /***/ 30:
1558
+ /***/ 31:
1525
1559
  /***/ (function(module, exports) {
1526
1560
 
1527
1561
  module.exports = require("@splunk/visualizations-shared/SanitizeProps");
1528
1562
 
1529
1563
  /***/ }),
1530
1564
 
1531
- /***/ 31:
1565
+ /***/ 32:
1532
1566
  /***/ (function(module, exports, __webpack_require__) {
1533
1567
 
1534
1568
  "use strict";
@@ -1546,7 +1580,7 @@ var T = __webpack_require__(0);
1546
1580
 
1547
1581
  var lodash_1 = __webpack_require__(2);
1548
1582
 
1549
- var VizActionHandler_1 = __webpack_require__(32); // this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations
1583
+ var VizActionHandler_1 = __webpack_require__(33); // this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations
1550
1584
 
1551
1585
 
1552
1586
  exports.INITIAL_WIDTH = 250;
@@ -1680,7 +1714,7 @@ exports.default = SplunkVisualization;
1680
1714
 
1681
1715
  /***/ }),
1682
1716
 
1683
- /***/ 32:
1717
+ /***/ 33:
1684
1718
  /***/ (function(module, exports, __webpack_require__) {
1685
1719
 
1686
1720
  "use strict";
@@ -1718,7 +1752,7 @@ exports.DefaultVizActionHandler = DefaultVizActionHandler;
1718
1752
 
1719
1753
  /***/ }),
1720
1754
 
1721
- /***/ 33:
1755
+ /***/ 34:
1722
1756
  /***/ (function(module, exports, __webpack_require__) {
1723
1757
 
1724
1758
  "use strict";
@@ -1732,7 +1766,7 @@ exports.validSortDirs = ['asc', 'desc', 'none'];
1732
1766
 
1733
1767
  /***/ }),
1734
1768
 
1735
- /***/ 34:
1769
+ /***/ 35:
1736
1770
  /***/ (function(module, exports, __webpack_require__) {
1737
1771
 
1738
1772
  "use strict";
@@ -1778,40 +1812,6 @@ exports.useDeepMemo = useDeepMemo;
1778
1812
 
1779
1813
  /***/ }),
1780
1814
 
1781
- /***/ 35:
1782
- /***/ (function(module, exports, __webpack_require__) {
1783
-
1784
- "use strict";
1785
-
1786
-
1787
- Object.defineProperty(exports, "__esModule", {
1788
- value: true
1789
- });
1790
- exports.pickFieldFromJSONSchema = void 0;
1791
-
1792
- var lodash_1 = __webpack_require__(2);
1793
-
1794
- var pickFieldFromJSONSchema = function pickFieldFromJSONSchema(optionsSchema) {
1795
- var fieldName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';
1796
- return Object.keys(optionsSchema).reduce(function (accum, k) {
1797
- if (lodash_1.has(optionsSchema[k], fieldName)) {
1798
- accum[k] = optionsSchema[k][fieldName];
1799
- } else if (lodash_1.get(optionsSchema, [k, 'type']) === 'object' && lodash_1.has(optionsSchema[k], 'properties')) {
1800
- var nestedSchema = exports.pickFieldFromJSONSchema(optionsSchema[k].properties, fieldName);
1801
-
1802
- if (!lodash_1.isEmpty(nestedSchema)) {
1803
- accum[k] = nestedSchema;
1804
- }
1805
- }
1806
-
1807
- return accum;
1808
- }, {});
1809
- };
1810
-
1811
- exports.pickFieldFromJSONSchema = pickFieldFromJSONSchema;
1812
-
1813
- /***/ }),
1814
-
1815
1815
  /***/ 36:
1816
1816
  /***/ (function(module, exports, __webpack_require__) {
1817
1817
 
@@ -1914,7 +1914,7 @@ var Cover = styled_components_1.default.div.withConfig({
1914
1914
  componentId: "sc-1gsbnxb-0"
1915
1915
  })(["position:absolute;left:0;right:0;top:0;bottom:0;"]);
1916
1916
  var Blocker = styled_components_1.default.div.attrs({
1917
- 'data-splunk-visualization-version': "24.3.2 - 1cf892b72"
1917
+ 'data-splunk-visualization-version': "24.3.5 - 8d7f16f22"
1918
1918
  }).withConfig({
1919
1919
  displayName: "withEditModeCover__Blocker",
1920
1920
  componentId: "sc-1gsbnxb-1"
@@ -1960,7 +1960,7 @@ var React = __webpack_require__(1);
1960
1960
 
1961
1961
  var colorUtils_1 = __webpack_require__(11);
1962
1962
 
1963
- var IconPlaceholder_1 = __webpack_require__(25);
1963
+ var IconPlaceholder_1 = __webpack_require__(26);
1964
1964
 
1965
1965
  var VizBehavior_1 = __webpack_require__(5);
1966
1966
 
@@ -2306,7 +2306,7 @@ var _typeof = __webpack_require__(20);
2306
2306
  Object.defineProperty(exports, "__esModule", {
2307
2307
  value: true
2308
2308
  });
2309
- exports.deepMergeWithArrayOverrides = exports.extendStaticWrapperProps = void 0;
2309
+ exports.findClosestMatchFromDefaultList = exports.deepMergeWithArrayPrimitiveOverrides = exports.extendStaticWrapperProps = void 0;
2310
2310
 
2311
2311
  var lodash_1 = __webpack_require__(2);
2312
2312
  /**
@@ -2332,17 +2332,19 @@ var extendStaticWrapperProps = function extendStaticWrapperProps(_ref) {
2332
2332
  exports.extendStaticWrapperProps = extendStaticWrapperProps;
2333
2333
  /**
2334
2334
  * helper to deeply merge objects while preserving arrays in earlier source objects
2335
- * deeply nested primitive keys are merged similarly to lodash's defaultsDeep, while keys with arrays will be preserved if already present in the resultant merged object
2336
- * this prevents default arrays from appending values to user-defined arrays (this occurs if the default array is longer than the user-defined one)
2335
+ * deeply nested primitive keys are merged similarly to lodash's defaultsDeep, while keys with arrays of primitives will be preserved if already present in the resultant merged object
2336
+ * this prevents default arrays of primitives from appending values to user-defined arrays (this occurs if the default array is longer than the user-defined one).
2337
+ * Array of objects gets merged with the defaults, where the defaults can be an array of objects. Closest matching default object from the defaults list based on key - value pair
2338
+ * will be used for merging defaults for each object in the array. If no closest match found, first object in default array list used for merging.
2337
2339
  *
2338
- * @method deepMergeWithArrayOverrides
2340
+ * @method deepMergeWithArrayPrimitiveOverrides
2339
2341
  * @param {Object} initial - target object to merge values into
2340
2342
  * @param {Object[]} sources - other default options to be merged into the resultant object if no explicit value is provided, with earlier args taking precedence over later ones
2341
2343
  *
2342
2344
  * @returns {Object}
2343
2345
  */
2344
2346
 
2345
- var deepMergeWithArrayOverrides = function deepMergeWithArrayOverrides(initial) {
2347
+ var deepMergeWithArrayPrimitiveOverrides = function deepMergeWithArrayPrimitiveOverrides(initial) {
2346
2348
  var clone = lodash_1.cloneDeep(initial);
2347
2349
 
2348
2350
  for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
@@ -2353,18 +2355,72 @@ var deepMergeWithArrayOverrides = function deepMergeWithArrayOverrides(initial)
2353
2355
  Object.keys(sourceToApply).forEach(function (sourceKey) {
2354
2356
  if (!Object.prototype.hasOwnProperty.call(clone, sourceKey)) {
2355
2357
  clone[sourceKey] = lodash_1.cloneDeep(sourceToApply[sourceKey]);
2356
- } // object merging excluding arrays
2357
-
2358
+ }
2358
2359
 
2359
2360
  if (clone[sourceKey] && _typeof(clone[sourceKey]) === 'object' && !Array.isArray(clone[sourceKey]) && _typeof(sourceToApply[sourceKey]) === 'object') {
2360
- clone[sourceKey] = exports.deepMergeWithArrayOverrides(clone[sourceKey], sourceToApply[sourceKey]);
2361
+ clone[sourceKey] = exports.deepMergeWithArrayPrimitiveOverrides(clone[sourceKey], sourceToApply[sourceKey]);
2362
+ } else if (Array.isArray(clone[sourceKey]) && _typeof(clone[sourceKey][0]) === 'object' && !Array.isArray(clone[sourceKey][0])) {
2363
+ // If option is an array of objects
2364
+ for (var i = 0; i < clone[sourceKey].length; i += 1) {
2365
+ if (_typeof(clone[sourceKey][i]) === 'object') {
2366
+ var closestMatchIdx = exports.findClosestMatchFromDefaultList(sourceToApply[sourceKey], clone[sourceKey][i]);
2367
+
2368
+ if (closestMatchIdx > -1) {
2369
+ clone[sourceKey][i] = exports.deepMergeWithArrayPrimitiveOverrides(clone[sourceKey][i], sourceToApply[sourceKey][closestMatchIdx]);
2370
+ }
2371
+ }
2372
+ }
2361
2373
  }
2362
2374
  });
2363
2375
  });
2364
2376
  return clone;
2365
2377
  };
2366
2378
 
2367
- exports.deepMergeWithArrayOverrides = deepMergeWithArrayOverrides;
2379
+ exports.deepMergeWithArrayPrimitiveOverrides = deepMergeWithArrayPrimitiveOverrides;
2380
+ /**
2381
+ * Finds the closest matching object from the list, which has the max same key value pairs.
2382
+ * Returns the index of match if found, or -1
2383
+ * For eg :-
2384
+ const list = [{
2385
+ type: "marker",
2386
+ lat: "value1"
2387
+ }, {
2388
+ type: "bubble",
2389
+ size: "value2"
2390
+ }];
2391
+
2392
+ const obj = {
2393
+ type: 'bubble'
2394
+ };
2395
+
2396
+ findClosestMatch(list, obj) -> returns index 1.
2397
+ */
2398
+
2399
+ var findClosestMatchFromDefaultList = function findClosestMatchFromDefaultList(searchList, inputObj) {
2400
+ if (!Array.isArray(searchList) || searchList.length === 0) {
2401
+ return -1;
2402
+ }
2403
+
2404
+ var keys = Object.keys(inputObj);
2405
+ var maxMatchCnt = 0;
2406
+ var maxMatchIdx = 0;
2407
+ searchList.forEach(function (item, idx) {
2408
+ var matchCnt = 0;
2409
+ keys.forEach(function (key) {
2410
+ if (item[key] === inputObj[key]) {
2411
+ matchCnt += 1;
2412
+ }
2413
+ });
2414
+
2415
+ if (Math.max(maxMatchCnt, matchCnt) > maxMatchCnt) {
2416
+ maxMatchCnt = matchCnt;
2417
+ maxMatchIdx = idx;
2418
+ }
2419
+ });
2420
+ return maxMatchIdx;
2421
+ };
2422
+
2423
+ exports.findClosestMatchFromDefaultList = findClosestMatchFromDefaultList;
2368
2424
 
2369
2425
  /***/ }),
2370
2426