@splunk/visualizations 26.4.0 → 27.0.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.
Files changed (152) hide show
  1. package/Area.config.js +1262 -1600
  2. package/Area.config.js.map +7 -1
  3. package/Area.js +3002 -4920
  4. package/Area.js.map +7 -1
  5. package/Bar.config.js +1247 -1574
  6. package/Bar.config.js.map +7 -1
  7. package/Bar.js +2924 -4836
  8. package/Bar.js.map +7 -1
  9. package/Bubble.config.js +896 -1213
  10. package/Bubble.config.js.map +7 -1
  11. package/Bubble.js +2520 -4476
  12. package/Bubble.js.map +7 -1
  13. package/ChoroplethSvg.config.js +282 -582
  14. package/ChoroplethSvg.config.js.map +7 -1
  15. package/ChoroplethSvg.js +2004 -3810
  16. package/ChoroplethSvg.js.map +7 -1
  17. package/Column.config.js +1208 -1541
  18. package/Column.config.js.map +7 -1
  19. package/Column.js +2933 -4879
  20. package/Column.js.map +7 -1
  21. package/Ellipse.config.js +443 -774
  22. package/Ellipse.config.js.map +7 -1
  23. package/Ellipse.js +1651 -3341
  24. package/Ellipse.js.map +7 -1
  25. package/Events.config.js +207 -492
  26. package/Events.config.js.map +7 -1
  27. package/Events.js +2615 -4649
  28. package/Events.js.map +7 -1
  29. package/FillerGauge.config.js +420 -775
  30. package/FillerGauge.config.js.map +7 -1
  31. package/FillerGauge.js +2137 -4578
  32. package/FillerGauge.js.map +7 -1
  33. package/Image.config.js +144 -411
  34. package/Image.config.js.map +7 -1
  35. package/Image.js +1395 -3048
  36. package/Image.js.map +7 -1
  37. package/Line.config.js +1278 -1625
  38. package/Line.config.js.map +7 -1
  39. package/Line.js +2957 -4919
  40. package/Line.js.map +7 -1
  41. package/LinkGraph.config.js +390 -632
  42. package/LinkGraph.config.js.map +7 -1
  43. package/LinkGraph.js +5243 -6190
  44. package/LinkGraph.js.map +7 -1
  45. package/MIGRATION.md +12 -0
  46. package/Map.config.js +501 -801
  47. package/Map.config.js.map +7 -1
  48. package/Map.js +3369 -5676
  49. package/Map.js.map +7 -1
  50. package/Markdown.config.js +232 -528
  51. package/Markdown.config.js.map +7 -1
  52. package/Markdown.js +1645 -3216
  53. package/Markdown.js.map +7 -1
  54. package/MarkerGauge.config.js +308 -613
  55. package/MarkerGauge.config.js.map +7 -1
  56. package/MarkerGauge.js +2189 -4535
  57. package/MarkerGauge.js.map +7 -1
  58. package/ParallelCoordinates.config.js +282 -581
  59. package/ParallelCoordinates.config.js.map +7 -1
  60. package/ParallelCoordinates.js +2023 -4720
  61. package/ParallelCoordinates.js.map +7 -1
  62. package/Pie.config.js +278 -547
  63. package/Pie.config.js.map +7 -1
  64. package/Pie.js +1998 -3982
  65. package/Pie.js.map +7 -1
  66. package/Punchcard.config.js +291 -578
  67. package/Punchcard.config.js.map +7 -1
  68. package/Punchcard.js +2709 -5042
  69. package/Punchcard.js.map +7 -1
  70. package/Rectangle.config.js +455 -770
  71. package/Rectangle.config.js.map +7 -1
  72. package/Rectangle.js +1638 -3262
  73. package/Rectangle.js.map +7 -1
  74. package/Sankey.config.js +291 -626
  75. package/Sankey.config.js.map +7 -1
  76. package/Sankey.js +2737 -4909
  77. package/Sankey.js.map +7 -1
  78. package/Scatter.config.js +876 -1194
  79. package/Scatter.config.js.map +7 -1
  80. package/Scatter.js +2532 -4470
  81. package/Scatter.js.map +7 -1
  82. package/SingleValue.config.js +819 -1251
  83. package/SingleValue.config.js.map +7 -1
  84. package/SingleValue.js +4203 -7413
  85. package/SingleValue.js.map +7 -1
  86. package/SingleValueBasic.js +382 -1527
  87. package/SingleValueBasic.js.map +7 -1
  88. package/SingleValueIcon.config.js +781 -1207
  89. package/SingleValueIcon.config.js.map +7 -1
  90. package/SingleValueIcon.js +3350 -6285
  91. package/SingleValueIcon.js.map +7 -1
  92. package/SingleValueRadial.config.js +708 -1119
  93. package/SingleValueRadial.config.js.map +7 -1
  94. package/SingleValueRadial.js +3808 -6965
  95. package/SingleValueRadial.js.map +7 -1
  96. package/SparkLine.js +439 -746
  97. package/SparkLine.js.map +7 -1
  98. package/Table.config.js +565 -887
  99. package/Table.config.js.map +7 -1
  100. package/Table.js +3277 -5386
  101. package/Table.js.map +7 -1
  102. package/common/Charting.js +484 -1462
  103. package/common/Charting.js.map +7 -1
  104. package/common/ChartingApi.js +46 -170
  105. package/common/ChartingApi.js.map +7 -1
  106. package/common/DocExampleWithVizSandbox.js +270 -473
  107. package/common/DocExampleWithVizSandbox.js.map +7 -1
  108. package/common/EventsDoc.js +172 -464
  109. package/common/EventsDoc.js.map +7 -1
  110. package/common/GaugeMajorTicks.js +249 -347
  111. package/common/GaugeMajorTicks.js.map +7 -1
  112. package/common/GaugeValueMarker.js +201 -311
  113. package/common/GaugeValueMarker.js.map +7 -1
  114. package/common/OptionsDoc.js +347 -912
  115. package/common/OptionsDoc.js.map +7 -1
  116. package/common/OverviewDoc.js +435 -769
  117. package/common/OverviewDoc.js.map +7 -1
  118. package/common/SplunkVisualization.js +116 -259
  119. package/common/SplunkVisualization.js.map +7 -1
  120. package/common/SplunkVisualizationApi.js +40 -156
  121. package/common/SplunkVisualizationApi.js.map +7 -1
  122. package/common/ThemesDoc.js +271 -420
  123. package/common/ThemesDoc.js.map +7 -1
  124. package/common/chartingUtils.js +140 -312
  125. package/common/chartingUtils.js.map +7 -1
  126. package/common/docUtils.js +148 -266
  127. package/common/docUtils.js.map +7 -1
  128. package/common/gaugeUtils.js +280 -808
  129. package/common/gaugeUtils.js.map +7 -1
  130. package/common/shapeUtils.js +106 -211
  131. package/common/shapeUtils.js.map +7 -1
  132. package/common/utils/configUtils.js +126 -252
  133. package/common/utils/configUtils.js.map +7 -1
  134. package/common/utils/dataUtils.js +217 -812
  135. package/common/utils/dataUtils.js.map +7 -1
  136. package/common/utils/featureFlagUtils.js +53 -133
  137. package/common/utils/featureFlagUtils.js.map +7 -1
  138. package/common/utils/hocUtils.js +32 -122
  139. package/common/utils/hocUtils.js.map +7 -1
  140. package/common/utils/mapUtils.js +502 -1337
  141. package/common/utils/mapUtils.js.map +7 -1
  142. package/common/utils/singleValueUtils.js +462 -1010
  143. package/common/utils/singleValueUtils.js.map +7 -1
  144. package/common/utils/testHelper.js +92 -146
  145. package/common/utils/testHelper.js.map +7 -1
  146. package/common/utils/trellisUtils.js +237 -489
  147. package/common/utils/trellisUtils.js.map +7 -1
  148. package/common/utils/urlUtils.js +28 -112
  149. package/common/utils/urlUtils.js.map +7 -1
  150. package/common/withDashboardViz.js +1168 -2438
  151. package/common/withDashboardViz.js.map +7 -1
  152. package/package.json +52 -43
