@gdacm/grafana-items 0.1.22 → 0.1.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -32,6 +32,8 @@ export { ThresholdStyle } from "./items/ThresholdStyle.js";
32
32
  export { FieldConfigCustomBarChart } from "./items/FieldConfigCustomBarChart.js";
33
33
  export { FieldConfigCustomGauge } from "./items/FieldConfigCustomGauge.js";
34
34
  export { FieldConfigCustomGeomap } from "./items/FieldConfigCustomGeomap.js";
35
+ export { StackableFieldConfig } from "./items/StackableFieldConfig.js";
36
+ export { FieldConfigCustomHistogram } from "./items/FieldConfigCustomHistogram.js";
35
37
  export { FieldConfigCustomPieChart } from "./items/FieldConfigCustomPieChart.js";
36
38
  export { LineStyle } from "./items/LineStyle.js";
37
39
  export { Stacking } from "./items/Stacking.js";
@@ -63,6 +65,7 @@ export { PanelOptionsGeomapLayer } from "./items/PanelOptionsGeomapLayer.js";
63
65
  export { PanelOptionsGeomapTooltip } from "./items/PanelOptionsGeomapTooltip.js";
64
66
  export { PanelOptionsGeomapView } from "./items/PanelOptionsGeomapView.js";
65
67
  export { PanelOptionsGeomap } from "./items/PanelOptionsGeomap.js";
68
+ export { PanelOptionsHistogram } from "./items/PanelOptionsHistogram.js";
66
69
  export { PieChartLegendOptions } from "./items/PieChartLegendOptions.js";
67
70
  export { PanelOptionsPieChart } from "./items/PanelOptionsPieChart.js";
68
71
  export { PanelOptionsStat } from "./items/PanelOptionsStat.js";
@@ -78,6 +81,7 @@ export { TextPanel } from "./items/TextPanel.js";
78
81
  export { BarChart } from "./items/BarChart.js";
79
82
  export { Gauge } from "./items/Gauge.js";
80
83
  export { Geomap } from "./items/Geomap.js";
84
+ export { Histogram } from "./items/Histogram.js";
81
85
  export { PieChart } from "./items/PieChart.js";
82
86
  export { FieldConfigCustomStat } from "./items/FieldConfigCustomStat.js";
83
87
  export { Stat } from "./items/Stat.js";
package/dist/index.js CHANGED
@@ -817,10 +817,10 @@ var GrafanaItemClassBuilder = class {
817
817
  }
818
818
  };
819
819
  /**
820
- * @template {GrafanaItem} C
820
+ * @template {GrafanaItem} P
821
821
  * @param {string} name
822
- * @param {typeof GrafanaItem} parent
823
- * @returns {GrafanaItemClassBuilder<C>}
822
+ * @param {MetaConstructor<P>} parent
823
+ * @returns {GrafanaItemClassBuilder<P>}
824
824
  */
