@splunk/visualization-context 26.4.1 → 27.1.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 (44) hide show
  1. package/BaseRegistry.js +227 -495
  2. package/BaseRegistry.js.map +7 -1
  3. package/DataSourceContext.js +55 -125
  4. package/DataSourceContext.js.map +7 -1
  5. package/EventsContext.js +54 -121
  6. package/EventsContext.js.map +7 -1
  7. package/FeatureFlagContext.js +55 -120
  8. package/FeatureFlagContext.js.map +7 -1
  9. package/FeatureFlags.js +27 -107
  10. package/FeatureFlags.js.map +7 -1
  11. package/GeoContext.js +55 -120
  12. package/GeoContext.js.map +7 -1
  13. package/GeoJsonProvider.js +26712 -303
  14. package/GeoJsonProvider.js.map +7 -1
  15. package/GeoRegistry.js +280 -691
  16. package/GeoRegistry.js.map +7 -1
  17. package/IconContext.js +55 -120
  18. package/IconContext.js.map +7 -1
  19. package/IconRegistry.js +256 -654
  20. package/IconRegistry.js.map +7 -1
  21. package/ImageContext.js +55 -120
  22. package/ImageContext.js.map +7 -1
  23. package/ImageRegistry.js +265 -660
  24. package/ImageRegistry.js.map +7 -1
  25. package/LocalIconProvider.js +206 -470
  26. package/LocalIconProvider.js.map +7 -1
  27. package/LocalImageProvider.js +143 -366
  28. package/LocalImageProvider.js.map +7 -1
  29. package/MapContext.js +103 -164
  30. package/MapContext.js.map +7 -1
  31. package/MessageContext.js +54 -121
  32. package/MessageContext.js.map +7 -1
  33. package/MockedProvider.js +146 -376
  34. package/MockedProvider.js.map +7 -1
  35. package/Provider.js +87 -276
  36. package/Provider.js.map +7 -1
  37. package/TimezoneContext.js +55 -122
  38. package/TimezoneContext.js.map +7 -1
  39. package/package.json +7 -16
  40. package/testDataURIs.js +37 -106
  41. package/testDataURIs.js.map +7 -1
  42. package/testSVG.js +27 -104
  43. package/testSVG.js.map +7 -1
  44. package/babel.config.js +0 -3