@@ -1 +1,7 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///./src/common/utils/trellisUtils.ts","webpack:///external \"@splunk/visualizations-shared/trellisUtils\""],"names":[],"mappings":"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","file":"trellisUtils.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 58);\n","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","import { cloneDeep, omit } from 'lodash';\nimport { FieldEntry } from '@splunk/visualizations-shared/dataSourceUtils';\nimport {\n DataSplitMode,\n CHART,\n TIMECHART,\n STATS,\n UNKNOWN,\n extractDataSourceAggregationKeysChart,\n extractDataSourceAggregationKeysStats,\n extractSplitByFieldsChartFields,\n extractSplitByFieldsForStats,\n extractSplitByFieldsForUnknown,\n} from '@splunk/visualizations-shared/trellisUtils';\nimport { DataSource } from '../interfaces/DataSource';\n\nexport type SplitDataSource = { [key: string]: { [name: string]: DataSource } };\nexport interface DataSplitResult {\n splitDataSources: SplitDataSource;\n errorCode: 'UNKNOWN_DATA_SPLIT_MODE' | 'INVALID_SPLIT_BY_FIELD' | 'UNKNOWN';\n}\nexport const AGGREGATIONS = 'aggregations';\n\n/**\n * There can be certain SPL cmds that can produce dataSource without a specific field meta info (like group_by_rank, split_by_field etc),\n * to categorize it,\n * Example1:- `index = \"_internal\" | chart count`\n * Example2:- `index=_internal | chart avg(count), max(count)`\n * Example3:- `index = \"_internal\" | stats count`\n * Example4:- `index=_internal | stats avg(count), max(count)`\n */\nexport const dataSourcesSplitByAggregationsUnknown = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields;\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let errorCode = null;\n\n if (fields && fields.length) {\n splitDataSources = {};\n for (let i = 0; i < fields.length; i += 1) {\n const fieldName = (fields[i] as FieldEntry).name;\n if (!fieldName?.startsWith('_')) {\n splitDataSources[fieldName] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[fieldName].primary.data.fields = [fields[i]];\n splitDataSources[fieldName].primary.data.columns = [columns[i]];\n }\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByAggregationsTimechartAndChart = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields;\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n\n if (typeof fields[0] !== 'string') {\n splitByFields = extractDataSourceAggregationKeysChart(fields as FieldEntry[]);\n }\n\n if (splitByFields && splitByFields.length > 0) {\n splitDataSources = {};\n splitByFields.forEach(splitByField => {\n splitDataSources[splitByField] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[splitByField].primary.data.fields = [fields[0]];\n splitDataSources[splitByField].primary.data.columns = [columns[0]];\n fields.forEach((field: FieldEntry, idx) => {\n const fieldName = field?.name;\n if (\n fieldName !== '_time' &&\n !fieldName?.startsWith('_') &&\n field.data_source === splitByField\n ) {\n splitDataSources[splitByField].primary.data.fields.push(field);\n splitDataSources[splitByField].primary.data.columns.push(columns[idx]);\n }\n });\n });\n } else if ((!splitByFields || !splitByFields.length) && fields.length > 1) {\n // handle where data_source doesnot exist in fields\n // example1 :- index=_internal | timechart count\n // example2 :- index=_internal | timechart max(count) avg(count)\n splitDataSources = {};\n for (let i = 1; i < fields.length; i += 1) {\n const fieldName = (fields[i] as FieldEntry).name;\n if (!fieldName?.startsWith('_')) {\n splitDataSources[fieldName] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[fieldName].primary.data.fields = [fields[0], fields[i]];\n splitDataSources[fieldName].primary.data.columns = [columns[0], columns[i]];\n }\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByAggregationsStats = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields as FieldEntry[];\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields = extractDataSourceAggregationKeysStats(fields as FieldEntry[]);\n }\n\n if (splitByFields && splitByFields.length > 0) {\n splitDataSources = {};\n splitByFields.forEach(splitByField => {\n splitDataSources[splitByField] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[splitByField].primary.data.fields = [fields[0]];\n splitDataSources[splitByField].primary.data.columns = [columns[0]];\n const idx = fields.findIndex(field => field.name === splitByField);\n if (idx > 0) {\n splitDataSources[splitByField].primary.data.fields.push(fields[idx]);\n splitDataSources[splitByField].primary.data.columns.push(columns[idx]);\n }\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByModeTimechart = (\n dataSource: { [name: string]: DataSource },\n splitBy: string\n): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields as FieldEntry[];\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields = extractSplitByFieldsChartFields(fields as FieldEntry[]);\n }\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n splitDataSources = {};\n const dataSourceKeys = extractDataSourceAggregationKeysChart(fields);\n const valueKeys = [];\n for (let i = 1; i < fields.length; i += 1) {\n // not including internal fields\n if (!fields[i].name?.startsWith('_')) {\n valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);\n }\n }\n valueKeys.forEach(val => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [\n { name: fields[0].name },\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n splitDataSources[val].primary.data.columns = [[...columns[0]]];\n dataSourceKeys.forEach(dsKey => {\n fields.forEach((field, idx) => {\n if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {\n splitDataSources[val].primary.data.columns.push([...columns[idx]]);\n }\n });\n });\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByModeChart = (\n dataSource: { [name: string]: DataSource },\n splitBy: string\n): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields as FieldEntry[];\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields = extractSplitByFieldsChartFields(fields);\n }\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n splitDataSources = {};\n const splitByFieldIdx = splitByFields.findIndex(f => f === splitBy);\n const otherSplitBy = splitByFields.filter(f => f !== splitBy);\n const dataSourceKeys = extractDataSourceAggregationKeysChart(fields);\n const nonDataSourceAggregations = [];\n if (\n !dataSourceKeys.length &&\n fields[0].groupby_rank === '0' &&\n fields.length &&\n !fields[1].groupby_rank\n ) {\n /* check for another aggregation scenario where no key 'data_source' will be returned (applies for both chart and stats cmd)\n For example :-\n index=_internal | chart count by status\n index = \"_internal\" | chart max(count) avg(count) by status\n index = \"_internal\" | stats max(count) avg(count) by status\n where field meta info is in this format - \n \"fields\": [\n {\n \"name\": \"status\",\n \"groupby_rank\": \"0\"\n },\n {\n \"name\": \"max(count)\"\n },\n {\n \"name\": \"avg(count)\"\n }\n ]\n */\n\n for (let i = 1; i < fields.length; i += 1) {\n nonDataSourceAggregations.push(fields[i].name);\n }\n }\n if (splitByFieldIdx === 0) {\n // if splitBy is the first field, split row wise\n const valueKeys = cloneDeep(columns[0]);\n valueKeys.forEach((val, idx) => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [];\n if (otherSplitBy.length) {\n splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }]; // there can only be one otherSplitBy for chart cmd\n }\n if (dataSourceKeys.length) {\n const columnValues = [[]];\n splitDataSources[val].primary.data.fields = [\n ...splitDataSources[val].primary.data.fields,\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n dataSourceKeys.forEach(() => {\n columnValues.push([]);\n });\n /**\n * There can be chart SPL cmd where there are multiple data_source keys in the field meta info. \n * For eg - index = \"_internal\" | chart avg(count) max(count) by status , user) can result in fields and columns as below where \"data_source\" keys are \"avg(count)\" and \"max(count)\"\n * 'fields' : [\n {\n \"name\": \"status\",\n \"groupby_rank\": \"0\"\n },\n {\n \"name\": \"avg(count): userA\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userA\"\n },\n {\n \"name\": \"avg(count): userB\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userB\"\n },\n {\n \"name\": \"avg(count): userC\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userC\"\n },\n {\n \"name\": \"max(count): userA\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userA\"\n },\n {\n \"name\": \"max(count): userB\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userB\"\n },\n {\n \"name\": \"max(count): userC\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userC\"\n },\n ]\n 'columns' : [['200','303','304','400'], ['1','2','3','4'], ['10','20','30','40'], ['100','200','300','400'], ['5','6','7','8'], ['50','60','70','80'],['500','600','700','800']]\n\n In this case when we split row wise, the data_source keys for userA appears in indices [1, 4, ..], the data_source keys for userB appears in indices [2, 5, ..]\n The resulting dataSplit for status '200', will have the fields => ['user','avg(count)', 'max(count)'] columns => [['userA', 'userB', 'userC'],['1','10','100'], ['5', '50', '500'] ]\n\n For the example above for..loop below will iterate from i= 1 to 3 (Math.ceil((fields.length - 1) / dataSourceKeys.length)). Exclude i = 0 as first column is the splitBy input.\n Since there are 2 data_source keys 'avg(count)' and 'max(count)', dataSourceKeys.forEach loop will collect individual arrays specific to the columnValues[indx] as below. \n columnValues[0] = ['userA', 'userB', 'userC']\n columnValues[1] = ['1','10','100']\n columnValues[2] = ['5', '50', '500']\n */\n for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {\n columnValues[0].push(\n fields[i].splitby_value ? fields[i].splitby_value : fields[i].name\n );\n dataSourceKeys.forEach((dskey, dsIndx) => {\n const mul = (fields.length - 1) / dataSourceKeys.length; // This line does the index calculation\n columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);\n });\n }\n splitDataSources[val].primary.data.columns = columnValues;\n } else if (nonDataSourceAggregations.length) {\n // There can be SPL where data_source field metainfo is not available and needs special handling\n // For eg :-\n // index=_internal | chart count by status\n // index = \"_internal\" | chart max(count) avg(count) by status\n // index = \"_internal\" | stats max(count) avg(count) by status\n const columnValues = [];\n fields.forEach((aggregationField, fieldIdx) => {\n if (fieldIdx > 0) {\n splitDataSources[val].primary.data.fields.push(aggregationField);\n columnValues.push([columns[fieldIdx][idx]]);\n }\n });\n splitDataSources[val].primary.data.columns = columnValues;\n }\n });\n } else {\n // split column wise\n const valueKeys = [];\n for (let i = 1; i < fields.length; i += 1) {\n valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);\n }\n valueKeys.forEach(val => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [\n { name: otherSplitBy[0] },\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n splitDataSources[val].primary.data.columns = [[...columns[0]]];\n dataSourceKeys.forEach(dsKey => {\n fields.forEach((field, idx) => {\n if (\n field.data_source === dsKey &&\n (field.splitby_value === val || field.name === val)\n ) {\n splitDataSources[val].primary.data.columns.push([...columns[idx]]);\n }\n });\n });\n });\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\n/**\n * This method does datasplitting for 'stats' and generic cmds('makeresults','table' etc - categoried as 'unknown' splitMode).\n * The main difference is for 'stats' cmd possible splitBy fields have 'group_by_rank' in field meta info, whereas for 'unknown' cmd it can be any fieldnames\n */\nexport const dataSourcesSplitByModeStatsorUnknown = (\n dataSource: { [name: string]: DataSource },\n splitBy: string,\n splitMode?: DataSplitMode\n): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields;\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields =\n splitMode !== UNKNOWN\n ? extractSplitByFieldsForStats(fields as FieldEntry[])\n : extractSplitByFieldsForUnknown(fields as FieldEntry[]);\n }\n const splitByIndex = fields?.findIndex(\n field => field === splitBy || (field as FieldEntry).name === splitBy\n );\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n const splitByColumn = dataSource?.primary?.data?.columns[splitByIndex];\n splitDataSources = {};\n splitByColumn.forEach((val, idx) => {\n if (!splitDataSources[val]) {\n splitDataSources[val] = [idx];\n } else {\n splitDataSources[val].push(idx);\n }\n });\n const cloneFields = cloneDeep(fields);\n cloneFields.splice(splitByIndex, 1);\n const valueKeys = Object.keys(splitDataSources);\n valueKeys.forEach(val => {\n const valIndices = cloneDeep(splitDataSources[val]);\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = cloneFields;\n splitDataSources[val].primary.data.columns = [];\n columns.forEach((col, idx) => {\n if (idx !== splitByIndex) {\n const newCol = valIndices.map(valIdx => col[valIdx]);\n splitDataSources[val].primary.data.columns.push(newCol);\n }\n });\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const getTrellisDataSourcesBySplitMode = (\n splitMode: DataSplitMode,\n dataSources: { [name: string]: DataSource },\n trellisSplitBy: string\n): DataSplitResult => {\n let result: DataSplitResult = null;\n try {\n if (splitMode === TIMECHART) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsTimechartAndChart(dataSources)\n : dataSourcesSplitByModeTimechart(dataSources, trellisSplitBy);\n } else if (splitMode === STATS) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsStats(dataSources)\n : dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, STATS);\n } else if (splitMode === CHART) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsTimechartAndChart(dataSources)\n : dataSourcesSplitByModeChart(dataSources, trellisSplitBy);\n } else if (splitMode === UNKNOWN) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsUnknown(dataSources)\n : dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, UNKNOWN);\n }\n } catch (ex) {\n // eslint-disable-next-line no-console\n console.error('getTrellisDataSourcesBySplitMode ', ex);\n result = { splitDataSources: null, errorCode: 'UNKNOWN' };\n }\n return result;\n};\n","module.exports = require(\"@splunk/visualizations-shared/trellisUtils\");"],"sourceRoot":""}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/common/utils/trellisUtils.ts", "esm-externals:lodash", "esm-externals:@splunk/visualizations-shared/trellisUtils"],
4
+ "sourcesContent": ["import { cloneDeep, omit } from 'lodash';\nimport { FieldEntry } from '@splunk/visualizations-shared/dataSourceUtils';\nimport {\n DataSplitMode,\n CHART,\n TIMECHART,\n STATS,\n UNKNOWN,\n extractDataSourceAggregationKeysChart,\n extractDataSourceAggregationKeysStats,\n extractSplitByFieldsChartFields,\n extractSplitByFieldsForStats,\n extractSplitByFieldsForUnknown,\n} from '@splunk/visualizations-shared/trellisUtils';\nimport { DataSource } from '../interfaces/DataSource';\n\nexport type SplitDataSource = { [key: string]: { [name: string]: DataSource } };\nexport interface DataSplitResult {\n splitDataSources: SplitDataSource;\n errorCode: 'UNKNOWN_DATA_SPLIT_MODE' | 'INVALID_SPLIT_BY_FIELD' | 'UNKNOWN';\n}\nexport const AGGREGATIONS = 'aggregations';\n\n/**\n * There can be certain SPL cmds that can produce dataSource without a specific field meta info (like group_by_rank, split_by_field etc),\n * to categorize it,\n * Example1:- `index = \"_internal\" | chart count`\n * Example2:- `index=_internal | chart avg(count), max(count)`\n * Example3:- `index = \"_internal\" | stats count`\n * Example4:- `index=_internal | stats avg(count), max(count)`\n */\nexport const dataSourcesSplitByAggregationsUnknown = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields;\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let errorCode = null;\n\n if (fields && fields.length) {\n splitDataSources = {};\n for (let i = 0; i < fields.length; i += 1) {\n const fieldName = (fields[i] as FieldEntry).name;\n if (!fieldName?.startsWith('_')) {\n splitDataSources[fieldName] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[fieldName].primary.data.fields = [fields[i]];\n splitDataSources[fieldName].primary.data.columns = [columns[i]];\n }\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByAggregationsTimechartAndChart = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields;\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n\n if (typeof fields[0] !== 'string') {\n splitByFields = extractDataSourceAggregationKeysChart(fields as FieldEntry[]);\n }\n\n if (splitByFields && splitByFields.length > 0) {\n splitDataSources = {};\n splitByFields.forEach(splitByField => {\n splitDataSources[splitByField] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[splitByField].primary.data.fields = [fields[0]];\n splitDataSources[splitByField].primary.data.columns = [columns[0]];\n fields.forEach((field: FieldEntry, idx) => {\n const fieldName = field?.name;\n if (\n fieldName !== '_time' &&\n !fieldName?.startsWith('_') &&\n field.data_source === splitByField\n ) {\n splitDataSources[splitByField].primary.data.fields.push(field);\n splitDataSources[splitByField].primary.data.columns.push(columns[idx]);\n }\n });\n });\n } else if ((!splitByFields || !splitByFields.length) && fields.length > 1) {\n // handle where data_source doesnot exist in fields\n // example1 :- index=_internal | timechart count\n // example2 :- index=_internal | timechart max(count) avg(count)\n splitDataSources = {};\n for (let i = 1; i < fields.length; i += 1) {\n const fieldName = (fields[i] as FieldEntry).name;\n if (!fieldName?.startsWith('_')) {\n splitDataSources[fieldName] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[fieldName].primary.data.fields = [fields[0], fields[i]];\n splitDataSources[fieldName].primary.data.columns = [columns[0], columns[i]];\n }\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByAggregationsStats = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields as FieldEntry[];\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields = extractDataSourceAggregationKeysStats(fields as FieldEntry[]);\n }\n\n if (splitByFields && splitByFields.length > 0) {\n splitDataSources = {};\n splitByFields.forEach(splitByField => {\n splitDataSources[splitByField] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[splitByField].primary.data.fields = [fields[0]];\n splitDataSources[splitByField].primary.data.columns = [columns[0]];\n const idx = fields.findIndex(field => field.name === splitByField);\n if (idx > 0) {\n splitDataSources[splitByField].primary.data.fields.push(fields[idx]);\n splitDataSources[splitByField].primary.data.columns.push(columns[idx]);\n }\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByModeTimechart = (\n dataSource: { [name: string]: DataSource },\n splitBy: string\n): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields as FieldEntry[];\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields = extractSplitByFieldsChartFields(fields as FieldEntry[]);\n }\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n splitDataSources = {};\n const dataSourceKeys = extractDataSourceAggregationKeysChart(fields);\n const valueKeys = [];\n for (let i = 1; i < fields.length; i += 1) {\n // not including internal fields\n if (!fields[i].name?.startsWith('_')) {\n valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);\n }\n }\n valueKeys.forEach(val => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [\n { name: fields[0].name },\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n splitDataSources[val].primary.data.columns = [[...columns[0]]];\n dataSourceKeys.forEach(dsKey => {\n fields.forEach((field, idx) => {\n if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {\n splitDataSources[val].primary.data.columns.push([...columns[idx]]);\n }\n });\n });\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByModeChart = (\n dataSource: { [name: string]: DataSource },\n splitBy: string\n): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields as FieldEntry[];\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields = extractSplitByFieldsChartFields(fields);\n }\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n splitDataSources = {};\n const splitByFieldIdx = splitByFields.findIndex(f => f === splitBy);\n const otherSplitBy = splitByFields.filter(f => f !== splitBy);\n const dataSourceKeys = extractDataSourceAggregationKeysChart(fields);\n const nonDataSourceAggregations = [];\n if (\n !dataSourceKeys.length &&\n fields[0].groupby_rank === '0' &&\n fields.length &&\n !fields[1].groupby_rank\n ) {\n /* check for another aggregation scenario where no key 'data_source' will be returned (applies for both chart and stats cmd)\n For example :-\n index=_internal | chart count by status\n index = \"_internal\" | chart max(count) avg(count) by status\n index = \"_internal\" | stats max(count) avg(count) by status\n where field meta info is in this format - \n \"fields\": [\n {\n \"name\": \"status\",\n \"groupby_rank\": \"0\"\n },\n {\n \"name\": \"max(count)\"\n },\n {\n \"name\": \"avg(count)\"\n }\n ]\n */\n\n for (let i = 1; i < fields.length; i += 1) {\n nonDataSourceAggregations.push(fields[i].name);\n }\n }\n if (splitByFieldIdx === 0) {\n // if splitBy is the first field, split row wise\n const valueKeys = cloneDeep(columns[0]);\n valueKeys.forEach((val, idx) => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [];\n if (otherSplitBy.length) {\n splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }]; // there can only be one otherSplitBy for chart cmd\n }\n if (dataSourceKeys.length) {\n const columnValues = [[]];\n splitDataSources[val].primary.data.fields = [\n ...splitDataSources[val].primary.data.fields,\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n dataSourceKeys.forEach(() => {\n columnValues.push([]);\n });\n /**\n * There can be chart SPL cmd where there are multiple data_source keys in the field meta info. \n * For eg - index = \"_internal\" | chart avg(count) max(count) by status , user) can result in fields and columns as below where \"data_source\" keys are \"avg(count)\" and \"max(count)\"\n * 'fields' : [\n {\n \"name\": \"status\",\n \"groupby_rank\": \"0\"\n },\n {\n \"name\": \"avg(count): userA\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userA\"\n },\n {\n \"name\": \"avg(count): userB\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userB\"\n },\n {\n \"name\": \"avg(count): userC\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userC\"\n },\n {\n \"name\": \"max(count): userA\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userA\"\n },\n {\n \"name\": \"max(count): userB\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userB\"\n },\n {\n \"name\": \"max(count): userC\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userC\"\n },\n ]\n 'columns' : [['200','303','304','400'], ['1','2','3','4'], ['10','20','30','40'], ['100','200','300','400'], ['5','6','7','8'], ['50','60','70','80'],['500','600','700','800']]\n\n In this case when we split row wise, the data_source keys for userA appears in indices [1, 4, ..], the data_source keys for userB appears in indices [2, 5, ..]\n The resulting dataSplit for status '200', will have the fields => ['user','avg(count)', 'max(count)'] columns => [['userA', 'userB', 'userC'],['1','10','100'], ['5', '50', '500'] ]\n\n For the example above for..loop below will iterate from i= 1 to 3 (Math.ceil((fields.length - 1) / dataSourceKeys.length)). Exclude i = 0 as first column is the splitBy input.\n Since there are 2 data_source keys 'avg(count)' and 'max(count)', dataSourceKeys.forEach loop will collect individual arrays specific to the columnValues[indx] as below. \n columnValues[0] = ['userA', 'userB', 'userC']\n columnValues[1] = ['1','10','100']\n columnValues[2] = ['5', '50', '500']\n */\n for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {\n columnValues[0].push(\n fields[i].splitby_value ? fields[i].splitby_value : fields[i].name\n );\n dataSourceKeys.forEach((dskey, dsIndx) => {\n const mul = (fields.length - 1) / dataSourceKeys.length; // This line does the index calculation\n columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);\n });\n }\n splitDataSources[val].primary.data.columns = columnValues;\n } else if (nonDataSourceAggregations.length) {\n // There can be SPL where data_source field metainfo is not available and needs special handling\n // For eg :-\n // index=_internal | chart count by status\n // index = \"_internal\" | chart max(count) avg(count) by status\n // index = \"_internal\" | stats max(count) avg(count) by status\n const columnValues = [];\n fields.forEach((aggregationField, fieldIdx) => {\n if (fieldIdx > 0) {\n splitDataSources[val].primary.data.fields.push(aggregationField);\n columnValues.push([columns[fieldIdx][idx]]);\n }\n });\n splitDataSources[val].primary.data.columns = columnValues;\n }\n });\n } else {\n // split column wise\n const valueKeys = [];\n for (let i = 1; i < fields.length; i += 1) {\n valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);\n }\n valueKeys.forEach(val => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [\n { name: otherSplitBy[0] },\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n splitDataSources[val].primary.data.columns = [[...columns[0]]];\n dataSourceKeys.forEach(dsKey => {\n fields.forEach((field, idx) => {\n if (\n field.data_source === dsKey &&\n (field.splitby_value === val || field.name === val)\n ) {\n splitDataSources[val].primary.data.columns.push([...columns[idx]]);\n }\n });\n });\n });\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\n/**\n * This method does datasplitting for 'stats' and generic cmds('makeresults','table' etc - categoried as 'unknown' splitMode).\n * The main difference is for 'stats' cmd possible splitBy fields have 'group_by_rank' in field meta info, whereas for 'unknown' cmd it can be any fieldnames\n */\nexport const dataSourcesSplitByModeStatsorUnknown = (\n dataSource: { [name: string]: DataSource },\n splitBy: string,\n splitMode?: DataSplitMode\n): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields;\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields =\n splitMode !== UNKNOWN\n ? extractSplitByFieldsForStats(fields as FieldEntry[])\n : extractSplitByFieldsForUnknown(fields as FieldEntry[]);\n }\n const splitByIndex = fields?.findIndex(\n field => field === splitBy || (field as FieldEntry).name === splitBy\n );\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n const splitByColumn = dataSource?.primary?.data?.columns[splitByIndex];\n splitDataSources = {};\n splitByColumn.forEach((val, idx) => {\n if (!splitDataSources[val]) {\n splitDataSources[val] = [idx];\n } else {\n splitDataSources[val].push(idx);\n }\n });\n const cloneFields = cloneDeep(fields);\n cloneFields.splice(splitByIndex, 1);\n const valueKeys = Object.keys(splitDataSources);\n valueKeys.forEach(val => {\n const valIndices = cloneDeep(splitDataSources[val]);\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = cloneFields;\n splitDataSources[val].primary.data.columns = [];\n columns.forEach((col, idx) => {\n if (idx !== splitByIndex) {\n const newCol = valIndices.map(valIdx => col[valIdx]);\n splitDataSources[val].primary.data.columns.push(newCol);\n }\n });\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const getTrellisDataSourcesBySplitMode = (\n splitMode: DataSplitMode,\n dataSources: { [name: string]: DataSource },\n trellisSplitBy: string\n): DataSplitResult => {\n let result: DataSplitResult = null;\n try {\n if (splitMode === TIMECHART) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsTimechartAndChart(dataSources)\n : dataSourcesSplitByModeTimechart(dataSources, trellisSplitBy);\n } else if (splitMode === STATS) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsStats(dataSources)\n : dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, STATS);\n } else if (splitMode === CHART) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsTimechartAndChart(dataSources)\n : dataSourcesSplitByModeChart(dataSources, trellisSplitBy);\n } else if (splitMode === UNKNOWN) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsUnknown(dataSources)\n : dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, UNKNOWN);\n }\n } catch (ex) {\n // eslint-disable-next-line no-console\n console.error('getTrellisDataSourcesBySplitMode ', ex);\n result = { splitDataSources: null, errorCode: 'UNKNOWN' };\n }\n return result;\n};\n", "\nimport * as defaultImport from \"lodash\";\nexport * from \"lodash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/trellisUtils\";\nexport * from \"@splunk/visualizations-shared/trellisUtils\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n"],
5
+ "mappings": "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",
6
+ "names": ["trellisUtils_exports", "defaultImport"]
7
+ }
@@ -1,120 +1,36 @@
1
- /*!
2
- * Copyright © 2024 Splunk Inc.
3
- * SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
4
- * in part without a valid written license from Splunk Inc. is PROHIBITED.
5
- */
6
- module.exports =
7
- /******/ (function(modules) { // webpackBootstrap
8
- /******/ // The module cache
9
- /******/ var installedModules = {};
10
- /******/
11
- /******/ // The require function
12
- /******/ function __webpack_require__(moduleId) {
13
- /******/
14
- /******/ // Check if module is in cache
15
- /******/ if(installedModules[moduleId]) {
16
- /******/ return installedModules[moduleId].exports;
17
- /******/ }
18
- /******/ // Create a new module (and put it into the cache)
19
- /******/ var module = installedModules[moduleId] = {
20
- /******/ i: moduleId,
21
- /******/ l: false,
22
- /******/ exports: {}
23
- /******/ };
24
- /******/
25
- /******/ // Execute the module function
26
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
27
- /******/
28
- /******/ // Flag the module as loaded
29
- /******/ module.l = true;
30
- /******/
31
- /******/ // Return the exports of the module
32
- /******/ return module.exports;
33
- /******/ }
34
- /******/
35
- /******/
36
- /******/ // expose the modules object (__webpack_modules__)
37
- /******/ __webpack_require__.m = modules;
38
- /******/
39
- /******/ // expose the module cache
40
- /******/ __webpack_require__.c = installedModules;
41
- /******/
42
- /******/ // define getter function for harmony exports
43
- /******/ __webpack_require__.d = function(exports, name, getter) {
44
- /******/ if(!__webpack_require__.o(exports, name)) {
45
- /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
46
- /******/ }
47
- /******/ };
48
- /******/
49
- /******/ // define __esModule on exports
50
- /******/ __webpack_require__.r = function(exports) {
51
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
52
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
53
- /******/ }
54
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
55
- /******/ };
56
- /******/
57
- /******/ // create a fake namespace object
58
- /******/ // mode & 1: value is a module id, require it
59
- /******/ // mode & 2: merge all properties of value into the ns
60
- /******/ // mode & 4: return value when already ns object
61
- /******/ // mode & 8|1: behave like require
62
- /******/ __webpack_require__.t = function(value, mode) {
63
- /******/ if(mode & 1) value = __webpack_require__(value);
64
- /******/ if(mode & 8) return value;
65
- /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
66
- /******/ var ns = Object.create(null);
67
- /******/ __webpack_require__.r(ns);
68
- /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
69
- /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
70
- /******/ return ns;
71
- /******/ };
72
- /******/
73
- /******/ // getDefaultExport function for compatibility with non-harmony modules
74
- /******/ __webpack_require__.n = function(module) {
75
- /******/ var getter = module && module.__esModule ?
76
- /******/ function getDefault() { return module['default']; } :
77
- /******/ function getModuleExports() { return module; };
78
- /******/ __webpack_require__.d(getter, 'a', getter);
79
- /******/ return getter;
80
- /******/ };
81
- /******/
82
- /******/ // Object.prototype.hasOwnProperty.call
83
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
84
- /******/
85
- /******/ // __webpack_public_path__
86
- /******/ __webpack_require__.p = "";
87
- /******/
88
- /******/
89
- /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 60);
91
- /******/ })
92
- /************************************************************************/
93
- /******/ ({
94
-
95
- /***/ 60:
96
- /***/ (function(module, exports, __webpack_require__) {
97
-
98
- "use strict";
99
-
1
+ /* Copyright © 2020 Splunk Inc.
2
+ SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
3
+ in part without a valid written license from Splunk Inc. is PROHIBITED. */
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
100
21
 
101
- Object.defineProperty(exports, "__esModule", {
102
- value: true
22
+ // src/common/utils/urlUtils.ts
23
+ var urlUtils_exports = {};
24
+ __export(urlUtils_exports, {
25
+ isValidUrl: () => isValidUrl
103
26
  });
104
- exports.isValidUrl = void 0;
105
-
106
- var isValidUrl = function isValidUrl(value) {
27
+ module.exports = __toCommonJS(urlUtils_exports);
28
+ var isValidUrl = (value) => {
107
29
  try {
108
- var url = new URL(value);
30
+ const url = new URL(value);
109
31
  return !!url.protocol;
110
32
  } catch (err) {
111
33
  return false;
112
34
  }
113
35
  };
114
-
115
- exports.isValidUrl = isValidUrl;
116
-
117
- /***/ })
118
-
119
- /******/ });
120
- //# sourceMappingURL=urlUtils.js.map
36
+ //# sourceMappingURL=urlUtils.js.map
@@ -1 +1,7 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/common/utils/urlUtils.ts"],"names":[],"mappings":";;;;;;;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;;;AClFO,IAAM,UAAU,GAAG,SAAb,UAAa,CAAC,KAAD,EAAkB;AACxC,MAAI;AACA,QAAM,GAAG,GAAG,IAAI,GAAJ,CAAQ,KAAR,CAAZ;AACA,WAAO,CAAC,CAAC,GAAG,CAAC,QAAb;AACH,GAHD,CAGE,OAAO,GAAP,EAAY;AACV,WAAO,KAAP;AACH;AACJ,CAPM;;AAAM,qBAAU,UAAV,C","file":"urlUtils.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 60);\n","export const isValidUrl = (value: string) => {\n try {\n const url = new URL(value);\n return !!url.protocol;\n } catch (err) {\n return false;\n }\n};\n"],"sourceRoot":""}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/common/utils/urlUtils.ts"],
4
+ "sourcesContent": ["export const isValidUrl = (value: string) => {\n try {\n const url = new URL(value);\n return !!url.protocol;\n } catch (err) {\n return false;\n }\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,aAAa,CAAC,UAAkB;AACzC,MAAI;AACA,UAAM,MAAM,IAAI,IAAI,KAAK;AACzB,WAAO,CAAC,CAAC,IAAI;AAAA,EACjB,SAAS,KAAK;AACV,WAAO;AAAA,EACX;AACJ;",
6
+ "names": []
7
+ }