825
825
  var defineGrafanaItemClass = (name, parent) => {
826
826
  const cls = class extends parent {};
@@ -1270,6 +1270,12 @@ var FieldConfigCustomGauge = defineGrafanaItemClass("FieldConfigCustomGauge", Fi
1270
1270
  //#region src/items/FieldConfigCustomGeomap.js
1271
1271
  var FieldConfigCustomGeomap = defineGrafanaItemClass("FieldConfigCustomGeomap", FieldConfigCustom).defineObject("hideFrom", HideFrom, { onDefault: (options) => new HideFrom(options).setLegend(false).setTooltip(false).setViz(false) }).asClass;
1272
1272
  //#endregion
1273
+ //#region src/items/StackableFieldConfig.js
1274
+ var StackableFieldConfig = defineGrafanaItemClass("StackableFieldConfig", GrafanaItem).defineValue("group", String).defineValue("mode", String).asClass;
1275
+ //#endregion
1276
+ //#region src/items/FieldConfigCustomHistogram.js
1277
+ var FieldConfigCustomHistogram = defineGrafanaItemClass("FieldConfigCustomHistogram", GrafanaItem).with((builder) => defineAxisConfig(builder)).with((builder) => defineHideableFieldConfig(builder)).defineValue("fillOpacity", Number).defineValue("gradientMode", String).defineValue("lineWidth", Number).defineObject("stacking", StackableFieldConfig).asClass;
1278
+ //#endregion
1273
1279
  //#region src/items/FieldConfigCustomPieChart.js
1274
1280
  var FieldConfigCustomPieChart = defineGrafanaItemClass("FieldConfigCustomPieChart", FieldConfigCustom).with((builder) => defineHideableFieldConfig(builder)).asClass;
1275
1281
  //#endregion
@@ -1381,6 +1387,9 @@ var PanelOptionsGeomapView = defineGrafanaItemClass("PanelOptionsGeomapView", Gr
1381
1387
  //#region src/items/PanelOptionsGeomap.js
1382
1388
  var PanelOptionsGeomap = defineGrafanaItemClass("PanelOptionsGeomap", PanelOptions).defineObject("basemap", PanelOptionsGeomapBasemap).defineObject("controls", PanelOptionsGeomapControls).defineArray("layers", PanelOptionsGeomapLayer).defineObject("tooltip", PanelOptionsGeomapTooltip).defineObject("view", PanelOptionsGeomapView).asClass;
1383
1389
  //#endregion
1390
+ //#region src/items/PanelOptionsHistogram.js
1391
+ var PanelOptionsHistogram = defineGrafanaItemClass("PanelOptionsHistogram", GrafanaItem).defineValue("bucketCount", Number).defineValue("bucketOffset", Number).defineValue("bucketSize", Number).defineValue("combine", Boolean).defineObject("legend", VizLegendOptions).defineObject("tooltip", VizTooltipOptions).asClass;
1392
+ //#endregion
1384
1393
  //#region src/items/PieChartLegendOptions.js
1385
1394
  var PieChartLegendOptions = defineGrafanaItemClass("PieChartLegendOptions", VizLegendOptions).defineBasicArray("values", String).asClass;
1386
1395
  //#endregion
@@ -1475,6 +1484,12 @@ var Gauge = defineGrafanaItemClass("Gauge", Panel).with((builder) => definePanel
1475
1484
  //#region src/items/Geomap.js
1476
1485
  var Geomap = defineGrafanaItemClass("Geomap", Panel).with((builder) => definePanel(builder, "geomap", FieldConfigCustomGeomap, PanelOptionsGeomap)).asClass;
1477
1486
  //#endregion
1487
+ //#region src/items/Histogram.js
1488
+ var Histogram = defineGrafanaItemClass("Histogram", Panel).with((builder) => definePanel(builder, "histogram", FieldConfigCustomHistogram, PanelOptionsHistogram, { onInit: (instance) => {
1489
+ instance.fieldConfig.defaults.setColorMode("palette-classic");
1490
+ instance.fieldConfig.defaults.thresholds.setMode("absolute");
1491
+ } })).asClass;
1492
+ //#endregion
1478
1493
  //#region src/items/PieChart.js
1479
1494
  var PieChart = defineGrafanaItemClass("PieChart", Panel).with((instance) => definePanel(instance, "piechart", FieldConfigCustomPieChart, PanelOptionsPieChart, { onInit: (instance) => {
1480
1495
  instance.fieldConfig.defaults.setColorMode("palette-classic");
@@ -1503,6 +1518,6 @@ code: (instance, mode) => {
1503
1518
  return instance;
1504
1519
  } }).asClass;
1505
1520
  //#endregion
1506
- export { Annotation, Annotations, BarChart, Color, Dashboard, DataTransformation, Datasource, DatasourceInfinity, FieldConfig, FieldConfigCustom, FieldConfigCustomBarChart, FieldConfigCustomGauge, FieldConfigCustomGeomap, FieldConfigCustomPieChart, FieldConfigCustomTable, FieldConfigCustomTableCellOptions, FieldConfigCustomTableFooter, FieldConfigCustomTimeSerie, FieldConfigDefault, FieldConfigOverride, Gauge, Geomap, GrafanaItem, GridPos, HideFrom, Influxdb, LineStyle, Link, Mapping, OverrideMatcher, OverrideMatcherOptionsByNames, OverrideProperty, Panel, PanelOptions, PanelOptionsBarChart, PanelOptionsGauge, PanelOptionsGaugeEffect, PanelOptionsGaugeReduceOptions, PanelOptionsGeomap, PanelOptionsGeomapBasemap, PanelOptionsGeomapControls, PanelOptionsGeomapLayer, PanelOptionsGeomapLayerConfig, PanelOptionsGeomapLayerConfigStyle, PanelOptionsGeomapLayerLocation, PanelOptionsGeomapTooltip, PanelOptionsGeomapView, PanelOptionsPieChart, PanelOptionsStat, PanelOptionsTable, PanelOptionsTableSortBy, PanelOptionsText, PanelOptionsTextCode, PanelOptionsTimeSeries, PieChart, PieChartLegendOptions, ScaleDistribution, Stacking, Stat, StyleColor, StyleRotation, StyleSize, StyleSymbol, StyleSymbolAlign, StyleTextConfig, Table, Target, TargetInfinity, Template, TemplateCurrent, TemplateOption, Templating, Testdata, TextPanel, ThresholdStyle, Thresholds, ThresholdsStep, TimePicker, TimeRange, TimeSeries, VizLegendOptions, VizTextDisplayOptions, VizTooltipOptions };
1521
+ export { Annotation, Annotations, BarChart, Color, Dashboard, DataTransformation, Datasource, DatasourceInfinity, FieldConfig, FieldConfigCustom, FieldConfigCustomBarChart, FieldConfigCustomGauge, FieldConfigCustomGeomap, FieldConfigCustomHistogram, FieldConfigCustomPieChart, FieldConfigCustomTable, FieldConfigCustomTableCellOptions, FieldConfigCustomTableFooter, FieldConfigCustomTimeSerie, FieldConfigDefault, FieldConfigOverride, Gauge, Geomap, GrafanaItem, GridPos, HideFrom, Histogram, Influxdb, LineStyle, Link, Mapping, OverrideMatcher, OverrideMatcherOptionsByNames, OverrideProperty, Panel, PanelOptions, PanelOptionsBarChart, PanelOptionsGauge, PanelOptionsGaugeEffect, PanelOptionsGaugeReduceOptions, PanelOptionsGeomap, PanelOptionsGeomapBasemap, PanelOptionsGeomapControls, PanelOptionsGeomapLayer, PanelOptionsGeomapLayerConfig, PanelOptionsGeomapLayerConfigStyle, PanelOptionsGeomapLayerLocation, PanelOptionsGeomapTooltip, PanelOptionsGeomapView, PanelOptionsHistogram, PanelOptionsPieChart, PanelOptionsStat, PanelOptionsTable, PanelOptionsTableSortBy, PanelOptionsText, PanelOptionsTextCode, PanelOptionsTimeSeries, PieChart, PieChartLegendOptions, ScaleDistribution, Stacking, Stat, StyleColor, StyleRotation, StyleSize, StyleSymbol, StyleSymbolAlign, StyleTextConfig, Table, Target, TargetInfinity, Template, TemplateCurrent, TemplateOption, Templating, Testdata, TextPanel, ThresholdStyle, Thresholds, ThresholdsStep, TimePicker, TimeRange, TimeSeries, VizLegendOptions, VizTextDisplayOptions, VizTooltipOptions };
1507
1522
 
1508
1523
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/utils/json.js","../src/utils/MetaClassRegistry.js","../src/utils/typesReference.js","../src/utils/typesDefinition.js","../src/utils/GrafanaItemClassBuilder.js","../src/items/GrafanaItem.js","../src/items/OverrideMatcher.js","../src/items/OverrideMatcherOptionsByNames.js","../src/items/OverrideProperty.js","../src/items/Datasource.js","../src/items/Annotation.js","../src/items/Annotations.js","../src/items/Color.js","../src/items/TimeRange.js","../src/items/GridPos.js","../src/items/FieldConfigCustom.js","../src/items/Mapping.js","../src/items/ThresholdsStep.js","../src/items/Thresholds.js","../src/items/FieldConfigDefault.js","../src/items/FieldConfigOverride.js","../src/items/HideFrom.js","../src/items/FieldConfig.js","../src/items/Target.js","../src/items/Link.js","../src/items/DataTransformation.js","../src/items/Panel.js","../src/items/TemplateCurrent.js","../src/items/TemplateOption.js","../src/items/Template.js","../src/items/Templating.js","../src/items/TimePicker.js","../src/torefactor/index.js","../src/items/Dashboard.js","../src/items/properties/datasource.js","../src/items/DatasourceInfinity.js","../src/items/ScaleDistribution.js","../src/items/properties/axisConfig.js","../src/items/properties/hideableFieldConfig.js","../src/items/ThresholdStyle.js","../src/items/FieldConfigCustomBarChart.js","../src/items/FieldConfigCustomGauge.js","../src/items/FieldConfigCustomGeomap.js","../src/items/FieldConfigCustomPieChart.js","../src/items/LineStyle.js","../src/items/Stacking.js","../src/items/FieldConfigCustomTimeSerie.js","../src/items/FieldConfigCustomTableCellOptions.js","../src/items/FieldConfigCustomTableFooter.js","../src/items/FieldConfigCustomTable.js","../src/items/Influxdb.js","../src/items/PanelOptions.js","../src/items/VizLegendOptions.js","../src/items/VizTooltipOptions.js","../src/items/VizTextDisplayOptions.js","../src/items/PanelOptionsBarChart.js","../src/items/PanelOptionsGaugeEffect.js","../src/items/PanelOptionsGaugeReduceOptions.js","../src/items/PanelOptionsGauge.js","../src/items/PanelOptionsGeomapBasemap.js","../src/items/PanelOptionsGeomapControls.js","../src/items/StyleColor.js","../src/items/StyleRotation.js","../src/items/StyleSize.js","../src/items/StyleSymbol.js","../src/items/StyleSymbolAlign.js","../src/items/StyleTextConfig.js","../src/items/PanelOptionsGeomapLayerConfigStyle.js","../src/items/PanelOptionsGeomapLayerConfig.js","../src/items/PanelOptionsGeomapLayerLocation.js","../src/items/PanelOptionsGeomapLayer.js","../src/items/PanelOptionsGeomapTooltip.js","../src/items/PanelOptionsGeomapView.js","../src/items/PanelOptionsGeomap.js","../src/items/PieChartLegendOptions.js","../src/items/PanelOptionsPieChart.js","../src/items/PanelOptionsStat.js","../src/items/PanelOptionsTableSortBy.js","../src/items/PanelOptionsTable.js","../src/items/PanelOptionsTextCode.js","../src/items/PanelOptionsText.js","../src/items/PanelOptionsTimeSeries.js","../src/items/TargetInfinity.js","../src/items/Testdata.js","../src/items/FieldConfigCustomText.js","../src/items/properties/panel.js","../src/items/TextPanel.js","../src/items/BarChart.js","../src/items/Gauge.js","../src/items/Geomap.js","../src/items/PieChart.js","../src/items/FieldConfigCustomStat.js","../src/items/Stat.js","../src/items/Table.js","../src/items/TimeSeries.js"],"sourcesContent":["import { GrafanaItem } from \"../items/GrafanaItem.js\";\r\n\r\n/**\r\n * Sort the keys of an object for consistent JSON representation.\r\n * @param {{[key: String]: any}} obj - The object to sort.\r\n * @returns {{[key: String]: any}} - The object with sorted keys.\r\n */\r\nconst sortKeys = (obj) => {\r\n return Object.fromEntries(Object.keys(obj).sort().map((key) => [key, obj[key]]))\r\n}\r\n\r\n/**\r\n * Convert an object to a JSON representation, sorting keys for consistency.\r\n * @param {GrafanaItem|{[key: String]: any}|Array<GrafanaItem|{[key: String]: any}|Number|String|Boolean>|Number|String|Boolean|null|undefined} obj - The object to convert to JSON.\r\n * @returns {Object|null|undefined} - The JSON representation of the object with sorted keys.\r\n */\r\nexport const asJson = (obj) => {\r\n if (obj instanceof GrafanaItem) {\r\n return sortKeys(obj.asJson());\r\n }\r\n\r\n if (Array.isArray(obj)) {\r\n return obj.map((item) => asJson(item));\r\n }\r\n\r\n if (Number.isInteger(obj) || typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || obj === null || Number.isFinite(obj)) {\r\n return obj;\r\n }\r\n\r\n if (obj === null || obj === undefined) {\r\n return obj;\r\n }\r\n\r\n return sortKeys(obj);\r\n}\r\n","/**\r\n * @typedef {import(\"@gdacm/base-types\").GenericMetaOptions} GenericMetaOptions\r\n */\r\n\r\n/**\r\n * @template T\r\n * @typedef {import(\"@gdacm/base-types\").MetaConstructor<T>} MetaConstructor\r\n */\r\n\r\n/**\r\n * @template {Object} T\r\n * @template {T} C\r\n * @typedef {{\r\n * methods: string[],\r\n * onInits: ((instance: C)=>void)[],\r\n * parentName: string|undefined,\r\n * parent: MetaConstructor<T>|undefined,\r\n * typeNamesToInclude: string[]\r\n * }} MetaClassInfo\r\n */\r\n\r\n/**\r\n * @template {Object} T\r\n */\r\nexport class MetaClassRegistry {\r\n constructor() {\r\n /**\r\n * @type {Map<MetaConstructor<T>, unknown>}\r\n */\r\n this.types = new Map();\r\n }\r\n\r\n /**\r\n * @template {T} C\r\n * @param {MetaConstructor<C>} cls\r\n * @param {MetaClassInfo<T,C>} info\r\n */\r\n set(cls, info) {\r\n this.types.set(cls, info);\r\n }\r\n\r\n /**\r\n * @template {T} C\r\n * @param {MetaConstructor<C>} cls\r\n * @returns {MetaClassInfo<T,C>}\r\n */\r\n get(cls) {\r\n const info = this.types.get(cls);\r\n\r\n if (info === undefined) {\r\n throw new Error(`MetaClassInfo not found for class ${cls.name}`);\r\n }\r\n\r\n return /** @type {MetaClassInfo<T,C>} */ (info);\r\n }\r\n\r\n /**\r\n * @template {T} C\r\n * @param {MetaConstructor<C>} cls\r\n * @returns {boolean}\r\n */\r\n has(cls) {\r\n return this.types.has(cls);\r\n }\r\n\r\n\r\n /**\r\n * @returns {MetaConstructor<T>[]} The keys of the types map\r\n */\r\n keys() {\r\n return [...this.types.keys()];\r\n }\r\n}\r\n","import { GrafanaItem } from \"../items/GrafanaItem.js\";\r\nimport { MetaClassRegistry } from \"./MetaClassRegistry.js\";\r\n\r\n/**\r\n * @typedef {import(\"@gdacm/base-types\").GenericMetaOptions} GenericMetaOptions\r\n */\r\n\r\n/**\r\n * @template T\r\n * @typedef {import(\"@gdacm/base-types\").MetaConstructor<T>} MetaConstructor\r\n */\r\n\r\n/**\r\n * @template {Object} T\r\n * @template {T} C\r\n * @typedef {import(\"./MetaClassRegistry.js\").MetaClassInfo<T,C>} MetaClassInfo\r\n */\r\n\r\n/**\r\n * @type {MetaClassRegistry<GrafanaItem>}\r\n */\r\nconst types = new MetaClassRegistry();\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @returns {boolean} Whether the type exists in the map\r\n */\r\nexport const hasType = (cls) => types.has(cls);\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @returns {MetaClassInfo<GrafanaItem,C>}\r\n */\r\nexport const getMetaClassInfo = (cls) => types.get(cls);\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @param {MetaClassInfo<GrafanaItem,C>} metaClassInfo\r\n */\r\nexport const setTypeMetaClassInfo = (cls, metaClassInfo) => types.set(cls, metaClassInfo);\r\n\r\n/**\r\n * @returns {Array<MetaConstructor<GrafanaItem>>}\r\n */\r\nexport const getTypesRegistryKeys = () => types.keys()\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @returns {Record<string, unknown>}\r\n */\r\nconst getPrototype = (cls) => (/** @type {Record<string, unknown>} */(cls.prototype));\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @param {string} name \r\n */\r\nfunction hasPrototype(cls, name) {\r\n return getPrototype(cls)[name] !== undefined;\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @param {string} name \r\n * @param {Function} value \r\n */\r\nfunction setPrototype(cls, name, value) {\r\n getPrototype(cls)[name] = value;\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} name \r\n * @param {(self: C) => any} getter \r\n */\r\nfunction setGetter(cls, name, getter) {\r\n Object.defineProperty(cls.prototype, name, {\r\n get() {\r\n return getter(this);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} name \r\n * @param {(instance: C, value: any) => void} setter \r\n */\r\nfunction setSetter(cls, name, setter) {\r\n Object.defineProperty(cls.prototype, name, {\r\n set(value) {\r\n return setter(this, value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} name \r\n * @param {(self: C) => any} getter \r\n * @param {(instance: C, value: any) => void} setter \r\n */\r\nfunction setGetterAndSetter(cls, name, getter, setter) {\r\n Object.defineProperty(cls.prototype, name, {\r\n get() {\r\n return getter(this);\r\n },\r\n set(value) {\r\n return setter(this, value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} typeName\r\n */\r\nexport const addTypeNameToInclude = (cls, typeName) => {\r\n const metaClassInfo = getMetaClassInfo(cls);\r\n if (metaClassInfo.typeNamesToInclude.includes(typeName) === false) {\r\n if (['String', 'Number', 'Boolean', 'Array', 'Object'].indexOf(typeName) === -1) {\r\n metaClassInfo.typeNamesToInclude.push(typeName);\r\n }\r\n }\r\n};\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {(typeof GrafanaItem)[]} [typesToInclude]\r\n */\r\nexport const addTypesToInclude = (cls, typesToInclude) => {\r\n if (typesToInclude !== undefined) {\r\n for (const type of typesToInclude) {\r\n addTypeNameToInclude(cls, type.name);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaClassInfo<GrafanaItem,C>} metaClassInfo\r\n * @param {string} signature \r\n */\r\nconst addSignatureOnMetaClassInfo = (metaClassInfo, signature) => {\r\n if (metaClassInfo.methods.includes(signature) === false) {\r\n metaClassInfo.methods.push(signature);\r\n }\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @param {string} signature \r\n */\r\nexport const addSignature = (cls, signature) => {\r\n const metaClassInfo = getMetaClassInfo(cls);\r\n addSignatureOnMetaClassInfo(metaClassInfo, signature);\r\n}\r\n\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @param {string} name \r\n * @param {string} postSignature\r\n * @param {Function} value \r\n */\r\nexport const setPrototypeWithSignature = (cls, name, postSignature, value) => {\r\n setPrototype(cls, name, value);\r\n addSignature(cls, `${name}${postSignature}`);\r\n};\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} name \r\n * @param {(self: C) => any} getter \r\n * @param {(instance: C, value: any) => void} setter \r\n * @param {string} typeName\r\n */\r\nexport function setGetterAndSetterWithSignature(cls, name, getter, setter, typeName) {\r\n setGetterAndSetter(cls, name, getter, setter);\r\n addSignature(cls, `get ${name}(): ${typeName};`);\r\n addSignature(cls, `set ${name}(value: ${typeName});`);\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} name \r\n * @param {(self: C) => any} getter \r\n * @param {string} typeName\r\n */\r\nexport function setGetterWithSignature(cls, name, getter, typeName) {\r\n setGetter(cls, name, getter);\r\n addSignature(cls, `get ${name}(): ${typeName};`);\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} name \r\n * @param {(instance: C, value: any) => void} setter \r\n * @param {string} typeName\r\n */\r\nexport function setSetterWithSignature(cls, name, setter, typeName) {\r\n setSetter(cls, name, setter);\r\n addSignature(cls, `set ${name}(value: ${typeName});`);\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {((instance: C) => void)|undefined} onInit\r\n */\r\nexport function addOnInit(cls, onInit) {\r\n const metaClassInfo = getMetaClassInfo(cls);\r\n if (onInit) {\r\n metaClassInfo.onInits.push(onInit);\r\n }\r\n}\r\n\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @returns {string}\r\n */\r\nexport function getType(cls) {\r\n const clsName = cls.name;\r\n const metaClassInfo = getMetaClassInfo(cls);\r\n\r\n return `export declare class ${clsName}${metaClassInfo.parentName ? \" extends \" : \"\"}${metaClassInfo.parentName || \"\"} {\r\n${metaClassInfo.methods.map((method) => ` ${method}`).join('\\n')}\r\n}\r\n`\r\n}\r\n\r\n/**\r\n * @returns {(string|string[]|undefined)[][]}\r\n */\r\nexport function getTypes() {\r\n /**\r\n * @type {MetaConstructor<GrafanaItem>[]}\r\n */\r\n return getTypesRegistryKeys()\r\n .map(\r\n (cls) => [\r\n cls.name, getType(cls), getMetaClassInfo(cls).parentName, getMetaClassInfo(cls).typeNamesToInclude\r\n ]);\r\n}\r\n","import { GrafanaItem } from \"../items/GrafanaItem.js\";\r\nimport { addOnInit, addSignature, addTypeNameToInclude, addTypesToInclude, setGetterAndSetterWithSignature, setGetterWithSignature, setPrototypeWithSignature, setSetterWithSignature } from \"./typesReference.js\";\r\n\r\n/**\r\n * @typedef {import(\"@gdacm/base-types\").GenericMetaOptions} GenericMetaOptions\r\n */\r\n\r\n/**\r\n * @template T\r\n * @typedef {import(\"@gdacm/base-types\").MetaConstructor<T>} MetaConstructor\r\n */\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} key \r\n * @param {Function} type\r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => unknown} [option.onDefault]\r\n * @param {String} [option.typeName]\r\n */\r\nexport function defineValue(cls, key, type, option) {\r\n const name = option?.name ? option.name : key;\r\n const caseName = name.charAt(0).toUpperCase() + name.slice(1);\r\n const typeName = option?.typeName ? option.typeName : type.name;\r\n\r\n addTypeNameToInclude(cls, type.name);\r\n\r\n setGetterWithSignature(cls, name, (self) => self._getValue(key), typeName);\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `set${caseName}`,\r\n `(${name}: ${typeName}): this;`,\r\n /**\r\n * @this C\r\n * @template T\r\n * @param {T} value\r\n * @returns {C}\r\n */\r\n function (value) {\r\n return this._setValue(key, value);\r\n }\r\n )\r\n\r\n addOnInit(cls, option?.onInit);\r\n\r\n if (option?.onDefault) {\r\n addOnInit(cls, (instance) => instance._setValue(key, option?.onDefault?.(instance.metaOptions)));\r\n }\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} key \r\n * @param {Function} type \r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => unknown} [option.onDefault]\r\n * @param {String} [option.typeName]\r\n */\r\nexport function defineBasicObject(cls, key, type, option) {\r\n const name = option?.name ? option.name : key;\r\n const caseName = name.charAt(0).toUpperCase() + name.slice(1);\r\n const typeName = option?.typeName ? option.typeName : type.name;\r\n\r\n addTypeNameToInclude(cls, type.name);\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `set${caseName}`,\r\n `(${name}: ${typeName}): this;`,\r\n /**\r\n * @this C\r\n * @template T\r\n * @param {T} value\r\n * @returns {C}\r\n */\r\n function (value) {\r\n return this._setObject(key, value);\r\n }\r\n );\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `with${caseName}`,\r\n `(onWith: (item: ${typeName}) => void): this;`,\r\n /**\r\n * @this C\r\n * @template {GrafanaItem} T\r\n * @param {(item: T) => void} onWith\r\n * @returns {C}\r\n */\r\n function (onWith) {\r\n const item = this._getObject(key);\r\n if (item) {\r\n onWith(item);\r\n }\r\n return this;\r\n }\r\n );\r\n\r\n setGetterWithSignature(cls, name, (self) => self._getObject(key), typeName);\r\n\r\n addOnInit(cls, option?.onInit);\r\n\r\n if (option?.onDefault) {\r\n addOnInit(cls, (instance) => instance._setObject(key, option?.onDefault?.(instance.metaOptions)))\r\n }\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @template {GrafanaItem} T\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} key \r\n * @param {MetaConstructor<T>} type\r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => T} [option.onDefault]\r\n * @param {String} [option.typeName]\r\n */\r\nexport function defineObject(cls, key, type, option) {\r\n const name = option?.name ? option.name : key;\r\n const caseName = name.charAt(0).toUpperCase() + name.slice(1);\r\n const typeName = option?.typeName ? option.typeName : type.name;\r\n\r\n addTypeNameToInclude(cls, type.name);\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `set${caseName}`,\r\n `(${name}: ${typeName}): this;`,\r\n /**\r\n * @this C\r\n * @param {T} value\r\n * @returns {C}\r\n */\r\n function (value) {\r\n return this._setGrafanaObject(key, type, value);\r\n }\r\n );\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `setNew${caseName}`,\r\n `(onNewCreated: ((item: ${typeName}) => ${typeName}) | undefined): this;`,\r\n /**\r\n * @this C\r\n * @param {(item: T) => T} [onNewCreated]\r\n * @returns {C}\r\n */\r\n function (onNewCreated) {\r\n if (!onNewCreated) {\r\n onNewCreated = (item) => item;\r\n }\r\n return this._setGrafanaObject(key, type, onNewCreated(new type(this.metaOptions)));\r\n }\r\n );\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `with${caseName}`,\r\n `(onWith: (item: ${typeName}) => void): this;`,\r\n /**\r\n * @this C\r\n * @param {(item: T) => void} onWith\r\n * @returns {C}\r\n */\r\n function (onWith) {\r\n const item = this._getGrafanaObject(key, type);\r\n if (item) {\r\n onWith(item);\r\n }\r\n return this;\r\n }\r\n )\r\n\r\n setGetterWithSignature(cls, name, (self) => self._getGrafanaObject(key, type), typeName);\r\n\r\n addOnInit(cls, option?.onInit);\r\n\r\n if (option?.onDefault) {\r\n addOnInit(cls, (instance) => {\r\n const x = option?.onDefault?.(instance.metaOptions)\r\n instance._setGrafanaObject(key, type, x);\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @template {GrafanaItem} T\r\n * @param {MetaConstructor<C>} cls\r\n * @param {string} key\r\n * @param {MetaConstructor<T>} type\r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {string} [option.itemName]\r\n * @param {boolean} [option.setEmpty]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => T[]} [option.onDefault]\r\n */\r\nexport function defineArray(cls, key, type, option) {\r\n const name = option?.name ? option.name : key;\r\n const caseName = name.charAt(0).toUpperCase() + name.slice(1);\r\n const itemName = option?.itemName ? option.itemName : (name.endsWith('s') ? name.slice(0, -1) : `${name}Item`);\r\n const caseItemName = itemName.charAt(0).toUpperCase() + itemName.slice(1);\r\n\r\n addTypeNameToInclude(cls, type.name);\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `init${caseName}`,\r\n `(): this;`,\r\n /**\r\n * @this C\r\n * @returns {C}\r\n */\r\n function () {\r\n return this._initArray(key);\r\n }\r\n )\r\n\r\n setGetterWithSignature(cls, name, (self) => self._getArray(key), `${type.name}[]`);\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `add${caseItemName}`,\r\n `(${itemName}: ${type.name}): this;`,\r\n /**\r\n * @this C\r\n * @param {T} item\r\n * @returns {C}\r\n */\r\n function (item) {\r\n return this._addArrayItem(key, item);\r\n }\r\n );\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `addNew${caseItemName}`,\r\n `(onNewCreated: (item: ${type.name}) => ${type.name}): this;`,\r\n /**\r\n * @this C\r\n * @param {(item: T) => T} onNewCreated\r\n * @returns {C}\r\n */\r\n function (onNewCreated) {\r\n return this._addArrayItem(key, onNewCreated(new type(this.metaOptions)));\r\n }\r\n );\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `with${caseName}`,\r\n `(onWith: (${name}: ${type.name}[]) => void): this;`,\r\n /**\r\n * @this C\r\n * @param {(array: T[]) => void} onWith\r\n * @returns {C}\r\n */\r\n function (onWith) {\r\n const array = this._getArray(key);\r\n if (array) {\r\n onWith(array);\r\n }\r\n return this;\r\n }\r\n )\r\n\r\n addOnInit(cls, option?.onInit);\r\n\r\n if (option?.onDefault) {\r\n addOnInit(cls, (instance) => option.onDefault\r\n ?.(instance.metaOptions)\r\n ?.forEach(\r\n item => instance._addArrayItem(key, item)\r\n )\r\n );\r\n }\r\n\r\n if (option?.setEmpty) {\r\n addOnInit(cls, (instance) => instance._initArray(key));\r\n }\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} key \r\n * @param {Function} type \r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {string} [option.itemName]\r\n * @param {boolean} [option.setEmpty]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => Object[]} [option.onDefault]\r\n */\r\nexport function defineBasicArray(cls, key, type, option) {\r\n const name = option?.name ? option.name : key;\r\n const caseName = name.charAt(0).toUpperCase() + name.slice(1);\r\n const itemName = option?.itemName ? option.itemName : (name.endsWith('s') ? name.slice(0, -1) : `${name}Item`);\r\n const caseItemName = itemName.charAt(0).toUpperCase() + itemName.slice(1);\r\n\r\n addTypeNameToInclude(cls, type.name);\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `init${caseName}`,\r\n `(): this;`,\r\n /**\r\n * @this C\r\n * @returns {C}\r\n */\r\n function () {\r\n return this._initArray(key);\r\n }\r\n )\r\n\r\n setGetterWithSignature(cls, name, (self) => self._getArray(key), `${type.name}[]`);\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `add${caseItemName}`,\r\n `(${itemName}: ${type.name}): this;`,\r\n /**\r\n * @this C\r\n * @template T\r\n * @param {T} item\r\n * @returns {C}\r\n */\r\n function (item) {\r\n return this._addArrayItem(key, item);\r\n }\r\n )\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `with${caseName}`,\r\n `(onWith: (${name}: ${type.name}[]) => void): this;`,\r\n /**\r\n * @this C\r\n * @template T\r\n * @param {(array: T[]) => void} onWith\r\n * @returns {C}\r\n */\r\n function (onWith) {\r\n const array = this._getArray(key);\r\n if (array) {\r\n onWith(array);\r\n }\r\n return this;\r\n }\r\n )\r\n\r\n addOnInit(cls, option?.onInit);\r\n\r\n if (option?.onDefault) {\r\n addOnInit(cls, (instance) => option.onDefault\r\n ?.(instance.metaOptions)\r\n ?.forEach(\r\n item => instance._addArrayItem(key, item)\r\n )\r\n )\r\n }\r\n\r\n if (option?.setEmpty) {\r\n addOnInit(cls, (instance) => instance._initArray(key));\r\n }\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {(instance: C) => void} code\r\n */\r\nexport function defineConstructor(cls, code) {\r\n addSignature(cls, 'constructor(metaOptions: GenericMetaOptions)');\r\n addOnInit(cls, (instance) => code(instance))\r\n}\r\n\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} method\r\n * @param {Object} [option]\r\n * @param {(typeof GrafanaItem)[]} [option.typesToInclude]\r\n */\r\nexport function defineMember(cls, method, option) {\r\n const { typesToInclude } = option || {};\r\n addSignature(cls, method);\r\n addTypesToInclude(cls, typesToInclude);\r\n}\r\n\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} name\r\n * @param {string} args\r\n * @param {Object} option\r\n * @param {(typeof GrafanaItem)[]} [option.typesToInclude]\r\n * @param {(instance: C, ...args: any[]) => any} option.code\r\n */\r\nexport const defineMethod = (cls, name, args, option) => {\r\n const {\r\n typesToInclude,\r\n code,\r\n } = option || {};\r\n\r\n addTypesToInclude(cls, typesToInclude);\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n name,\r\n args,\r\n /**\r\n * @this {C}\r\n * @param {...any} args\r\n * @returns {any}\r\n */\r\n function (...args) {\r\n return code(this, ...args);\r\n }\r\n )\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} name\r\n * @param {string} typeName\r\n * @param {Object} option\r\n * @param {(typeof GrafanaItem)[]} [option.typesToInclude]\r\n * @param {(self: C) => any} [option.getter]\r\n * @param {(self: C, value: any) => void} [option.setter]\r\n */\r\nexport function defineGetterSetter(cls, name, typeName, option) {\r\n const {\r\n typesToInclude,\r\n getter,\r\n setter,\r\n } = option || {};\r\n\r\n addTypesToInclude(cls, typesToInclude);\r\n\r\n if (getter !== undefined) {\r\n if (setter !== undefined) {\r\n setGetterAndSetterWithSignature(cls, name, getter, setter, typeName);\r\n } else {\r\n setGetterWithSignature(cls, name, getter, typeName);\r\n }\r\n } else {\r\n if (setter !== undefined) {\r\n setSetterWithSignature(cls, name, setter, typeName);\r\n } else {\r\n throw new Error(\"You must provide either a getter or a setter.\");\r\n }\r\n }\r\n}\r\n\r\n","import { GrafanaItem } from \"../items/GrafanaItem.js\";\r\nimport { defineValue, defineBasicObject, defineObject, defineArray, defineBasicArray, defineConstructor, defineMember, defineMethod, defineGetterSetter } from \"./typesDefinition.js\";\r\nimport { getMetaClassInfo, hasType, setTypeMetaClassInfo } from \"./typesReference.js\";\r\n\r\n/**\r\n * @typedef {import(\"@gdacm/base-types\").GenericMetaOptions} GenericMetaOptions\r\n */\r\n\r\n/**\r\n * @template {Object} T\r\n * @template {T} C\r\n * @typedef {import(\"./MetaClassRegistry.js\").MetaClassInfo<T,C>} MetaClassInfo\r\n */\r\n\r\n/**\r\n * @template T\r\n * @typedef {import(\"@gdacm/base-types\").MetaConstructor<T>} MetaConstructor\r\n */\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n */\r\nexport class GrafanaItemClassBuilder {\r\n /**\r\n * @param {MetaConstructor<C>} cls\r\n */\r\n constructor(cls) {\r\n /** @type {MetaConstructor<C>} */\r\n this._cls = cls;\r\n }\r\n\r\n /**\r\n * @return {MetaConstructor<C>}\r\n */\r\n get cls() {\r\n return this._cls;\r\n }\r\n\r\n /**\r\n * @param {MetaConstructor<GrafanaItem>} parent\r\n * @returns \r\n */\r\n setParent(parent) {\r\n this.parent = parent;\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {string} key \r\n * @param {Function} type\r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => C} [option.onDefault]\r\n * @param {String} [option.typeName]\r\n * @return {this}\r\n */\r\n defineValue(key, type, option) {\r\n defineValue(this.cls, key, type, option);\r\n return this;\r\n }\r\n\r\n /**\r\n * @template {GrafanaItem} T\r\n * @param {string} key \r\n * @param {MetaConstructor<T>} type \r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => T} [option.onDefault]\r\n * @param {String} [option.typeName]\r\n * @param {String} [option.setNew]\r\n * @return {this}\r\n */\r\n defineObject(key, type, option) {\r\n defineObject(this.cls, key, type, option);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {string} key \r\n * @param {Function} type \r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => Object} [option.onDefault]\r\n * @param {String} [option.typeName]\r\n * @return {this}\r\n */\r\n defineBasicObject(key, type, option) {\r\n defineBasicObject(this.cls, key, type, option);\r\n return this;\r\n }\r\n\r\n /**\r\n * @template {GrafanaItem} T\r\n * @param {string} key \r\n * @param {MetaConstructor<T>} type \r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {string} [option.itemName]\r\n * @param {boolean} [option.setEmpty]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => T[]} [option.onDefault]\r\n * @return {this}\r\n */\r\n defineArray(key, type, option) {\r\n defineArray(this.cls, key, type, option);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {string} key \r\n * @param {Function} type \r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {string} [option.itemName]\r\n * @param {boolean} [option.setEmpty]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => Object[]} [option.onDefault]\r\n * @return {this}\r\n */\r\n defineBasicArray(key, type, option) {\r\n defineBasicArray(this.cls, key, type, option);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {string} method\r\n * @param {Object} [option]\r\n * @param {(typeof GrafanaItem)[]} [option.typesToInclude]\r\n * @return {this}\r\n */\r\n defineMember(method, option) {\r\n defineMember(this.cls, method, option);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {(instance: C) => void} code\r\n * @return {this}\r\n */\r\n defineConstructor(code) {\r\n defineConstructor(this.cls, /** @type {(instance: C) => void} */ (code));\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {string} name\r\n * @param {string} args\r\n * @param {Object} option\r\n * @param {(typeof GrafanaItem)[]} [option.typesToInclude]\r\n * @param {(instance: C, ...args: any[]) => any} option.code\r\n * @return {this}\r\n */\r\n defineMethod(name, args, option) {\r\n defineMethod(this.cls, name, args, option)\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {string} name\r\n * @param {string} typeName\r\n * @param {Object} option\r\n * @param {(typeof GrafanaItem)[]} [option.typesToInclude]\r\n * @param {(instance: C) => any} [option.getter]\r\n * @param {(instance: C, value: any) => void} [option.setter]\r\n * @return {this}\r\n */\r\n defineGetterSetter(name, typeName, option) {\r\n defineGetterSetter(this.cls, name, typeName, option);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {(instance: this) => void} code \r\n */\r\n with(code) {\r\n code(this);\r\n return this;\r\n }\r\n\r\n /**\r\n * @returns {typeof GrafanaItem}\r\n */\r\n get asClass() {\r\n return this.cls;\r\n }\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {string} name\r\n * @param {typeof GrafanaItem} parent\r\n * @returns {GrafanaItemClassBuilder<C>}\r\n */\r\nexport const defineGrafanaItemClass = (name, parent) => {\r\n const cls = class extends parent { };\r\n Object.defineProperty(cls, 'name', { value: name });\r\n return defineClass(/** @type {MetaConstructor<C>} */ (cls))\r\n .setParent(parent);\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n */\r\nexport function defineClass(cls) {\r\n if (!hasType(cls)) {\r\n /** @type {Function|undefined} */\r\n let parent = Object.getPrototypeOf(cls);\r\n if (parent && !parent.name) {\r\n parent = undefined;\r\n }\r\n /** @type {((instance: C)=>void)[]} */\r\n let onInitsParent = [];\r\n if (parent && parent.name) {\r\n // @ts-ignore\r\n onInitsParent = getMetaClassInfo(parent).onInits;\r\n }\r\n /** @type {MetaClassInfo<GrafanaItem,C>} */\r\n const metaClassInfo = {\r\n methods: [],\r\n onInits: [...onInitsParent],\r\n parentName: parent?.name,\r\n // @ts-ignore\r\n parent: parent,\r\n typeNamesToInclude: [],\r\n };\r\n cls.prototype._onInit = function () {\r\n for (const onInit of metaClassInfo.onInits) {\r\n onInit(this);\r\n }\r\n }\r\n setTypeMetaClassInfo(cls, metaClassInfo);\r\n }\r\n return new GrafanaItemClassBuilder(cls);\r\n}\r\n","import { asJson } from \"../utils/json.js\";\r\nimport { defineClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport class GrafanaItem {\r\n /**\r\n * @param {import(\"../../../base-types/src/index.js\").MetaOptions<import(\"../../../base-types/src/index.js\").GenericOptions>} metaOptions An object with options\r\n */\r\n constructor(metaOptions) {\r\n this._metaOptions = metaOptions || {};\r\n this._grafanaValues = {};\r\n this._grafanaArrays = {};\r\n this._grafanaObjects = {};\r\n this._onInit();\r\n }\r\n\r\n /**\r\n * @returns {Object} The meta options of the Grafana item\r\n */\r\n get metaOptions() {\r\n return this._metaOptions;\r\n }\r\n\r\n /**\r\n * @param {(metaOptions: Object) => void} code \r\n * @returns {this}\r\n */\r\n withMetaOptions(code) {\r\n code(this.metaOptions);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {(item: this) => void} code \r\n * @returns {this}\r\n */\r\n with(code) {\r\n code(this);\r\n return this;\r\n }\r\n\r\n /**\r\n * \r\n * @template T\r\n * @param {string} key \r\n * @param {T} value \r\n * @returns \r\n */\r\n _setValue(key, value) {\r\n this._grafanaValues[key] = asJson(value);\r\n return this;\r\n }\r\n\r\n /**\r\n * \r\n * @template T\r\n * @param {string} key\r\n * @param {T} value\r\n * @returns \r\n */\r\n _getValue(key) {\r\n return this._grafanaValues[key];\r\n }\r\n\r\n /**\r\n * @returns {Object} The JSON representation of the Grafana item\r\n */\r\n asJson() {\r\n const values = { ...this._grafanaValues };\r\n for (const key in this._grafanaArrays) {\r\n values[key] = this._grafanaArrays[key].map(item => asJson(item));\r\n }\r\n for (const key in this._grafanaObjects) {\r\n values[key] = asJson(this._grafanaObjects[key]);\r\n }\r\n return asJson(values);\r\n }\r\n\r\n /**\r\n * @param {string} key\r\n */\r\n _initArray(key) {\r\n this._getArray(key);\r\n return this;\r\n }\r\n\r\n /**\r\n * @template T\r\n * @param {string} key \r\n * @return {T[]}\r\n */\r\n _getArray(key) {\r\n if (!this._grafanaArrays[key]) {\r\n this._grafanaArrays[key] = [];\r\n }\r\n return this._grafanaArrays[key];\r\n }\r\n\r\n /**\r\n * @template T\r\n * @param {string} key \r\n * @param {T} item \r\n * @returns {this}\r\n */\r\n _addArrayItem(key, item) {\r\n this._getArray(key).push(item);\r\n return this;\r\n }\r\n\r\n /**\r\n * @template T\r\n * @param {string} key \r\n * @param {T} value \r\n * @returns {this}\r\n */\r\n _setObject(key, value) {\r\n this._grafanaObjects[key] = value;\r\n return this;\r\n }\r\n\r\n /**\r\n * @template T\r\n * @param {string} key \r\n * @returns {T|undefined}\r\n */\r\n _getObject(key) {\r\n if (!this._grafanaObjects[key]) {\r\n this._grafanaObjects[key] = undefined;\r\n }\r\n return this._grafanaObjects[key];\r\n }\r\n\r\n /**\r\n * \r\n * @template T\r\n * @param {string} key\r\n * @param {(item: T) => void} code \r\n * @returns {this}\r\n */\r\n _withObject(key, code) {\r\n const obj = this._getObject(key);\r\n if (obj) {\r\n code(obj);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * @template {GrafanaItem} T\r\n * @param {string} key\r\n * @param {new (metaOptions: GenericMetaOptions) => T} type\r\n * @param {T|undefined} value\r\n * @returns {this}\r\n */\r\n _setGrafanaObject(key, type, value) {\r\n this._grafanaObjects[key] = value;\r\n return this;\r\n }\r\n\r\n /**\r\n * @template {GrafanaItem} T\r\n * @param {string} key \r\n * @param {new (metaOptions: GenericMetaOptions) => T} type\r\n * @returns {T|undefined}\r\n */\r\n _getGrafanaObject(key, type) {\r\n if (!this._grafanaObjects[key]) {\r\n this._grafanaObjects[key] = new type(this.metaOptions);\r\n }\r\n return this._grafanaObjects[key];\r\n }\r\n\r\n /**\r\n * \r\n * @template {GrafanaItem} T\r\n * @param {string} key\r\n * @param {new (metaOptions: GenericMetaOptions) => T} type\r\n * @param {(item: T) => void} code \r\n * @returns {this}\r\n */\r\n _withGrafanaObject(key, type, code) {\r\n const obj = this._getGrafanaObject(key, type);\r\n if (obj) {\r\n code(obj);\r\n }\r\n return this;\r\n }\r\n}\r\n\r\ndefineClass(GrafanaItem)\r\n .defineMember('constructor(metaOptions: GenericMetaOptions)')\r\n .defineMember('get metaOptions(): GenericMetaOptions')\r\n .defineMember('withMetaOptions(code: (metaOptions: GenericMetaOptions) => void): this')\r\n .defineMember('with(code: (item: this) => void): this')\r\n .defineMember('asJson(): Object;')\r\n .defineMember('_onInit(): void;')\r\n .defineMember('_setValue<T>(key: string, value: T): this;')\r\n .defineMember('_getValue<T>(key: string): T;')\r\n .defineMember('_initArray(key: string): this;')\r\n .defineMember('_getArray<T>(key: string): T[];')\r\n .defineMember('_addArrayItem<T>(key: string, item: T): this;')\r\n .defineMember('_setObject<T>(key: string, value: T): this;')\r\n .defineMember('_getObject<T>(key: string): T;')\r\n .defineMember('_withObject<T>(key: string, code: (item: T) => void): this;')\r\n .defineMember('_setGrafanaObject<T extends GrafanaItem>(key: string, type: new (metaOptions: GenericMetaOptions) => T, value: T | undefined): this;')\r\n .defineMember('_getGrafanaObject<T extends GrafanaItem>(key: string, type: new (metaOptions: GenericMetaOptions) => T): T;')\r\n .defineMember('_withGrafanaObject<T extends GrafanaItem>(key: string, type: new (metaOptions: GenericMetaOptions) => T, code: (item: T) => void): this;')\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const OverrideMatcher = defineGrafanaItemClass('OverrideMatcher', GrafanaItem)\r\n .defineValue('id', String)\r\n .defineBasicObject('options', Object)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const OverrideMatcherOptionsByNames = defineGrafanaItemClass('OverrideMatcherOptionsByNames', GrafanaItem)\r\n .defineValue('mode', String)\r\n .defineBasicArray('names', String)\r\n .defineValue('prefix', String)\r\n .defineValue('readOnly', Boolean)\r\n .asClass","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const OverrideProperty = defineGrafanaItemClass('OverrideProperty', GrafanaItem)\r\n .defineValue('id', String)\r\n .defineValue('value', Object)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const Datasource = defineGrafanaItemClass('Datasource', GrafanaItem)\r\n .defineValue('type', String)\r\n .defineValue('uid', String)\r\n .asClass;\r\n\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { Datasource } from \"./Datasource.js\";\r\n\r\nexport const Annotation = defineGrafanaItemClass('Annotation', GrafanaItem)\r\n .defineValue('builtIn', Number)\r\n .defineObject('datasource', Datasource)\r\n .defineValue('enable', Boolean)\r\n .defineValue('hide', Boolean)\r\n .defineValue('iconColor', String)\r\n .defineValue('name', String)\r\n .defineValue('type', String)\r\n .asClass\r\n\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { Annotation } from \"./Annotation.js\";\r\n\r\nexport const Annotations = defineGrafanaItemClass('Annotations', GrafanaItem)\r\n .defineArray('list', Annotation, { itemName: 'annotation' })\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const Color = defineGrafanaItemClass('Color', GrafanaItem)\r\n .defineValue('mode', String)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const TimeRange = defineGrafanaItemClass('TimeRange', GrafanaItem)\r\n .defineValue('from', String)\r\n .defineValue('to', String)\r\n .defineMethod('setRange', '(from: string, to: string): this;', {\r\n /**\r\n * @param {TimeRange} timeRange \r\n * @param {string} from \r\n * @param {string} to \r\n * @returns {TimeRange}\r\n */\r\n code: (timeRange, from, to) => {\r\n timeRange.setFrom(from);\r\n timeRange.setTo(to);\r\n return timeRange;\r\n }\r\n })\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const GridPos = defineGrafanaItemClass('GridPos', GrafanaItem)\r\n .defineValue('x', Number)\r\n .defineValue('y', Number)\r\n .defineValue('w', Number)\r\n .defineValue('h', Number)\r\n .defineMethod('setPos', '(x: number, y: number, w: number, h: number): this;', {\r\n /**\r\n * @param {GridPos} gridPos\r\n * @param {number} x\r\n * @param {number} y\r\n * @param {number} w\r\n * @param {number} h\r\n * @returns {GridPos}\r\n */\r\n code: (gridPos, x, y, w, h) => {\r\n gridPos.setX(x);\r\n gridPos.setY(y);\r\n gridPos.setW(w);\r\n gridPos.setH(h);\r\n return gridPos;\r\n }\r\n })\r\n .asClass","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const FieldConfigCustom = defineGrafanaItemClass('FieldConfigCustom', GrafanaItem)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const Mapping = defineGrafanaItemClass('Mapping', GrafanaItem)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const ThresholdsStep = defineGrafanaItemClass('ThresholdsStep', GrafanaItem)\r\n .defineValue('value', Number)\r\n .defineValue('color', String)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { ThresholdsStep } from './ThresholdsStep.js';\r\n\r\nexport const Thresholds = defineGrafanaItemClass('Thresholds', GrafanaItem)\r\n .defineValue('mode', String)\r\n .defineArray('steps', ThresholdsStep)\r\n .defineMethod('addStepWithValueAndColor', '(value: number, color: string): this;', {\r\n /**\r\n * @param {Thresholds} thresholds \r\n * @param {number} value \r\n * @param {string} color \r\n * @returns {Thresholds}\r\n */\r\n code: (thresholds, value, color) => {\r\n const step = new ThresholdsStep(thresholds.metaOptions).setValue(value).setColor(color);\r\n return thresholds.addStep(step);\r\n },\r\n })\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { Color } from \"./Color.js\";\r\nimport { FieldConfigCustom } from \"./FieldConfigCustom.js\";\r\nimport { Mapping } from \"./Mapping.js\";\r\nimport { Thresholds } from \"./Thresholds.js\";\r\n\r\nexport const FieldConfigDefault = defineGrafanaItemClass('FieldConfigDefault', GrafanaItem)\r\n .defineObject('color', Color)\r\n .defineObject('custom', FieldConfigCustom)\r\n .defineValue('decimals', Number)\r\n .defineValue('fieldMinMax', Boolean)\r\n .defineArray('mappings', Mapping)\r\n .defineValue('max', Number)\r\n .defineValue('min', Number)\r\n .defineObject('thresholds', Thresholds)\r\n .defineValue('unit', String)\r\n .defineMethod('setColorMode', '(mode: string): this;', {\r\n /**\r\n * @param {FieldConfigDefault} fieldConfigDefault\r\n * @param {String} mode\r\n * @returns {FieldConfigDefault}\r\n */\r\n code: (fieldConfigDefault, mode) => {\r\n if (fieldConfigDefault.color === undefined) {\r\n fieldConfigDefault.setNewColor();\r\n }\r\n fieldConfigDefault.color.setMode(mode);\r\n return fieldConfigDefault;\r\n }\r\n })\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { OverrideMatcher } from \"./OverrideMatcher.js\";\nimport { OverrideProperty } from \"./OverrideProperty.js\";\n\nexport const FieldConfigOverride = defineGrafanaItemClass('FieldConfigOverride', GrafanaItem)\n .defineValue('__systemRef', String, { name: 'systemRef' })\n .defineObject('matcher', OverrideMatcher)\n .defineArray('properties', OverrideProperty, { itemName: 'property' })\n .asClass\n\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const HideFrom = defineGrafanaItemClass('HideFrom', GrafanaItem)\r\n .defineValue('graph', Boolean) // Grafana 13\r\n .defineValue('legend', Boolean)\r\n .defineValue('tooltip', Boolean)\r\n .defineValue('viz', Boolean)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { FieldConfigDefault } from \"./FieldConfigDefault.js\";\r\nimport { FieldConfigOverride } from \"./FieldConfigOverride.js\";\r\nimport { OverrideMatcherOptionsByNames } from \"./OverrideMatcherOptionsByNames.js\";\r\nimport { HideFrom } from \"./HideFrom.js\";\r\n\r\nexport const FieldConfig = defineGrafanaItemClass('FieldConfig', GrafanaItem)\r\n .defineObject('defaults', FieldConfigDefault)\r\n .defineArray('overrides', FieldConfigOverride)\r\n .defineMethod('addNewOverrideHideSeriesFrom', '(names: string[]): this', {\r\n /**\r\n * @param {FieldConfig} fieldConfig\r\n * @param {String[]} names\r\n * @returns {FieldConfigOverride}\r\n */\r\n code: (fieldConfig, names) => {\r\n /**\r\n * @param {OverrideMatcherOptionsByNames} matcher\r\n * @returns {OverrideMatcherOptionsByNames}\r\n */\r\n const reduceForNames = (matcher) => names.reduce(\r\n (matcher, name) => matcher.addName(name),\r\n matcher\r\n );\r\n return fieldConfig.addNewOverride(\r\n (override) => override\r\n .setSystemRef('hideSeriesFrom')\r\n .setNewMatcher(\r\n (overrideMatcher) => overrideMatcher\r\n .setId('byNames')\r\n .setOptions(\r\n reduceForNames(new OverrideMatcherOptionsByNames())\r\n .setMode('exclude')\r\n .setPrefix('All except:')\r\n .setReadOnly(true)\r\n )\r\n )\r\n .addNewProperty(\r\n (property) => property\r\n .setId('custom.hideFrom')\r\n .setValue(\r\n new HideFrom()\r\n .setLegend(false)\r\n .setTooltip(true)\r\n .setViz(true)\r\n )\r\n )\r\n );\r\n }\r\n })\r\n .asClass\r\n\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { Datasource } from \"./Datasource.js\";\r\n\r\nexport const Target = defineGrafanaItemClass('Target', GrafanaItem)\r\n .defineValue('alias', String)\r\n .defineValue('refId', String)\r\n .defineValue('query', String)\r\n .defineObject('datasource', Datasource)\r\n .defineValue('seriesCount', Number)\r\n .defineValue('scenarioId', String)\r\n .defineValue('stringInput', String)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const Link = defineGrafanaItemClass('Link', GrafanaItem)\r\n .defineConstructor(instance => instance.setType('link'))\r\n .defineValue('asDropdown', Boolean)\r\n .defineValue('icon', String)\r\n .defineValue('includeVars', Boolean)\r\n .defineValue('keepTime', Boolean)\r\n .defineBasicArray('tags', String, { setEmpty: true })\r\n .defineValue('targetBlank', Boolean)\r\n .defineValue('title', String)\r\n .defineValue('tooltip', String)\r\n .defineValue('type', String)\r\n .defineValue('url', String)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const DataTransformation = defineGrafanaItemClass('DataTransformation', GrafanaItem)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { Datasource } from \"./Datasource.js\";\r\nimport { GridPos } from \"./GridPos.js\";\r\nimport { FieldConfig } from \"./FieldConfig.js\";\r\nimport { Target } from \"./Target.js\";\r\nimport { Link } from \"./Link.js\";\r\nimport { DataTransformation } from \"./DataTransformation.js\";\r\n\r\nexport const Panel = defineGrafanaItemClass('Panel', GrafanaItem)\r\n .defineValue('cacheTimeout', String)\r\n .defineObject('datasource', Datasource, { onDefault: (options) => undefined })\r\n .defineValue('description', String)\r\n .defineObject('fieldConfig', FieldConfig, { onDefault: (options) => new FieldConfig(options) })\r\n .defineObject('gridPos', GridPos)\r\n .defineMethod('setPos', '(x: number, y: number, w: number, h: number): this;', {\r\n /**\r\n * @param {Panel} panel\r\n * @param {number} x\r\n * @param {number} y\r\n * @param {number} w\r\n * @param {number} h\r\n */\r\n code: (panel, x, y, w, h) => {\r\n return panel.setNewGridPos((gridPos) => gridPos.setPos(x, y, w, h))\r\n }\r\n })\r\n .defineValue('hideTimeOverride', Boolean)\r\n .defineValue('id', Number)\r\n .defineValue('interval', String)\r\n .defineArray('links', Link)\r\n .defineValue('maxDataPoints', Number)\r\n .defineValue('maxPerRow', Number)\r\n .defineObject('options', Object)\r\n .defineValue('pluginVersion', String)\r\n .defineValue('queryCachingTTL', Number)\r\n .defineValue('repeat', String)\r\n .defineValue('repeatDirection', String)\r\n .defineArray('targets', Target)\r\n .defineMethod('addTargetWithParams', '(refId: string, query: string, datasource: Datasource): this;', {\r\n /**\r\n * @param {Panel} panel\r\n * @param {string} refId\r\n * @param {string} query\r\n * @param {Datasource} datasource\r\n */\r\n code: (panel, refId, query, datasource) => {\r\n return panel.addTarget(\r\n new Target(panel.metaOptions)\r\n .setRefId(refId)\r\n .setQuery(query)\r\n .setDatasource(datasource)\r\n );\r\n }\r\n })\r\n .defineValue('timeFrom', String)\r\n .defineValue('timeShift', String)\r\n .defineArray('transformations', DataTransformation)\r\n .defineValue('type', String, { onDefault: (options) => '' })\r\n .defineValue('title', String, { onDefault: (options) => '' })\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const TemplateCurrent = defineGrafanaItemClass('TemplateCurrent', GrafanaItem)\n .defineValue('text', Object)\n .defineValue('value', Object)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const TemplateOption = defineGrafanaItemClass('TemplateOption', GrafanaItem)\n .defineValue('selected', Boolean)\n .defineValue('text', String)\n .defineValue('value', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { TemplateCurrent } from \"./TemplateCurrent.js\";\r\nimport { TemplateOption } from \"./TemplateOption.js\";\r\n\r\nexport const Template = defineGrafanaItemClass('Template', GrafanaItem)\r\n .defineObject('current', TemplateCurrent)\r\n .defineValue('definition', String)\r\n .defineValue('description', String)\r\n .defineValue('hide', Number)\r\n .defineValue('label', String)\r\n .defineValue('multi', Boolean)\r\n .defineValue('name', String)\r\n .defineArray('options', TemplateOption)\r\n .defineValue('query', Object)\r\n .defineValue('refresh', Number)\r\n .defineValue('regex', String)\r\n .defineValue('sort', Number)\r\n .defineValue('type', String)\r\n .defineValue('useTags', Boolean)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { Template } from \"./Template.js\";\r\n\r\nexport const Templating = defineGrafanaItemClass('Templating', GrafanaItem)\r\n .defineArray('list', Template, { itemName: 'template' })\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\n\r\nexport const TimePicker = defineGrafanaItemClass('TimePicker', GrafanaItem)\r\n .defineBasicArray('refresh_intervals', String, { itemName: 'refreshInterval' })\r\n .asClass\r\n","import { Annotations } from \"../items/Annotations.js\";\r\nimport { Datasource } from \"../items/Datasource.js\";\r\nimport { Template } from \"../items/Template.js\";\r\n\r\n/**\r\n * @typedef {import(\"@gdacm/base-types\").GenericMetaOptions} GenericMetaOptions\r\n */\r\n\r\n/**\r\n * @param {GenericMetaOptions} options \r\n * @returns {Annotations}\r\n */\r\nexport const getAnnotations = (options) =>\r\n new Annotations(options)\r\n .addNewAnnotation(\r\n annotation => annotation\r\n .setBuiltIn(1)\r\n .setNewDatasource(\r\n datasource => datasource\r\n .setType('grafana')\r\n .setUid('-- Grafana --')\r\n )\r\n .setEnable(true)\r\n .setHide(true)\r\n .setIconColor('rgba(0, 211, 255, 1)')\r\n .setName('Annotations & Alerts')\r\n .setType('dashboard')\r\n )\r\n\r\n/**\r\n * @param {String} name\r\n * @param {String} templateName\r\n * @param {GenericMetaOptions} metaOptions\r\n * @returns {Datasource}\r\n */\r\nexport const getDatasourceWithTemplateName = (name, templateName, metaOptions) => {\r\n return new Datasource(metaOptions)\r\n .setType(name)\r\n .setUid(`${\"${\"}${templateName}}`);\r\n}\r\n\r\n/**\r\n * @param {String} type\r\n * @param {String} name\r\n * @param {String} uid\r\n * @param {GenericMetaOptions} metaOptions\r\n * @returns {Object}\r\n */\r\nexport const getTemplateDatesource = (type, name, uid, metaOptions) => {\r\n // return new Template(metaOptions).setCurrent({ text: type, value: uid }).setDescription(\"\").setHide(2).setLabel(\"Datasource\").setName(name).setQuery(type).setRefresh(1).setType(\"datasource\");\r\n return {\r\n current: {\r\n text: type,\r\n value: uid\r\n },\r\n description: \"\",\r\n hide: 2,\r\n label: null,\r\n name: name,\r\n options: [],\r\n query: type,\r\n refresh: 1,\r\n type: \"datasource\",\r\n }\r\n}\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { TimeRange } from \"./TimeRange.js\";\r\nimport { Panel } from \"./Panel.js\";\r\nimport { Templating } from \"./Templating.js\";\r\nimport { TimePicker } from \"./TimePicker.js\";\r\nimport { Annotations } from \"./Annotations.js\";\r\nimport { Link } from \"./Link.js\";\r\nimport { getAnnotations } from \"../torefactor/index.js\";\r\n\r\nexport const Dashboard = defineGrafanaItemClass('Dashboard', GrafanaItem)\r\n .setParent(GrafanaItem)\r\n .defineObject('annotations', Annotations, {\r\n onDefault: (options) => getAnnotations(options),\r\n })\r\n .defineValue('editable', Boolean)\r\n .defineValue('fiscalYearStartMonth', Number)\r\n .defineValue('graphTooltip', Number)\r\n .defineArray('links', Link, { itemName: 'link' })\r\n .defineValue('liveNow', Boolean)\r\n .defineArray('panels', Panel, { itemName: 'panel' })\r\n .defineMethod('addPanel', '(panel: Panel): this;', {\r\n /**\r\n * @param {Dashboard} dashboard\r\n * @param {Panel} panel\r\n * @returns {Dashboard}\r\n */\r\n code: (dashboard, panel) => {\r\n const max = dashboard.panels.reduce((acc, panel) => {\r\n const id = panel._getValue('id');\r\n if (id >= acc) {\r\n return id;\r\n } else {\r\n return acc;\r\n }\r\n }, 0);\r\n panel._setValue('id', max + 1);\r\n return dashboard._addArrayItem('panels', panel);\r\n }\r\n })\r\n .defineValue('preload', Boolean)\r\n .defineValue('schemaVersion', Number)\r\n .defineValue('refresh', String)\r\n .defineValue('tags', Array, { onDefault: (options) => [], typeName: 'Array<String>' })\r\n .defineObject('templating', Templating, {\r\n onDefault: (options) => new Templating(options),\r\n })\r\n .defineObject('time', TimeRange, {\r\n onDefault: (options) => new TimeRange(options)\r\n // Range is mandatory for Grafana 12, or the dashboard crash at load time\r\n .setRange('now-6h', 'now'),\r\n })\r\n .defineMethod('setTimeRange', '(from: string, to: string): this;', {\r\n /**\r\n * @param {Dashboard} dashboard\r\n * @param {string} from\r\n * @param {string} to\r\n * @returns {Dashboard}\r\n */\r\n code: (dashboard, from, to) => {\r\n dashboard.time.setRange(from, to);\r\n return dashboard;\r\n }\r\n })\r\n .defineObject('timepicker', TimePicker, {\r\n onDefault: (options) => new TimePicker(options),\r\n })\r\n .defineValue('timezone', String, { onDefault: (options) => 'browser' })\r\n .defineValue('title', String, { onDefault: (options) => '' })\r\n .defineValue('uid', String)\r\n .asClass","import { Datasource } from \"../Datasource.js\";\r\nimport { GrafanaItemClassBuilder } from \"../../utils/GrafanaItemClassBuilder.js\";\r\n\r\n/**\r\n * @template {Datasource} T\r\n * @param {GrafanaItemClassBuilder<T>} builder\r\n * @param {string} typeName\r\n * @param {Object} [options]\r\n * @param {(instance: T) => void} [options.onInit]\r\n */\r\nexport const defineDatasource = (builder, typeName, options) => {\r\n const { onInit } = options ?? {};\r\n builder\r\n .defineConstructor(\r\n (instance) => {\r\n instance.setType(typeName);\r\n if (onInit) {\r\n onInit(instance);\r\n }\r\n }\r\n )\r\n}","import { Datasource } from \"./Datasource.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { defineDatasource } from \"./properties/datasource.js\";\n\nexport const DatasourceInfinity = defineGrafanaItemClass('DatasourceInfinity', Datasource)\n .with(builder => defineDatasource(builder, 'yesoreyeram-infinity-datasource'))\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const ScaleDistribution = defineGrafanaItemClass('ScaleDistribution', GrafanaItem)\r\n .defineValue('type', String)\r\n .asClass\r\n","import { GrafanaItemClassBuilder } from \"../../utils/GrafanaItemClassBuilder.js\";\r\nimport { ScaleDistribution } from \"../ScaleDistribution.js\";\r\nimport { FieldConfigCustom } from \"../FieldConfigCustom.js\";\r\n\r\n/**\r\n * @template {FieldConfigCustom} T\r\n * @param {GrafanaItemClassBuilder<T>} builder\r\n */\r\nexport const defineAxisConfig = (builder) => {\r\n builder\r\n .defineValue('axisBorderShow', Boolean)\r\n .defineValue('axisCenteredZero', Boolean)\r\n .defineValue('axisColorMode', String)\r\n .defineValue('axisGridShow', Boolean)\r\n .defineValue('axisLabel', String)\r\n .defineValue('axisPlacement', String)\r\n .defineValue('axisSoftMax', Number)\r\n .defineValue('axisSoftMin', Number)\r\n .defineValue('axisWidth', Number)\r\n .defineObject('scaleDistribution', ScaleDistribution, {\r\n onDefault: (options) => new ScaleDistribution(options).setType('linear'),\r\n })\r\n}\r\n","import { GrafanaItemClassBuilder } from \"../../utils/GrafanaItemClassBuilder.js\";\r\nimport { FieldConfigCustom } from \"../FieldConfigCustom.js\";\r\nimport { HideFrom } from \"../HideFrom.js\";\r\n\r\n/**\r\n * @template {FieldConfigCustom} T\r\n * @param {GrafanaItemClassBuilder<T>} builder\r\n */\r\nexport const defineHideableFieldConfig = (builder) => {\r\n builder\r\n .defineObject('hideFrom', HideFrom, {\r\n onDefault: (options) => new HideFrom(options)\r\n .setLegend(false)\r\n .setTooltip(false)\r\n .setViz(false)\r\n })\r\n}","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const ThresholdStyle = defineGrafanaItemClass('ThresholdStyle', GrafanaItem)\r\n .defineValue('mode', String)\r\n .asClass\r\n","import { FieldConfigCustom } from \"./FieldConfigCustom.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { defineAxisConfig } from \"./properties/axisConfig.js\";\nimport { defineHideableFieldConfig } from \"./properties/hideableFieldConfig.js\";\nimport { ThresholdStyle } from \"./ThresholdStyle.js\";\n\nexport const FieldConfigCustomBarChart = defineGrafanaItemClass('FieldConfigCustomBarChart', FieldConfigCustom)\n .with(builder => defineAxisConfig(builder))\n .defineValue('fillOpacity', Number)\n .defineValue('gradientMode', String)\n .with(builder => defineHideableFieldConfig(builder))\n .defineValue('lineWidth', Number)\n .defineObject('thresholdsStyle', ThresholdStyle, {\n onDefault: (options) => new ThresholdStyle(options).setMode('off'),\n })\n .defineMethod('setThresholdsStyleMode', '(mode: string): this;',{\n /**\n * @param {FieldConfigCustomBarChart} fieldConfigCustomBarChart\n * @param {String} mode\n * @returns {FieldConfigCustomBarChart}\n */\n code: (fieldConfigCustomBarChart, mode) => {\n fieldConfigCustomBarChart.thresholdsStyle.setMode(mode);\n return fieldConfigCustomBarChart;\n }\n })\n .asClass\n","import { FieldConfigCustom } from \"./FieldConfigCustom.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const FieldConfigCustomGauge = defineGrafanaItemClass('FieldConfigCustomGauge', FieldConfigCustom)\n .asClass\n\n","import { FieldConfigCustom } from \"./FieldConfigCustom.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { HideFrom } from \"./HideFrom.js\";\n\nexport const FieldConfigCustomGeomap = defineGrafanaItemClass('FieldConfigCustomGeomap', FieldConfigCustom)\n .defineObject('hideFrom', HideFrom, {\n onDefault: (options) => new HideFrom(options)\n .setLegend(false)\n .setTooltip(false)\n .setViz(false),\n })\n .asClass\n","import { FieldConfigCustom } from \"./FieldConfigCustom.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { defineHideableFieldConfig } from \"./properties/hideableFieldConfig.js\";\n\nexport const FieldConfigCustomPieChart = defineGrafanaItemClass('FieldConfigCustomPieChart', FieldConfigCustom)\n .with(\n (builder) => defineHideableFieldConfig(builder)\n )\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const LineStyle = defineGrafanaItemClass('LineStyle', GrafanaItem)\r\n .defineValue('fill', String)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const Stacking = defineGrafanaItemClass('Stacking', GrafanaItem)\r\n .defineValue('group', String)\r\n .defineValue('mode', String)\r\n .asClass;\r\n","import { FieldConfigCustom } from \"./FieldConfigCustom.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { defineAxisConfig } from \"./properties/axisConfig.js\";\r\nimport { defineHideableFieldConfig } from \"./properties/hideableFieldConfig.js\";\r\nimport { LineStyle } from \"./LineStyle.js\";\r\nimport { ThresholdStyle } from \"./ThresholdStyle.js\";\r\nimport { Stacking } from \"./Stacking.js\";\r\n\r\nexport const FieldConfigCustomTimeSerie = defineGrafanaItemClass('FieldConfigCustomTimeSerie', FieldConfigCustom)\r\n .with(builder => defineAxisConfig(builder))\r\n .defineValue('barAlignment', Number)\r\n .defineValue('barMaxWidth', Number)\r\n .defineValue('barWidthFactor', Number)\r\n .defineValue('drawStyle', String)\r\n .defineValue('fillBelowTo', String)\r\n .defineValue('fillColor', String)\r\n .defineValue('fillOpacity', Number)\r\n .defineValue('gradientMode', String)\r\n .with(builder => defineHideableFieldConfig(builder))\r\n .defineValue('insertNulls', Boolean)\r\n .defineValue('lineInterpolation', String)\r\n .defineObject('lineStyle', LineStyle, {\r\n onDefault: (options) => new LineStyle(options).setFill('solid'),\r\n })\r\n .defineMethod('setLineStyleFill', '(fill: string): this;', {\r\n /**\r\n * @param {FieldConfigCustomTimeSerie} fieldConfigCustomTimeSerie\r\n * @param {String} fill\r\n * @returns {FieldConfigCustomTimeSerie}\r\n */\r\n code: (fieldConfigCustomTimeSerie, fill) => {\r\n fieldConfigCustomTimeSerie.lineStyle.setFill(fill);\r\n return fieldConfigCustomTimeSerie;\r\n }\r\n })\r\n .defineValue('lineWidth', Number)\r\n .defineValue('pointColor', String)\r\n .defineValue('pointSize', Number)\r\n .defineValue('pointSymbol', String)\r\n .defineValue('showPoints', String)\r\n .defineValue('showValues', Boolean)\r\n .defineValue('spanNulls', Boolean)\r\n .defineObject('stacking', Stacking, {\r\n onDefault: (options) => new Stacking(options).setGroup('A').setMode('none'),\r\n })\r\n .defineObject('thresholdsStyle', ThresholdStyle, {\r\n onDefault: (options) => new ThresholdStyle(options).setMode('off'),\r\n })\r\n // .define(FieldConfigCustomTimeSerie, 'transform', )\r\n .defineMethod('setThresholdsStyleMode', '(mode: string): this;', {\r\n /**\r\n * @param {FieldConfigCustomTimeSerie} fieldConfigCustomTimeSerie\r\n * @param {String} mode\r\n * @returns {FieldConfigCustomTimeSerie}\r\n */\r\n code: (fieldConfigCustomTimeSerie, mode) => {\r\n fieldConfigCustomTimeSerie.thresholdsStyle.setMode(mode);\r\n return fieldConfigCustomTimeSerie;\r\n }\r\n })\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const FieldConfigCustomTableCellOptions = defineGrafanaItemClass('FieldConfigCustomTableCellOptions', GrafanaItem)\n .defineValue('type', String)\n .asClass\n\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const FieldConfigCustomTableFooter = defineGrafanaItemClass('FieldConfigCustomTableFooter', GrafanaItem)\n .defineBasicArray('reducers', String)\n .asClass\n","import { FieldConfigCustom } from \"./FieldConfigCustom.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { FieldConfigCustomTableCellOptions } from \"./FieldConfigCustomTableCellOptions.js\";\nimport { FieldConfigCustomTableFooter } from \"./FieldConfigCustomTableFooter.js\";\n\nexport const FieldConfigCustomTable = defineGrafanaItemClass('FieldConfigCustomTable', FieldConfigCustom)\n .defineValue('align', String)\n .defineObject('cellOptions', FieldConfigCustomTableCellOptions, {\n onDefault: (options) => new FieldConfigCustomTableCellOptions(options),\n })\n .defineObject('footer', FieldConfigCustomTableFooter, {\n onDefault: (options) => new FieldConfigCustomTableFooter(options),\n })\n .defineValue('inspect', Boolean)\n .asClass\n\n","import { Datasource } from \"./Datasource.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { defineDatasource } from \"./properties/datasource.js\";\r\n\r\nexport const Influxdb = defineGrafanaItemClass('Influxdb', Datasource)\r\n .with(builder => defineDatasource(builder, 'influxdb'))\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptions = defineGrafanaItemClass('PanelOptions', GrafanaItem)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const VizLegendOptions = defineGrafanaItemClass('VizLegendOptions', GrafanaItem)\r\n .defineValue('asTable', Boolean)\r\n .defineBasicArray('calcs', String)\r\n .defineValue('displayMode', String)\r\n .defineValue('isVisible', Boolean)\r\n .defineValue('limit', Number)\r\n .defineValue('overflow', String)\r\n .defineValue('placement', String)\r\n .defineValue('showLegend', Boolean)\r\n .defineValue('sortBy', String)\r\n .defineValue('sortDesc', Boolean)\r\n .defineValue('width', Number)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const VizTooltipOptions = defineGrafanaItemClass('VizTooltipOptions', GrafanaItem)\r\n .defineValue('hideZeros', Boolean)\r\n .defineValue('maxHeight', Number)\r\n .defineValue('maxWidth', Number)\r\n .defineValue('mode', String)\r\n .defineValue('sort', String)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const VizTextDisplayOptions = defineGrafanaItemClass('VizTextDisplayOptions', GrafanaItem)\n .defineValue('percentSize', Number)\n .defineValue('titleSize', Number)\n .defineValue('valueSize', Number)\n .asClass;\n","import { PanelOptions } from \"./PanelOptions.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { VizLegendOptions } from \"./VizLegendOptions.js\";\nimport { VizTooltipOptions } from \"./VizTooltipOptions.js\";\nimport { VizTextDisplayOptions } from \"./VizTextDisplayOptions.js\";\n\nexport const PanelOptionsBarChart = defineGrafanaItemClass('PanelOptionsBarChart', PanelOptions)\n .defineValue('barRadius', Number)\n .defineValue('barWidth', Number)\n .defineValue('colorByField', String)\n .defineValue('fullHighlight', Boolean)\n .defineValue('groupWidth', Number)\n .defineObject('legend', VizLegendOptions, {\n onDefault: (options) => new VizLegendOptions(options)\n .setDisplayMode('list')\n .setPlacement('bottom')\n .setShowLegend(false)\n })\n .defineValue('orientation', String)\n .defineValue('showValue', String)\n .defineValue('stacking', String)\n .defineObject('text', VizTextDisplayOptions)\n .defineObject('tooltip', VizTooltipOptions, {\n onDefault: (options) => new VizTooltipOptions(options)\n .setHideZeros(false)\n .setMode('single')\n .setSort('none')\n })\n .defineValue('xField', String)\n .defineValue('xTickLabelMaxLength', Number)\n .defineValue('xTickLabelRotation', Number)\n .defineValue('xTickLabelSpacing', Number)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsGaugeEffect = defineGrafanaItemClass('PanelOptionsGaugeEffect', GrafanaItem)\n .defineValue('barGlow', Boolean)\n .defineValue('centerGlow', Boolean)\n .defineValue('gradient', Boolean)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsGaugeReduceOptions = defineGrafanaItemClass('PanelOptionsGaugeReduceOptions', GrafanaItem)\n .defineBasicArray('calcs', String, { setEmpty: true })\n .defineValue('fields', String)\n .defineValue('limit', Number)\n .defineValue('values', Boolean)\n .asClass\n","import { PanelOptions } from \"./PanelOptions.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PanelOptionsGaugeEffect } from \"./PanelOptionsGaugeEffect.js\";\nimport { PanelOptionsGaugeReduceOptions } from \"./PanelOptionsGaugeReduceOptions.js\";\n\nexport const PanelOptionsGauge = defineGrafanaItemClass('PanelOptionsGauge', PanelOptions)\n .defineValue('barShape', String)\n .defineValue('barWidthFactor', Number)\n .defineObject('effects', PanelOptionsGaugeEffect)\n .defineValue('endpointMarker', String)\n .defineValue('minVizHeight', Number)\n .defineValue('minVizWidth', Number)\n .defineValue('orientation', String)\n .defineObject('reduceOptions', PanelOptionsGaugeReduceOptions)\n .defineValue('segmentCount', Number)\n .defineValue('segmentSpacing', Number)\n .defineValue('shape', String)\n .defineValue('showThresholdLabels', Boolean)\n .defineValue('showThresholdMarkers', Boolean)\n .defineValue('sizing', String)\n .defineValue('sparkline', Boolean)\n .defineValue('textMode', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsGeomapBasemap = defineGrafanaItemClass('PanelOptionsGeomapBasemap', GrafanaItem)\n .defineBasicObject('config', Object)\n .defineValue('name', String)\n .defineValue('noRepeat', Boolean)\n .defineValue('type', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsGeomapControls = defineGrafanaItemClass('PanelOptionsGeomapControls', GrafanaItem)\n .defineValue('mouseWheelZoom', Boolean)\n .defineValue('showAttribution', Boolean)\n .defineValue('showDebug', Boolean)\n .defineValue('showMeasure', Boolean)\n .defineValue('showScale', Boolean)\n .defineValue('showZoom', Boolean)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const StyleColor = defineGrafanaItemClass('StyleColor', GrafanaItem)\n .defineValue('fixed', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const StyleRotation = defineGrafanaItemClass('StyleRotation', GrafanaItem)\n .defineValue('fixed', Number)\n .defineValue('max', Number)\n .defineValue('min', Number)\n .defineValue('mode', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const StyleSize = defineGrafanaItemClass('StyleSize', GrafanaItem)\n .defineValue('fixed', Number)\n .defineValue('max', Number)\n .defineValue('min', Number)\n .asClass\n\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const StyleSymbol = defineGrafanaItemClass('StyleSymbol', GrafanaItem)\n .defineValue('field', String)\n .defineValue('fixed', String)\n .defineValue('mode', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const StyleSymbolAlign = defineGrafanaItemClass('StyleSymbolAlign', GrafanaItem)\n .defineValue('horizontal', String)\n .defineValue('vertical', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const StyleTextConfig = defineGrafanaItemClass('StyleTextConfig', GrafanaItem)\n .defineValue('fontSize', Number)\n .defineValue('offsetX', Number)\n .defineValue('offsetY', Number)\n .defineValue('textAlign', String)\n .defineValue('textBaseline', String)\n .asClass","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { StyleColor } from \"./StyleColor.js\";\nimport { StyleRotation } from \"./StyleRotation.js\";\nimport { StyleSize } from \"./StyleSize.js\";\nimport { StyleSymbol } from \"./StyleSymbol.js\";\nimport { StyleSymbolAlign } from \"./StyleSymbolAlign.js\";\nimport { StyleTextConfig } from \"./StyleTextConfig.js\";\n\nexport const PanelOptionsGeomapLayerConfigStyle = defineGrafanaItemClass('PanelOptionsGeomapLayerConfigStyle', GrafanaItem)\n .defineObject('color', StyleColor, { onDefault: (options) => new StyleColor(options) })\n .defineValue('opacity', Number, { onDefault: (options) => 1 })\n .defineObject('rotation', StyleRotation, { onDefault: (options) => new StyleRotation(options) })\n .defineObject('size', StyleSize, { onDefault: (options) => new StyleSize(options) })\n .defineObject('symbol', StyleSymbol, { onDefault: (options) => new StyleSymbol(options) })\n .defineObject('symbolAlign', StyleSymbolAlign, { onDefault: (options) => new StyleSymbolAlign(options) })\n .defineObject('textConfig', StyleTextConfig, { onDefault: (options) => new StyleTextConfig(options) })\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PanelOptionsGeomapLayerConfigStyle } from \"./PanelOptionsGeomapLayerConfigStyle.js\";\n\nexport const PanelOptionsGeomapLayerConfig = defineGrafanaItemClass('PanelOptionsGeomapLayerConfig', GrafanaItem)\n .defineValue('showLegend', Boolean)\n .defineObject('style', PanelOptionsGeomapLayerConfigStyle, {\n onDefault: (options) => new PanelOptionsGeomapLayerConfigStyle(options),\n })\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsGeomapLayerLocation = defineGrafanaItemClass('PanelOptionsGeomapLayerLocation', GrafanaItem)\n .defineValue('mode', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PanelOptionsGeomapLayerConfig } from \"./PanelOptionsGeomapLayerConfig.js\";\nimport { PanelOptionsGeomapLayerLocation } from \"./PanelOptionsGeomapLayerLocation.js\";\n\nexport const PanelOptionsGeomapLayer = defineGrafanaItemClass('PanelOptionsGeomapLayer', GrafanaItem)\n .defineObject('config', PanelOptionsGeomapLayerConfig)\n .defineObject('location', PanelOptionsGeomapLayerLocation)\n .defineValue('name', String)\n .defineValue('tooltip', Boolean)\n .defineValue('type', String)\n .asClass\n\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsGeomapTooltip = defineGrafanaItemClass('PanelOptionsGeomapTooltip', GrafanaItem)\n .defineValue('mode', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsGeomapView = defineGrafanaItemClass('PanelOptionsGeomapView', GrafanaItem)\n .defineValue('allLayers', Boolean)\n .defineValue('id', String)\n .defineValue('lat', Number)\n .defineValue('lon', Number)\n .defineValue('noRepeat', Boolean)\n .defineValue('shared', Boolean)\n .defineValue('zoom', Number)\n .asClass\n","import { PanelOptions } from \"./PanelOptions.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PanelOptionsGeomapBasemap } from \"./PanelOptionsGeomapBasemap.js\";\nimport { PanelOptionsGeomapControls } from \"./PanelOptionsGeomapControls.js\";\nimport { PanelOptionsGeomapLayer } from \"./PanelOptionsGeomapLayer.js\";\nimport { PanelOptionsGeomapTooltip } from \"./PanelOptionsGeomapTooltip.js\";\nimport { PanelOptionsGeomapView } from \"./PanelOptionsGeomapView.js\";\n\nexport const PanelOptionsGeomap = defineGrafanaItemClass('PanelOptionsGeomap', PanelOptions)\n .defineObject('basemap', PanelOptionsGeomapBasemap)\n .defineObject('controls', PanelOptionsGeomapControls)\n .defineArray('layers', PanelOptionsGeomapLayer)\n .defineObject('tooltip', PanelOptionsGeomapTooltip)\n .defineObject('view', PanelOptionsGeomapView)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { VizLegendOptions } from \"./VizLegendOptions.js\";\n\nexport const PieChartLegendOptions = defineGrafanaItemClass('PieChartLegendOptions', VizLegendOptions)\n .defineBasicArray('values', String)\n .asClass\n","import { PanelOptions } from \"./PanelOptions.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PieChartLegendOptions } from \"./PieChartLegendOptions.js\";\nimport { VizTooltipOptions } from \"./VizTooltipOptions.js\";\n\nexport const PanelOptionsPieChart = defineGrafanaItemClass('PanelOptionsPieChart', PanelOptions)\n .defineBasicArray('displayLabels', String)\n .defineObject('legend', PieChartLegendOptions)\n .defineValue('pieType', String)\n .defineValue('sort', String)\n .defineObject('tooltip', VizTooltipOptions)\n .asClass\n","import { PanelOptions } from \"./PanelOptions.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsStat = defineGrafanaItemClass('PanelOptionsStat', PanelOptions)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsTableSortBy = defineGrafanaItemClass('PanelOptionsTableSortBy', GrafanaItem)\n .defineValue('desc', Boolean)\n .defineValue('displayName', String)\n .asClass\n","import { PanelOptions } from \"./PanelOptions.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PanelOptionsTableSortBy } from \"./PanelOptionsTableSortBy.js\";\n\nexport const PanelOptionsTable = defineGrafanaItemClass('PanelOptionsTable', PanelOptions)\n .defineValue('cellHeight', String)\n .defineValue('showHeader', Boolean)\n .defineArray('sortBy', PanelOptionsTableSortBy)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsTextCode = defineGrafanaItemClass('PanelOptionsTextCode', GrafanaItem)\n .defineValue('language', String)\n .defineValue('showLineNumbers', Boolean)\n .defineValue('showMiniMap', Boolean)\n .asClass;\n","import { PanelOptions } from \"./PanelOptions.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PanelOptionsTextCode } from \"./PanelOptionsTextCode.js\";\n\nexport const PanelOptionsText = defineGrafanaItemClass('PanelOptionsText', PanelOptions)\n .defineObject('code', PanelOptionsTextCode, {\n onDefault: (options) => new PanelOptionsTextCode(options)\n })\n .defineValue('content', String)\n .defineValue('mode', String)\n .asClass\n","import { PanelOptions } from \"./PanelOptions.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nimport { VizLegendOptions } from \"./VizLegendOptions.js\";\r\nimport { VizTooltipOptions } from \"./VizTooltipOptions.js\";\r\n\r\nexport const PanelOptionsTimeSeries = defineGrafanaItemClass('PanelOptionsTimeSeries', PanelOptions)\r\n .defineValue('disableKeyboardEvents', Boolean)\r\n .defineObject('legend', VizLegendOptions, {\r\n onDefault: (options) => new VizLegendOptions(options)\r\n .setDisplayMode('list')\r\n .setPlacement('bottom')\r\n .setShowLegend(false)\r\n })\r\n .defineValue('orientation', String)\r\n // .defineGrafanaObject('timeCompare', )\r\n // .define('timezone', )\r\n .defineObject('tooltip', VizTooltipOptions, {\r\n onDefault: (options) => new VizTooltipOptions(options)\r\n .setHideZeros(false)\r\n .setMode('single')\r\n .setSort('none')\r\n })\r\n .asClass\r\n","import { Target } from \"./Target.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const TargetInfinity = defineGrafanaItemClass('TargetInfinity', Target)\n .defineBasicObject('columns', Object)\n .defineBasicObject('computed_columns', Object, { name: 'computedColumns' })\n .defineValue('format', String)\n .defineValue('parser', String)\n .defineValue('source', String)\n .defineValue('type', String)\n .defineValue('uql', String)\n .defineValue('url', String)\n .defineValue('url_options', Object, { name: 'urlOptions' })\n .asClass\n","import { Datasource } from \"./Datasource.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { defineDatasource } from \"./properties/datasource.js\";\n\nexport const Testdata = defineGrafanaItemClass('Testdata', Datasource)\n .with(builder => defineDatasource(builder, 'grafana-testdata-datasource'))\n .asClass\n","import { FieldConfigCustom } from \"./FieldConfigCustom.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const FieldConfigCustomText = defineGrafanaItemClass('FieldConfigCustomText', FieldConfigCustom)\n // .defineValue('foo1', String)\n // .defineValue('foo2', Number)\n // .defineGrafanaObject('foo3', Foo, {\n // onDefault: (options) => getFoo(options),\n // })\n // .defineArray('foo4s', Bar)\n .asClass\n","import { Panel } from \"../Panel.js\";\r\nimport { GrafanaItemClassBuilder } from \"../../utils/GrafanaItemClassBuilder.js\";\r\nimport { FieldConfigDefault } from \"../FieldConfigDefault.js\";\r\nimport { FieldConfigCustom } from \"../FieldConfigCustom.js\";\r\nimport { PanelOptions } from \"../PanelOptions.js\";\r\n\r\n/**\r\n * @template T\r\n * @typedef {import(\"@gdacm/base-types\").MetaConstructor<T>} MetaConstructor\r\n */\r\n\r\n/**\r\n * @template {Panel} T\r\n * @param {GrafanaItemClassBuilder<T>} builder\r\n * @param {string} typeName\r\n * @param {MetaConstructor<FieldConfigCustom>} fieldConfigCustom\r\n * @param {MetaConstructor<PanelOptions>} panelOptions\r\n * @param {Object} [options]\r\n * @param {(instance: T) => void} [options.onInit]\r\n */\r\nexport const definePanel = (builder, typeName, fieldConfigCustom, panelOptions, options) => {\r\n const { onInit } = options ?? {};\r\n builder\r\n .defineConstructor(\r\n (instance) => {\r\n instance\r\n .setType(typeName)\r\n .withFieldConfig(\r\n fieldConfig => fieldConfig\r\n .setDefaults(\r\n new FieldConfigDefault(instance.metaOptions)\r\n .setCustom(\r\n new fieldConfigCustom(instance.metaOptions)\r\n )\r\n )\r\n )\r\n if (onInit) {\r\n onInit(instance);\r\n }\r\n }\r\n )\r\n .defineGetterSetter('custom', `${fieldConfigCustom.name}`, {\r\n typesToInclude: [fieldConfigCustom],\r\n getter: (instance) => instance.fieldConfig.defaults.custom,\r\n })\r\n .defineMethod(`withCustom`, `(code: (custom: ${fieldConfigCustom.name}) => void): this`, {\r\n typesToInclude: [fieldConfigCustom],\r\n /** \r\n * @param {T} instance \r\n * @param {(custom: FieldConfigCustom) => void} code\r\n * */\r\n code: (instance, code) => {\r\n code(instance.fieldConfig.defaults.custom);\r\n return instance;\r\n }\r\n })\r\n .defineObject('options', panelOptions, {\r\n onDefault: (options) => new panelOptions(options),\r\n })\r\n\r\n}","import { Panel } from \"./Panel.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { FieldConfigCustomText } from \"./FieldConfigCustomText.js\";\nimport { PanelOptionsText } from \"./PanelOptionsText.js\";\nimport { definePanel } from \"./properties/panel.js\";\n\nexport const TextPanel = defineGrafanaItemClass('TextPanel', Panel)\n .with(builder => definePanel(builder, 'text', FieldConfigCustomText, PanelOptionsText))\n .asClass\n","import { Panel } from \"./Panel.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { FieldConfigCustomBarChart } from \"./FieldConfigCustomBarChart.js\";\nimport { PanelOptionsBarChart } from \"./PanelOptionsBarChart.js\";\nimport { definePanel } from \"./properties/panel.js\";\n\nexport const BarChart = defineGrafanaItemClass('BarChart', Panel)\n .with((instance) => definePanel(instance, 'barchart', FieldConfigCustomBarChart, PanelOptionsBarChart, {\n onInit: (instance) => {\n instance.fieldConfig.defaults.setColorMode('palette-classic')\n instance.fieldConfig.defaults.thresholds.setMode('absolute');\n }\n }))\n .defineMethod('setThresholdsStyleMode', '(mode: string): this', {\n /**\n * @param {BarChart} instance \n * @returns \n */\n code: (instance, mode) => {\n instance.custom.thresholdsStyle.setMode(mode);\n return instance;\n }\n })\n .asClass\n\n ","import { Panel } from \"./Panel.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PanelOptionsGauge } from \"./PanelOptionsGauge.js\";\nimport { definePanel } from \"./properties/panel.js\";\nimport { FieldConfigCustomGauge } from \"./FieldConfigCustomGauge.js\";\n\nexport const Gauge = defineGrafanaItemClass('Gauge', Panel)\n .with(builder => definePanel(builder, 'gauge', FieldConfigCustomGauge, PanelOptionsGauge, {\n onInit: (instance) => {\n instance.fieldConfig.defaults.setColorMode('palette-classic');\n instance.fieldConfig.defaults.thresholds.setMode('absolute');\n }\n }))\n .asClass\n","import { Panel } from \"./Panel.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PanelOptionsGeomap } from \"../index.js\";\nimport { FieldConfigCustomGeomap } from \"./FieldConfigCustomGeomap.js\";\nimport { definePanel } from \"./properties/panel.js\";\n\nexport const Geomap = defineGrafanaItemClass('Geomap', Panel)\n .with(builder => definePanel(builder, 'geomap', FieldConfigCustomGeomap, PanelOptionsGeomap))\n .asClass\n","import { Panel } from \"./Panel.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { definePanel } from \"./properties/panel.js\";\nimport { FieldConfigCustomPieChart } from \"./FieldConfigCustomPieChart.js\";\nimport { PanelOptionsPieChart } from \"./PanelOptionsPieChart.js\";\n\nexport const PieChart = defineGrafanaItemClass('PieChart', Panel)\n .with((instance) => definePanel(instance, 'piechart', FieldConfigCustomPieChart, PanelOptionsPieChart, {\n onInit: (instance) => {\n instance.fieldConfig.defaults.setColorMode('palette-classic')\n }\n }))\n .asClass\n","import { FieldConfigCustom } from \"./FieldConfigCustom.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const FieldConfigCustomStat = defineGrafanaItemClass('FieldConfigCustomStat', FieldConfigCustom)\n .asClass\n","import { Panel } from \"./Panel.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { FieldConfigCustomStat } from \"./FieldConfigCustomStat.js\";\nimport { PanelOptionsStat } from \"./PanelOptionsStat.js\";\nimport { definePanel } from \"./properties/panel.js\";\n\nexport const Stat = defineGrafanaItemClass('Stat', Panel)\n .with(builder => definePanel(builder, 'stat', FieldConfigCustomStat, PanelOptionsStat, {\n onInit: (instance) => instance.fieldConfig.defaults.setColorMode('palette-classic')\n }))\n .asClass\n","import { Panel } from \"./Panel.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PanelOptionsTable } from \"./PanelOptionsTable.js\";\nimport { FieldConfigCustomTable } from \"./FieldConfigCustomTable.js\";\nimport { FieldConfigCustomTableCellOptions } from \"./FieldConfigCustomTableCellOptions.js\";\nimport { FieldConfigCustomTableFooter } from \"./FieldConfigCustomTableFooter.js\";\nimport { definePanel } from \"./properties/panel.js\";\n\nexport const Table = defineGrafanaItemClass('Table', Panel)\n .with(builder => definePanel(builder, 'table', FieldConfigCustomTable, PanelOptionsTable, {\n onInit: (instance) => instance\n .withCustom(\n custom => custom\n .setAlign('auto')\n .setCellOptions(new FieldConfigCustomTableCellOptions(instance.metaOptions))\n .withCellOptions(\n cellOptions => cellOptions\n .setType('auto')\n )\n .setFooter(new FieldConfigCustomTableFooter(instance.metaOptions))\n .setInspect(false)\n )\n\n }))\n .asClass","import { Panel } from \"./Panel.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { PanelOptionsTimeSeries } from \"./PanelOptionsTimeSeries.js\";\r\nimport { FieldConfigCustomTimeSerie } from \"./FieldConfigCustomTimeSerie.js\";\r\nimport { definePanel } from \"./properties/panel.js\";\r\n\r\nexport const TimeSeries = defineGrafanaItemClass('TimeSeries', Panel)\r\n .with(builder => definePanel(builder, 'timeseries', FieldConfigCustomTimeSerie, PanelOptionsTimeSeries, {\r\n onInit: (instance) => {\r\n instance.fieldConfig.defaults.setColorMode('palette-classic')\r\n instance.fieldConfig.defaults.thresholds.setMode('absolute');\r\n },\r\n }))\r\n .defineMethod('setThresholdsStyleMode', '(mode: string): this', {\r\n /**\r\n * @param {TimeSeries} instance \r\n * @returns \r\n */\r\n code: (instance, mode) => {\r\n instance.custom.thresholdsStyle.setMode(mode);\r\n return instance;\r\n }\r\n })\r\n .asClass\r\n"],"mappings":";;;;;;AAOA,IAAM,YAAY,QAAQ;CACtB,OAAO,OAAO,YAAY,OAAO,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;AACnF;;;;;;AAOA,IAAa,UAAU,QAAQ;CAC3B,IAAI,eAAe,aACf,OAAO,SAAS,IAAI,OAAO,CAAC;CAGhC,IAAI,MAAM,QAAQ,GAAG,GACjB,OAAO,IAAI,KAAK,SAAS,OAAO,IAAI,CAAC;CAGzC,IAAI,OAAO,UAAU,GAAG,KAAK,OAAO,QAAQ,YAAa,OAAO,QAAQ,YAAY,OAAO,QAAQ,aAAa,QAAQ,QAAQ,OAAO,SAAS,GAAG,GAC/I,OAAO;CAGX,IAAI,QAAQ,QAAQ,QAAQ,KAAA,GACxB,OAAO;CAGX,OAAO,SAAS,GAAG;AACvB;;;;;;;;;;;;;;;;;;;;;;;;ACVA,IAAa,oBAAb,MAA+B;CAC3B,cAAc;;;;EAIV,KAAK,wBAAQ,IAAI,IAAI;CACzB;;;;;;CAOA,IAAI,KAAK,MAAM;EACX,KAAK,MAAM,IAAI,KAAK,IAAI;CAC5B;;;;;;CAOA,IAAI,KAAK;EACL,MAAM,OAAO,KAAK,MAAM,IAAI,GAAG;EAE/B,IAAI,SAAS,KAAA,GACT,MAAM,IAAI,MAAM,qCAAqC,IAAI,MAAM;EAGnE,OAA0C;CAC9C;;;;;;CAOA,IAAI,KAAK;EACL,OAAO,KAAK,MAAM,IAAI,GAAG;CAC7B;;;;CAMA,OAAO;EACH,OAAO,CAAC,GAAG,KAAK,MAAM,KAAK,CAAC;CAChC;AACJ;;;;;;;;;;;;;;;;;;ACnDA,IAAM,QAAQ,IAAI,kBAAkB;;;;;;AAOpC,IAAa,WAAW,QAAQ,MAAM,IAAI,GAAG;;;;;;AAO7C,IAAa,oBAAoB,QAAQ,MAAM,IAAI,GAAG;;;;;;AAOtD,IAAa,wBAAwB,KAAK,kBAAkB,MAAM,IAAI,KAAK,aAAa;;;;;;AAYxF,IAAM,gBAAgB,QAAgD,IAAI;;;;;;;AAiB1E,SAAS,aAAa,KAAK,MAAM,OAAO;CACpC,aAAa,GAAG,CAAC,CAAC,QAAQ;AAC9B;;;;;;;AAQA,SAAS,UAAU,KAAK,MAAM,QAAQ;CAClC,OAAO,eAAe,IAAI,WAAW,MAAM;EACvC,MAAM;GACF,OAAO,OAAO,IAAI;EACtB;EACA,YAAY;EACZ,cAAc;CAClB,CAAC;AACL;;;;;;;AAQA,SAAS,UAAU,KAAK,MAAM,QAAQ;CAClC,OAAO,eAAe,IAAI,WAAW,MAAM;EACvC,IAAI,OAAO;GACP,OAAO,OAAO,MAAM,KAAK;EAC7B;EACA,YAAY;EACZ,cAAc;CAClB,CAAC;AACL;;;;;;;;AASA,SAAS,mBAAmB,KAAK,MAAM,QAAQ,QAAQ;CACnD,OAAO,eAAe,IAAI,WAAW,MAAM;EACvC,MAAM;GACF,OAAO,OAAO,IAAI;EACtB;EACA,IAAI,OAAO;GACP,OAAO,OAAO,MAAM,KAAK;EAC7B;EACA,YAAY;EACZ,cAAc;CAClB,CAAC;AACL;;;;;;AAOA,IAAa,wBAAwB,KAAK,aAAa;CACnD,MAAM,gBAAgB,iBAAiB,GAAG;CAC1C,IAAI,cAAc,mBAAmB,SAAS,QAAQ,MAAM,OACpD;MAAA;GAAC;GAAU;GAAU;GAAW;GAAS;EAAQ,CAAC,CAAC,QAAQ,QAAQ,MAAM,IACzE,cAAc,mBAAmB,KAAK,QAAQ;CAAA;AAG1D;;;;;;AAOA,IAAa,qBAAqB,KAAK,mBAAmB;CACtD,IAAI,mBAAmB,KAAA,GACnB,KAAK,MAAM,QAAQ,gBACf,qBAAqB,KAAK,KAAK,IAAI;AAG/C;;;;;;AAOA,IAAM,+BAA+B,eAAe,cAAc;CAC9D,IAAI,cAAc,QAAQ,SAAS,SAAS,MAAM,OAC9C,cAAc,QAAQ,KAAK,SAAS;AAE5C;;;;;;AAOA,IAAa,gBAAgB,KAAK,cAAc;CAE5C,4BADsB,iBAAiB,GACX,GAAe,SAAS;AACxD;;;;;;;;AAUA,IAAa,6BAA6B,KAAK,MAAM,eAAe,UAAU;CAC1E,aAAa,KAAK,MAAM,KAAK;CAC7B,aAAa,KAAK,GAAG,OAAO,eAAe;AAC/C;;;;;;;;;AAUA,SAAgB,gCAAgC,KAAK,MAAM,QAAQ,QAAQ,UAAU;CACjF,mBAAmB,KAAK,MAAM,QAAQ,MAAM;CAC5C,aAAa,KAAK,OAAO,KAAK,MAAM,SAAS,EAAE;CAC/C,aAAa,KAAK,OAAO,KAAK,UAAU,SAAS,GAAG;AACxD;;;;;;;;AASA,SAAgB,uBAAuB,KAAK,MAAM,QAAQ,UAAU;CAChE,UAAU,KAAK,MAAM,MAAM;CAC3B,aAAa,KAAK,OAAO,KAAK,MAAM,SAAS,EAAE;AACnD;;;;;;;;AASA,SAAgB,uBAAuB,KAAK,MAAM,QAAQ,UAAU;CAChE,UAAU,KAAK,MAAM,MAAM;CAC3B,aAAa,KAAK,OAAO,KAAK,UAAU,SAAS,GAAG;AACxD;;;;;;AAOA,SAAgB,UAAU,KAAK,QAAQ;CACnC,MAAM,gBAAgB,iBAAiB,GAAG;CAC1C,IAAI,QACA,cAAc,QAAQ,KAAK,MAAM;AAEzC;;;;;;;;;;;;;;;;;;;;;ACrNA,SAAgB,YAAY,KAAK,KAAK,MAAM,QAAQ;CAChD,MAAM,OAAO,QAAQ,OAAO,OAAO,OAAO;CAC1C,MAAM,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,KAAK,MAAM,CAAC;CAC5D,MAAM,WAAW,QAAQ,WAAW,OAAO,WAAW,KAAK;CAE3D,qBAAqB,KAAK,KAAK,IAAI;CAEnC,uBAAuB,KAAK,OAAO,SAAS,KAAK,UAAU,GAAG,GAAG,QAAQ;CAEzE;EACI;EACA,MAAM;EACN,IAAI,KAAK,IAAI,SAAS;;;;;;;EAOtB,SAAU,OAAO;GACb,OAAO,KAAK,UAAU,KAAK,KAAK;EACpC;CACJ;CAEA,UAAU,KAAK,QAAQ,MAAM;CAE7B,IAAI,QAAQ,WACR,UAAU,MAAM,aAAa,SAAS,UAAU,KAAK,QAAQ,YAAY,SAAS,WAAW,CAAC,CAAC;AAEvG;;;;;;;;;;;;AAaA,SAAgB,kBAAkB,KAAK,KAAK,MAAM,QAAQ;CACtD,MAAM,OAAO,QAAQ,OAAO,OAAO,OAAO;CAC1C,MAAM,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,KAAK,MAAM,CAAC;CAC5D,MAAM,WAAW,QAAQ,WAAW,OAAO,WAAW,KAAK;CAE3D,qBAAqB,KAAK,KAAK,IAAI;CAEnC;EACI;EACA,MAAM;EACN,IAAI,KAAK,IAAI,SAAS;;;;;;;EAOtB,SAAU,OAAO;GACb,OAAO,KAAK,WAAW,KAAK,KAAK;EACrC;CACJ;CAEA;EACI;EACA,OAAO;EACP,mBAAmB,SAAS;;;;;;;EAO5B,SAAU,QAAQ;GACd,MAAM,OAAO,KAAK,WAAW,GAAG;GAChC,IAAI,MACA,OAAO,IAAI;GAEf,OAAO;EACX;CACJ;CAEA,uBAAuB,KAAK,OAAO,SAAS,KAAK,WAAW,GAAG,GAAG,QAAQ;CAE1E,UAAU,KAAK,QAAQ,MAAM;CAE7B,IAAI,QAAQ,WACR,UAAU,MAAM,aAAa,SAAS,WAAW,KAAK,QAAQ,YAAY,SAAS,WAAW,CAAC,CAAC;AAExG;;;;;;;;;;;;;AAcA,SAAgB,aAAa,KAAK,KAAK,MAAM,QAAQ;CACjD,MAAM,OAAO,QAAQ,OAAO,OAAO,OAAO;CAC1C,MAAM,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,KAAK,MAAM,CAAC;CAC5D,MAAM,WAAW,QAAQ,WAAW,OAAO,WAAW,KAAK;CAE3D,qBAAqB,KAAK,KAAK,IAAI;CAEnC;EACI;EACA,MAAM;EACN,IAAI,KAAK,IAAI,SAAS;;;;;;EAMtB,SAAU,OAAO;GACb,OAAO,KAAK,kBAAkB,KAAK,MAAM,KAAK;EAClD;CACJ;CAEA;EACI;EACA,SAAS;EACT,0BAA0B,SAAS,OAAO,SAAS;;;;;;EAMnD,SAAU,cAAc;GACpB,IAAI,CAAC,cACD,gBAAgB,SAAS;GAE7B,OAAO,KAAK,kBAAkB,KAAK,MAAM,aAAa,IAAI,KAAK,KAAK,WAAW,CAAC,CAAC;EACrF;CACJ;CAEA;EACI;EACA,OAAO;EACP,mBAAmB,SAAS;;;;;;EAM5B,SAAU,QAAQ;GACd,MAAM,OAAO,KAAK,kBAAkB,KAAK,IAAI;GAC7C,IAAI,MACA,OAAO,IAAI;GAEf,OAAO;EACX;CACJ;CAEA,uBAAuB,KAAK,OAAO,SAAS,KAAK,kBAAkB,KAAK,IAAI,GAAG,QAAQ;CAEvF,UAAU,KAAK,QAAQ,MAAM;CAE7B,IAAI,QAAQ,WACR,UAAU,MAAM,aAAa;EACzB,MAAM,IAAI,QAAQ,YAAY,SAAS,WAAW;EAClD,SAAS,kBAAkB,KAAK,MAAM,CAAC;CAC3C,CAAC;AAET;;;;;;;;;;;;;;AAeA,SAAgB,YAAY,KAAK,KAAK,MAAM,QAAQ;CAChD,MAAM,OAAO,QAAQ,OAAO,OAAO,OAAO;CAC1C,MAAM,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,KAAK,MAAM,CAAC;CAC5D,MAAM,WAAW,QAAQ,WAAW,OAAO,WAAY,KAAK,SAAS,GAAG,IAAI,KAAK,MAAM,GAAG,EAAE,IAAI,GAAG,KAAK;CACxG,MAAM,eAAe,SAAS,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS,MAAM,CAAC;CAExE,qBAAqB,KAAK,KAAK,IAAI;CAEnC;EACI;EACA,OAAO;EACP;;;;;EAKA,WAAY;GACR,OAAO,KAAK,WAAW,GAAG;EAC9B;CACJ;CAEA,uBAAuB,KAAK,OAAO,SAAS,KAAK,UAAU,GAAG,GAAG,GAAG,KAAK,KAAK,GAAG;CAEjF;EACI;EACA,MAAM;EACN,IAAI,SAAS,IAAI,KAAK,KAAK;;;;;;EAM3B,SAAU,MAAM;GACZ,OAAO,KAAK,cAAc,KAAK,IAAI;EACvC;CACJ;CAEA;EACI;EACA,SAAS;EACT,yBAAyB,KAAK,KAAK,OAAO,KAAK,KAAK;;;;;;EAMpD,SAAU,cAAc;GACpB,OAAO,KAAK,cAAc,KAAK,aAAa,IAAI,KAAK,KAAK,WAAW,CAAC,CAAC;EAC3E;CACJ;CAEA;EACI;EACA,OAAO;EACP,aAAa,KAAK,IAAI,KAAK,KAAK;;;;;;EAMhC,SAAU,QAAQ;GACd,MAAM,QAAQ,KAAK,UAAU,GAAG;GAChC,IAAI,OACA,OAAO,KAAK;GAEhB,OAAO;EACX;CACJ;CAEA,UAAU,KAAK,QAAQ,MAAM;CAE7B,IAAI,QAAQ,WACR,UAAU,MAAM,aAAa,OAAO,YAC7B,SAAS,WAAW,CAAC,EACtB,SACE,SAAQ,SAAS,cAAc,KAAK,IAAI,CAC5C,CACJ;CAGJ,IAAI,QAAQ,UACR,UAAU,MAAM,aAAa,SAAS,WAAW,GAAG,CAAC;AAE7D;;;;;;;;;;;;;AAcA,SAAgB,iBAAiB,KAAK,KAAK,MAAM,QAAQ;CACrD,MAAM,OAAO,QAAQ,OAAO,OAAO,OAAO;CAC1C,MAAM,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,KAAK,MAAM,CAAC;CAC5D,MAAM,WAAW,QAAQ,WAAW,OAAO,WAAY,KAAK,SAAS,GAAG,IAAI,KAAK,MAAM,GAAG,EAAE,IAAI,GAAG,KAAK;CACxG,MAAM,eAAe,SAAS,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS,MAAM,CAAC;CAExE,qBAAqB,KAAK,KAAK,IAAI;CAEnC;EACI;EACA,OAAO;EACP;;;;;EAKA,WAAY;GACR,OAAO,KAAK,WAAW,GAAG;EAC9B;CACJ;CAEA,uBAAuB,KAAK,OAAO,SAAS,KAAK,UAAU,GAAG,GAAG,GAAG,KAAK,KAAK,GAAG;CAEjF;EACI;EACA,MAAM;EACN,IAAI,SAAS,IAAI,KAAK,KAAK;;;;;;;EAO3B,SAAU,MAAM;GACZ,OAAO,KAAK,cAAc,KAAK,IAAI;EACvC;CACJ;CAEA;EACI;EACA,OAAO;EACP,aAAa,KAAK,IAAI,KAAK,KAAK;;;;;;;EAOhC,SAAU,QAAQ;GACd,MAAM,QAAQ,KAAK,UAAU,GAAG;GAChC,IAAI,OACA,OAAO,KAAK;GAEhB,OAAO;EACX;CACJ;CAEA,UAAU,KAAK,QAAQ,MAAM;CAE7B,IAAI,QAAQ,WACR,UAAU,MAAM,aAAa,OAAO,YAC7B,SAAS,WAAW,CAAC,EACtB,SACE,SAAQ,SAAS,cAAc,KAAK,IAAI,CAC5C,CACJ;CAGJ,IAAI,QAAQ,UACR,UAAU,MAAM,aAAa,SAAS,WAAW,GAAG,CAAC;AAE7D;;;;;;AAOA,SAAgB,kBAAkB,KAAK,MAAM;CACzC,aAAa,KAAK,8CAA8C;CAChE,UAAU,MAAM,aAAa,KAAK,QAAQ,CAAC;AAC/C;;;;;;;;AAUA,SAAgB,aAAa,KAAK,QAAQ,QAAQ;CAC9C,MAAM,EAAE,mBAAmB,UAAU,CAAC;CACtC,aAAa,KAAK,MAAM;CACxB,kBAAkB,KAAK,cAAc;AACzC;;;;;;;;;;AAYA,IAAa,gBAAgB,KAAK,MAAM,MAAM,WAAW;CACrD,MAAM,EACF,gBACA,SACA,UAAU,CAAC;CAEf,kBAAkB,KAAK,cAAc;CAErC;EACI;EACA;EACA;;;;;;EAMA,SAAU,GAAG,MAAM;GACf,OAAO,KAAK,MAAM,GAAG,IAAI;EAC7B;CACJ;AACJ;;;;;;;;;;;AAYA,SAAgB,mBAAmB,KAAK,MAAM,UAAU,QAAQ;CAC5D,MAAM,EACF,gBACA,QACA,WACA,UAAU,CAAC;CAEf,kBAAkB,KAAK,cAAc;CAErC,IAAI,WAAW,KAAA,GAAW;EACtB,IAAI,WAAW,KAAA,GACX,gCAAgC,KAAK,MAAM,QAAQ,QAAQ,QAAQ;OAEnE,uBAAuB,KAAK,MAAM,QAAQ,QAAQ;CAE1D,OACI,IAAI,WAAW,KAAA,GACX,uBAAuB,KAAK,MAAM,QAAQ,QAAQ;MAElD,MAAM,IAAI,MAAM,+CAA+C;AAG3E;;;;;;;;;;;;;;;;;;AC7bA,IAAa,0BAAb,MAAqC;;;;CAIjC,YAAY,KAAK;;EAEb,KAAK,OAAO;CAChB;;;;CAKA,IAAI,MAAM;EACN,OAAO,KAAK;CAChB;;;;;CAMA,UAAU,QAAQ;EACd,KAAK,SAAS;EACd,OAAO;CACX;;;;;;;;;;;CAYA,YAAY,KAAK,MAAM,QAAQ;EAC3B,YAAY,KAAK,KAAK,KAAK,MAAM,MAAM;EACvC,OAAO;CACX;;;;;;;;;;;;;CAcA,aAAa,KAAK,MAAM,QAAQ;EAC5B,aAAa,KAAK,KAAK,KAAK,MAAM,MAAM;EACxC,OAAO;CACX;;;;;;;;;;;CAYA,kBAAkB,KAAK,MAAM,QAAQ;EACjC,kBAAkB,KAAK,KAAK,KAAK,MAAM,MAAM;EAC7C,OAAO;CACX;;;;;;;;;;;;;CAcA,YAAY,KAAK,MAAM,QAAQ;EAC3B,YAAY,KAAK,KAAK,KAAK,MAAM,MAAM;EACvC,OAAO;CACX;;;;;;;;;;;;CAaA,iBAAiB,KAAK,MAAM,QAAQ;EAChC,iBAAiB,KAAK,KAAK,KAAK,MAAM,MAAM;EAC5C,OAAO;CACX;;;;;;;CAQA,aAAa,QAAQ,QAAQ;EACzB,aAAa,KAAK,KAAK,QAAQ,MAAM;EACrC,OAAO;CACX;;;;;CAMA,kBAAkB,MAAM;EACpB,kBAAkB,KAAK,KAA2C,IAAK;EACvE,OAAO;CACX;;;;;;;;;CAUA,aAAa,MAAM,MAAM,QAAQ;EAC7B,aAAa,KAAK,KAAK,MAAM,MAAM,MAAM;EACzC,OAAO;CACX;;;;;;;;;;CAWA,mBAAmB,MAAM,UAAU,QAAQ;EACvC,mBAAmB,KAAK,KAAK,MAAM,UAAU,MAAM;EACnD,OAAO;CACX;;;;CAKA,KAAK,MAAM;EACP,KAAK,IAAI;EACT,OAAO;CACX;;;;CAKA,IAAI,UAAU;EACV,OAAO,KAAK;CAChB;AACJ;;;;;;;AAQA,IAAa,0BAA0B,MAAM,WAAW;CACpD,MAAM,MAAM,cAAc,OAAO,CAAE;CACnC,OAAO,eAAe,KAAK,QAAQ,EAAE,OAAO,KAAK,CAAC;CAClD,OAAO,YAA+C,GAAI,CAAC,CACtD,UAAU,MAAM;AACzB;;;;;AAMA,SAAgB,YAAY,KAAK;CAC7B,IAAI,CAAC,QAAQ,GAAG,GAAG;;EAEf,IAAI,SAAS,OAAO,eAAe,GAAG;EACtC,IAAI,UAAU,CAAC,OAAO,MAClB,SAAS,KAAA;;EAGb,IAAI,gBAAgB,CAAC;EACrB,IAAI,UAAU,OAAO,MAEjB,gBAAgB,iBAAiB,MAAM,CAAC,CAAC;;EAG7C,MAAM,gBAAgB;GAClB,SAAS,CAAC;GACV,SAAS,CAAC,GAAG,aAAa;GAC1B,YAAY,QAAQ;GAEZ;GACR,oBAAoB,CAAC;EACzB;EACA,IAAI,UAAU,UAAU,WAAY;GAChC,KAAK,MAAM,UAAU,cAAc,SAC/B,OAAO,IAAI;EAEnB;EACA,qBAAqB,KAAK,aAAa;CAC3C;CACA,OAAO,IAAI,wBAAwB,GAAG;AAC1C;;;AC1OA,IAAa,cAAb,MAAyB;;;;CAIrB,YAAY,aAAa;EACrB,KAAK,eAAe,eAAe,CAAC;EACpC,KAAK,iBAAiB,CAAC;EACvB,KAAK,iBAAiB,CAAC;EACvB,KAAK,kBAAkB,CAAC;EACxB,KAAK,QAAQ;CACjB;;;;CAKA,IAAI,cAAc;EACd,OAAO,KAAK;CAChB;;;;;CAMA,gBAAgB,MAAM;EAClB,KAAK,KAAK,WAAW;EACrB,OAAO;CACX;;;;;CAMA,KAAK,MAAM;EACP,KAAK,IAAI;EACT,OAAO;CACX;;;;;;;;CASA,UAAU,KAAK,OAAO;EAClB,KAAK,eAAe,OAAO,OAAO,KAAK;EACvC,OAAO;CACX;;;;;;;;CASA,UAAU,KAAK;EACX,OAAO,KAAK,eAAe;CAC/B;;;;CAKA,SAAS;EACL,MAAM,SAAS,EAAE,GAAG,KAAK,eAAe;EACxC,KAAK,MAAM,OAAO,KAAK,gBACnB,OAAO,OAAO,KAAK,eAAe,IAAI,CAAC,KAAI,SAAQ,OAAO,IAAI,CAAC;EAEnE,KAAK,MAAM,OAAO,KAAK,iBACnB,OAAO,OAAO,OAAO,KAAK,gBAAgB,IAAI;EAElD,OAAO,OAAO,MAAM;CACxB;;;;CAKA,WAAW,KAAK;EACZ,KAAK,UAAU,GAAG;EAClB,OAAO;CACX;;;;;;CAOA,UAAU,KAAK;EACX,IAAI,CAAC,KAAK,eAAe,MACrB,KAAK,eAAe,OAAO,CAAC;EAEhC,OAAO,KAAK,eAAe;CAC/B;;;;;;;CAQA,cAAc,KAAK,MAAM;EACrB,KAAK,UAAU,GAAG,CAAC,CAAC,KAAK,IAAI;EAC7B,OAAO;CACX;;;;;;;CAQA,WAAW,KAAK,OAAO;EACnB,KAAK,gBAAgB,OAAO;EAC5B,OAAO;CACX;;;;;;CAOA,WAAW,KAAK;EACZ,IAAI,CAAC,KAAK,gBAAgB,MACtB,KAAK,gBAAgB,OAAO,KAAA;EAEhC,OAAO,KAAK,gBAAgB;CAChC;;;;;;;;CASA,YAAY,KAAK,MAAM;EACnB,MAAM,MAAM,KAAK,WAAW,GAAG;EAC/B,IAAI,KACA,KAAK,GAAG;EAEZ,OAAO;CACX;;;;;;;;CASA,kBAAkB,KAAK,MAAM,OAAO;EAChC,KAAK,gBAAgB,OAAO;EAC5B,OAAO;CACX;;;;;;;CAQA,kBAAkB,KAAK,MAAM;EACzB,IAAI,CAAC,KAAK,gBAAgB,MACtB,KAAK,gBAAgB,OAAO,IAAI,KAAK,KAAK,WAAW;EAEzD,OAAO,KAAK,gBAAgB;CAChC;;;;;;;;;CAUA,mBAAmB,KAAK,MAAM,MAAM;EAChC,MAAM,MAAM,KAAK,kBAAkB,KAAK,IAAI;EAC5C,IAAI,KACA,KAAK,GAAG;EAEZ,OAAO;CACX;AACJ;AAEA,YAAY,WAAW,CAAC,CACnB,aAAa,8CAA8C,CAAC,CAC5D,aAAa,uCAAuC,CAAC,CACrD,aAAa,wEAAwE,CAAC,CACtF,aAAa,wCAAwC,CAAC,CACtD,aAAa,mBAAmB,CAAC,CACjC,aAAa,kBAAkB,CAAC,CAChC,aAAa,4CAA4C,CAAC,CAC1D,aAAa,+BAA+B,CAAC,CAC7C,aAAa,gCAAgC,CAAC,CAC9C,aAAa,iCAAiC,CAAC,CAC/C,aAAa,+CAA+C,CAAC,CAC7D,aAAa,6CAA6C,CAAC,CAC3D,aAAa,gCAAgC,CAAC,CAC9C,aAAa,6DAA6D,CAAC,CAC3E,aAAa,sIAAsI,CAAC,CACpJ,aAAa,6GAA6G,CAAC,CAC3H,aAAa,0IAA0I;;;AC1M5J,IAAa,kBAAkB,uBAAuB,mBAAmB,WAAW,CAAC,CAChF,YAAY,MAAM,MAAM,CAAC,CACzB,kBAAkB,WAAW,MAAM,CAAC,CACpC;;;ACHL,IAAa,gCAAgC,uBAAuB,iCAAiC,WAAW,CAAC,CAC5G,YAAY,QAAQ,MAAM,CAAC,CAC3B,iBAAiB,SAAS,MAAM,CAAC,CACjC,YAAY,UAAU,MAAM,CAAC,CAC7B,YAAY,YAAY,OAAO,CAAC,CAChC;;;ACLL,IAAa,mBAAmB,uBAAuB,oBAAoB,WAAW,CAAC,CAClF,YAAY,MAAM,MAAM,CAAC,CACzB,YAAY,SAAS,MAAM,CAAC,CAC5B;;;ACHL,IAAa,aAAa,uBAAuB,cAAc,WAAW,CAAC,CACtE,YAAY,QAAQ,MAAM,CAAC,CAC3B,YAAY,OAAO,MAAM,CAAC,CAC1B;;;ACFL,IAAa,aAAa,uBAAuB,cAAc,WAAW,CAAC,CACtE,YAAY,WAAW,MAAM,CAAC,CAC9B,aAAa,cAAc,UAAU,CAAC,CACtC,YAAY,UAAU,OAAO,CAAC,CAC9B,YAAY,QAAQ,OAAO,CAAC,CAC5B,YAAY,aAAa,MAAM,CAAC,CAChC,YAAY,QAAQ,MAAM,CAAC,CAC3B,YAAY,QAAQ,MAAM,CAAC,CAC3B;;;ACRL,IAAa,cAAc,uBAAuB,eAAe,WAAW,CAAC,CACxE,YAAY,QAAQ,YAAY,EAAE,UAAU,aAAa,CAAC,CAAC,CAC3D;;;ACHL,IAAa,QAAQ,uBAAuB,SAAS,WAAW,CAAC,CAC5D,YAAY,QAAQ,MAAM,CAAC,CAC3B;;;ACFL,IAAa,YAAY,uBAAuB,aAAa,WAAW,CAAC,CACpE,YAAY,QAAQ,MAAM,CAAC,CAC3B,YAAY,MAAM,MAAM,CAAC,CACzB,aAAa,YAAY,qCAAqC;;;;;;;AAO3D,OAAO,WAAW,MAAM,OAAO;CAC3B,UAAU,QAAQ,IAAI;CACtB,UAAU,MAAM,EAAE;CAClB,OAAO;AACX,EACJ,CAAC,CAAC,CACD;;;AChBL,IAAa,UAAU,uBAAuB,WAAW,WAAW,CAAC,CAChE,YAAY,KAAK,MAAM,CAAC,CACxB,YAAY,KAAK,MAAM,CAAC,CACxB,YAAY,KAAK,MAAM,CAAC,CACxB,YAAY,KAAK,MAAM,CAAC,CACxB,aAAa,UAAU,uDAAuD;;;;;;;;;AAS3E,OAAO,SAAS,GAAG,GAAG,GAAG,MAAM;CAC3B,QAAQ,KAAK,CAAC;CACd,QAAQ,KAAK,CAAC;CACd,QAAQ,KAAK,CAAC;CACd,QAAQ,KAAK,CAAC;CACd,OAAO;AACX,EACJ,CAAC,CAAC,CACD;;;ACtBL,IAAa,oBAAoB,uBAAuB,qBAAqB,WAAW,CAAC,CACpF;;;ACDL,IAAa,UAAU,uBAAuB,WAAW,WAAW,CAAC,CAChE;;;ACDL,IAAa,iBAAiB,uBAAuB,kBAAkB,WAAW,CAAC,CAC9E,YAAY,SAAS,MAAM,CAAC,CAC5B,YAAY,SAAS,MAAM,CAAC,CAC5B;;;ACFL,IAAa,aAAa,uBAAuB,cAAc,WAAW,CAAC,CACtE,YAAY,QAAQ,MAAM,CAAC,CAC3B,YAAY,SAAS,cAAc,CAAC,CACpC,aAAa,4BAA4B,yCAAyC;;;;;;;AAO/E,OAAO,YAAY,OAAO,UAAU;CAChC,MAAM,OAAO,IAAI,eAAe,WAAW,WAAW,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,KAAK;CACtF,OAAO,WAAW,QAAQ,IAAI;AAClC,EACJ,CAAC,CAAC,CACD;;;ACZL,IAAa,qBAAqB,uBAAuB,sBAAsB,WAAW,CAAC,CACtF,aAAa,SAAS,KAAK,CAAC,CAC5B,aAAa,UAAU,iBAAiB,CAAC,CACzC,YAAY,YAAY,MAAM,CAAC,CAC/B,YAAY,eAAe,OAAO,CAAC,CACnC,YAAY,YAAY,OAAO,CAAC,CAChC,YAAY,OAAO,MAAM,CAAC,CAC1B,YAAY,OAAO,MAAM,CAAC,CAC1B,aAAa,cAAc,UAAU,CAAC,CACtC,YAAY,QAAQ,MAAM,CAAC,CAC3B,aAAa,gBAAgB,yBAAyB;;;;;;AAMnD,OAAO,oBAAoB,SAAS;CAChC,IAAI,mBAAmB,UAAU,KAAA,GAC7B,mBAAmB,YAAY;CAEnC,mBAAmB,MAAM,QAAQ,IAAI;CACrC,OAAO;AACX,EACJ,CAAC,CAAC,CACD;;;AC1BL,IAAa,sBAAsB,uBAAuB,uBAAuB,WAAW,CAAC,CACxF,YAAY,eAAe,QAAQ,EAAE,MAAM,YAAY,CAAC,CAAC,CACzD,aAAa,WAAW,eAAe,CAAC,CACxC,YAAY,cAAc,kBAAkB,EAAE,UAAU,WAAW,CAAC,CAAC,CACrE;;;ACNL,IAAa,WAAW,uBAAuB,YAAY,WAAW,CAAC,CAClE,YAAY,SAAS,OAAO,CAAC,CAC7B,YAAY,UAAU,OAAO,CAAC,CAC9B,YAAY,WAAW,OAAO,CAAC,CAC/B,YAAY,OAAO,OAAO,CAAC,CAC3B;;;ACDL,IAAa,cAAc,uBAAuB,eAAe,WAAW,CAAC,CACxE,aAAa,YAAY,kBAAkB,CAAC,CAC5C,YAAY,aAAa,mBAAmB,CAAC,CAC7C,aAAa,gCAAgC,2BAA2B;;;;;;AAMrE,OAAO,aAAa,UAAU;;;;;CAK1B,MAAM,kBAAkB,YAAY,MAAM,QACrC,SAAS,SAAS,QAAQ,QAAQ,IAAI,GACvC,OACJ;CACA,OAAO,YAAY,gBACd,aAAa,SACT,aAAa,gBAAgB,CAAC,CAC9B,eACI,oBAAoB,gBAChB,MAAM,SAAS,CAAC,CAChB,WACG,eAAe,IAAI,8BAA8B,CAAC,CAAC,CAC9C,QAAQ,SAAS,CAAC,CAClB,UAAU,aAAa,CAAC,CACxB,YAAY,IAAI,CACzB,CACR,CAAC,CACA,gBACI,aAAa,SACT,MAAM,iBAAiB,CAAC,CACxB,SACG,IAAI,SAAS,CAAC,CACT,UAAU,KAAK,CAAC,CAChB,WAAW,IAAI,CAAC,CAChB,OAAO,IAAI,CACpB,CACR,CACR;AACJ,EACJ,CAAC,CAAC,CACD;;;AC/CL,IAAa,SAAS,uBAAuB,UAAU,WAAW,CAAC,CAC9D,YAAY,SAAS,MAAM,CAAC,CAC5B,YAAY,SAAS,MAAM,CAAC,CAC5B,YAAY,SAAS,MAAM,CAAC,CAC5B,aAAa,cAAc,UAAU,CAAC,CACtC,YAAY,eAAe,MAAM,CAAC,CAClC,YAAY,cAAc,MAAM,CAAC,CACjC,YAAY,eAAe,MAAM,CAAC,CAClC;;;ACTL,IAAa,OAAO,uBAAuB,QAAQ,WAAW,CAAC,CAC1D,mBAAkB,aAAY,SAAS,QAAQ,MAAM,CAAC,CAAC,CACvD,YAAY,cAAc,OAAO,CAAC,CAClC,YAAY,QAAQ,MAAM,CAAC,CAC3B,YAAY,eAAe,OAAO,CAAC,CACnC,YAAY,YAAY,OAAO,CAAC,CAChC,iBAAiB,QAAQ,QAAQ,EAAE,UAAU,KAAK,CAAC,CAAC,CACpD,YAAY,eAAe,OAAO,CAAC,CACnC,YAAY,SAAS,MAAM,CAAC,CAC5B,YAAY,WAAW,MAAM,CAAC,CAC9B,YAAY,QAAQ,MAAM,CAAC,CAC3B,YAAY,OAAO,MAAM,CAAC,CAC1B;;;ACZL,IAAa,qBAAqB,uBAAuB,sBAAsB,WAAW,CAAC,CACtF;;;ACKL,IAAa,QAAQ,uBAAuB,SAAS,WAAW,CAAC,CAC5D,YAAY,gBAAgB,MAAM,CAAC,CACnC,aAAa,cAAc,YAAY,EAAE,YAAY,YAAY,KAAA,EAAU,CAAC,CAAC,CAC7E,YAAY,eAAe,MAAM,CAAC,CAClC,aAAa,eAAe,aAAa,EAAE,YAAY,YAAY,IAAI,YAAY,OAAO,EAAE,CAAC,CAAC,CAC9F,aAAa,WAAW,OAAO,CAAC,CAChC,aAAa,UAAU,uDAAuD;;;;;;;;AAQ3E,OAAO,OAAO,GAAG,GAAG,GAAG,MAAM;CACzB,OAAO,MAAM,eAAe,YAAY,QAAQ,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC;AACtE,EACJ,CAAC,CAAC,CACD,YAAY,oBAAoB,OAAO,CAAC,CACxC,YAAY,MAAM,MAAM,CAAC,CACzB,YAAY,YAAY,MAAM,CAAC,CAC/B,YAAY,SAAS,IAAI,CAAC,CAC1B,YAAY,iBAAiB,MAAM,CAAC,CACpC,YAAY,aAAa,MAAM,CAAC,CAChC,aAAa,WAAW,MAAM,CAAC,CAC/B,YAAY,iBAAiB,MAAM,CAAC,CACpC,YAAY,mBAAmB,MAAM,CAAC,CACtC,YAAY,UAAU,MAAM,CAAC,CAC7B,YAAY,mBAAmB,MAAM,CAAC,CACtC,YAAY,WAAW,MAAM,CAAC,CAC9B,aAAa,uBAAuB,iEAAiE;;;;;;;AAOlG,OAAO,OAAO,OAAO,OAAO,eAAe;CACvC,OAAO,MAAM,UACT,IAAI,OAAO,MAAM,WAAW,CAAC,CACxB,SAAS,KAAK,CAAC,CACf,SAAS,KAAK,CAAC,CACf,cAAc,UAAU,CACjC;AACJ,EACJ,CAAC,CAAC,CACD,YAAY,YAAY,MAAM,CAAC,CAC/B,YAAY,aAAa,MAAM,CAAC,CAChC,YAAY,mBAAmB,kBAAkB,CAAC,CAClD,YAAY,QAAQ,QAAQ,EAAE,YAAY,YAAY,GAAG,CAAC,CAAC,CAC3D,YAAY,SAAS,QAAQ,EAAE,YAAY,YAAY,GAAG,CAAC,CAAC,CAC5D;;;ACzDL,IAAa,kBAAkB,uBAAuB,mBAAmB,WAAW,CAAC,CAChF,YAAY,QAAQ,MAAM,CAAC,CAC3B,YAAY,SAAS,MAAM,CAAC,CAC5B;;;ACHL,IAAa,iBAAiB,uBAAuB,kBAAkB,WAAW,CAAC,CAC9E,YAAY,YAAY,OAAO,CAAC,CAChC,YAAY,QAAQ,MAAM,CAAC,CAC3B,YAAY,SAAS,MAAM,CAAC,CAC5B;;;ACFL,IAAa,WAAW,uBAAuB,YAAY,WAAW,CAAC,CAClE,aAAa,WAAW,eAAe,CAAC,CACxC,YAAY,cAAc,MAAM,CAAC,CACjC,YAAY,eAAe,MAAM,CAAC,CAClC,YAAY,QAAQ,MAAM,CAAC,CAC3B,YAAY,SAAS,MAAM,CAAC,CAC5B,YAAY,SAAS,OAAO,CAAC,CAC7B,YAAY,QAAQ,MAAM,CAAC,CAC3B,YAAY,WAAW,cAAc,CAAC,CACtC,YAAY,SAAS,MAAM,CAAC,CAC5B,YAAY,WAAW,MAAM,CAAC,CAC9B,YAAY,SAAS,MAAM,CAAC,CAC5B,YAAY,QAAQ,MAAM,CAAC,CAC3B,YAAY,QAAQ,MAAM,CAAC,CAC3B,YAAY,WAAW,OAAO,CAAC,CAC/B;;;AChBL,IAAa,aAAa,uBAAuB,cAAc,WAAW,CAAC,CACtE,YAAY,QAAQ,UAAU,EAAE,UAAU,WAAW,CAAC,CAAC,CACvD;;;ACFL,IAAa,aAAa,uBAAuB,cAAc,WAAW,CAAC,CACtE,iBAAiB,qBAAqB,QAAQ,EAAE,UAAU,kBAAkB,CAAC,CAAC,CAC9E;;;;;;;;;;ACML,IAAa,kBAAkB,YAC3B,IAAI,YAAY,OAAO,CAAC,CACnB,kBACG,eAAc,WACT,WAAW,CAAC,CAAC,CACb,kBACG,eAAc,WACT,QAAQ,SAAS,CAAC,CAClB,OAAO,eAAe,CAC/B,CAAC,CACA,UAAU,IAAI,CAAC,CACf,QAAQ,IAAI,CAAC,CACb,aAAa,sBAAsB,CAAC,CACpC,QAAQ,sBAAsB,CAAC,CAC/B,QAAQ,WAAW,CAC5B;;;ACjBR,IAAa,YAAY,uBAAuB,aAAa,WAAW,CAAC,CACpE,UAAU,WAAW,CAAC,CACtB,aAAa,eAAe,aAAa,EACtC,YAAY,YAAY,eAAe,OAAO,EAClD,CAAC,CAAC,CACD,YAAY,YAAY,OAAO,CAAC,CAChC,YAAY,wBAAwB,MAAM,CAAC,CAC3C,YAAY,gBAAgB,MAAM,CAAC,CACnC,YAAY,SAAS,MAAM,EAAE,UAAU,OAAO,CAAC,CAAC,CAChD,YAAY,WAAW,OAAO,CAAC,CAC/B,YAAY,UAAU,OAAO,EAAE,UAAU,QAAQ,CAAC,CAAC,CACnD,aAAa,YAAY,yBAAyB;;;;;;AAM/C,OAAO,WAAW,UAAU;CACxB,MAAM,MAAM,UAAU,OAAO,QAAQ,KAAK,UAAU;EAChD,MAAM,KAAK,MAAM,UAAU,IAAI;EAC/B,IAAI,MAAM,KACN,OAAO;OAEP,OAAO;CAEf,GAAG,CAAC;CACJ,MAAM,UAAU,MAAM,MAAM,CAAC;CAC7B,OAAO,UAAU,cAAc,UAAU,KAAK;AAClD,EACJ,CAAC,CAAC,CACD,YAAY,WAAW,OAAO,CAAC,CAC/B,YAAY,iBAAiB,MAAM,CAAC,CACpC,YAAY,WAAW,MAAM,CAAC,CAC9B,YAAY,QAAQ,OAAO;CAAE,YAAY,YAAY,CAAC;CAAG,UAAU;AAAgB,CAAC,CAAC,CACrF,aAAa,cAAc,YAAY,EACpC,YAAY,YAAY,IAAI,WAAW,OAAO,EAClD,CAAC,CAAC,CACD,aAAa,QAAQ,WAAW,EAC7B,YAAY,YAAY,IAAI,UAAU,OAAO,CAAC,CAEzC,SAAS,UAAU,KAAK,EACjC,CAAC,CAAC,CACD,aAAa,gBAAgB,qCAAqC;;;;;;;AAO/D,OAAO,WAAW,MAAM,OAAO;CAC3B,UAAU,KAAK,SAAS,MAAM,EAAE;CAChC,OAAO;AACX,EACJ,CAAC,CAAC,CACD,aAAa,cAAc,YAAY,EACpC,YAAY,YAAY,IAAI,WAAW,OAAO,EAClD,CAAC,CAAC,CACD,YAAY,YAAY,QAAQ,EAAE,YAAY,YAAY,UAAU,CAAC,CAAC,CACtE,YAAY,SAAS,QAAQ,EAAE,YAAY,YAAY,GAAG,CAAC,CAAC,CAC5D,YAAY,OAAO,MAAM,CAAC,CAC1B;;;;;;;;;;AC5DL,IAAa,oBAAoB,SAAS,UAAU,YAAY;CAC5D,MAAM,EAAE,WAAW,WAAW,CAAC;CAC/B,QACK,mBACI,aAAa;EACV,SAAS,QAAQ,QAAQ;EACzB,IAAI,QACA,OAAO,QAAQ;CAEvB,CACJ;AACR;;;ACjBA,IAAa,qBAAqB,uBAAuB,sBAAsB,UAAU,CAAC,CACrF,MAAK,YAAW,iBAAiB,SAAS,iCAAiC,CAAC,CAAC,CAC7E;;;ACHL,IAAa,oBAAoB,uBAAuB,qBAAqB,WAAW,CAAC,CACpF,YAAY,QAAQ,MAAM,CAAC,CAC3B;;;;;;;ACGL,IAAa,oBAAoB,YAAY;CACzC,QACK,YAAY,kBAAkB,OAAO,CAAC,CACtC,YAAY,oBAAoB,OAAO,CAAC,CACxC,YAAY,iBAAiB,MAAM,CAAC,CACpC,YAAY,gBAAgB,OAAO,CAAC,CACpC,YAAY,aAAa,MAAM,CAAC,CAChC,YAAY,iBAAiB,MAAM,CAAC,CACpC,YAAY,eAAe,MAAM,CAAC,CAClC,YAAY,eAAe,MAAM,CAAC,CAClC,YAAY,aAAa,MAAM,CAAC,CAChC,aAAa,qBAAqB,mBAAmB,EAClD,YAAY,YAAY,IAAI,kBAAkB,OAAO,CAAC,CAAC,QAAQ,QAAQ,EAC3E,CAAC;AACT;;;;;;;ACdA,IAAa,6BAA6B,YAAY;CAClD,QACK,aAAa,YAAY,UAAU,EAChC,YAAY,YAAY,IAAI,SAAS,OAAO,CAAC,CACxC,UAAU,KAAK,CAAC,CAChB,WAAW,KAAK,CAAC,CACjB,OAAO,KAAK,EACrB,CAAC;AACT;;;ACbA,IAAa,iBAAiB,uBAAuB,kBAAkB,WAAW,CAAC,CAC9E,YAAY,QAAQ,MAAM,CAAC,CAC3B;;;ACCL,IAAa,4BAA4B,uBAAuB,6BAA6B,iBAAiB,CAAC,CAC1G,MAAK,YAAW,iBAAiB,OAAO,CAAC,CAAC,CAC1C,YAAY,eAAe,MAAM,CAAC,CAClC,YAAY,gBAAgB,MAAM,CAAC,CACnC,MAAK,YAAW,0BAA0B,OAAO,CAAC,CAAC,CACnD,YAAY,aAAa,MAAM,CAAC,CAChC,aAAa,mBAAmB,gBAAgB,EAC7C,YAAY,YAAY,IAAI,eAAe,OAAO,CAAC,CAAC,QAAQ,KAAK,EACrE,CAAC,CAAC,CACD,aAAa,0BAA0B,yBAAwB;;;;;;AAM5D,OAAO,2BAA2B,SAAS;CACvC,0BAA0B,gBAAgB,QAAQ,IAAI;CACtD,OAAO;AACX,EACJ,CAAC,CAAC,CACD;;;ACvBL,IAAa,yBAAyB,uBAAuB,0BAA0B,iBAAiB,CAAC,CACpG;;;ACAL,IAAa,0BAA0B,uBAAuB,2BAA2B,iBAAiB,CAAC,CACtG,aAAa,YAAY,UAAU,EAChC,YAAY,YAAY,IAAI,SAAS,OAAO,CAAC,CACxC,UAAU,KAAK,CAAC,CAChB,WAAW,KAAK,CAAC,CACjB,OAAO,KAAK,EACrB,CAAC,CAAC,CACD;;;ACPL,IAAa,4BAA4B,uBAAuB,6BAA6B,iBAAiB,CAAC,CAC1G,MACI,YAAY,0BAA0B,OAAO,CAClD,CAAC,CACA;;;ACLL,IAAa,YAAY,uBAAuB,aAAa,WAAW,CAAC,CACpE,YAAY,QAAQ,MAAM,CAAC,CAC3B;;;ACFL,IAAa,WAAW,uBAAuB,YAAY,WAAW,CAAC,CAClE,YAAY,SAAS,MAAM,CAAC,CAC5B,YAAY,QAAQ,MAAM,CAAC,CAC3B;;;ACEL,IAAa,6BAA6B,uBAAuB,8BAA8B,iBAAiB,CAAC,CAC5G,MAAK,YAAW,iBAAiB,OAAO,CAAC,CAAC,CAC1C,YAAY,gBAAgB,MAAM,CAAC,CACnC,YAAY,eAAe,MAAM,CAAC,CAClC,YAAY,kBAAkB,MAAM,CAAC,CACrC,YAAY,aAAa,MAAM,CAAC,CAChC,YAAY,eAAe,MAAM,CAAC,CAClC,YAAY,aAAa,MAAM,CAAC,CAChC,YAAY,eAAe,MAAM,CAAC,CAClC,YAAY,gBAAgB,MAAM,CAAC,CACnC,MAAK,YAAW,0BAA0B,OAAO,CAAC,CAAC,CACnD,YAAY,eAAe,OAAO,CAAC,CACnC,YAAY,qBAAqB,MAAM,CAAC,CACxC,aAAa,aAAa,WAAW,EAClC,YAAY,YAAY,IAAI,UAAU,OAAO,CAAC,CAAC,QAAQ,OAAO,EAClE,CAAC,CAAC,CACD,aAAa,oBAAoB,yBAAyB;;;;;;AAMvD,OAAO,4BAA4B,SAAS;CACxC,2BAA2B,UAAU,QAAQ,IAAI;CACjD,OAAO;AACX,EACJ,CAAC,CAAC,CACD,YAAY,aAAa,MAAM,CAAC,CAChC,YAAY,cAAc,MAAM,CAAC,CACjC,YAAY,aAAa,MAAM,CAAC,CAChC,YAAY,eAAe,MAAM,CAAC,CAClC,YAAY,cAAc,MAAM,CAAC,CACjC,YAAY,cAAc,OAAO,CAAC,CAClC,YAAY,aAAa,OAAO,CAAC,CACjC,aAAa,YAAY,UAAU,EAChC,YAAY,YAAY,IAAI,SAAS,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,MAAM,EAC9E,CAAC,CAAC,CACD,aAAa,mBAAmB,gBAAgB,EAC7C,YAAY,YAAY,IAAI,eAAe,OAAO,CAAC,CAAC,QAAQ,KAAK,EACrE,CAAC,CAAC,CAED,aAAa,0BAA0B,yBAAyB;;;;;;AAM7D,OAAO,4BAA4B,SAAS;CACxC,2BAA2B,gBAAgB,QAAQ,IAAI;CACvD,OAAO;AACX,EACJ,CAAC,CAAC,CACD;;;ACzDL,IAAa,oCAAoC,uBAAuB,qCAAqC,WAAW,CAAC,CACpH,YAAY,QAAQ,MAAM,CAAC,CAC3B;;;ACFL,IAAa,+BAA+B,uBAAuB,gCAAgC,WAAW,CAAC,CAC1G,iBAAiB,YAAY,MAAM,CAAC,CACpC;;;ACAL,IAAa,yBAAyB,uBAAuB,0BAA0B,iBAAiB,CAAC,CACpG,YAAY,SAAS,MAAM,CAAC,CAC5B,aAAa,eAAe,mCAAmC,EAC5D,YAAY,YAAY,IAAI,kCAAkC,OAAO,EACzE,CAAC,CAAC,CACD,aAAa,UAAU,8BAA8B,EAClD,YAAY,YAAY,IAAI,6BAA6B,OAAO,EACpE,CAAC,CAAC,CACD,YAAY,WAAW,OAAO,CAAC,CAC/B;;;ACVL,IAAa,WAAW,uBAAuB,YAAY,UAAU,CAAC,CACjE,MAAK,YAAW,iBAAiB,SAAS,UAAU,CAAC,CAAC,CACtD;;;ACHL,IAAa,eAAe,uBAAuB,gBAAgB,WAAW,CAAC,CAC1E;;;ACDL,IAAa,mBAAmB,uBAAuB,oBAAoB,WAAW,CAAC,CAClF,YAAY,WAAW,OAAO,CAAC,CAC/B,iBAAiB,SAAS,MAAM,CAAC,CACjC,YAAY,eAAe,MAAM,CAAC,CAClC,YAAY,aAAa,OAAO,CAAC,CACjC,YAAY,SAAS,MAAM,CAAC,CAC5B,YAAY,YAAY,MAAM,CAAC,CAC/B,YAAY,aAAa,MAAM,CAAC,CAChC,YAAY,cAAc,OAAO,CAAC,CAClC,YAAY,UAAU,MAAM,CAAC,CAC7B,YAAY,YAAY,OAAO,CAAC,CAChC,YAAY,SAAS,MAAM,CAAC,CAC5B;;;ACZL,IAAa,oBAAoB,uBAAuB,qBAAqB,WAAW,CAAC,CACpF,YAAY,aAAa,OAAO,CAAC,CACjC,YAAY,aAAa,MAAM,CAAC,CAChC,YAAY,YAAY,MAAM,CAAC,CAC/B,YAAY,QAAQ,MAAM,CAAC,CAC3B,YAAY,QAAQ,MAAM,CAAC,CAC3B;;;ACNL,IAAa,wBAAwB,uBAAuB,yBAAyB,WAAW,CAAC,CAC5F,YAAY,eAAe,MAAM,CAAC,CAClC,YAAY,aAAa,MAAM,CAAC,CAChC,YAAY,aAAa,MAAM,CAAC,CAChC;;;ACDL,IAAa,uBAAuB,uBAAuB,wBAAwB,YAAY,CAAC,CAC3F,YAAY,aAAa,MAAM,CAAC,CAChC,YAAY,YAAY,MAAM,CAAC,CAC/B,YAAY,gBAAgB,MAAM,CAAC,CACnC,YAAY,iBAAiB,OAAO,CAAC,CACrC,YAAY,cAAc,MAAM,CAAC,CACjC,aAAa,UAAU,kBAAkB,EACtC,YAAY,YAAY,IAAI,iBAAiB,OAAO,CAAC,CAChD,eAAe,MAAM,CAAC,CACtB,aAAa,QAAQ,CAAC,CACtB,cAAc,KAAK,EAC5B,CAAC,CAAC,CACD,YAAY,eAAe,MAAM,CAAC,CAClC,YAAY,aAAa,MAAM,CAAC,CAChC,YAAY,YAAY,MAAM,CAAC,CAC/B,aAAa,QAAQ,qBAAqB,CAAC,CAC3C,aAAa,WAAW,mBAAmB,EACxC,YAAY,YAAY,IAAI,kBAAkB,OAAO,CAAC,CACjD,aAAa,KAAK,CAAC,CACnB,QAAQ,QAAQ,CAAC,CACjB,QAAQ,MAAM,EACvB,CAAC,CAAC,CACD,YAAY,UAAU,MAAM,CAAC,CAC7B,YAAY,uBAAuB,MAAM,CAAC,CAC1C,YAAY,sBAAsB,MAAM,CAAC,CACzC,YAAY,qBAAqB,MAAM,CAAC,CACxC;;;AC7BL,IAAa,0BAA0B,uBAAuB,2BAA2B,WAAW,CAAC,CAChG,YAAY,WAAW,OAAO,CAAC,CAC/B,YAAY,cAAc,OAAO,CAAC,CAClC,YAAY,YAAY,OAAO,CAAC,CAChC;;;ACJL,IAAa,iCAAiC,uBAAuB,kCAAkC,WAAW,CAAC,CAC9G,iBAAiB,SAAS,QAAQ,EAAE,UAAU,KAAK,CAAC,CAAC,CACrD,YAAY,UAAU,MAAM,CAAC,CAC7B,YAAY,SAAS,MAAM,CAAC,CAC5B,YAAY,UAAU,OAAO,CAAC,CAC9B;;;ACHL,IAAa,oBAAoB,uBAAuB,qBAAqB,YAAY,CAAC,CACrF,YAAY,YAAY,MAAM,CAAC,CAC/B,YAAY,kBAAkB,MAAM,CAAC,CACrC,aAAa,WAAW,uBAAuB,CAAC,CAChD,YAAY,kBAAkB,MAAM,CAAC,CACrC,YAAY,gBAAgB,MAAM,CAAC,CACnC,YAAY,eAAe,MAAM,CAAC,CAClC,YAAY,eAAe,MAAM,CAAC,CAClC,aAAa,iBAAiB,8BAA8B,CAAC,CAC7D,YAAY,gBAAgB,MAAM,CAAC,CACnC,YAAY,kBAAkB,MAAM,CAAC,CACrC,YAAY,SAAS,MAAM,CAAC,CAC5B,YAAY,uBAAuB,OAAO,CAAC,CAC3C,YAAY,wBAAwB,OAAO,CAAC,CAC5C,YAAY,UAAU,MAAM,CAAC,CAC7B,YAAY,aAAa,OAAO,CAAC,CACjC,YAAY,YAAY,MAAM,CAAC,CAC/B;;;ACnBL,IAAa,4BAA4B,uBAAuB,6BAA6B,WAAW,CAAC,CACpG,kBAAkB,UAAU,MAAM,CAAC,CACnC,YAAY,QAAQ,MAAM,CAAC,CAC3B,YAAY,YAAY,OAAO,CAAC,CAChC,YAAY,QAAQ,MAAM,CAAC,CAC3B;;;ACLL,IAAa,6BAA6B,uBAAuB,8BAA8B,WAAW,CAAC,CACtG,YAAY,kBAAkB,OAAO,CAAC,CACtC,YAAY,mBAAmB,OAAO,CAAC,CACvC,YAAY,aAAa,OAAO,CAAC,CACjC,YAAY,eAAe,OAAO,CAAC,CACnC,YAAY,aAAa,OAAO,CAAC,CACjC,YAAY,YAAY,OAAO,CAAC,CAChC;;;ACPL,IAAa,aAAa,uBAAuB,cAAc,WAAW,CAAC,CACtE,YAAY,SAAS,MAAM,CAAC,CAC5B;;;ACFL,IAAa,gBAAgB,uBAAuB,iBAAiB,WAAW,CAAC,CAC5E,YAAY,SAAS,MAAM,CAAC,CAC5B,YAAY,OAAO,MAAM,CAAC,CAC1B,YAAY,OAAO,MAAM,CAAC,CAC1B,YAAY,QAAQ,MAAM,CAAC,CAC3B;;;ACLL,IAAa,YAAY,uBAAuB,aAAa,WAAW,CAAC,CACpE,YAAY,SAAS,MAAM,CAAC,CAC5B,YAAY,OAAO,MAAM,CAAC,CAC1B,YAAY,OAAO,MAAM,CAAC,CAC1B;;;ACJL,IAAa,cAAc,uBAAuB,eAAe,WAAW,CAAC,CACxE,YAAY,SAAS,MAAM,CAAC,CAC5B,YAAY,SAAS,MAAM,CAAC,CAC5B,YAAY,QAAQ,MAAM,CAAC,CAC3B;;;ACJL,IAAa,mBAAmB,uBAAuB,oBAAoB,WAAW,CAAC,CAClF,YAAY,cAAc,MAAM,CAAC,CACjC,YAAY,YAAY,MAAM,CAAC,CAC/B;;;ACHL,IAAa,kBAAkB,uBAAuB,mBAAmB,WAAW,CAAC,CAChF,YAAY,YAAY,MAAM,CAAC,CAC/B,YAAY,WAAW,MAAM,CAAC,CAC9B,YAAY,WAAW,MAAM,CAAC,CAC9B,YAAY,aAAa,MAAM,CAAC,CAChC,YAAY,gBAAgB,MAAM,CAAC,CACnC;;;ACAL,IAAa,qCAAqC,uBAAuB,sCAAsC,WAAW,CAAC,CACtH,aAAa,SAAS,YAAY,EAAE,YAAY,YAAY,IAAI,WAAW,OAAO,EAAE,CAAC,CAAC,CACtF,YAAY,WAAW,QAAQ,EAAE,YAAY,YAAY,EAAE,CAAC,CAAC,CAC7D,aAAa,YAAY,eAAe,EAAE,YAAY,YAAY,IAAI,cAAc,OAAO,EAAE,CAAC,CAAC,CAC/F,aAAa,QAAQ,WAAW,EAAE,YAAY,YAAY,IAAI,UAAU,OAAO,EAAE,CAAC,CAAC,CACnF,aAAa,UAAU,aAAa,EAAE,YAAY,YAAY,IAAI,YAAY,OAAO,EAAE,CAAC,CAAC,CACzF,aAAa,eAAe,kBAAkB,EAAE,YAAY,YAAY,IAAI,iBAAiB,OAAO,EAAE,CAAC,CAAC,CACxG,aAAa,cAAc,iBAAiB,EAAE,YAAY,YAAY,IAAI,gBAAgB,OAAO,EAAE,CAAC,CAAC,CACrG;;;ACbL,IAAa,gCAAgC,uBAAuB,iCAAiC,WAAW,CAAC,CAC5G,YAAY,cAAc,OAAO,CAAC,CAClC,aAAa,SAAS,oCAAoC,EACvD,YAAY,YAAY,IAAI,mCAAmC,OAAO,EAC1E,CAAC,CAAC,CACD;;;ACNL,IAAa,kCAAkC,uBAAuB,mCAAmC,WAAW,CAAC,CAChH,YAAY,QAAQ,MAAM,CAAC,CAC3B;;;ACAL,IAAa,0BAA0B,uBAAuB,2BAA2B,WAAW,CAAC,CAChG,aAAa,UAAU,6BAA6B,CAAC,CACrD,aAAa,YAAY,+BAA+B,CAAC,CACzD,YAAY,QAAQ,MAAM,CAAC,CAC3B,YAAY,WAAW,OAAO,CAAC,CAC/B,YAAY,QAAQ,MAAM,CAAC,CAC3B;;;ACRL,IAAa,4BAA4B,uBAAuB,6BAA6B,WAAW,CAAC,CACpG,YAAY,QAAQ,MAAM,CAAC,CAC3B;;;ACFL,IAAa,yBAAyB,uBAAuB,0BAA0B,WAAW,CAAC,CAC9F,YAAY,aAAa,OAAO,CAAC,CACjC,YAAY,MAAM,MAAM,CAAC,CACzB,YAAY,OAAO,MAAM,CAAC,CAC1B,YAAY,OAAO,MAAM,CAAC,CAC1B,YAAY,YAAY,OAAO,CAAC,CAChC,YAAY,UAAU,OAAO,CAAC,CAC9B,YAAY,QAAQ,MAAM,CAAC,CAC3B;;;ACHL,IAAa,qBAAqB,uBAAuB,sBAAsB,YAAY,CAAC,CACvF,aAAa,WAAW,yBAAyB,CAAC,CAClD,aAAa,YAAY,0BAA0B,CAAC,CACpD,YAAY,UAAU,uBAAuB,CAAC,CAC9C,aAAa,WAAW,yBAAyB,CAAC,CAClD,aAAa,QAAQ,sBAAsB,CAAC,CAC5C;;;ACVL,IAAa,wBAAwB,uBAAuB,yBAAyB,gBAAgB,CAAC,CACjG,iBAAiB,UAAU,MAAM,CAAC,CAClC;;;ACDL,IAAa,uBAAuB,uBAAuB,wBAAwB,YAAY,CAAC,CAC3F,iBAAiB,iBAAiB,MAAM,CAAC,CACzC,aAAa,UAAU,qBAAqB,CAAC,CAC7C,YAAY,WAAW,MAAM,CAAC,CAC9B,YAAY,QAAQ,MAAM,CAAC,CAC3B,aAAa,WAAW,iBAAiB,CAAC,CAC1C;;;ACRL,IAAa,mBAAmB,uBAAuB,oBAAoB,YAAY,CAAC,CACnF;;;ACDL,IAAa,0BAA0B,uBAAuB,2BAA2B,WAAW,CAAC,CAChG,YAAY,QAAQ,OAAO,CAAC,CAC5B,YAAY,eAAe,MAAM,CAAC,CAClC;;;ACFL,IAAa,oBAAoB,uBAAuB,qBAAqB,YAAY,CAAC,CACrF,YAAY,cAAc,MAAM,CAAC,CACjC,YAAY,cAAc,OAAO,CAAC,CAClC,YAAY,UAAU,uBAAuB,CAAC,CAC9C;;;ACLL,IAAa,uBAAuB,uBAAuB,wBAAwB,WAAW,CAAC,CAC1F,YAAY,YAAY,MAAM,CAAC,CAC/B,YAAY,mBAAmB,OAAO,CAAC,CACvC,YAAY,eAAe,OAAO,CAAC,CACnC;;;ACHL,IAAa,mBAAmB,uBAAuB,oBAAoB,YAAY,CAAC,CACnF,aAAa,QAAQ,sBAAsB,EACxC,YAAY,YAAY,IAAI,qBAAqB,OAAO,EAC5D,CAAC,CAAC,CACD,YAAY,WAAW,MAAM,CAAC,CAC9B,YAAY,QAAQ,MAAM,CAAC,CAC3B;;;ACJL,IAAa,yBAAyB,uBAAuB,0BAA0B,YAAY,CAAC,CAC/F,YAAY,yBAAyB,OAAO,CAAC,CAC7C,aAAa,UAAU,kBAAkB,EACtC,YAAY,YAAY,IAAI,iBAAiB,OAAO,CAAC,CAChD,eAAe,MAAM,CAAC,CACtB,aAAa,QAAQ,CAAC,CACtB,cAAc,KAAK,EAC5B,CAAC,CAAC,CACD,YAAY,eAAe,MAAM,CAAC,CAGlC,aAAa,WAAW,mBAAmB,EACxC,YAAY,YAAY,IAAI,kBAAkB,OAAO,CAAC,CACjD,aAAa,KAAK,CAAC,CACnB,QAAQ,QAAQ,CAAC,CACjB,QAAQ,MAAM,EACvB,CAAC,CAAC,CACD;;;ACpBL,IAAa,iBAAiB,uBAAuB,kBAAkB,MAAM,CAAC,CACzE,kBAAkB,WAAW,MAAM,CAAC,CACpC,kBAAkB,oBAAoB,QAAQ,EAAE,MAAM,kBAAkB,CAAC,CAAC,CAC1E,YAAY,UAAU,MAAM,CAAC,CAC7B,YAAY,UAAU,MAAM,CAAC,CAC7B,YAAY,UAAU,MAAM,CAAC,CAC7B,YAAY,QAAQ,MAAM,CAAC,CAC3B,YAAY,OAAO,MAAM,CAAC,CAC1B,YAAY,OAAO,MAAM,CAAC,CAC1B,YAAY,eAAe,QAAQ,EAAE,MAAM,aAAa,CAAC,CAAC,CAC1D;;;ACTL,IAAa,WAAW,uBAAuB,YAAY,UAAU,CAAC,CACjE,MAAK,YAAW,iBAAiB,SAAS,6BAA6B,CAAC,CAAC,CACzE;;;ACHL,IAAa,wBAAwB,uBAAuB,yBAAyB,iBAAiB,CAAC,CAOlG;;;;;;;;;;;;;;;;ACUL,IAAa,eAAe,SAAS,UAAU,mBAAmB,cAAc,YAAY;CACxF,MAAM,EAAE,WAAW,WAAW,CAAC;CAC/B,QACK,mBACI,aAAa;EACV,SACK,QAAQ,QAAQ,CAAC,CACjB,iBACG,gBAAe,YACV,YACG,IAAI,mBAAmB,SAAS,WAAW,CAAC,CACvC,UACG,IAAI,kBAAkB,SAAS,WAAW,CAC9C,CACR,CACR;EACJ,IAAI,QACA,OAAO,QAAQ;CAEvB,CACJ,CAAC,CACA,mBAAmB,UAAU,GAAG,kBAAkB,QAAQ;EACvD,gBAAgB,CAAC,iBAAiB;EAClC,SAAS,aAAa,SAAS,YAAY,SAAS;CACxD,CAAC,CAAC,CACD,aAAa,cAAc,mBAAmB,kBAAkB,KAAK,mBAAmB;EACrF,gBAAgB,CAAC,iBAAiB;;;;;EAKlC,OAAO,UAAU,SAAS;GACtB,KAAK,SAAS,YAAY,SAAS,MAAM;GACzC,OAAO;EACX;CACJ,CAAC,CAAC,CACD,aAAa,WAAW,cAAc,EACnC,YAAY,YAAY,IAAI,aAAa,OAAO,EACpD,CAAC;AAET;;;ACtDA,IAAa,YAAY,uBAAuB,aAAa,KAAK,CAAC,CAC9D,MAAK,YAAW,YAAY,SAAS,QAAQ,uBAAuB,gBAAgB,CAAC,CAAC,CACtF;;;ACFL,IAAa,WAAW,uBAAuB,YAAY,KAAK,CAAC,CAC5D,MAAM,aAAa,YAAY,UAAU,YAAY,2BAA2B,sBAAsB,EACnG,SAAS,aAAa;CAClB,SAAS,YAAY,SAAS,aAAa,iBAAiB;CAC5D,SAAS,YAAY,SAAS,WAAW,QAAQ,UAAU;AAC/D,EACJ,CAAC,CAAC,CAAC,CACF,aAAa,0BAA0B,wBAAwB;;;;;AAK5D,OAAO,UAAU,SAAS;CACtB,SAAS,OAAO,gBAAgB,QAAQ,IAAI;CAC5C,OAAO;AACX,EACJ,CAAC,CAAC,CACD;;;ACjBL,IAAa,QAAQ,uBAAuB,SAAS,KAAK,CAAC,CACtD,MAAK,YAAW,YAAY,SAAS,SAAS,wBAAwB,mBAAmB,EACtF,SAAS,aAAa;CAClB,SAAS,YAAY,SAAS,aAAa,iBAAiB;CAC5D,SAAS,YAAY,SAAS,WAAW,QAAQ,UAAU;AAC/D,EACJ,CAAC,CAAC,CAAC,CACF;;;ACPL,IAAa,SAAS,uBAAuB,UAAU,KAAK,CAAC,CACxD,MAAK,YAAW,YAAY,SAAS,UAAU,yBAAyB,kBAAkB,CAAC,CAAC,CAC5F;;;ACFL,IAAa,WAAW,uBAAuB,YAAY,KAAK,CAAC,CAC5D,MAAM,aAAa,YAAY,UAAU,YAAY,2BAA2B,sBAAsB,EACnG,SAAS,aAAa;CAClB,SAAS,YAAY,SAAS,aAAa,iBAAiB;AAChE,EACJ,CAAC,CAAC,CAAC,CACF;;;ACTL,IAAa,wBAAwB,uBAAuB,yBAAyB,iBAAiB,CAAC,CAClG;;;ACEL,IAAa,OAAO,uBAAuB,QAAQ,KAAK,CAAC,CACpD,MAAK,YAAW,YAAY,SAAS,QAAQ,uBAAuB,kBAAkB,EACnF,SAAS,aAAa,SAAS,YAAY,SAAS,aAAa,iBAAiB,EACtF,CAAC,CAAC,CAAC,CACF;;;ACFL,IAAa,QAAQ,uBAAuB,SAAS,KAAK,CAAC,CACtD,MAAK,YAAW,YAAY,SAAS,SAAS,wBAAwB,mBAAmB,EACtF,SAAS,aAAa,SACjB,YACG,WAAU,OACL,SAAS,MAAM,CAAC,CAChB,eAAe,IAAI,kCAAkC,SAAS,WAAW,CAAC,CAAC,CAC3E,iBACG,gBAAe,YACV,QAAQ,MAAM,CACvB,CAAC,CACA,UAAU,IAAI,6BAA6B,SAAS,WAAW,CAAC,CAAC,CACjE,WAAW,KAAK,CACzB,EAER,CAAC,CAAC,CAAC,CACF;;;AClBL,IAAa,aAAa,uBAAuB,cAAc,KAAK,CAAC,CAChE,MAAK,YAAW,YAAY,SAAS,cAAc,4BAA4B,wBAAwB,EACpG,SAAS,aAAa;CAClB,SAAS,YAAY,SAAS,aAAa,iBAAiB;CAC5D,SAAS,YAAY,SAAS,WAAW,QAAQ,UAAU;AAC/D,EACJ,CAAC,CAAC,CAAC,CACF,aAAa,0BAA0B,wBAAwB;;;;;AAK5D,OAAO,UAAU,SAAS;CACtB,SAAS,OAAO,gBAAgB,QAAQ,IAAI;CAC5C,OAAO;AACX,EACJ,CAAC,CAAC,CACD"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/utils/json.js","../src/utils/MetaClassRegistry.js","../src/utils/typesReference.js","../src/utils/typesDefinition.js","../src/utils/GrafanaItemClassBuilder.js","../src/items/GrafanaItem.js","../src/items/OverrideMatcher.js","../src/items/OverrideMatcherOptionsByNames.js","../src/items/OverrideProperty.js","../src/items/Datasource.js","../src/items/Annotation.js","../src/items/Annotations.js","../src/items/Color.js","../src/items/TimeRange.js","../src/items/GridPos.js","../src/items/FieldConfigCustom.js","../src/items/Mapping.js","../src/items/ThresholdsStep.js","../src/items/Thresholds.js","../src/items/FieldConfigDefault.js","../src/items/FieldConfigOverride.js","../src/items/HideFrom.js","../src/items/FieldConfig.js","../src/items/Target.js","../src/items/Link.js","../src/items/DataTransformation.js","../src/items/Panel.js","../src/items/TemplateCurrent.js","../src/items/TemplateOption.js","../src/items/Template.js","../src/items/Templating.js","../src/items/TimePicker.js","../src/torefactor/index.js","../src/items/Dashboard.js","../src/items/properties/datasource.js","../src/items/DatasourceInfinity.js","../src/items/ScaleDistribution.js","../src/items/properties/axisConfig.js","../src/items/properties/hideableFieldConfig.js","../src/items/ThresholdStyle.js","../src/items/FieldConfigCustomBarChart.js","../src/items/FieldConfigCustomGauge.js","../src/items/FieldConfigCustomGeomap.js","../src/items/StackableFieldConfig.js","../src/items/FieldConfigCustomHistogram.js","../src/items/FieldConfigCustomPieChart.js","../src/items/LineStyle.js","../src/items/Stacking.js","../src/items/FieldConfigCustomTimeSerie.js","../src/items/FieldConfigCustomTableCellOptions.js","../src/items/FieldConfigCustomTableFooter.js","../src/items/FieldConfigCustomTable.js","../src/items/Influxdb.js","../src/items/PanelOptions.js","../src/items/VizLegendOptions.js","../src/items/VizTooltipOptions.js","../src/items/VizTextDisplayOptions.js","../src/items/PanelOptionsBarChart.js","../src/items/PanelOptionsGaugeEffect.js","../src/items/PanelOptionsGaugeReduceOptions.js","../src/items/PanelOptionsGauge.js","../src/items/PanelOptionsGeomapBasemap.js","../src/items/PanelOptionsGeomapControls.js","../src/items/StyleColor.js","../src/items/StyleRotation.js","../src/items/StyleSize.js","../src/items/StyleSymbol.js","../src/items/StyleSymbolAlign.js","../src/items/StyleTextConfig.js","../src/items/PanelOptionsGeomapLayerConfigStyle.js","../src/items/PanelOptionsGeomapLayerConfig.js","../src/items/PanelOptionsGeomapLayerLocation.js","../src/items/PanelOptionsGeomapLayer.js","../src/items/PanelOptionsGeomapTooltip.js","../src/items/PanelOptionsGeomapView.js","../src/items/PanelOptionsGeomap.js","../src/items/PanelOptionsHistogram.js","../src/items/PieChartLegendOptions.js","../src/items/PanelOptionsPieChart.js","../src/items/PanelOptionsStat.js","../src/items/PanelOptionsTableSortBy.js","../src/items/PanelOptionsTable.js","../src/items/PanelOptionsTextCode.js","../src/items/PanelOptionsText.js","../src/items/PanelOptionsTimeSeries.js","../src/items/TargetInfinity.js","../src/items/Testdata.js","../src/items/FieldConfigCustomText.js","../src/items/properties/panel.js","../src/items/TextPanel.js","../src/items/BarChart.js","../src/items/Gauge.js","../src/items/Geomap.js","../src/items/Histogram.js","../src/items/PieChart.js","../src/items/FieldConfigCustomStat.js","../src/items/Stat.js","../src/items/Table.js","../src/items/TimeSeries.js"],"sourcesContent":["import { GrafanaItem } from \"../items/GrafanaItem.js\";\r\n\r\n/**\r\n * Sort the keys of an object for consistent JSON representation.\r\n * @param {{[key: String]: any}} obj - The object to sort.\r\n * @returns {{[key: String]: any}} - The object with sorted keys.\r\n */\r\nconst sortKeys = (obj) => {\r\n return Object.fromEntries(Object.keys(obj).sort().map((key) => [key, obj[key]]))\r\n}\r\n\r\n/**\r\n * Convert an object to a JSON representation, sorting keys for consistency.\r\n * @param {GrafanaItem|{[key: String]: any}|Array<GrafanaItem|{[key: String]: any}|Number|String|Boolean>|Number|String|Boolean|null|undefined} obj - The object to convert to JSON.\r\n * @returns {Object|null|undefined} - The JSON representation of the object with sorted keys.\r\n */\r\nexport const asJson = (obj) => {\r\n if (obj instanceof GrafanaItem) {\r\n return sortKeys(obj.asJson());\r\n }\r\n\r\n if (Array.isArray(obj)) {\r\n return obj.map((item) => asJson(item));\r\n }\r\n\r\n if (Number.isInteger(obj) || typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || obj === null || Number.isFinite(obj)) {\r\n return obj;\r\n }\r\n\r\n if (obj === null || obj === undefined) {\r\n return obj;\r\n }\r\n\r\n return sortKeys(obj);\r\n}\r\n","/**\r\n * @typedef {import(\"@gdacm/base-types\").GenericMetaOptions} GenericMetaOptions\r\n */\r\n\r\n/**\r\n * @template T\r\n * @typedef {import(\"@gdacm/base-types\").MetaConstructor<T>} MetaConstructor\r\n */\r\n\r\n/**\r\n * @template {Object} T\r\n * @template {T} C\r\n * @typedef {{\r\n * methods: string[],\r\n * onInits: ((instance: C)=>void)[],\r\n * parentName: string|undefined,\r\n * parent: MetaConstructor<T>|undefined,\r\n * typeNamesToInclude: string[]\r\n * }} MetaClassInfo\r\n */\r\n\r\n/**\r\n * @template {Object} T\r\n */\r\nexport class MetaClassRegistry {\r\n constructor() {\r\n /**\r\n * @type {Map<MetaConstructor<T>, unknown>}\r\n */\r\n this.types = new Map();\r\n }\r\n\r\n /**\r\n * @template {T} C\r\n * @param {MetaConstructor<C>} cls\r\n * @param {MetaClassInfo<T,C>} info\r\n */\r\n set(cls, info) {\r\n this.types.set(cls, info);\r\n }\r\n\r\n /**\r\n * @template {T} C\r\n * @param {MetaConstructor<C>} cls\r\n * @returns {MetaClassInfo<T,C>}\r\n */\r\n get(cls) {\r\n const info = this.types.get(cls);\r\n\r\n if (info === undefined) {\r\n throw new Error(`MetaClassInfo not found for class ${cls.name}`);\r\n }\r\n\r\n return /** @type {MetaClassInfo<T,C>} */ (info);\r\n }\r\n\r\n /**\r\n * @template {T} C\r\n * @param {MetaConstructor<C>} cls\r\n * @returns {boolean}\r\n */\r\n has(cls) {\r\n return this.types.has(cls);\r\n }\r\n\r\n\r\n /**\r\n * @returns {MetaConstructor<T>[]} The keys of the types map\r\n */\r\n keys() {\r\n return [...this.types.keys()];\r\n }\r\n}\r\n","import { GrafanaItem } from \"../items/GrafanaItem.js\";\r\nimport { MetaClassRegistry } from \"./MetaClassRegistry.js\";\r\n\r\n/**\r\n * @typedef {import(\"@gdacm/base-types\").GenericMetaOptions} GenericMetaOptions\r\n */\r\n\r\n/**\r\n * @template T\r\n * @typedef {import(\"@gdacm/base-types\").MetaConstructor<T>} MetaConstructor\r\n */\r\n\r\n/**\r\n * @template {Object} T\r\n * @template {T} C\r\n * @typedef {import(\"./MetaClassRegistry.js\").MetaClassInfo<T,C>} MetaClassInfo\r\n */\r\n\r\n/**\r\n * @type {MetaClassRegistry<GrafanaItem>}\r\n */\r\nconst types = new MetaClassRegistry();\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @returns {boolean} Whether the type exists in the map\r\n */\r\nexport const hasType = (cls) => types.has(cls);\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @returns {MetaClassInfo<GrafanaItem,C>}\r\n */\r\nexport const getMetaClassInfo = (cls) => types.get(cls);\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @param {MetaClassInfo<GrafanaItem,C>} metaClassInfo\r\n */\r\nexport const setTypeMetaClassInfo = (cls, metaClassInfo) => types.set(cls, metaClassInfo);\r\n\r\n/**\r\n * @returns {Array<MetaConstructor<GrafanaItem>>}\r\n */\r\nexport const getTypesRegistryKeys = () => types.keys()\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @returns {Record<string, unknown>}\r\n */\r\nconst getPrototype = (cls) => (/** @type {Record<string, unknown>} */(cls.prototype));\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @param {string} name \r\n */\r\nfunction hasPrototype(cls, name) {\r\n return getPrototype(cls)[name] !== undefined;\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @param {string} name \r\n * @param {Function} value \r\n */\r\nfunction setPrototype(cls, name, value) {\r\n getPrototype(cls)[name] = value;\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} name \r\n * @param {(self: C) => any} getter \r\n */\r\nfunction setGetter(cls, name, getter) {\r\n Object.defineProperty(cls.prototype, name, {\r\n get() {\r\n return getter(this);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} name \r\n * @param {(instance: C, value: any) => void} setter \r\n */\r\nfunction setSetter(cls, name, setter) {\r\n Object.defineProperty(cls.prototype, name, {\r\n set(value) {\r\n return setter(this, value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} name \r\n * @param {(self: C) => any} getter \r\n * @param {(instance: C, value: any) => void} setter \r\n */\r\nfunction setGetterAndSetter(cls, name, getter, setter) {\r\n Object.defineProperty(cls.prototype, name, {\r\n get() {\r\n return getter(this);\r\n },\r\n set(value) {\r\n return setter(this, value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} typeName\r\n */\r\nexport const addTypeNameToInclude = (cls, typeName) => {\r\n const metaClassInfo = getMetaClassInfo(cls);\r\n if (metaClassInfo.typeNamesToInclude.includes(typeName) === false) {\r\n if (['String', 'Number', 'Boolean', 'Array', 'Object'].indexOf(typeName) === -1) {\r\n metaClassInfo.typeNamesToInclude.push(typeName);\r\n }\r\n }\r\n};\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {(typeof GrafanaItem)[]} [typesToInclude]\r\n */\r\nexport const addTypesToInclude = (cls, typesToInclude) => {\r\n if (typesToInclude !== undefined) {\r\n for (const type of typesToInclude) {\r\n addTypeNameToInclude(cls, type.name);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaClassInfo<GrafanaItem,C>} metaClassInfo\r\n * @param {string} signature \r\n */\r\nconst addSignatureOnMetaClassInfo = (metaClassInfo, signature) => {\r\n if (metaClassInfo.methods.includes(signature) === false) {\r\n metaClassInfo.methods.push(signature);\r\n }\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @param {string} signature \r\n */\r\nexport const addSignature = (cls, signature) => {\r\n const metaClassInfo = getMetaClassInfo(cls);\r\n addSignatureOnMetaClassInfo(metaClassInfo, signature);\r\n}\r\n\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @param {string} name \r\n * @param {string} postSignature\r\n * @param {Function} value \r\n */\r\nexport const setPrototypeWithSignature = (cls, name, postSignature, value) => {\r\n setPrototype(cls, name, value);\r\n addSignature(cls, `${name}${postSignature}`);\r\n};\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} name \r\n * @param {(self: C) => any} getter \r\n * @param {(instance: C, value: any) => void} setter \r\n * @param {string} typeName\r\n */\r\nexport function setGetterAndSetterWithSignature(cls, name, getter, setter, typeName) {\r\n setGetterAndSetter(cls, name, getter, setter);\r\n addSignature(cls, `get ${name}(): ${typeName};`);\r\n addSignature(cls, `set ${name}(value: ${typeName});`);\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} name \r\n * @param {(self: C) => any} getter \r\n * @param {string} typeName\r\n */\r\nexport function setGetterWithSignature(cls, name, getter, typeName) {\r\n setGetter(cls, name, getter);\r\n addSignature(cls, `get ${name}(): ${typeName};`);\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} name \r\n * @param {(instance: C, value: any) => void} setter \r\n * @param {string} typeName\r\n */\r\nexport function setSetterWithSignature(cls, name, setter, typeName) {\r\n setSetter(cls, name, setter);\r\n addSignature(cls, `set ${name}(value: ${typeName});`);\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {((instance: C) => void)|undefined} onInit\r\n */\r\nexport function addOnInit(cls, onInit) {\r\n const metaClassInfo = getMetaClassInfo(cls);\r\n if (onInit) {\r\n metaClassInfo.onInits.push(onInit);\r\n }\r\n}\r\n\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls\r\n * @returns {string}\r\n */\r\nexport function getType(cls) {\r\n const clsName = cls.name;\r\n const metaClassInfo = getMetaClassInfo(cls);\r\n\r\n return `export declare class ${clsName}${metaClassInfo.parentName ? \" extends \" : \"\"}${metaClassInfo.parentName || \"\"} {\r\n${metaClassInfo.methods.map((method) => ` ${method}`).join('\\n')}\r\n}\r\n`\r\n}\r\n\r\n/**\r\n * @returns {(string|string[]|undefined)[][]}\r\n */\r\nexport function getTypes() {\r\n /**\r\n * @type {MetaConstructor<GrafanaItem>[]}\r\n */\r\n return getTypesRegistryKeys()\r\n .map(\r\n (cls) => [\r\n cls.name, getType(cls), getMetaClassInfo(cls).parentName, getMetaClassInfo(cls).typeNamesToInclude\r\n ]);\r\n}\r\n","import { GrafanaItem } from \"../items/GrafanaItem.js\";\r\nimport { addOnInit, addSignature, addTypeNameToInclude, addTypesToInclude, setGetterAndSetterWithSignature, setGetterWithSignature, setPrototypeWithSignature, setSetterWithSignature } from \"./typesReference.js\";\r\n\r\n/**\r\n * @typedef {import(\"@gdacm/base-types\").GenericMetaOptions} GenericMetaOptions\r\n */\r\n\r\n/**\r\n * @template T\r\n * @typedef {import(\"@gdacm/base-types\").MetaConstructor<T>} MetaConstructor\r\n */\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} key \r\n * @param {Function} type\r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => unknown} [option.onDefault]\r\n * @param {String} [option.typeName]\r\n */\r\nexport function defineValue(cls, key, type, option) {\r\n const name = option?.name ? option.name : key;\r\n const caseName = name.charAt(0).toUpperCase() + name.slice(1);\r\n const typeName = option?.typeName ? option.typeName : type.name;\r\n\r\n addTypeNameToInclude(cls, type.name);\r\n\r\n setGetterWithSignature(cls, name, (self) => self._getValue(key), typeName);\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `set${caseName}`,\r\n `(${name}: ${typeName}): this;`,\r\n /**\r\n * @this C\r\n * @template T\r\n * @param {T} value\r\n * @returns {C}\r\n */\r\n function (value) {\r\n return this._setValue(key, value);\r\n }\r\n )\r\n\r\n addOnInit(cls, option?.onInit);\r\n\r\n if (option?.onDefault) {\r\n addOnInit(cls, (instance) => instance._setValue(key, option?.onDefault?.(instance.metaOptions)));\r\n }\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} key \r\n * @param {Function} type \r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => unknown} [option.onDefault]\r\n * @param {String} [option.typeName]\r\n */\r\nexport function defineBasicObject(cls, key, type, option) {\r\n const name = option?.name ? option.name : key;\r\n const caseName = name.charAt(0).toUpperCase() + name.slice(1);\r\n const typeName = option?.typeName ? option.typeName : type.name;\r\n\r\n addTypeNameToInclude(cls, type.name);\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `set${caseName}`,\r\n `(${name}: ${typeName}): this;`,\r\n /**\r\n * @this C\r\n * @template T\r\n * @param {T} value\r\n * @returns {C}\r\n */\r\n function (value) {\r\n return this._setObject(key, value);\r\n }\r\n );\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `with${caseName}`,\r\n `(onWith: (item: ${typeName}) => void): this;`,\r\n /**\r\n * @this C\r\n * @template {GrafanaItem} T\r\n * @param {(item: T) => void} onWith\r\n * @returns {C}\r\n */\r\n function (onWith) {\r\n const item = this._getObject(key);\r\n if (item) {\r\n onWith(item);\r\n }\r\n return this;\r\n }\r\n );\r\n\r\n setGetterWithSignature(cls, name, (self) => self._getObject(key), typeName);\r\n\r\n addOnInit(cls, option?.onInit);\r\n\r\n if (option?.onDefault) {\r\n addOnInit(cls, (instance) => instance._setObject(key, option?.onDefault?.(instance.metaOptions)))\r\n }\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @template {GrafanaItem} T\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} key \r\n * @param {MetaConstructor<T>} type\r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => T} [option.onDefault]\r\n * @param {String} [option.typeName]\r\n */\r\nexport function defineObject(cls, key, type, option) {\r\n const name = option?.name ? option.name : key;\r\n const caseName = name.charAt(0).toUpperCase() + name.slice(1);\r\n const typeName = option?.typeName ? option.typeName : type.name;\r\n\r\n addTypeNameToInclude(cls, type.name);\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `set${caseName}`,\r\n `(${name}: ${typeName}): this;`,\r\n /**\r\n * @this C\r\n * @param {T} value\r\n * @returns {C}\r\n */\r\n function (value) {\r\n return this._setGrafanaObject(key, type, value);\r\n }\r\n );\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `setNew${caseName}`,\r\n `(onNewCreated: ((item: ${typeName}) => ${typeName}) | undefined): this;`,\r\n /**\r\n * @this C\r\n * @param {(item: T) => T} [onNewCreated]\r\n * @returns {C}\r\n */\r\n function (onNewCreated) {\r\n if (!onNewCreated) {\r\n onNewCreated = (item) => item;\r\n }\r\n return this._setGrafanaObject(key, type, onNewCreated(new type(this.metaOptions)));\r\n }\r\n );\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `with${caseName}`,\r\n `(onWith: (item: ${typeName}) => void): this;`,\r\n /**\r\n * @this C\r\n * @param {(item: T) => void} onWith\r\n * @returns {C}\r\n */\r\n function (onWith) {\r\n const item = this._getGrafanaObject(key, type);\r\n if (item) {\r\n onWith(item);\r\n }\r\n return this;\r\n }\r\n )\r\n\r\n setGetterWithSignature(cls, name, (self) => self._getGrafanaObject(key, type), typeName);\r\n\r\n addOnInit(cls, option?.onInit);\r\n\r\n if (option?.onDefault) {\r\n addOnInit(cls, (instance) => {\r\n const x = option?.onDefault?.(instance.metaOptions)\r\n instance._setGrafanaObject(key, type, x);\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @template {GrafanaItem} T\r\n * @param {MetaConstructor<C>} cls\r\n * @param {string} key\r\n * @param {MetaConstructor<T>} type\r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {string} [option.itemName]\r\n * @param {boolean} [option.setEmpty]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => T[]} [option.onDefault]\r\n */\r\nexport function defineArray(cls, key, type, option) {\r\n const name = option?.name ? option.name : key;\r\n const caseName = name.charAt(0).toUpperCase() + name.slice(1);\r\n const itemName = option?.itemName ? option.itemName : (name.endsWith('s') ? name.slice(0, -1) : `${name}Item`);\r\n const caseItemName = itemName.charAt(0).toUpperCase() + itemName.slice(1);\r\n\r\n addTypeNameToInclude(cls, type.name);\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `init${caseName}`,\r\n `(): this;`,\r\n /**\r\n * @this C\r\n * @returns {C}\r\n */\r\n function () {\r\n return this._initArray(key);\r\n }\r\n )\r\n\r\n setGetterWithSignature(cls, name, (self) => self._getArray(key), `${type.name}[]`);\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `add${caseItemName}`,\r\n `(${itemName}: ${type.name}): this;`,\r\n /**\r\n * @this C\r\n * @param {T} item\r\n * @returns {C}\r\n */\r\n function (item) {\r\n return this._addArrayItem(key, item);\r\n }\r\n );\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `addNew${caseItemName}`,\r\n `(onNewCreated: (item: ${type.name}) => ${type.name}): this;`,\r\n /**\r\n * @this C\r\n * @param {(item: T) => T} onNewCreated\r\n * @returns {C}\r\n */\r\n function (onNewCreated) {\r\n return this._addArrayItem(key, onNewCreated(new type(this.metaOptions)));\r\n }\r\n );\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `with${caseName}`,\r\n `(onWith: (${name}: ${type.name}[]) => void): this;`,\r\n /**\r\n * @this C\r\n * @param {(array: T[]) => void} onWith\r\n * @returns {C}\r\n */\r\n function (onWith) {\r\n const array = this._getArray(key);\r\n if (array) {\r\n onWith(array);\r\n }\r\n return this;\r\n }\r\n )\r\n\r\n addOnInit(cls, option?.onInit);\r\n\r\n if (option?.onDefault) {\r\n addOnInit(cls, (instance) => option.onDefault\r\n ?.(instance.metaOptions)\r\n ?.forEach(\r\n item => instance._addArrayItem(key, item)\r\n )\r\n );\r\n }\r\n\r\n if (option?.setEmpty) {\r\n addOnInit(cls, (instance) => instance._initArray(key));\r\n }\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} key \r\n * @param {Function} type \r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {string} [option.itemName]\r\n * @param {boolean} [option.setEmpty]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => Object[]} [option.onDefault]\r\n */\r\nexport function defineBasicArray(cls, key, type, option) {\r\n const name = option?.name ? option.name : key;\r\n const caseName = name.charAt(0).toUpperCase() + name.slice(1);\r\n const itemName = option?.itemName ? option.itemName : (name.endsWith('s') ? name.slice(0, -1) : `${name}Item`);\r\n const caseItemName = itemName.charAt(0).toUpperCase() + itemName.slice(1);\r\n\r\n addTypeNameToInclude(cls, type.name);\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `init${caseName}`,\r\n `(): this;`,\r\n /**\r\n * @this C\r\n * @returns {C}\r\n */\r\n function () {\r\n return this._initArray(key);\r\n }\r\n )\r\n\r\n setGetterWithSignature(cls, name, (self) => self._getArray(key), `${type.name}[]`);\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `add${caseItemName}`,\r\n `(${itemName}: ${type.name}): this;`,\r\n /**\r\n * @this C\r\n * @template T\r\n * @param {T} item\r\n * @returns {C}\r\n */\r\n function (item) {\r\n return this._addArrayItem(key, item);\r\n }\r\n )\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n `with${caseName}`,\r\n `(onWith: (${name}: ${type.name}[]) => void): this;`,\r\n /**\r\n * @this C\r\n * @template T\r\n * @param {(array: T[]) => void} onWith\r\n * @returns {C}\r\n */\r\n function (onWith) {\r\n const array = this._getArray(key);\r\n if (array) {\r\n onWith(array);\r\n }\r\n return this;\r\n }\r\n )\r\n\r\n addOnInit(cls, option?.onInit);\r\n\r\n if (option?.onDefault) {\r\n addOnInit(cls, (instance) => option.onDefault\r\n ?.(instance.metaOptions)\r\n ?.forEach(\r\n item => instance._addArrayItem(key, item)\r\n )\r\n )\r\n }\r\n\r\n if (option?.setEmpty) {\r\n addOnInit(cls, (instance) => instance._initArray(key));\r\n }\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {(instance: C) => void} code\r\n */\r\nexport function defineConstructor(cls, code) {\r\n addSignature(cls, 'constructor(metaOptions: GenericMetaOptions)');\r\n addOnInit(cls, (instance) => code(instance))\r\n}\r\n\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} method\r\n * @param {Object} [option]\r\n * @param {(typeof GrafanaItem)[]} [option.typesToInclude]\r\n */\r\nexport function defineMember(cls, method, option) {\r\n const { typesToInclude } = option || {};\r\n addSignature(cls, method);\r\n addTypesToInclude(cls, typesToInclude);\r\n}\r\n\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} name\r\n * @param {string} args\r\n * @param {Object} option\r\n * @param {(typeof GrafanaItem)[]} [option.typesToInclude]\r\n * @param {(instance: C, ...args: any[]) => any} option.code\r\n */\r\nexport const defineMethod = (cls, name, args, option) => {\r\n const {\r\n typesToInclude,\r\n code,\r\n } = option || {};\r\n\r\n addTypesToInclude(cls, typesToInclude);\r\n\r\n setPrototypeWithSignature(\r\n cls,\r\n name,\r\n args,\r\n /**\r\n * @this {C}\r\n * @param {...any} args\r\n * @returns {any}\r\n */\r\n function (...args) {\r\n return code(this, ...args);\r\n }\r\n )\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n * @param {string} name\r\n * @param {string} typeName\r\n * @param {Object} option\r\n * @param {(typeof GrafanaItem)[]} [option.typesToInclude]\r\n * @param {(self: C) => any} [option.getter]\r\n * @param {(self: C, value: any) => void} [option.setter]\r\n */\r\nexport function defineGetterSetter(cls, name, typeName, option) {\r\n const {\r\n typesToInclude,\r\n getter,\r\n setter,\r\n } = option || {};\r\n\r\n addTypesToInclude(cls, typesToInclude);\r\n\r\n if (getter !== undefined) {\r\n if (setter !== undefined) {\r\n setGetterAndSetterWithSignature(cls, name, getter, setter, typeName);\r\n } else {\r\n setGetterWithSignature(cls, name, getter, typeName);\r\n }\r\n } else {\r\n if (setter !== undefined) {\r\n setSetterWithSignature(cls, name, setter, typeName);\r\n } else {\r\n throw new Error(\"You must provide either a getter or a setter.\");\r\n }\r\n }\r\n}\r\n\r\n","import { GrafanaItem } from \"../items/GrafanaItem.js\";\r\nimport { defineValue, defineBasicObject, defineObject, defineArray, defineBasicArray, defineConstructor, defineMember, defineMethod, defineGetterSetter } from \"./typesDefinition.js\";\r\nimport { getMetaClassInfo, hasType, setTypeMetaClassInfo } from \"./typesReference.js\";\r\n\r\n/**\r\n * @typedef {import(\"@gdacm/base-types\").GenericMetaOptions} GenericMetaOptions\r\n */\r\n\r\n/**\r\n * @template {Object} T\r\n * @template {T} C\r\n * @typedef {import(\"./MetaClassRegistry.js\").MetaClassInfo<T,C>} MetaClassInfo\r\n */\r\n\r\n/**\r\n * @template T\r\n * @typedef {import(\"@gdacm/base-types\").MetaConstructor<T>} MetaConstructor\r\n */\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n */\r\nexport class GrafanaItemClassBuilder {\r\n /**\r\n * @param {MetaConstructor<C>} cls\r\n */\r\n constructor(cls) {\r\n /** @type {MetaConstructor<C>} */\r\n this._cls = cls;\r\n }\r\n\r\n /**\r\n * @return {MetaConstructor<C>}\r\n */\r\n get cls() {\r\n return this._cls;\r\n }\r\n\r\n /**\r\n * @param {MetaConstructor<GrafanaItem>} parent\r\n * @returns \r\n */\r\n setParent(parent) {\r\n this.parent = parent;\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {string} key \r\n * @param {Function} type\r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => C} [option.onDefault]\r\n * @param {String} [option.typeName]\r\n * @return {this}\r\n */\r\n defineValue(key, type, option) {\r\n defineValue(this.cls, key, type, option);\r\n return this;\r\n }\r\n\r\n /**\r\n * @template {GrafanaItem} T\r\n * @param {string} key \r\n * @param {MetaConstructor<T>} type \r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => T} [option.onDefault]\r\n * @param {String} [option.typeName]\r\n * @param {String} [option.setNew]\r\n * @return {this}\r\n */\r\n defineObject(key, type, option) {\r\n defineObject(this.cls, key, type, option);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {string} key \r\n * @param {Function} type \r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => Object} [option.onDefault]\r\n * @param {String} [option.typeName]\r\n * @return {this}\r\n */\r\n defineBasicObject(key, type, option) {\r\n defineBasicObject(this.cls, key, type, option);\r\n return this;\r\n }\r\n\r\n /**\r\n * @template {GrafanaItem} T\r\n * @param {string} key \r\n * @param {MetaConstructor<T>} type \r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {string} [option.itemName]\r\n * @param {boolean} [option.setEmpty]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => T[]} [option.onDefault]\r\n * @return {this}\r\n */\r\n defineArray(key, type, option) {\r\n defineArray(this.cls, key, type, option);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {string} key \r\n * @param {Function} type \r\n * @param {Object} [option]\r\n * @param {string} [option.name]\r\n * @param {string} [option.itemName]\r\n * @param {boolean} [option.setEmpty]\r\n * @param {(instance: C) => void} [option.onInit]\r\n * @param {(metaOptions: GenericMetaOptions) => Object[]} [option.onDefault]\r\n * @return {this}\r\n */\r\n defineBasicArray(key, type, option) {\r\n defineBasicArray(this.cls, key, type, option);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {string} method\r\n * @param {Object} [option]\r\n * @param {(typeof GrafanaItem)[]} [option.typesToInclude]\r\n * @return {this}\r\n */\r\n defineMember(method, option) {\r\n defineMember(this.cls, method, option);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {(instance: C) => void} code\r\n * @return {this}\r\n */\r\n defineConstructor(code) {\r\n defineConstructor(this.cls, /** @type {(instance: C) => void} */ (code));\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {string} name\r\n * @param {string} args\r\n * @param {Object} option\r\n * @param {(typeof GrafanaItem)[]} [option.typesToInclude]\r\n * @param {(instance: C, ...args: any[]) => any} option.code\r\n * @return {this}\r\n */\r\n defineMethod(name, args, option) {\r\n defineMethod(this.cls, name, args, option)\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {string} name\r\n * @param {string} typeName\r\n * @param {Object} option\r\n * @param {(typeof GrafanaItem)[]} [option.typesToInclude]\r\n * @param {(instance: C) => any} [option.getter]\r\n * @param {(instance: C, value: any) => void} [option.setter]\r\n * @return {this}\r\n */\r\n defineGetterSetter(name, typeName, option) {\r\n defineGetterSetter(this.cls, name, typeName, option);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {(instance: this) => void} code \r\n */\r\n with(code) {\r\n code(this);\r\n return this;\r\n }\r\n\r\n /**\r\n * @returns {typeof GrafanaItem}\r\n */\r\n get asClass() {\r\n return this.cls;\r\n }\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} P\r\n * @param {string} name\r\n * @param {MetaConstructor<P>} parent\r\n * @returns {GrafanaItemClassBuilder<P>}\r\n */\r\nexport const defineGrafanaItemClass = (name, parent) => {\r\n const cls = class extends parent { };\r\n Object.defineProperty(cls, 'name', { value: name });\r\n return defineClass(/** @type {MetaConstructor<P>} */ (cls))\r\n .setParent(parent);\r\n}\r\n\r\n/**\r\n * @template {GrafanaItem} C\r\n * @param {MetaConstructor<C>} cls \r\n */\r\nexport function defineClass(cls) {\r\n if (!hasType(cls)) {\r\n /** @type {Function|undefined} */\r\n let parent = Object.getPrototypeOf(cls);\r\n if (parent && !parent.name) {\r\n parent = undefined;\r\n }\r\n /** @type {((instance: C)=>void)[]} */\r\n let onInitsParent = [];\r\n if (parent && parent.name) {\r\n // @ts-ignore\r\n onInitsParent = getMetaClassInfo(parent).onInits;\r\n }\r\n /** @type {MetaClassInfo<GrafanaItem,C>} */\r\n const metaClassInfo = {\r\n methods: [],\r\n onInits: [...onInitsParent],\r\n parentName: parent?.name,\r\n // @ts-ignore\r\n parent: parent,\r\n typeNamesToInclude: [],\r\n };\r\n cls.prototype._onInit = function () {\r\n for (const onInit of metaClassInfo.onInits) {\r\n onInit(this);\r\n }\r\n }\r\n setTypeMetaClassInfo(cls, metaClassInfo);\r\n }\r\n return new GrafanaItemClassBuilder(cls);\r\n}\r\n","import { asJson } from \"../utils/json.js\";\r\nimport { defineClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport class GrafanaItem {\r\n /**\r\n * @param {import(\"../../../base-types/src/index.js\").MetaOptions<import(\"../../../base-types/src/index.js\").GenericOptions>} metaOptions An object with options\r\n */\r\n constructor(metaOptions) {\r\n this._metaOptions = metaOptions || {};\r\n this._grafanaValues = {};\r\n this._grafanaArrays = {};\r\n this._grafanaObjects = {};\r\n this._onInit();\r\n }\r\n\r\n /**\r\n * @returns {Object} The meta options of the Grafana item\r\n */\r\n get metaOptions() {\r\n return this._metaOptions;\r\n }\r\n\r\n /**\r\n * @param {(metaOptions: Object) => void} code \r\n * @returns {this}\r\n */\r\n withMetaOptions(code) {\r\n code(this.metaOptions);\r\n return this;\r\n }\r\n\r\n /**\r\n * @param {(item: this) => void} code \r\n * @returns {this}\r\n */\r\n with(code) {\r\n code(this);\r\n return this;\r\n }\r\n\r\n /**\r\n * \r\n * @template T\r\n * @param {string} key \r\n * @param {T} value \r\n * @returns \r\n */\r\n _setValue(key, value) {\r\n this._grafanaValues[key] = asJson(value);\r\n return this;\r\n }\r\n\r\n /**\r\n * \r\n * @template T\r\n * @param {string} key\r\n * @param {T} value\r\n * @returns \r\n */\r\n _getValue(key) {\r\n return this._grafanaValues[key];\r\n }\r\n\r\n /**\r\n * @returns {Object} The JSON representation of the Grafana item\r\n */\r\n asJson() {\r\n const values = { ...this._grafanaValues };\r\n for (const key in this._grafanaArrays) {\r\n values[key] = this._grafanaArrays[key].map(item => asJson(item));\r\n }\r\n for (const key in this._grafanaObjects) {\r\n values[key] = asJson(this._grafanaObjects[key]);\r\n }\r\n return asJson(values);\r\n }\r\n\r\n /**\r\n * @param {string} key\r\n */\r\n _initArray(key) {\r\n this._getArray(key);\r\n return this;\r\n }\r\n\r\n /**\r\n * @template T\r\n * @param {string} key \r\n * @return {T[]}\r\n */\r\n _getArray(key) {\r\n if (!this._grafanaArrays[key]) {\r\n this._grafanaArrays[key] = [];\r\n }\r\n return this._grafanaArrays[key];\r\n }\r\n\r\n /**\r\n * @template T\r\n * @param {string} key \r\n * @param {T} item \r\n * @returns {this}\r\n */\r\n _addArrayItem(key, item) {\r\n this._getArray(key).push(item);\r\n return this;\r\n }\r\n\r\n /**\r\n * @template T\r\n * @param {string} key \r\n * @param {T} value \r\n * @returns {this}\r\n */\r\n _setObject(key, value) {\r\n this._grafanaObjects[key] = value;\r\n return this;\r\n }\r\n\r\n /**\r\n * @template T\r\n * @param {string} key \r\n * @returns {T|undefined}\r\n */\r\n _getObject(key) {\r\n if (!this._grafanaObjects[key]) {\r\n this._grafanaObjects[key] = undefined;\r\n }\r\n return this._grafanaObjects[key];\r\n }\r\n\r\n /**\r\n * \r\n * @template T\r\n * @param {string} key\r\n * @param {(item: T) => void} code \r\n * @returns {this}\r\n */\r\n _withObject(key, code) {\r\n const obj = this._getObject(key);\r\n if (obj) {\r\n code(obj);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * @template {GrafanaItem} T\r\n * @param {string} key\r\n * @param {new (metaOptions: GenericMetaOptions) => T} type\r\n * @param {T|undefined} value\r\n * @returns {this}\r\n */\r\n _setGrafanaObject(key, type, value) {\r\n this._grafanaObjects[key] = value;\r\n return this;\r\n }\r\n\r\n /**\r\n * @template {GrafanaItem} T\r\n * @param {string} key \r\n * @param {new (metaOptions: GenericMetaOptions) => T} type\r\n * @returns {T|undefined}\r\n */\r\n _getGrafanaObject(key, type) {\r\n if (!this._grafanaObjects[key]) {\r\n this._grafanaObjects[key] = new type(this.metaOptions);\r\n }\r\n return this._grafanaObjects[key];\r\n }\r\n\r\n /**\r\n * \r\n * @template {GrafanaItem} T\r\n * @param {string} key\r\n * @param {new (metaOptions: GenericMetaOptions) => T} type\r\n * @param {(item: T) => void} code \r\n * @returns {this}\r\n */\r\n _withGrafanaObject(key, type, code) {\r\n const obj = this._getGrafanaObject(key, type);\r\n if (obj) {\r\n code(obj);\r\n }\r\n return this;\r\n }\r\n}\r\n\r\ndefineClass(GrafanaItem)\r\n .defineMember('constructor(metaOptions: GenericMetaOptions)')\r\n .defineMember('get metaOptions(): GenericMetaOptions')\r\n .defineMember('withMetaOptions(code: (metaOptions: GenericMetaOptions) => void): this')\r\n .defineMember('with(code: (item: this) => void): this')\r\n .defineMember('asJson(): Object;')\r\n .defineMember('_onInit(): void;')\r\n .defineMember('_setValue<T>(key: string, value: T): this;')\r\n .defineMember('_getValue<T>(key: string): T;')\r\n .defineMember('_initArray(key: string): this;')\r\n .defineMember('_getArray<T>(key: string): T[];')\r\n .defineMember('_addArrayItem<T>(key: string, item: T): this;')\r\n .defineMember('_setObject<T>(key: string, value: T): this;')\r\n .defineMember('_getObject<T>(key: string): T;')\r\n .defineMember('_withObject<T>(key: string, code: (item: T) => void): this;')\r\n .defineMember('_setGrafanaObject<T extends GrafanaItem>(key: string, type: new (metaOptions: GenericMetaOptions) => T, value: T | undefined): this;')\r\n .defineMember('_getGrafanaObject<T extends GrafanaItem>(key: string, type: new (metaOptions: GenericMetaOptions) => T): T;')\r\n .defineMember('_withGrafanaObject<T extends GrafanaItem>(key: string, type: new (metaOptions: GenericMetaOptions) => T, code: (item: T) => void): this;')\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const OverrideMatcher = defineGrafanaItemClass('OverrideMatcher', GrafanaItem)\r\n .defineValue('id', String)\r\n .defineBasicObject('options', Object)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const OverrideMatcherOptionsByNames = defineGrafanaItemClass('OverrideMatcherOptionsByNames', GrafanaItem)\r\n .defineValue('mode', String)\r\n .defineBasicArray('names', String)\r\n .defineValue('prefix', String)\r\n .defineValue('readOnly', Boolean)\r\n .asClass","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const OverrideProperty = defineGrafanaItemClass('OverrideProperty', GrafanaItem)\r\n .defineValue('id', String)\r\n .defineValue('value', Object)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const Datasource = defineGrafanaItemClass('Datasource', GrafanaItem)\r\n .defineValue('type', String)\r\n .defineValue('uid', String)\r\n .asClass;\r\n\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { Datasource } from \"./Datasource.js\";\r\n\r\nexport const Annotation = defineGrafanaItemClass('Annotation', GrafanaItem)\r\n .defineValue('builtIn', Number)\r\n .defineObject('datasource', Datasource)\r\n .defineValue('enable', Boolean)\r\n .defineValue('hide', Boolean)\r\n .defineValue('iconColor', String)\r\n .defineValue('name', String)\r\n .defineValue('type', String)\r\n .asClass\r\n\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { Annotation } from \"./Annotation.js\";\r\n\r\nexport const Annotations = defineGrafanaItemClass('Annotations', GrafanaItem)\r\n .defineArray('list', Annotation, { itemName: 'annotation' })\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const Color = defineGrafanaItemClass('Color', GrafanaItem)\r\n .defineValue('mode', String)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const TimeRange = defineGrafanaItemClass('TimeRange', GrafanaItem)\r\n .defineValue('from', String)\r\n .defineValue('to', String)\r\n .defineMethod('setRange', '(from: string, to: string): this;', {\r\n /**\r\n * @param {TimeRange} timeRange \r\n * @param {string} from \r\n * @param {string} to \r\n * @returns {TimeRange}\r\n */\r\n code: (timeRange, from, to) => {\r\n timeRange.setFrom(from);\r\n timeRange.setTo(to);\r\n return timeRange;\r\n }\r\n })\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const GridPos = defineGrafanaItemClass('GridPos', GrafanaItem)\r\n .defineValue('x', Number)\r\n .defineValue('y', Number)\r\n .defineValue('w', Number)\r\n .defineValue('h', Number)\r\n .defineMethod('setPos', '(x: number, y: number, w: number, h: number): this;', {\r\n /**\r\n * @param {GridPos} gridPos\r\n * @param {number} x\r\n * @param {number} y\r\n * @param {number} w\r\n * @param {number} h\r\n * @returns {GridPos}\r\n */\r\n code: (gridPos, x, y, w, h) => {\r\n gridPos.setX(x);\r\n gridPos.setY(y);\r\n gridPos.setW(w);\r\n gridPos.setH(h);\r\n return gridPos;\r\n }\r\n })\r\n .asClass","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const FieldConfigCustom = defineGrafanaItemClass('FieldConfigCustom', GrafanaItem)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const Mapping = defineGrafanaItemClass('Mapping', GrafanaItem)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const ThresholdsStep = defineGrafanaItemClass('ThresholdsStep', GrafanaItem)\r\n .defineValue('value', Number)\r\n .defineValue('color', String)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { ThresholdsStep } from './ThresholdsStep.js';\r\n\r\nexport const Thresholds = defineGrafanaItemClass('Thresholds', GrafanaItem)\r\n .defineValue('mode', String)\r\n .defineArray('steps', ThresholdsStep)\r\n .defineMethod('addStepWithValueAndColor', '(value: number, color: string): this;', {\r\n /**\r\n * @param {Thresholds} thresholds \r\n * @param {number} value \r\n * @param {string} color \r\n * @returns {Thresholds}\r\n */\r\n code: (thresholds, value, color) => {\r\n const step = new ThresholdsStep(thresholds.metaOptions).setValue(value).setColor(color);\r\n return thresholds.addStep(step);\r\n },\r\n })\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { Color } from \"./Color.js\";\r\nimport { FieldConfigCustom } from \"./FieldConfigCustom.js\";\r\nimport { Mapping } from \"./Mapping.js\";\r\nimport { Thresholds } from \"./Thresholds.js\";\r\n\r\nexport const FieldConfigDefault = defineGrafanaItemClass('FieldConfigDefault', GrafanaItem)\r\n .defineObject('color', Color)\r\n .defineObject('custom', FieldConfigCustom)\r\n .defineValue('decimals', Number)\r\n .defineValue('fieldMinMax', Boolean)\r\n .defineArray('mappings', Mapping)\r\n .defineValue('max', Number)\r\n .defineValue('min', Number)\r\n .defineObject('thresholds', Thresholds)\r\n .defineValue('unit', String)\r\n .defineMethod('setColorMode', '(mode: string): this;', {\r\n /**\r\n * @param {FieldConfigDefault} fieldConfigDefault\r\n * @param {String} mode\r\n * @returns {FieldConfigDefault}\r\n */\r\n code: (fieldConfigDefault, mode) => {\r\n if (fieldConfigDefault.color === undefined) {\r\n fieldConfigDefault.setNewColor();\r\n }\r\n fieldConfigDefault.color.setMode(mode);\r\n return fieldConfigDefault;\r\n }\r\n })\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { OverrideMatcher } from \"./OverrideMatcher.js\";\nimport { OverrideProperty } from \"./OverrideProperty.js\";\n\nexport const FieldConfigOverride = defineGrafanaItemClass('FieldConfigOverride', GrafanaItem)\n .defineValue('__systemRef', String, { name: 'systemRef' })\n .defineObject('matcher', OverrideMatcher)\n .defineArray('properties', OverrideProperty, { itemName: 'property' })\n .asClass\n\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const HideFrom = defineGrafanaItemClass('HideFrom', GrafanaItem)\r\n .defineValue('graph', Boolean) // Grafana 13\r\n .defineValue('legend', Boolean)\r\n .defineValue('tooltip', Boolean)\r\n .defineValue('viz', Boolean)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { FieldConfigDefault } from \"./FieldConfigDefault.js\";\r\nimport { FieldConfigOverride } from \"./FieldConfigOverride.js\";\r\nimport { OverrideMatcherOptionsByNames } from \"./OverrideMatcherOptionsByNames.js\";\r\nimport { HideFrom } from \"./HideFrom.js\";\r\n\r\nexport const FieldConfig = defineGrafanaItemClass('FieldConfig', GrafanaItem)\r\n .defineObject('defaults', FieldConfigDefault)\r\n .defineArray('overrides', FieldConfigOverride)\r\n .defineMethod('addNewOverrideHideSeriesFrom', '(names: string[]): this', {\r\n /**\r\n * @param {FieldConfig} fieldConfig\r\n * @param {String[]} names\r\n * @returns {FieldConfigOverride}\r\n */\r\n code: (fieldConfig, names) => {\r\n /**\r\n * @param {OverrideMatcherOptionsByNames} matcher\r\n * @returns {OverrideMatcherOptionsByNames}\r\n */\r\n const reduceForNames = (matcher) => names.reduce(\r\n (matcher, name) => matcher.addName(name),\r\n matcher\r\n );\r\n return fieldConfig.addNewOverride(\r\n (override) => override\r\n .setSystemRef('hideSeriesFrom')\r\n .setNewMatcher(\r\n (overrideMatcher) => overrideMatcher\r\n .setId('byNames')\r\n .setOptions(\r\n reduceForNames(new OverrideMatcherOptionsByNames())\r\n .setMode('exclude')\r\n .setPrefix('All except:')\r\n .setReadOnly(true)\r\n )\r\n )\r\n .addNewProperty(\r\n (property) => property\r\n .setId('custom.hideFrom')\r\n .setValue(\r\n new HideFrom()\r\n .setLegend(false)\r\n .setTooltip(true)\r\n .setViz(true)\r\n )\r\n )\r\n );\r\n }\r\n })\r\n .asClass\r\n\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { Datasource } from \"./Datasource.js\";\r\n\r\nexport const Target = defineGrafanaItemClass('Target', GrafanaItem)\r\n .defineValue('alias', String)\r\n .defineValue('refId', String)\r\n .defineValue('query', String)\r\n .defineObject('datasource', Datasource)\r\n .defineValue('seriesCount', Number)\r\n .defineValue('scenarioId', String)\r\n .defineValue('stringInput', String)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const Link = defineGrafanaItemClass('Link', GrafanaItem)\r\n .defineConstructor(instance => instance.setType('link'))\r\n .defineValue('asDropdown', Boolean)\r\n .defineValue('icon', String)\r\n .defineValue('includeVars', Boolean)\r\n .defineValue('keepTime', Boolean)\r\n .defineBasicArray('tags', String, { setEmpty: true })\r\n .defineValue('targetBlank', Boolean)\r\n .defineValue('title', String)\r\n .defineValue('tooltip', String)\r\n .defineValue('type', String)\r\n .defineValue('url', String)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const DataTransformation = defineGrafanaItemClass('DataTransformation', GrafanaItem)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { Datasource } from \"./Datasource.js\";\r\nimport { GridPos } from \"./GridPos.js\";\r\nimport { FieldConfig } from \"./FieldConfig.js\";\r\nimport { Target } from \"./Target.js\";\r\nimport { Link } from \"./Link.js\";\r\nimport { DataTransformation } from \"./DataTransformation.js\";\r\n\r\nexport const Panel = defineGrafanaItemClass('Panel', GrafanaItem)\r\n .defineValue('cacheTimeout', String)\r\n .defineObject('datasource', Datasource, { onDefault: (options) => undefined })\r\n .defineValue('description', String)\r\n .defineObject('fieldConfig', FieldConfig, { onDefault: (options) => new FieldConfig(options) })\r\n .defineObject('gridPos', GridPos)\r\n .defineMethod('setPos', '(x: number, y: number, w: number, h: number): this;', {\r\n /**\r\n * @param {Panel} panel\r\n * @param {number} x\r\n * @param {number} y\r\n * @param {number} w\r\n * @param {number} h\r\n */\r\n code: (panel, x, y, w, h) => {\r\n return panel.setNewGridPos((gridPos) => gridPos.setPos(x, y, w, h))\r\n }\r\n })\r\n .defineValue('hideTimeOverride', Boolean)\r\n .defineValue('id', Number)\r\n .defineValue('interval', String)\r\n .defineArray('links', Link)\r\n .defineValue('maxDataPoints', Number)\r\n .defineValue('maxPerRow', Number)\r\n .defineObject('options', Object)\r\n .defineValue('pluginVersion', String)\r\n .defineValue('queryCachingTTL', Number)\r\n .defineValue('repeat', String)\r\n .defineValue('repeatDirection', String)\r\n .defineArray('targets', Target)\r\n .defineMethod('addTargetWithParams', '(refId: string, query: string, datasource: Datasource): this;', {\r\n /**\r\n * @param {Panel} panel\r\n * @param {string} refId\r\n * @param {string} query\r\n * @param {Datasource} datasource\r\n */\r\n code: (panel, refId, query, datasource) => {\r\n return panel.addTarget(\r\n new Target(panel.metaOptions)\r\n .setRefId(refId)\r\n .setQuery(query)\r\n .setDatasource(datasource)\r\n );\r\n }\r\n })\r\n .defineValue('timeFrom', String)\r\n .defineValue('timeShift', String)\r\n .defineArray('transformations', DataTransformation)\r\n .defineValue('type', String, { onDefault: (options) => '' })\r\n .defineValue('title', String, { onDefault: (options) => '' })\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const TemplateCurrent = defineGrafanaItemClass('TemplateCurrent', GrafanaItem)\n .defineValue('text', Object)\n .defineValue('value', Object)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const TemplateOption = defineGrafanaItemClass('TemplateOption', GrafanaItem)\n .defineValue('selected', Boolean)\n .defineValue('text', String)\n .defineValue('value', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { TemplateCurrent } from \"./TemplateCurrent.js\";\r\nimport { TemplateOption } from \"./TemplateOption.js\";\r\n\r\nexport const Template = defineGrafanaItemClass('Template', GrafanaItem)\r\n .defineObject('current', TemplateCurrent)\r\n .defineValue('definition', String)\r\n .defineValue('description', String)\r\n .defineValue('hide', Number)\r\n .defineValue('label', String)\r\n .defineValue('multi', Boolean)\r\n .defineValue('name', String)\r\n .defineArray('options', TemplateOption)\r\n .defineValue('query', Object)\r\n .defineValue('refresh', Number)\r\n .defineValue('regex', String)\r\n .defineValue('sort', Number)\r\n .defineValue('type', String)\r\n .defineValue('useTags', Boolean)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { Template } from \"./Template.js\";\r\n\r\nexport const Templating = defineGrafanaItemClass('Templating', GrafanaItem)\r\n .defineArray('list', Template, { itemName: 'template' })\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\n\r\nexport const TimePicker = defineGrafanaItemClass('TimePicker', GrafanaItem)\r\n .defineBasicArray('refresh_intervals', String, { itemName: 'refreshInterval' })\r\n .asClass\r\n","import { Annotations } from \"../items/Annotations.js\";\r\nimport { Datasource } from \"../items/Datasource.js\";\r\nimport { Template } from \"../items/Template.js\";\r\n\r\n/**\r\n * @typedef {import(\"@gdacm/base-types\").GenericMetaOptions} GenericMetaOptions\r\n */\r\n\r\n/**\r\n * @param {GenericMetaOptions} options \r\n * @returns {Annotations}\r\n */\r\nexport const getAnnotations = (options) =>\r\n new Annotations(options)\r\n .addNewAnnotation(\r\n annotation => annotation\r\n .setBuiltIn(1)\r\n .setNewDatasource(\r\n datasource => datasource\r\n .setType('grafana')\r\n .setUid('-- Grafana --')\r\n )\r\n .setEnable(true)\r\n .setHide(true)\r\n .setIconColor('rgba(0, 211, 255, 1)')\r\n .setName('Annotations & Alerts')\r\n .setType('dashboard')\r\n )\r\n\r\n/**\r\n * @param {String} name\r\n * @param {String} templateName\r\n * @param {GenericMetaOptions} metaOptions\r\n * @returns {Datasource}\r\n */\r\nexport const getDatasourceWithTemplateName = (name, templateName, metaOptions) => {\r\n return new Datasource(metaOptions)\r\n .setType(name)\r\n .setUid(`${\"${\"}${templateName}}`);\r\n}\r\n\r\n/**\r\n * @param {String} type\r\n * @param {String} name\r\n * @param {String} uid\r\n * @param {GenericMetaOptions} metaOptions\r\n * @returns {Object}\r\n */\r\nexport const getTemplateDatesource = (type, name, uid, metaOptions) => {\r\n // return new Template(metaOptions).setCurrent({ text: type, value: uid }).setDescription(\"\").setHide(2).setLabel(\"Datasource\").setName(name).setQuery(type).setRefresh(1).setType(\"datasource\");\r\n return {\r\n current: {\r\n text: type,\r\n value: uid\r\n },\r\n description: \"\",\r\n hide: 2,\r\n label: null,\r\n name: name,\r\n options: [],\r\n query: type,\r\n refresh: 1,\r\n type: \"datasource\",\r\n }\r\n}\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { TimeRange } from \"./TimeRange.js\";\r\nimport { Panel } from \"./Panel.js\";\r\nimport { Templating } from \"./Templating.js\";\r\nimport { TimePicker } from \"./TimePicker.js\";\r\nimport { Annotations } from \"./Annotations.js\";\r\nimport { Link } from \"./Link.js\";\r\nimport { getAnnotations } from \"../torefactor/index.js\";\r\n\r\nexport const Dashboard = defineGrafanaItemClass('Dashboard', GrafanaItem)\r\n .setParent(GrafanaItem)\r\n .defineObject('annotations', Annotations, {\r\n onDefault: (options) => getAnnotations(options),\r\n })\r\n .defineValue('editable', Boolean)\r\n .defineValue('fiscalYearStartMonth', Number)\r\n .defineValue('graphTooltip', Number)\r\n .defineArray('links', Link, { itemName: 'link' })\r\n .defineValue('liveNow', Boolean)\r\n .defineArray('panels', Panel, { itemName: 'panel' })\r\n .defineMethod('addPanel', '(panel: Panel): this;', {\r\n /**\r\n * @param {Dashboard} dashboard\r\n * @param {Panel} panel\r\n * @returns {Dashboard}\r\n */\r\n code: (dashboard, panel) => {\r\n const max = dashboard.panels.reduce((acc, panel) => {\r\n const id = panel._getValue('id');\r\n if (id >= acc) {\r\n return id;\r\n } else {\r\n return acc;\r\n }\r\n }, 0);\r\n panel._setValue('id', max + 1);\r\n return dashboard._addArrayItem('panels', panel);\r\n }\r\n })\r\n .defineValue('preload', Boolean)\r\n .defineValue('schemaVersion', Number)\r\n .defineValue('refresh', String)\r\n .defineValue('tags', Array, { onDefault: (options) => [], typeName: 'Array<String>' })\r\n .defineObject('templating', Templating, {\r\n onDefault: (options) => new Templating(options),\r\n })\r\n .defineObject('time', TimeRange, {\r\n onDefault: (options) => new TimeRange(options)\r\n // Range is mandatory for Grafana 12, or the dashboard crash at load time\r\n .setRange('now-6h', 'now'),\r\n })\r\n .defineMethod('setTimeRange', '(from: string, to: string): this;', {\r\n /**\r\n * @param {Dashboard} dashboard\r\n * @param {string} from\r\n * @param {string} to\r\n * @returns {Dashboard}\r\n */\r\n code: (dashboard, from, to) => {\r\n dashboard.time.setRange(from, to);\r\n return dashboard;\r\n }\r\n })\r\n .defineObject('timepicker', TimePicker, {\r\n onDefault: (options) => new TimePicker(options),\r\n })\r\n .defineValue('timezone', String, { onDefault: (options) => 'browser' })\r\n .defineValue('title', String, { onDefault: (options) => '' })\r\n .defineValue('uid', String)\r\n .asClass","import { Datasource } from \"../Datasource.js\";\r\nimport { GrafanaItemClassBuilder } from \"../../utils/GrafanaItemClassBuilder.js\";\r\n\r\n/**\r\n * @template {Datasource} T\r\n * @param {GrafanaItemClassBuilder<T>} builder\r\n * @param {string} typeName\r\n * @param {Object} [options]\r\n * @param {(instance: T) => void} [options.onInit]\r\n */\r\nexport const defineDatasource = (builder, typeName, options) => {\r\n const { onInit } = options ?? {};\r\n builder\r\n .defineConstructor(\r\n (instance) => {\r\n instance.setType(typeName);\r\n if (onInit) {\r\n onInit(instance);\r\n }\r\n }\r\n )\r\n}","import { Datasource } from \"./Datasource.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { defineDatasource } from \"./properties/datasource.js\";\n\nexport const DatasourceInfinity = defineGrafanaItemClass('DatasourceInfinity', Datasource)\n .with(builder => defineDatasource(builder, 'yesoreyeram-infinity-datasource'))\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const ScaleDistribution = defineGrafanaItemClass('ScaleDistribution', GrafanaItem)\r\n .defineValue('type', String)\r\n .asClass\r\n","import { GrafanaItemClassBuilder } from \"../../utils/GrafanaItemClassBuilder.js\";\r\nimport { ScaleDistribution } from \"../ScaleDistribution.js\";\r\nimport { FieldConfigCustom } from \"../FieldConfigCustom.js\";\r\n\r\n/**\r\n * @template {FieldConfigCustom} T\r\n * @param {GrafanaItemClassBuilder<T>} builder\r\n */\r\nexport const defineAxisConfig = (builder) => {\r\n builder\r\n .defineValue('axisBorderShow', Boolean)\r\n .defineValue('axisCenteredZero', Boolean)\r\n .defineValue('axisColorMode', String)\r\n .defineValue('axisGridShow', Boolean)\r\n .defineValue('axisLabel', String)\r\n .defineValue('axisPlacement', String)\r\n .defineValue('axisSoftMax', Number)\r\n .defineValue('axisSoftMin', Number)\r\n .defineValue('axisWidth', Number)\r\n .defineObject('scaleDistribution', ScaleDistribution, {\r\n onDefault: (options) => new ScaleDistribution(options).setType('linear'),\r\n })\r\n}\r\n","import { GrafanaItemClassBuilder } from \"../../utils/GrafanaItemClassBuilder.js\";\r\nimport { FieldConfigCustom } from \"../FieldConfigCustom.js\";\r\nimport { HideFrom } from \"../HideFrom.js\";\r\n\r\n/**\r\n * @template {FieldConfigCustom} T\r\n * @param {GrafanaItemClassBuilder<T>} builder\r\n */\r\nexport const defineHideableFieldConfig = (builder) => {\r\n builder\r\n .defineObject('hideFrom', HideFrom, {\r\n onDefault: (options) => new HideFrom(options)\r\n .setLegend(false)\r\n .setTooltip(false)\r\n .setViz(false)\r\n })\r\n}","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const ThresholdStyle = defineGrafanaItemClass('ThresholdStyle', GrafanaItem)\r\n .defineValue('mode', String)\r\n .asClass\r\n","import { FieldConfigCustom } from \"./FieldConfigCustom.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { defineAxisConfig } from \"./properties/axisConfig.js\";\nimport { defineHideableFieldConfig } from \"./properties/hideableFieldConfig.js\";\nimport { ThresholdStyle } from \"./ThresholdStyle.js\";\n\nexport const FieldConfigCustomBarChart = defineGrafanaItemClass('FieldConfigCustomBarChart', FieldConfigCustom)\n .with(builder => defineAxisConfig(builder))\n .defineValue('fillOpacity', Number)\n .defineValue('gradientMode', String)\n .with(builder => defineHideableFieldConfig(builder))\n .defineValue('lineWidth', Number)\n .defineObject('thresholdsStyle', ThresholdStyle, {\n onDefault: (options) => new ThresholdStyle(options).setMode('off'),\n })\n .defineMethod('setThresholdsStyleMode', '(mode: string): this;',{\n /**\n * @param {FieldConfigCustomBarChart} fieldConfigCustomBarChart\n * @param {String} mode\n * @returns {FieldConfigCustomBarChart}\n */\n code: (fieldConfigCustomBarChart, mode) => {\n fieldConfigCustomBarChart.thresholdsStyle.setMode(mode);\n return fieldConfigCustomBarChart;\n }\n })\n .asClass\n","import { FieldConfigCustom } from \"./FieldConfigCustom.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const FieldConfigCustomGauge = defineGrafanaItemClass('FieldConfigCustomGauge', FieldConfigCustom)\n .asClass\n\n","import { FieldConfigCustom } from \"./FieldConfigCustom.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { HideFrom } from \"./HideFrom.js\";\n\nexport const FieldConfigCustomGeomap = defineGrafanaItemClass('FieldConfigCustomGeomap', FieldConfigCustom)\n .defineObject('hideFrom', HideFrom, {\n onDefault: (options) => new HideFrom(options)\n .setLegend(false)\n .setTooltip(false)\n .setViz(false),\n })\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const StackableFieldConfig = defineGrafanaItemClass('StackableFieldConfig', GrafanaItem)\n .defineValue(\"group\", String)\n .defineValue(\"mode\", String) // TODO \"none\" | \"normal\" | \"percent\"\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { defineAxisConfig } from \"./properties/axisConfig.js\";\nimport { defineHideableFieldConfig } from \"./properties/hideableFieldConfig.js\";\nimport { StackableFieldConfig } from \"./StackableFieldConfig.js\";\n\nexport const FieldConfigCustomHistogram = defineGrafanaItemClass('FieldConfigCustomHistogram', GrafanaItem)\n .with(\n builder => defineAxisConfig(builder)\n )\n .with(\n builder => defineHideableFieldConfig(builder)\n )\n .defineValue(\"fillOpacity\", Number) // \n .defineValue(\"gradientMode\", String) // TODO \"none\" | \"opacity\" | \"hue\" | \"scheme\"\n .defineValue(\"lineWidth\", Number)\n .defineObject(\"stacking\", StackableFieldConfig) \n .asClass\n","import { FieldConfigCustom } from \"./FieldConfigCustom.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { defineHideableFieldConfig } from \"./properties/hideableFieldConfig.js\";\n\nexport const FieldConfigCustomPieChart = defineGrafanaItemClass('FieldConfigCustomPieChart', FieldConfigCustom)\n .with(\n (builder) => defineHideableFieldConfig(builder)\n )\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const LineStyle = defineGrafanaItemClass('LineStyle', GrafanaItem)\r\n .defineValue('fill', String)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const Stacking = defineGrafanaItemClass('Stacking', GrafanaItem)\r\n .defineValue('group', String)\r\n .defineValue('mode', String)\r\n .asClass;\r\n","import { FieldConfigCustom } from \"./FieldConfigCustom.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { defineAxisConfig } from \"./properties/axisConfig.js\";\r\nimport { defineHideableFieldConfig } from \"./properties/hideableFieldConfig.js\";\r\nimport { LineStyle } from \"./LineStyle.js\";\r\nimport { ThresholdStyle } from \"./ThresholdStyle.js\";\r\nimport { Stacking } from \"./Stacking.js\";\r\n\r\nexport const FieldConfigCustomTimeSerie = defineGrafanaItemClass('FieldConfigCustomTimeSerie', FieldConfigCustom)\r\n .with(builder => defineAxisConfig(builder))\r\n .defineValue('barAlignment', Number)\r\n .defineValue('barMaxWidth', Number)\r\n .defineValue('barWidthFactor', Number)\r\n .defineValue('drawStyle', String)\r\n .defineValue('fillBelowTo', String)\r\n .defineValue('fillColor', String)\r\n .defineValue('fillOpacity', Number)\r\n .defineValue('gradientMode', String)\r\n .with(builder => defineHideableFieldConfig(builder))\r\n .defineValue('insertNulls', Boolean)\r\n .defineValue('lineInterpolation', String)\r\n .defineObject('lineStyle', LineStyle, {\r\n onDefault: (options) => new LineStyle(options).setFill('solid'),\r\n })\r\n .defineMethod('setLineStyleFill', '(fill: string): this;', {\r\n /**\r\n * @param {FieldConfigCustomTimeSerie} fieldConfigCustomTimeSerie\r\n * @param {String} fill\r\n * @returns {FieldConfigCustomTimeSerie}\r\n */\r\n code: (fieldConfigCustomTimeSerie, fill) => {\r\n fieldConfigCustomTimeSerie.lineStyle.setFill(fill);\r\n return fieldConfigCustomTimeSerie;\r\n }\r\n })\r\n .defineValue('lineWidth', Number)\r\n .defineValue('pointColor', String)\r\n .defineValue('pointSize', Number)\r\n .defineValue('pointSymbol', String)\r\n .defineValue('showPoints', String)\r\n .defineValue('showValues', Boolean)\r\n .defineValue('spanNulls', Boolean)\r\n .defineObject('stacking', Stacking, {\r\n onDefault: (options) => new Stacking(options).setGroup('A').setMode('none'),\r\n })\r\n .defineObject('thresholdsStyle', ThresholdStyle, {\r\n onDefault: (options) => new ThresholdStyle(options).setMode('off'),\r\n })\r\n // .define(FieldConfigCustomTimeSerie, 'transform', )\r\n .defineMethod('setThresholdsStyleMode', '(mode: string): this;', {\r\n /**\r\n * @param {FieldConfigCustomTimeSerie} fieldConfigCustomTimeSerie\r\n * @param {String} mode\r\n * @returns {FieldConfigCustomTimeSerie}\r\n */\r\n code: (fieldConfigCustomTimeSerie, mode) => {\r\n fieldConfigCustomTimeSerie.thresholdsStyle.setMode(mode);\r\n return fieldConfigCustomTimeSerie;\r\n }\r\n })\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const FieldConfigCustomTableCellOptions = defineGrafanaItemClass('FieldConfigCustomTableCellOptions', GrafanaItem)\n .defineValue('type', String)\n .asClass\n\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const FieldConfigCustomTableFooter = defineGrafanaItemClass('FieldConfigCustomTableFooter', GrafanaItem)\n .defineBasicArray('reducers', String)\n .asClass\n","import { FieldConfigCustom } from \"./FieldConfigCustom.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { FieldConfigCustomTableCellOptions } from \"./FieldConfigCustomTableCellOptions.js\";\nimport { FieldConfigCustomTableFooter } from \"./FieldConfigCustomTableFooter.js\";\n\nexport const FieldConfigCustomTable = defineGrafanaItemClass('FieldConfigCustomTable', FieldConfigCustom)\n .defineValue('align', String)\n .defineObject('cellOptions', FieldConfigCustomTableCellOptions, {\n onDefault: (options) => new FieldConfigCustomTableCellOptions(options),\n })\n .defineObject('footer', FieldConfigCustomTableFooter, {\n onDefault: (options) => new FieldConfigCustomTableFooter(options),\n })\n .defineValue('inspect', Boolean)\n .asClass\n\n","import { Datasource } from \"./Datasource.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { defineDatasource } from \"./properties/datasource.js\";\r\n\r\nexport const Influxdb = defineGrafanaItemClass('Influxdb', Datasource)\r\n .with(builder => defineDatasource(builder, 'influxdb'))\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptions = defineGrafanaItemClass('PanelOptions', GrafanaItem)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const VizLegendOptions = defineGrafanaItemClass('VizLegendOptions', GrafanaItem)\r\n .defineValue('asTable', Boolean)\r\n .defineBasicArray('calcs', String)\r\n .defineValue('displayMode', String)\r\n .defineValue('isVisible', Boolean)\r\n .defineValue('limit', Number)\r\n .defineValue('overflow', String)\r\n .defineValue('placement', String)\r\n .defineValue('showLegend', Boolean)\r\n .defineValue('sortBy', String)\r\n .defineValue('sortDesc', Boolean)\r\n .defineValue('width', Number)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nexport const VizTooltipOptions = defineGrafanaItemClass('VizTooltipOptions', GrafanaItem)\r\n .defineValue('hideZeros', Boolean)\r\n .defineValue('maxHeight', Number)\r\n .defineValue('maxWidth', Number)\r\n .defineValue('mode', String)\r\n .defineValue('sort', String)\r\n .asClass\r\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const VizTextDisplayOptions = defineGrafanaItemClass('VizTextDisplayOptions', GrafanaItem)\n .defineValue('percentSize', Number)\n .defineValue('titleSize', Number)\n .defineValue('valueSize', Number)\n .asClass;\n","import { PanelOptions } from \"./PanelOptions.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { VizLegendOptions } from \"./VizLegendOptions.js\";\nimport { VizTooltipOptions } from \"./VizTooltipOptions.js\";\nimport { VizTextDisplayOptions } from \"./VizTextDisplayOptions.js\";\n\nexport const PanelOptionsBarChart = defineGrafanaItemClass('PanelOptionsBarChart', PanelOptions)\n .defineValue('barRadius', Number)\n .defineValue('barWidth', Number)\n .defineValue('colorByField', String)\n .defineValue('fullHighlight', Boolean)\n .defineValue('groupWidth', Number)\n .defineObject('legend', VizLegendOptions, {\n onDefault: (options) => new VizLegendOptions(options)\n .setDisplayMode('list')\n .setPlacement('bottom')\n .setShowLegend(false)\n })\n .defineValue('orientation', String)\n .defineValue('showValue', String)\n .defineValue('stacking', String)\n .defineObject('text', VizTextDisplayOptions)\n .defineObject('tooltip', VizTooltipOptions, {\n onDefault: (options) => new VizTooltipOptions(options)\n .setHideZeros(false)\n .setMode('single')\n .setSort('none')\n })\n .defineValue('xField', String)\n .defineValue('xTickLabelMaxLength', Number)\n .defineValue('xTickLabelRotation', Number)\n .defineValue('xTickLabelSpacing', Number)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsGaugeEffect = defineGrafanaItemClass('PanelOptionsGaugeEffect', GrafanaItem)\n .defineValue('barGlow', Boolean)\n .defineValue('centerGlow', Boolean)\n .defineValue('gradient', Boolean)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsGaugeReduceOptions = defineGrafanaItemClass('PanelOptionsGaugeReduceOptions', GrafanaItem)\n .defineBasicArray('calcs', String, { setEmpty: true })\n .defineValue('fields', String)\n .defineValue('limit', Number)\n .defineValue('values', Boolean)\n .asClass\n","import { PanelOptions } from \"./PanelOptions.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PanelOptionsGaugeEffect } from \"./PanelOptionsGaugeEffect.js\";\nimport { PanelOptionsGaugeReduceOptions } from \"./PanelOptionsGaugeReduceOptions.js\";\n\nexport const PanelOptionsGauge = defineGrafanaItemClass('PanelOptionsGauge', PanelOptions)\n .defineValue('barShape', String)\n .defineValue('barWidthFactor', Number)\n .defineObject('effects', PanelOptionsGaugeEffect)\n .defineValue('endpointMarker', String)\n .defineValue('minVizHeight', Number)\n .defineValue('minVizWidth', Number)\n .defineValue('orientation', String)\n .defineObject('reduceOptions', PanelOptionsGaugeReduceOptions)\n .defineValue('segmentCount', Number)\n .defineValue('segmentSpacing', Number)\n .defineValue('shape', String)\n .defineValue('showThresholdLabels', Boolean)\n .defineValue('showThresholdMarkers', Boolean)\n .defineValue('sizing', String)\n .defineValue('sparkline', Boolean)\n .defineValue('textMode', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsGeomapBasemap = defineGrafanaItemClass('PanelOptionsGeomapBasemap', GrafanaItem)\n .defineBasicObject('config', Object)\n .defineValue('name', String)\n .defineValue('noRepeat', Boolean)\n .defineValue('type', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsGeomapControls = defineGrafanaItemClass('PanelOptionsGeomapControls', GrafanaItem)\n .defineValue('mouseWheelZoom', Boolean)\n .defineValue('showAttribution', Boolean)\n .defineValue('showDebug', Boolean)\n .defineValue('showMeasure', Boolean)\n .defineValue('showScale', Boolean)\n .defineValue('showZoom', Boolean)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const StyleColor = defineGrafanaItemClass('StyleColor', GrafanaItem)\n .defineValue('fixed', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const StyleRotation = defineGrafanaItemClass('StyleRotation', GrafanaItem)\n .defineValue('fixed', Number)\n .defineValue('max', Number)\n .defineValue('min', Number)\n .defineValue('mode', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const StyleSize = defineGrafanaItemClass('StyleSize', GrafanaItem)\n .defineValue('fixed', Number)\n .defineValue('max', Number)\n .defineValue('min', Number)\n .asClass\n\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const StyleSymbol = defineGrafanaItemClass('StyleSymbol', GrafanaItem)\n .defineValue('field', String)\n .defineValue('fixed', String)\n .defineValue('mode', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const StyleSymbolAlign = defineGrafanaItemClass('StyleSymbolAlign', GrafanaItem)\n .defineValue('horizontal', String)\n .defineValue('vertical', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const StyleTextConfig = defineGrafanaItemClass('StyleTextConfig', GrafanaItem)\n .defineValue('fontSize', Number)\n .defineValue('offsetX', Number)\n .defineValue('offsetY', Number)\n .defineValue('textAlign', String)\n .defineValue('textBaseline', String)\n .asClass","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { StyleColor } from \"./StyleColor.js\";\nimport { StyleRotation } from \"./StyleRotation.js\";\nimport { StyleSize } from \"./StyleSize.js\";\nimport { StyleSymbol } from \"./StyleSymbol.js\";\nimport { StyleSymbolAlign } from \"./StyleSymbolAlign.js\";\nimport { StyleTextConfig } from \"./StyleTextConfig.js\";\n\nexport const PanelOptionsGeomapLayerConfigStyle = defineGrafanaItemClass('PanelOptionsGeomapLayerConfigStyle', GrafanaItem)\n .defineObject('color', StyleColor, { onDefault: (options) => new StyleColor(options) })\n .defineValue('opacity', Number, { onDefault: (options) => 1 })\n .defineObject('rotation', StyleRotation, { onDefault: (options) => new StyleRotation(options) })\n .defineObject('size', StyleSize, { onDefault: (options) => new StyleSize(options) })\n .defineObject('symbol', StyleSymbol, { onDefault: (options) => new StyleSymbol(options) })\n .defineObject('symbolAlign', StyleSymbolAlign, { onDefault: (options) => new StyleSymbolAlign(options) })\n .defineObject('textConfig', StyleTextConfig, { onDefault: (options) => new StyleTextConfig(options) })\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PanelOptionsGeomapLayerConfigStyle } from \"./PanelOptionsGeomapLayerConfigStyle.js\";\n\nexport const PanelOptionsGeomapLayerConfig = defineGrafanaItemClass('PanelOptionsGeomapLayerConfig', GrafanaItem)\n .defineValue('showLegend', Boolean)\n .defineObject('style', PanelOptionsGeomapLayerConfigStyle, {\n onDefault: (options) => new PanelOptionsGeomapLayerConfigStyle(options),\n })\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsGeomapLayerLocation = defineGrafanaItemClass('PanelOptionsGeomapLayerLocation', GrafanaItem)\n .defineValue('mode', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PanelOptionsGeomapLayerConfig } from \"./PanelOptionsGeomapLayerConfig.js\";\nimport { PanelOptionsGeomapLayerLocation } from \"./PanelOptionsGeomapLayerLocation.js\";\n\nexport const PanelOptionsGeomapLayer = defineGrafanaItemClass('PanelOptionsGeomapLayer', GrafanaItem)\n .defineObject('config', PanelOptionsGeomapLayerConfig)\n .defineObject('location', PanelOptionsGeomapLayerLocation)\n .defineValue('name', String)\n .defineValue('tooltip', Boolean)\n .defineValue('type', String)\n .asClass\n\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsGeomapTooltip = defineGrafanaItemClass('PanelOptionsGeomapTooltip', GrafanaItem)\n .defineValue('mode', String)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsGeomapView = defineGrafanaItemClass('PanelOptionsGeomapView', GrafanaItem)\n .defineValue('allLayers', Boolean)\n .defineValue('id', String)\n .defineValue('lat', Number)\n .defineValue('lon', Number)\n .defineValue('noRepeat', Boolean)\n .defineValue('shared', Boolean)\n .defineValue('zoom', Number)\n .asClass\n","import { PanelOptions } from \"./PanelOptions.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PanelOptionsGeomapBasemap } from \"./PanelOptionsGeomapBasemap.js\";\nimport { PanelOptionsGeomapControls } from \"./PanelOptionsGeomapControls.js\";\nimport { PanelOptionsGeomapLayer } from \"./PanelOptionsGeomapLayer.js\";\nimport { PanelOptionsGeomapTooltip } from \"./PanelOptionsGeomapTooltip.js\";\nimport { PanelOptionsGeomapView } from \"./PanelOptionsGeomapView.js\";\n\nexport const PanelOptionsGeomap = defineGrafanaItemClass('PanelOptionsGeomap', PanelOptions)\n .defineObject('basemap', PanelOptionsGeomapBasemap)\n .defineObject('controls', PanelOptionsGeomapControls)\n .defineArray('layers', PanelOptionsGeomapLayer)\n .defineObject('tooltip', PanelOptionsGeomapTooltip)\n .defineObject('view', PanelOptionsGeomapView)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { VizLegendOptions } from \"./VizLegendOptions.js\";\nimport { VizTooltipOptions } from \"./VizTooltipOptions.js\";\n\nexport const PanelOptionsHistogram = defineGrafanaItemClass('PanelOptionsHistogram', GrafanaItem)\n .defineValue(\"bucketCount\", Number)\n .defineValue(\"bucketOffset\", Number)\n .defineValue(\"bucketSize\", Number)\n .defineValue(\"combine\", Boolean)\n .defineObject(\"legend\", VizLegendOptions)\n .defineObject(\"tooltip\", VizTooltipOptions)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { VizLegendOptions } from \"./VizLegendOptions.js\";\n\nexport const PieChartLegendOptions = defineGrafanaItemClass('PieChartLegendOptions', VizLegendOptions)\n .defineBasicArray('values', String)\n .asClass\n","import { PanelOptions } from \"./PanelOptions.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PieChartLegendOptions } from \"./PieChartLegendOptions.js\";\nimport { VizTooltipOptions } from \"./VizTooltipOptions.js\";\n\nexport const PanelOptionsPieChart = defineGrafanaItemClass('PanelOptionsPieChart', PanelOptions)\n .defineBasicArray('displayLabels', String)\n .defineObject('legend', PieChartLegendOptions)\n .defineValue('pieType', String)\n .defineValue('sort', String)\n .defineObject('tooltip', VizTooltipOptions)\n .asClass\n","import { PanelOptions } from \"./PanelOptions.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsStat = defineGrafanaItemClass('PanelOptionsStat', PanelOptions)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsTableSortBy = defineGrafanaItemClass('PanelOptionsTableSortBy', GrafanaItem)\n .defineValue('desc', Boolean)\n .defineValue('displayName', String)\n .asClass\n","import { PanelOptions } from \"./PanelOptions.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PanelOptionsTableSortBy } from \"./PanelOptionsTableSortBy.js\";\n\nexport const PanelOptionsTable = defineGrafanaItemClass('PanelOptionsTable', PanelOptions)\n .defineValue('cellHeight', String)\n .defineValue('showHeader', Boolean)\n .defineArray('sortBy', PanelOptionsTableSortBy)\n .asClass\n","import { GrafanaItem } from \"./GrafanaItem.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const PanelOptionsTextCode = defineGrafanaItemClass('PanelOptionsTextCode', GrafanaItem)\n .defineValue('language', String)\n .defineValue('showLineNumbers', Boolean)\n .defineValue('showMiniMap', Boolean)\n .asClass;\n","import { PanelOptions } from \"./PanelOptions.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PanelOptionsTextCode } from \"./PanelOptionsTextCode.js\";\n\nexport const PanelOptionsText = defineGrafanaItemClass('PanelOptionsText', PanelOptions)\n .defineObject('code', PanelOptionsTextCode, {\n onDefault: (options) => new PanelOptionsTextCode(options)\n })\n .defineValue('content', String)\n .defineValue('mode', String)\n .asClass\n","import { PanelOptions } from \"./PanelOptions.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\n\r\nimport { VizLegendOptions } from \"./VizLegendOptions.js\";\r\nimport { VizTooltipOptions } from \"./VizTooltipOptions.js\";\r\n\r\nexport const PanelOptionsTimeSeries = defineGrafanaItemClass('PanelOptionsTimeSeries', PanelOptions)\r\n .defineValue('disableKeyboardEvents', Boolean)\r\n .defineObject('legend', VizLegendOptions, {\r\n onDefault: (options) => new VizLegendOptions(options)\r\n .setDisplayMode('list')\r\n .setPlacement('bottom')\r\n .setShowLegend(false)\r\n })\r\n .defineValue('orientation', String)\r\n // .defineGrafanaObject('timeCompare', )\r\n // .define('timezone', )\r\n .defineObject('tooltip', VizTooltipOptions, {\r\n onDefault: (options) => new VizTooltipOptions(options)\r\n .setHideZeros(false)\r\n .setMode('single')\r\n .setSort('none')\r\n })\r\n .asClass\r\n","import { Target } from \"./Target.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const TargetInfinity = defineGrafanaItemClass('TargetInfinity', Target)\n .defineBasicObject('columns', Object)\n .defineBasicObject('computed_columns', Object, { name: 'computedColumns' })\n .defineValue('format', String)\n .defineValue('parser', String)\n .defineValue('source', String)\n .defineValue('type', String)\n .defineValue('uql', String)\n .defineValue('url', String)\n .defineValue('url_options', Object, { name: 'urlOptions' })\n .asClass\n","import { Datasource } from \"./Datasource.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { defineDatasource } from \"./properties/datasource.js\";\n\nexport const Testdata = defineGrafanaItemClass('Testdata', Datasource)\n .with(builder => defineDatasource(builder, 'grafana-testdata-datasource'))\n .asClass\n","import { FieldConfigCustom } from \"./FieldConfigCustom.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const FieldConfigCustomText = defineGrafanaItemClass('FieldConfigCustomText', FieldConfigCustom)\n // .defineValue('foo1', String)\n // .defineValue('foo2', Number)\n // .defineGrafanaObject('foo3', Foo, {\n // onDefault: (options) => getFoo(options),\n // })\n // .defineArray('foo4s', Bar)\n .asClass\n","import { Panel } from \"../Panel.js\";\r\nimport { GrafanaItemClassBuilder } from \"../../utils/GrafanaItemClassBuilder.js\";\r\nimport { FieldConfigDefault } from \"../FieldConfigDefault.js\";\r\nimport { FieldConfigCustom } from \"../FieldConfigCustom.js\";\r\nimport { PanelOptions } from \"../PanelOptions.js\";\r\nimport { GrafanaItem } from \"../GrafanaItem.js\";\r\n\r\n/**\r\n * @template T\r\n * @typedef {import(\"@gdacm/base-types\").MetaConstructor<T>} MetaConstructor\r\n */\r\n\r\n/**\r\n * @template {Panel} T\r\n * @param {GrafanaItemClassBuilder<T>} builder\r\n * @param {string} typeName\r\n * @param {MetaConstructor<FieldConfigCustom>} fieldConfigCustom\r\n * @param {MetaConstructor<PanelOptions>} panelOptions\r\n * @param {Object} [options]\r\n * @param {(instance: T) => void} [options.onInit]\r\n */\r\nexport const definePanel = (builder, typeName, fieldConfigCustom, panelOptions, options) => {\r\n const { onInit } = options ?? {};\r\n builder\r\n .defineConstructor(\r\n (instance) => {\r\n instance\r\n .setType(typeName)\r\n .withFieldConfig(\r\n fieldConfig => fieldConfig\r\n .setDefaults(\r\n new FieldConfigDefault(instance.metaOptions)\r\n .setCustom(\r\n new fieldConfigCustom(instance.metaOptions)\r\n )\r\n )\r\n )\r\n if (onInit) {\r\n onInit(instance);\r\n }\r\n }\r\n )\r\n .defineGetterSetter('custom', `${fieldConfigCustom.name}`, {\r\n typesToInclude: [fieldConfigCustom],\r\n getter: (instance) => instance.fieldConfig.defaults.custom,\r\n })\r\n .defineMethod(`withCustom`, `(code: (custom: ${fieldConfigCustom.name}) => void): this`, {\r\n typesToInclude: [fieldConfigCustom],\r\n /** \r\n * @param {T} instance \r\n * @param {(custom: FieldConfigCustom) => void} code\r\n * */\r\n code: (instance, code) => {\r\n code(instance.fieldConfig.defaults.custom);\r\n return instance;\r\n }\r\n })\r\n .defineObject('options', panelOptions, {\r\n onDefault: (options) => new panelOptions(options),\r\n })\r\n\r\n}","import { Panel } from \"./Panel.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { FieldConfigCustomText } from \"./FieldConfigCustomText.js\";\nimport { PanelOptionsText } from \"./PanelOptionsText.js\";\nimport { definePanel } from \"./properties/panel.js\";\n\nexport const TextPanel = defineGrafanaItemClass('TextPanel', Panel)\n .with(builder => definePanel(builder, 'text', FieldConfigCustomText, PanelOptionsText))\n .asClass\n","import { Panel } from \"./Panel.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { FieldConfigCustomBarChart } from \"./FieldConfigCustomBarChart.js\";\nimport { PanelOptionsBarChart } from \"./PanelOptionsBarChart.js\";\nimport { definePanel } from \"./properties/panel.js\";\n\nexport const BarChart = defineGrafanaItemClass('BarChart', Panel)\n .with((instance) => definePanel(instance, 'barchart', FieldConfigCustomBarChart, PanelOptionsBarChart, {\n onInit: (instance) => {\n instance.fieldConfig.defaults.setColorMode('palette-classic')\n instance.fieldConfig.defaults.thresholds.setMode('absolute');\n }\n }))\n .defineMethod('setThresholdsStyleMode', '(mode: string): this', {\n /**\n * @param {BarChart} instance \n * @returns \n */\n code: (instance, mode) => {\n instance.custom.thresholdsStyle.setMode(mode);\n return instance;\n }\n })\n .asClass\n\n ","import { Panel } from \"./Panel.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { definePanel } from \"./properties/panel.js\";\nimport { PanelOptionsGauge } from \"./PanelOptionsGauge.js\";\nimport { FieldConfigCustomGauge } from \"./FieldConfigCustomGauge.js\";\n\nexport const Gauge = defineGrafanaItemClass('Gauge', Panel)\n .with(builder => definePanel(builder, 'gauge', FieldConfigCustomGauge, PanelOptionsGauge, {\n onInit: (instance) => {\n instance.fieldConfig.defaults.setColorMode('palette-classic');\n instance.fieldConfig.defaults.thresholds.setMode('absolute');\n }\n }))\n .asClass\n","import { Panel } from \"./Panel.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PanelOptionsGeomap } from \"../index.js\";\nimport { FieldConfigCustomGeomap } from \"./FieldConfigCustomGeomap.js\";\nimport { definePanel } from \"./properties/panel.js\";\n\nexport const Geomap = defineGrafanaItemClass('Geomap', Panel)\n .with(builder => definePanel(builder, 'geomap', FieldConfigCustomGeomap, PanelOptionsGeomap))\n .asClass\n","import { Panel } from \"./Panel.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { definePanel } from \"./properties/panel.js\";\nimport { PanelOptionsHistogram } from \"./PanelOptionsHistogram.js\";\nimport { FieldConfigCustomHistogram } from \"./FieldConfigCustomHistogram.js\";\n\nexport const Histogram = defineGrafanaItemClass('Histogram', Panel)\n .with(builder => definePanel(builder, 'histogram', FieldConfigCustomHistogram, PanelOptionsHistogram, {\n onInit: (instance) => {\n instance.fieldConfig.defaults.setColorMode('palette-classic');\n instance.fieldConfig.defaults.thresholds.setMode('absolute');\n }\n }))\n .asClass\n","import { Panel } from \"./Panel.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { definePanel } from \"./properties/panel.js\";\nimport { FieldConfigCustomPieChart } from \"./FieldConfigCustomPieChart.js\";\nimport { PanelOptionsPieChart } from \"./PanelOptionsPieChart.js\";\n\nexport const PieChart = defineGrafanaItemClass('PieChart', Panel)\n .with((instance) => definePanel(instance, 'piechart', FieldConfigCustomPieChart, PanelOptionsPieChart, {\n onInit: (instance) => {\n instance.fieldConfig.defaults.setColorMode('palette-classic')\n }\n }))\n .asClass\n","import { FieldConfigCustom } from \"./FieldConfigCustom.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\n\nexport const FieldConfigCustomStat = defineGrafanaItemClass('FieldConfigCustomStat', FieldConfigCustom)\n .asClass\n","import { Panel } from \"./Panel.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { FieldConfigCustomStat } from \"./FieldConfigCustomStat.js\";\nimport { PanelOptionsStat } from \"./PanelOptionsStat.js\";\nimport { definePanel } from \"./properties/panel.js\";\n\nexport const Stat = defineGrafanaItemClass('Stat', Panel)\n .with(builder => definePanel(builder, 'stat', FieldConfigCustomStat, PanelOptionsStat, {\n onInit: (instance) => instance.fieldConfig.defaults.setColorMode('palette-classic')\n }))\n .asClass\n","import { Panel } from \"./Panel.js\";\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\nimport { PanelOptionsTable } from \"./PanelOptionsTable.js\";\nimport { FieldConfigCustomTable } from \"./FieldConfigCustomTable.js\";\nimport { FieldConfigCustomTableCellOptions } from \"./FieldConfigCustomTableCellOptions.js\";\nimport { FieldConfigCustomTableFooter } from \"./FieldConfigCustomTableFooter.js\";\nimport { definePanel } from \"./properties/panel.js\";\n\nexport const Table = defineGrafanaItemClass('Table', Panel)\n .with(builder => definePanel(builder, 'table', FieldConfigCustomTable, PanelOptionsTable, {\n onInit: (instance) => instance\n .withCustom(\n custom => custom\n .setAlign('auto')\n .setCellOptions(new FieldConfigCustomTableCellOptions(instance.metaOptions))\n .withCellOptions(\n cellOptions => cellOptions\n .setType('auto')\n )\n .setFooter(new FieldConfigCustomTableFooter(instance.metaOptions))\n .setInspect(false)\n )\n\n }))\n .asClass","import { Panel } from \"./Panel.js\";\r\nimport { defineGrafanaItemClass } from \"../utils/GrafanaItemClassBuilder.js\";\r\nimport { PanelOptionsTimeSeries } from \"./PanelOptionsTimeSeries.js\";\r\nimport { FieldConfigCustomTimeSerie } from \"./FieldConfigCustomTimeSerie.js\";\r\nimport { definePanel } from \"./properties/panel.js\";\r\n\r\nexport const TimeSeries = defineGrafanaItemClass('TimeSeries', Panel)\r\n .with(builder => definePanel(builder, 'timeseries', FieldConfigCustomTimeSerie, PanelOptionsTimeSeries, {\r\n onInit: (instance) => {\r\n instance.fieldConfig.defaults.setColorMode('palette-classic')\r\n instance.fieldConfig.defaults.thresholds.setMode('absolute');\r\n },\r\n }))\r\n .defineMethod('setThresholdsStyleMode', '(mode: string): this', {\r\n /**\r\n * @param {TimeSeries} instance \r\n * @returns \r\n */\r\n code: (instance, mode) => {\r\n instance.custom.thresholdsStyle.setMode(mode);\r\n return instance;\r\n }\r\n })\r\n .asClass\r\n"],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { GrafanaItem } from "./GrafanaItem.js";
2
+ import { ScaleDistribution } from "./ScaleDistribution.js";
3
+ import { HideFrom } from "./HideFrom.js";
4
+ import { StackableFieldConfig } from "./StackableFieldConfig.js";
5
+
6
+ import type { GenericMetaOptions } from "@gdacm/base-types";
7
+
8
+ export declare class FieldConfigCustomHistogram extends GrafanaItem {
9
+ get axisBorderShow(): Boolean;
10
+ setAxisBorderShow(axisBorderShow: Boolean): this;
11
+ get axisCenteredZero(): Boolean;
12
+ setAxisCenteredZero(axisCenteredZero: Boolean): this;
13
+ get axisColorMode(): String;
14
+ setAxisColorMode(axisColorMode: String): this;
15
+ get axisGridShow(): Boolean;
16
+ setAxisGridShow(axisGridShow: Boolean): this;
17
+ get axisLabel(): String;
18
+ setAxisLabel(axisLabel: String): this;
19
+ get axisPlacement(): String;
20
+ setAxisPlacement(axisPlacement: String): this;
21
+ get axisSoftMax(): Number;
22
+ setAxisSoftMax(axisSoftMax: Number): this;
23
+ get axisSoftMin(): Number;
24
+ setAxisSoftMin(axisSoftMin: Number): this;
25
+ get axisWidth(): Number;
26
+ setAxisWidth(axisWidth: Number): this;
27
+ setScaleDistribution(scaleDistribution: ScaleDistribution): this;
28
+ setNewScaleDistribution(onNewCreated: ((item: ScaleDistribution) => ScaleDistribution) | undefined): this;
29
+ withScaleDistribution(onWith: (item: ScaleDistribution) => void): this;
30
+ get scaleDistribution(): ScaleDistribution;
31
+ setHideFrom(hideFrom: HideFrom): this;
32
+ setNewHideFrom(onNewCreated: ((item: HideFrom) => HideFrom) | undefined): this;
33
+ withHideFrom(onWith: (item: HideFrom) => void): this;
34
+ get hideFrom(): HideFrom;
35
+ get fillOpacity(): Number;
36
+ setFillOpacity(fillOpacity: Number): this;
37
+ get gradientMode(): String;
38
+ setGradientMode(gradientMode: String): this;
39
+ get lineWidth(): Number;
40
+ setLineWidth(lineWidth: Number): this;
41
+ setStacking(stacking: StackableFieldConfig): this;
42
+ setNewStacking(onNewCreated: ((item: StackableFieldConfig) => StackableFieldConfig) | undefined): this;
43
+ withStacking(onWith: (item: StackableFieldConfig) => void): this;
44
+ get stacking(): StackableFieldConfig;
45
+ }
@@ -0,0 +1,15 @@
1
+ import { Panel } from "./Panel.js";
2
+ import { FieldConfigCustomHistogram } from "./FieldConfigCustomHistogram.js";
3
+ import { PanelOptionsHistogram } from "./PanelOptionsHistogram.js";
4
+
5
+ import type { GenericMetaOptions } from "@gdacm/base-types";
6
+
7
+ export declare class Histogram extends Panel {
8
+ constructor(metaOptions: GenericMetaOptions)
9
+ get custom(): FieldConfigCustomHistogram;
10
+ withCustom(code: (custom: FieldConfigCustomHistogram) => void): this
11
+ setOptions(options: PanelOptionsHistogram): this;
12
+ setNewOptions(onNewCreated: ((item: PanelOptionsHistogram) => PanelOptionsHistogram) | undefined): this;
13
+ withOptions(onWith: (item: PanelOptionsHistogram) => void): this;
14
+ get options(): PanelOptionsHistogram;
15
+ }
@@ -0,0 +1,24 @@
1
+ import { GrafanaItem } from "./GrafanaItem.js";
2
+ import { VizLegendOptions } from "./VizLegendOptions.js";
3
+ import { VizTooltipOptions } from "./VizTooltipOptions.js";
4
+
5
+ import type { GenericMetaOptions } from "@gdacm/base-types";
6
+
7
+ export declare class PanelOptionsHistogram extends GrafanaItem {
8
+ get bucketCount(): Number;
9
+ setBucketCount(bucketCount: Number): this;
10
+ get bucketOffset(): Number;
11
+ setBucketOffset(bucketOffset: Number): this;
12
+ get bucketSize(): Number;
13
+ setBucketSize(bucketSize: Number): this;
14
+ get combine(): Boolean;
15
+ setCombine(combine: Boolean): this;
16
+ setLegend(legend: VizLegendOptions): this;
17
+ setNewLegend(onNewCreated: ((item: VizLegendOptions) => VizLegendOptions) | undefined): this;
18
+ withLegend(onWith: (item: VizLegendOptions) => void): this;
19
+ get legend(): VizLegendOptions;
20
+ setTooltip(tooltip: VizTooltipOptions): this;
21
+ setNewTooltip(onNewCreated: ((item: VizTooltipOptions) => VizTooltipOptions) | undefined): this;
22
+ withTooltip(onWith: (item: VizTooltipOptions) => void): this;
23
+ get tooltip(): VizTooltipOptions;
24
+ }
@@ -0,0 +1,11 @@
1
+ import { GrafanaItem } from "./GrafanaItem.js";
2
+
3
+
4
+ import type { GenericMetaOptions } from "@gdacm/base-types";
5
+
6
+ export declare class StackableFieldConfig extends GrafanaItem {
7
+ get group(): String;
8
+ setGroup(group: String): this;
9
+ get mode(): String;
10
+ setMode(mode: String): this;
11
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gdacm/grafana-items",
3
- "version": "0.1.22",
3
+ "version": "0.1.24",
4
4
  "author": "gissehel",
5
5
  "type": "module",
6
6
  "module": "./dist/index.js",
@@ -30,7 +30,7 @@
30
30
  "update": "node updateTypes.js"
31
31
  },
32
32
  "dependencies": {
33
- "@gdacm/base-types": "^0.1.22"
33
+ "@gdacm/base-types": "^0.1.24"
34
34
  },
35
35
  "devDependencies": {
36
36
  "chokidar-cli": "^3.0.0",