@@ -1 +1,7 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@babel/runtime/regenerator\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@babel/runtime/helpers/asyncToGenerator\"","webpack:///external \"@babel/runtime/helpers/getPrototypeOf\"","webpack:///external \"@splunk/visualization-context/Provider\"","webpack:///external \"@babel/runtime/helpers/inherits\"","webpack:///external \"@babel/runtime/helpers/possibleConstructorReturn\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///./src/BaseRegistry.js","webpack:///external \"@babel/runtime/helpers/get\"","webpack:///./src/ImageRegistry.js"],"names":["BaseRegistry","provider","_","console","cachedProvider","providerType","type","isDefault","url","id","obj","options","offset","count","ids","ImageRegistry","validMediaType","VALID_MEDIA_TYPES","regex"],"mappings":"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","file":"ImageRegistry.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 = 27);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/regenerator\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@babel/runtime/helpers/asyncToGenerator\");","module.exports = require(\"@babel/runtime/helpers/getPrototypeOf\");","module.exports = require(\"@splunk/visualization-context/Provider\");","module.exports = require(\"@babel/runtime/helpers/inherits\");","module.exports = require(\"@babel/runtime/helpers/possibleConstructorReturn\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","/* eslint-disable class-methods-use-this */\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Provider from '@splunk/visualization-context/Provider';\n\n/**\n * Base Registry\n */\nclass BaseRegistry {\n constructor() {\n this.cachedProviders = {};\n this.defaultProvider = null;\n }\n\n static create() {\n return new BaseRegistry();\n }\n\n /**\n * check whether user defined provider extends the base provider\n * @param {Provider} provider\n * @returns {Boolean}\n */\n isValidProvider(provider) {\n if (provider instanceof Provider) {\n return true;\n }\n throw new Error(_('Invalid Provider'));\n }\n\n /**\n * add default provider to cache\n * @param {Provider} provider\n */\n addDefaultProvider(provider) {\n if (this.isValidProvider(provider)) {\n this.addProvider(provider);\n this.defaultProvider = provider;\n }\n }\n\n /**\n * add provider to cache\n * @param {Provider} provider\n */\n addProvider(provider) {\n if (this.isValidProvider(provider)) {\n if (this.cachedProviders[provider.getType()]) {\n // eslint-disable-next-line\n console.warn(`The provider \"${provider.getType()}\" existed already.`);\n }\n this.cachedProviders[provider.getType()] = provider;\n }\n }\n\n /**\n * delete provider\n * @param {String} providerType\n */\n deleteProvider(providerType) {\n const cachedProvider = this.cachedProviders[providerType];\n if (!cachedProvider) {\n // eslint-disable-next-line\n console.warn(`The provider \"${providerType}\" does not existed`);\n return;\n }\n\n if (this.defaultProvider && providerType === this.defaultProvider.getType()) {\n this.defaultProvider = null;\n }\n delete this.cachedProviders[providerType];\n }\n\n /**\n * find provider from cache\n * @param {String} type\n * @returns {Provider} provider\n */\n findProvider(type) {\n const provider = this.cachedProviders[type];\n if (provider) {\n return provider;\n }\n throw new Error(_('Provider not found'));\n }\n\n /**\n * list all providers\n * @return {Object} provider = { type: 'local', isDefault: true }\n */\n listProviders() {\n return Object.keys(this.cachedProviders).map(type => ({\n type,\n isDefault: type === this.defaultProvider.getType(),\n }));\n }\n\n /**\n * check whether src is a http url or a url used for icon/image-registry (e.g. 'kvstore://image123')\n */\n isResourceURL(url) {\n if (!url || url.indexOf('://') < 0) {\n return false;\n }\n\n const { type } = this.parseURL(url);\n return type !== 'http' && type !== 'https';\n }\n\n /**\n * parse provider type and id from the url\n * @params {String} url 'kvstore://image123'\n * @returns {Object} obj\n * @returns {String} obj.type 'kvstore'\n * @returns {String} obj.id 'image123'\n */\n parseURL(url) {\n if (url) {\n const [type, id] = url.split('://');\n\n if (type && id) {\n return { type, id };\n }\n }\n throw new Error(_('Invalid url'));\n }\n\n /**\n * upload\n * @param {DataURI} dataURI\n * @param {Object} metaData\n * @param {String} providerType e.g. 'kvstore' or 'sui' or 'local'\n * @returns {String} id e.g. 'kvstore://image123'\n */\n async upload(dataURI, metaData, providerType) {\n if (providerType == null && this.defaultProvider == null) {\n throw new Error(_('No valid provider was found. Please add a provider'));\n }\n const provider = providerType ? this.findProvider(providerType) : this.defaultProvider;\n const id = await provider.upload(dataURI, metaData);\n return `${provider.getType()}://${id}`;\n }\n\n /**\n * get object by url\n * @param {String} url 'kvstore://image123'\n * @returns {Object} obj e.g. an image object or icon\n */\n async getByURL(url) {\n const { type, id } = this.parseURL(url);\n const provider = this.findProvider(type);\n const obj = await provider.getById(id);\n return obj;\n }\n\n /**\n * delete object by url\n * @param {String} url 'kvstore://image123' || 'sui://icon123'\n * @returns {Object} obj e.g. an image object or icon\n */\n async deleteByURL(url) {\n const { type, id } = this.parseURL(url);\n const provider = this.findProvider(type);\n const obj = await provider.deleteById(id);\n return obj;\n }\n\n /**\n * list all object ids\n * @params {String} providerType e.g. 'kvstore' or 'sui'\n * @params {Object} options\n * @returns {Array} ids\n */\n async listIds(providerType, options = { offset: 0, count: 100 }) {\n const provider = this.findProvider(providerType);\n const ids = await provider.listIds(options);\n return ids;\n }\n}\n\nexport default BaseRegistry;\n","module.exports = require(\"@babel/runtime/helpers/get\");","/* eslint-disable class-methods-use-this */\nimport { _ } from '@splunk/ui-utils/i18n';\nimport BaseRegistry from './BaseRegistry';\n\n/**\n * Image Registry\n */\nclass ImageRegistry extends BaseRegistry {\n static create() {\n return new ImageRegistry();\n }\n\n static VALID_MEDIA_TYPES = ['png', 'jpeg', 'svg', 'gif', 'webp'];\n\n /**\n * check if the the media type from the dataURI belongs to the supported types\n * @param {DataURI} dataURI\n * @returns {Boolean}\n */\n isValidMediaType(dataURI, validMediaType = ImageRegistry.VALID_MEDIA_TYPES) {\n return validMediaType.some(type => {\n const regex = `^data:image\\\\/${type === 'svg' ? `${type}\\\\+xml` : type};base64,.*$`;\n return new RegExp(regex).test(dataURI);\n });\n }\n\n /**\n * upload image if the image format is supported\n * @param {DataURI} dataURI\n * @param {Object} metaData\n * @param {String} providerType e.g. 'kvstore', or 'sui'\n * @returns {String} id e.g. 'kvstore://image123'\n */\n upload(dataURI, metaData, providerType, validMediaType = ImageRegistry.VALID_MEDIA_TYPES) {\n if (!this.isValidMediaType(dataURI, validMediaType)) {\n throw new Error(\n _(\n `The format of the uploaded file is not supported. Please upload ${validMediaType.join(\n ', '\n )}.`\n )\n );\n }\n\n return super.upload(dataURI, metaData, providerType);\n }\n}\n\nexport default ImageRegistry;\n"],"sourceRoot":""}
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/ImageRegistry.js", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/visualization-context/Provider", "src/BaseRegistry.js"],
4
+ "sourcesContent": ["/* eslint-disable class-methods-use-this */\nimport { _ } from '@splunk/ui-utils/i18n';\nimport BaseRegistry from './BaseRegistry';\n\n/**\n * Image Registry\n */\nclass ImageRegistry extends BaseRegistry {\n static create() {\n return new ImageRegistry();\n }\n\n static VALID_MEDIA_TYPES = ['png', 'jpeg', 'svg', 'gif', 'webp'];\n\n /**\n * check if the the media type from the dataURI belongs to the supported types\n * @param {DataURI} dataURI\n * @returns {Boolean}\n */\n isValidMediaType(dataURI, validMediaType = ImageRegistry.VALID_MEDIA_TYPES) {\n return validMediaType.some(type => {\n const regex = `^data:image\\\\/${type === 'svg' ? `${type}\\\\+xml` : type};base64,.*$`;\n return new RegExp(regex).test(dataURI);\n });\n }\n\n /**\n * upload image if the image format is supported\n * @param {DataURI} dataURI\n * @param {Object} metaData\n * @param {String} providerType e.g. 'kvstore', or 'sui'\n * @returns {String} id e.g. 'kvstore://image123'\n */\n upload(dataURI, metaData, providerType, validMediaType = ImageRegistry.VALID_MEDIA_TYPES) {\n if (!this.isValidMediaType(dataURI, validMediaType)) {\n throw new Error(\n _(\n `The format of the uploaded file is not supported. Please upload ${validMediaType.join(\n ', '\n )}.`\n )\n );\n }\n\n return super.upload(dataURI, metaData, providerType);\n }\n}\n\nexport default ImageRegistry;\n", "\nimport * as defaultImport from \"@splunk/ui-utils/i18n\";\nexport * from \"@splunk/ui-utils/i18n\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-context/Provider\";\nexport * from \"@splunk/visualization-context/Provider\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "/* eslint-disable class-methods-use-this */\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Provider from '@splunk/visualization-context/Provider';\n\n/**\n * Base Registry\n */\nclass BaseRegistry {\n constructor() {\n this.cachedProviders = {};\n this.defaultProvider = null;\n }\n\n static create() {\n return new BaseRegistry();\n }\n\n /**\n * check whether user defined provider extends the base provider\n * @param {Provider} provider\n * @returns {Boolean}\n */\n isValidProvider(provider) {\n if (provider instanceof Provider) {\n return true;\n }\n throw new Error(_('Invalid Provider'));\n }\n\n /**\n * add default provider to cache\n * @param {Provider} provider\n */\n addDefaultProvider(provider) {\n if (this.isValidProvider(provider)) {\n this.addProvider(provider);\n this.defaultProvider = provider;\n }\n }\n\n /**\n * add provider to cache\n * @param {Provider} provider\n */\n addProvider(provider) {\n if (this.isValidProvider(provider)) {\n if (this.cachedProviders[provider.getType()]) {\n // eslint-disable-next-line\n console.warn(`The provider \"${provider.getType()}\" existed already.`);\n }\n this.cachedProviders[provider.getType()] = provider;\n }\n }\n\n /**\n * delete provider\n * @param {String} providerType\n */\n deleteProvider(providerType) {\n const cachedProvider = this.cachedProviders[providerType];\n if (!cachedProvider) {\n // eslint-disable-next-line\n console.warn(`The provider \"${providerType}\" does not existed`);\n return;\n }\n\n if (this.defaultProvider && providerType === this.defaultProvider.getType()) {\n this.defaultProvider = null;\n }\n delete this.cachedProviders[providerType];\n }\n\n /**\n * find provider from cache\n * @param {String} type\n * @returns {Provider} provider\n */\n findProvider(type) {\n const provider = this.cachedProviders[type];\n if (provider) {\n return provider;\n }\n throw new Error(_('Provider not found'));\n }\n\n /**\n * list all providers\n * @return {Object} provider = { type: 'local', isDefault: true }\n */\n listProviders() {\n return Object.keys(this.cachedProviders).map(type => ({\n type,\n isDefault: type === this.defaultProvider.getType(),\n }));\n }\n\n /**\n * check whether src is a http url or a url used for icon/image-registry (e.g. 'kvstore://image123')\n */\n isResourceURL(url) {\n if (!url || url.indexOf('://') < 0) {\n return false;\n }\n\n const { type } = this.parseURL(url);\n return type !== 'http' && type !== 'https';\n }\n\n /**\n * parse provider type and id from the url\n * @params {String} url 'kvstore://image123'\n * @returns {Object} obj\n * @returns {String} obj.type 'kvstore'\n * @returns {String} obj.id 'image123'\n */\n parseURL(url) {\n if (url) {\n const [type, id] = url.split('://');\n\n if (type && id) {\n return { type, id };\n }\n }\n throw new Error(_('Invalid url'));\n }\n\n /**\n * upload\n * @param {DataURI} dataURI\n * @param {Object} metaData\n * @param {String} providerType e.g. 'kvstore' or 'sui' or 'local'\n * @returns {String} id e.g. 'kvstore://image123'\n */\n async upload(dataURI, metaData, providerType) {\n if (providerType == null && this.defaultProvider == null) {\n throw new Error(_('No valid provider was found. Please add a provider'));\n }\n const provider = providerType ? this.findProvider(providerType) : this.defaultProvider;\n const id = await provider.upload(dataURI, metaData);\n return `${provider.getType()}://${id}`;\n }\n\n /**\n * get object by url\n * @param {String} url 'kvstore://image123'\n * @returns {Object} obj e.g. an image object or icon\n */\n async getByURL(url) {\n const { type, id } = this.parseURL(url);\n const provider = this.findProvider(type);\n const obj = await provider.getById(id);\n return obj;\n }\n\n /**\n * delete object by url\n * @param {String} url 'kvstore://image123' || 'sui://icon123'\n * @returns {Object} obj e.g. an image object or icon\n */\n async deleteByURL(url) {\n const { type, id } = this.parseURL(url);\n const provider = this.findProvider(type);\n const obj = await provider.deleteById(id);\n return obj;\n }\n\n /**\n * list all object ids\n * @params {String} providerType e.g. 'kvstore' or 'sui'\n * @params {Object} options\n * @returns {Array} ids\n */\n async listIds(providerType, options = { offset: 0, count: 100 }) {\n const provider = this.findProvider(providerType);\n const ids = await provider.listIds(options);\n return ids;\n }\n}\n\nexport default BaseRegistry;\n"],
5
+ "mappings": "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",
6
+ "names": ["defaultImport"]
7
+ }