@xyo-network/react-price-forecast-plugin 2.59.13 → 2.60.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/Plugin.d.mts.map +1 -0
  2. package/dist/Plugin.d.ts +3 -0
  3. package/dist/Plugin.d.ts.map +1 -0
  4. package/dist/components/DetailsBox.d.mts.map +1 -0
  5. package/dist/components/DetailsBox.d.ts +9 -0
  6. package/dist/components/DetailsBox.d.ts.map +1 -0
  7. package/dist/components/DetailsBox.stories.d.mts +6 -0
  8. package/dist/components/DetailsBox.stories.d.mts.map +1 -0
  9. package/dist/components/DetailsBox.stories.d.ts +6 -0
  10. package/dist/components/DetailsBox.stories.d.ts.map +1 -0
  11. package/dist/components/index.d.mts.map +1 -0
  12. package/dist/components/index.d.ts +2 -0
  13. package/dist/components/index.d.ts.map +1 -0
  14. package/dist/docs.json +4 -4
  15. package/dist/index.d.mts.map +1 -0
  16. package/dist/{esm/index.js → index.d.ts} +1 -1
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +276 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/index.mjs +258 -0
  21. package/dist/index.mjs.map +1 -0
  22. package/dist/lib/DataLineStyles.d.mts.map +1 -0
  23. package/dist/lib/DataLineStyles.d.ts +5 -0
  24. package/dist/lib/DataLineStyles.d.ts.map +1 -0
  25. package/dist/lib/DataPointStyles.d.mts.map +1 -0
  26. package/dist/lib/DataPointStyles.d.ts +8 -0
  27. package/dist/lib/DataPointStyles.d.ts.map +1 -0
  28. package/dist/lib/ForecastLineChartConfigBuilder.d.mts.map +1 -0
  29. package/dist/lib/ForecastLineChartConfigBuilder.d.ts +47 -0
  30. package/dist/lib/ForecastLineChartConfigBuilder.d.ts.map +1 -0
  31. package/dist/lib/MockSourcePayloads.d.mts.map +1 -0
  32. package/dist/lib/MockSourcePayloads.d.ts +18 -0
  33. package/dist/lib/MockSourcePayloads.d.ts.map +1 -0
  34. package/dist/lib/SourcePayloads.d.mts.map +1 -0
  35. package/dist/lib/SourcePayloads.d.ts +30 -0
  36. package/dist/lib/SourcePayloads.d.ts.map +1 -0
  37. package/dist/lib/index.d.mts.map +1 -0
  38. package/dist/{esm/lib/index.js → lib/index.d.ts} +1 -1
  39. package/dist/lib/index.d.ts.map +1 -0
  40. package/package.json +28 -20
  41. package/dist/cjs/Plugin.js +0 -15
  42. package/dist/cjs/Plugin.js.map +0 -1
  43. package/dist/cjs/components/DetailsBox.js +0 -33
  44. package/dist/cjs/components/DetailsBox.js.map +0 -1
  45. package/dist/cjs/components/index.js +0 -5
  46. package/dist/cjs/components/index.js.map +0 -1
  47. package/dist/cjs/index.js +0 -6
  48. package/dist/cjs/index.js.map +0 -1
  49. package/dist/cjs/lib/DataLineStyles.js +0 -10
  50. package/dist/cjs/lib/DataLineStyles.js.map +0 -1
  51. package/dist/cjs/lib/DataPointStyles.js +0 -12
  52. package/dist/cjs/lib/DataPointStyles.js.map +0 -1
  53. package/dist/cjs/lib/ForecastLineChartConfigBuilder.js +0 -133
  54. package/dist/cjs/lib/ForecastLineChartConfigBuilder.js.map +0 -1
  55. package/dist/cjs/lib/MockSourcePayloads.js +0 -24
  56. package/dist/cjs/lib/MockSourcePayloads.js.map +0 -1
  57. package/dist/cjs/lib/SourcePayloads.js +0 -49
  58. package/dist/cjs/lib/SourcePayloads.js.map +0 -1
  59. package/dist/cjs/lib/index.js +0 -7
  60. package/dist/cjs/lib/index.js.map +0 -1
  61. package/dist/esm/Plugin.js +0 -14
  62. package/dist/esm/Plugin.js.map +0 -1
  63. package/dist/esm/components/DetailsBox.js +0 -27
  64. package/dist/esm/components/DetailsBox.js.map +0 -1
  65. package/dist/esm/components/index.js +0 -2
  66. package/dist/esm/components/index.js.map +0 -1
  67. package/dist/esm/index.js.map +0 -1
  68. package/dist/esm/lib/DataLineStyles.js +0 -6
  69. package/dist/esm/lib/DataLineStyles.js.map +0 -1
  70. package/dist/esm/lib/DataPointStyles.js +0 -8
  71. package/dist/esm/lib/DataPointStyles.js.map +0 -1
  72. package/dist/esm/lib/ForecastLineChartConfigBuilder.js +0 -130
  73. package/dist/esm/lib/ForecastLineChartConfigBuilder.js.map +0 -1
  74. package/dist/esm/lib/MockSourcePayloads.js +0 -20
  75. package/dist/esm/lib/MockSourcePayloads.js.map +0 -1
  76. package/dist/esm/lib/SourcePayloads.js +0 -41
  77. package/dist/esm/lib/SourcePayloads.js.map +0 -1
  78. package/dist/esm/lib/index.js.map +0 -1
  79. package/dist/types/Plugin.d.ts.map +0 -1
  80. package/dist/types/components/DetailsBox.d.ts.map +0 -1
  81. package/dist/types/components/index.d.ts.map +0 -1
  82. package/dist/types/index.d.ts.map +0 -1
  83. package/dist/types/lib/DataLineStyles.d.ts.map +0 -1
  84. package/dist/types/lib/DataPointStyles.d.ts.map +0 -1
  85. package/dist/types/lib/ForecastLineChartConfigBuilder.d.ts.map +0 -1
  86. package/dist/types/lib/MockSourcePayloads.d.ts.map +0 -1
  87. package/dist/types/lib/SourcePayloads.d.ts.map +0 -1
  88. package/dist/types/lib/index.d.ts.map +0 -1
  89. /package/dist/{types/Plugin.d.ts → Plugin.d.mts} +0 -0
  90. /package/dist/{types/components/DetailsBox.d.ts → components/DetailsBox.d.mts} +0 -0
  91. /package/dist/{types/components/index.d.ts → components/index.d.mts} +0 -0
  92. /package/dist/{types/index.d.ts → index.d.mts} +0 -0
  93. /package/dist/{types/lib/DataLineStyles.d.ts → lib/DataLineStyles.d.mts} +0 -0
  94. /package/dist/{types/lib/DataPointStyles.d.ts → lib/DataPointStyles.d.mts} +0 -0
  95. /package/dist/{types/lib/ForecastLineChartConfigBuilder.d.ts → lib/ForecastLineChartConfigBuilder.d.mts} +0 -0
  96. /package/dist/{types/lib/MockSourcePayloads.d.ts → lib/MockSourcePayloads.d.mts} +0 -0
  97. /package/dist/{types/lib/SourcePayloads.d.ts → lib/SourcePayloads.d.mts} +0 -0
  98. /package/dist/{types/lib/index.d.ts → lib/index.d.mts} +0 -0
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataPointStyles = void 0;
4
- const DataPointStyles = (pointHoverBackgroundColor) => ({
5
- pointHitRadius: 20,
6
- pointHoverBackgroundColor,
7
- pointHoverRadius: 10,
8
- pointRadius: 5,
9
- pointStyle: 'circle',
10
- });
11
- exports.DataPointStyles = DataPointStyles;
12
- //# sourceMappingURL=DataPointStyles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataPointStyles.js","sourceRoot":"","sources":["../../../src/lib/DataPointStyles.ts"],"names":[],"mappings":";;;AAAO,MAAM,eAAe,GAAG,CAAC,yBAAkC,EAAE,EAAE,CAAC,CAAC;IACtE,cAAc,EAAE,EAAE;IAClB,yBAAyB;IACzB,gBAAgB,EAAE,EAAE;IACpB,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,QAAQ;CACrB,CAAC,CAAA;AANW,QAAA,eAAe,mBAM1B"}
@@ -1,133 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ForecastLineChartConfigBuilder = void 0;
4
- const tslib_1 = require("tslib");
5
- const DataLineStyles_1 = require("./DataLineStyles");
6
- const DataPointStyles_1 = require("./DataPointStyles");
7
- const SourcePayloads_1 = require("./SourcePayloads");
8
- const defaultOptions = () => ({
9
- plugins: {
10
- legend: {
11
- position: 'top',
12
- },
13
- },
14
- responsive: true,
15
- });
16
- class ForecastLineChartConfigBuilder {
17
- constructor(theme, payload) {
18
- this.payload = payload;
19
- this.data = {
20
- datasets: [],
21
- };
22
- this.options = defaultOptions();
23
- this.themeColors = this.parseTheme(theme);
24
- }
25
- get forecastPayload() {
26
- if (this.payload) {
27
- return this.payload;
28
- }
29
- else {
30
- throw Error('ForecastPayload was not defined');
31
- }
32
- }
33
- static create(theme, payload, sourcePayloadConfig) {
34
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
35
- const instance = new ForecastLineChartConfigBuilder(theme, payload);
36
- yield instance.build(sourcePayloadConfig === null || sourcePayloadConfig === void 0 ? void 0 : sourcePayloadConfig.fetch);
37
- instance.refreshValues();
38
- return instance;
39
- });
40
- }
41
- build(includeSources) {
42
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
43
- this.buildOptions();
44
- yield this.buildData(includeSources);
45
- return this;
46
- });
47
- }
48
- buildData(includeSources) {
49
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
50
- const forecastData = this.generateDataSetForecastData();
51
- const datasets = [forecastData];
52
- if (includeSources) {
53
- // build data from sources in forecastPayload
54
- const sourceData = yield this.generateDataSetSourcePayloads();
55
- datasets.unshift(sourceData);
56
- // add last source point as first item in prediction to connect the lines
57
- const lastSourceDataItem = sourceData.data.at(-1);
58
- forecastData.data.unshift(lastSourceDataItem);
59
- }
60
- this.data = {
61
- datasets,
62
- };
63
- return this;
64
- });
65
- }
66
- buildOptions() {
67
- if (this.options.plugins) {
68
- this.options.plugins.title = this.generateTitle();
69
- this.options.plugins.legend = this.generateLegend();
70
- }
71
- this.options.scales = this.generateScales();
72
- return this;
73
- }
74
- refreshValues() {
75
- this.data = Object.assign({}, this.data);
76
- this.options = Object.assign({}, this.options);
77
- }
78
- generateLegend() {
79
- return {
80
- labels: {
81
- pointStyle: 'circle',
82
- usePointStyle: true,
83
- },
84
- };
85
- }
86
- generateScales() {
87
- var _a, _b;
88
- return {
89
- x: {
90
- grid: {
91
- color: (_a = this.themeColors) === null || _a === void 0 ? void 0 : _a.gridColor,
92
- },
93
- time: {
94
- unit: 'minute',
95
- },
96
- type: 'time',
97
- },
98
- y: {
99
- grid: {
100
- color: (_b = this.themeColors) === null || _b === void 0 ? void 0 : _b.gridColor,
101
- },
102
- },
103
- };
104
- }
105
- generateTitle() {
106
- var _a;
107
- return {
108
- display: true,
109
- text: `Gas Price Forecaster (GWEI over time from ${((_a = this.forecastPayload) === null || _a === void 0 ? void 0 : _a.values[0].timestamp) ? new Date(this.forecastPayload.values[0].timestamp).toLocaleDateString() : ''})`,
110
- };
111
- }
112
- parseTheme(theme) {
113
- const dark = theme.palette.mode === 'dark';
114
- return {
115
- dataSetColorPrimary: theme.palette.primary.light,
116
- dataSetColorSecondary: theme.palette.secondary.light,
117
- gridColor: dark ? theme.palette.grey[800] : theme.palette.grey[300],
118
- };
119
- }
120
- generateDataSetForecastData() {
121
- var _a, _b;
122
- return Object.assign(Object.assign({ borderDash: [5], borderDashOffset: 0.5, data: this.forecastPayload.values.map((price) => { var _a; return ({ x: (_a = price.timestamp) !== null && _a !== void 0 ? _a : 0, y: price.value }); }), label: 'Forecast Price' }, (0, DataPointStyles_1.DataPointStyles)((_a = this.themeColors) === null || _a === void 0 ? void 0 : _a.dataSetColorPrimary)), (0, DataLineStyles_1.DataLineStyles)((_b = this.themeColors) === null || _b === void 0 ? void 0 : _b.dataSetColorPrimary));
123
- }
124
- generateDataSetSourcePayloads() {
125
- var _a, _b;
126
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
127
- const { sourcePrices } = yield SourcePayloads_1.SourcePayloads.build('feePerGas.medium');
128
- return Object.assign(Object.assign({ data: sourcePrices, label: 'Source Prices' }, (0, DataLineStyles_1.DataLineStyles)((_a = this.themeColors) === null || _a === void 0 ? void 0 : _a.dataSetColorSecondary)), (0, DataPointStyles_1.DataPointStyles)((_b = this.themeColors) === null || _b === void 0 ? void 0 : _b.dataSetColorSecondary));
129
- });
130
- }
131
- }
132
- exports.ForecastLineChartConfigBuilder = ForecastLineChartConfigBuilder;
133
- //# sourceMappingURL=ForecastLineChartConfigBuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ForecastLineChartConfigBuilder.js","sourceRoot":"","sources":["../../../src/lib/ForecastLineChartConfigBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MockSourcePayloads = void 0;
4
- const MockSourcePayloads = () => {
5
- const tenMin = 600000;
6
- return [
7
- {
8
- baseFee: 38.90155387825,
9
- feePerGas: { high: 47.9945864396, low: 39.006868093, medium: 39.306868093, veryHigh: 44.45384380525 },
10
- priorityFeePerGas: { high: 1.0266666666666666, low: -0.41000000000000003, medium: 0.38, veryHigh: 1.3900000000000001 },
11
- schema: 'network.xyo.blockchain.ethereum.gas',
12
- timestamp: Date.now() - tenMin,
13
- },
14
- {
15
- baseFee: 38.90155387825,
16
- feePerGas: { high: 47.9945864396, low: 39.006868093, medium: 100, veryHigh: 44.45384380525 },
17
- priorityFeePerGas: { high: 1.0266666666666666, low: -0.41000000000000003, medium: 0.38, veryHigh: 1.3900000000000001 },
18
- schema: 'network.xyo.blockchain.ethereum.gas',
19
- timestamp: Date.now(),
20
- },
21
- ];
22
- };
23
- exports.MockSourcePayloads = MockSourcePayloads;
24
- //# sourceMappingURL=MockSourcePayloads.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MockSourcePayloads.js","sourceRoot":"","sources":["../../../src/lib/MockSourcePayloads.ts"],"names":[],"mappings":";;;AAAO,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,MAAM,GAAG,MAAM,CAAA;IACrB,OAAO;QACL;YACE,OAAO,EAAE,cAAc;YACvB,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE;YACrG,iBAAiB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE;YACtH,MAAM,EAAE,qCAAqC;YAC7C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM;SAC/B;QACD;YACE,OAAO,EAAE,cAAc;YACvB,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE;YAC5F,iBAAiB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE;YACtH,MAAM,EAAE,qCAAqC;YAC7C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB;KACF,CAAA;AACH,CAAC,CAAA;AAlBY,QAAA,kBAAkB,sBAkB9B"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SourcePayloads = void 0;
4
- const tslib_1 = require("tslib");
5
- const MockSourcePayloads_1 = require("./MockSourcePayloads");
6
- class SourcePayloads {
7
- constructor(sourcePayloads) {
8
- this.sourcePayloads = sourcePayloads;
9
- this.sourcePrices = [];
10
- }
11
- get payloads() {
12
- return this.sourcePayloads;
13
- }
14
- static build(jsonPath) {
15
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
16
- const sourcePayloads = yield this.fetchSourcePayloads();
17
- const instance = new this(sourcePayloads);
18
- const paths = jsonPath.split('.');
19
- instance.sourcePrices = sourcePayloads.map((payload) => {
20
- return { x: payload.timestamp, y: instance.jsonPathTraverser(payload, paths) };
21
- });
22
- return instance;
23
- });
24
- }
25
- // TODO - fetch from archivist
26
- static fetchSourcePayloads() {
27
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
28
- const payloads = yield Promise.resolve((0, MockSourcePayloads_1.MockSourcePayloads)());
29
- return payloads;
30
- });
31
- }
32
- jsonPathTraverser(obj, path) {
33
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
- let result = obj;
35
- for (const key of path) {
36
- if (key in result) {
37
- const foundKey = key;
38
- result = result[foundKey];
39
- }
40
- else {
41
- result = undefined;
42
- break;
43
- }
44
- }
45
- return result;
46
- }
47
- }
48
- exports.SourcePayloads = SourcePayloads;
49
- //# sourceMappingURL=SourcePayloads.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SourcePayloads.js","sourceRoot":"","sources":["../../../src/lib/SourcePayloads.ts"],"names":[],"mappings":";;;;AAGA,6DAAyD;AAEzD,MAAa,cAAc;IAGzB,YAAmB,cAAyB;QAAzB,mBAAc,GAAd,cAAc,CAAW;QAF5C,iBAAY,GAAY,EAAE,CAAA;IAEqB,CAAC;IAEhD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED,MAAM,CAAO,KAAK,CAAC,QAAgB;;YACjC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;YACvD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,CAAA;YAEzC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACjC,QAAQ,CAAC,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACrD,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAA;YAChF,CAAC,CAAC,CAAA;YACF,OAAO,QAAQ,CAAA;QACjB,CAAC;KAAA;IAED,8BAA8B;IAC9B,MAAM,CAAO,mBAAmB;;YAC9B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAA,uCAAkB,GAAE,CAAC,CAAA;YAC5D,OAAO,QAAQ,CAAA;QACjB,CAAC;KAAA;IAED,iBAAiB,CAAC,GAAY,EAAE,IAAc;QAC5C,8DAA8D;QAC9D,IAAI,MAAM,GAAQ,GAAG,CAAA;QACrB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI,GAAG,IAAI,MAAM,EAAE;gBACjB,MAAM,QAAQ,GAAG,GAA0B,CAAA;gBAC3C,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;aAC1B;iBAAM;gBACL,MAAM,GAAG,SAAS,CAAA;gBAClB,MAAK;aACN;SACF;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAzCD,wCAyCC"}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./ForecastLineChartConfigBuilder"), exports);
5
- tslib_1.__exportStar(require("./MockSourcePayloads"), exports);
6
- tslib_1.__exportStar(require("./SourcePayloads"), exports);
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":";;;AAAA,2EAAgD;AAChD,+DAAoC;AACpC,2DAAgC"}
@@ -1,14 +0,0 @@
1
- import { createPayloadRenderPlugin } from '@xyo-network/react-payload-plugin';
2
- import { PriceForecastDetailsBox } from './components';
3
- export const PriceForecastRenderPlugin = {
4
- ...createPayloadRenderPlugin({
5
- canRender: () => true,
6
- components: {
7
- box: {
8
- detailsBox: PriceForecastDetailsBox,
9
- },
10
- },
11
- name: 'PriceForecast',
12
- }),
13
- };
14
- //# sourceMappingURL=Plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAuB,MAAM,mCAAmC,CAAA;AAElG,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAEtD,MAAM,CAAC,MAAM,yBAAyB,GAAwB;IAC5D,GAAG,yBAAyB,CAAC;QAC3B,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI;QACrB,UAAU,EAAE;YACV,GAAG,EAAE;gBACH,UAAU,EAAE,uBAAuB;aACpC;SACF;QACD,IAAI,EAAE,eAAe;KACtB,CAAC;CACH,CAAA"}
@@ -1,27 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import 'chartjs-adapter-luxon';
3
- import { useTheme } from '@mui/material';
4
- import { useAsyncEffect } from '@xylabs/react-async-effect';
5
- import { FlexCol } from '@xylabs/react-flexbox';
6
- import { CategoryScale, Chart as ChartJS, Legend, LinearScale, LineElement, PointElement, TimeScale, Title, Tooltip, } from 'chart.js';
7
- import { useState } from 'react';
8
- import { Line } from 'react-chartjs-2';
9
- import { ForecastLineChartConfigBuilder } from '../lib';
10
- ChartJS.register(CategoryScale, TimeScale, PointElement, LineElement, LinearScale, Title, Tooltip, Legend);
11
- export const PriceForecastDetailsBox = ({ payload, ...props }) => {
12
- const priceForecastPayload = payload;
13
- const theme = useTheme();
14
- const [data, setData] = useState({ datasets: [] });
15
- const [options, setOptions] = useState({});
16
- useAsyncEffect(
17
- // eslint-disable-next-line react-hooks/exhaustive-deps
18
- async (mounted) => {
19
- const { data, options } = await ForecastLineChartConfigBuilder.create(theme, priceForecastPayload, { fetch: true });
20
- if (mounted()) {
21
- setData(data);
22
- setOptions(options);
23
- }
24
- }, [priceForecastPayload, theme]);
25
- return (_jsx(FlexCol, { ...props, busy: priceForecastPayload === undefined, minHeight: "25vh", children: priceForecastPayload ? _jsx(Line, { options: options, data: data }) : null }));
26
- };
27
- //# sourceMappingURL=DetailsBox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DetailsBox.js","sourceRoot":"","sources":["../../../src/components/DetailsBox.tsx"],"names":[],"mappings":";AAAA,OAAO,uBAAuB,CAAA;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAgB,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG7D,OAAO,EACL,aAAa,EACb,KAAK,IAAI,OAAO,EAGhB,MAAM,EACN,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,KAAK,EACL,OAAO,GACR,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EAAE,8BAA8B,EAAE,MAAM,QAAQ,CAAA;AAEvD,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;AAM1G,MAAM,CAAC,MAAM,uBAAuB,GAA2C,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACvG,MAAM,oBAAoB,GAAG,OAAsC,CAAA;IACnE,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAoB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;IACrE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAuB,EAAE,CAAC,CAAA;IAEhE,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,8BAA8B,CAAC,MAAM,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACnH,IAAI,OAAO,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,CAAA;YACb,UAAU,CAAC,OAAO,CAAC,CAAA;SACpB;IACH,CAAC,EACD,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAC9B,CAAA;IAED,OAAO,CACL,KAAC,OAAO,OAAK,KAAK,EAAE,IAAI,EAAE,oBAAoB,KAAK,SAAS,EAAE,SAAS,EAAC,MAAM,YAC3E,oBAAoB,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC,CAAC,CAAC,IAAI,GAC7D,CACX,CAAA;AACH,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './DetailsBox';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA"}
@@ -1,6 +0,0 @@
1
- import { alpha } from '@mui/material';
2
- export const DataLineStyles = (color) => ({
3
- backgroundColor: color ? alpha(color, 0.5) : undefined,
4
- borderColor: color,
5
- });
6
- //# sourceMappingURL=DataLineStyles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataLineStyles.js","sourceRoot":"","sources":["../../../src/lib/DataLineStyles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAErC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC;IACjD,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;IACtD,WAAW,EAAE,KAAK;CACnB,CAAC,CAAA"}
@@ -1,8 +0,0 @@
1
- export const DataPointStyles = (pointHoverBackgroundColor) => ({
2
- pointHitRadius: 20,
3
- pointHoverBackgroundColor,
4
- pointHoverRadius: 10,
5
- pointRadius: 5,
6
- pointStyle: 'circle',
7
- });
8
- //# sourceMappingURL=DataPointStyles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataPointStyles.js","sourceRoot":"","sources":["../../../src/lib/DataPointStyles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,yBAAkC,EAAE,EAAE,CAAC,CAAC;IACtE,cAAc,EAAE,EAAE;IAClB,yBAAyB;IACzB,gBAAgB,EAAE,EAAE;IACpB,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,QAAQ;CACrB,CAAC,CAAA"}
@@ -1,130 +0,0 @@
1
- import { DataLineStyles } from './DataLineStyles';
2
- import { DataPointStyles } from './DataPointStyles';
3
- import { SourcePayloads } from './SourcePayloads';
4
- const defaultOptions = () => ({
5
- plugins: {
6
- legend: {
7
- position: 'top',
8
- },
9
- },
10
- responsive: true,
11
- });
12
- export class ForecastLineChartConfigBuilder {
13
- payload;
14
- data = {
15
- datasets: [],
16
- };
17
- options = defaultOptions();
18
- themeColors;
19
- constructor(theme, payload) {
20
- this.payload = payload;
21
- this.themeColors = this.parseTheme(theme);
22
- }
23
- get forecastPayload() {
24
- if (this.payload) {
25
- return this.payload;
26
- }
27
- else {
28
- throw Error('ForecastPayload was not defined');
29
- }
30
- }
31
- static async create(theme, payload, sourcePayloadConfig) {
32
- const instance = new ForecastLineChartConfigBuilder(theme, payload);
33
- await instance.build(sourcePayloadConfig?.fetch);
34
- instance.refreshValues();
35
- return instance;
36
- }
37
- async build(includeSources) {
38
- this.buildOptions();
39
- await this.buildData(includeSources);
40
- return this;
41
- }
42
- async buildData(includeSources) {
43
- const forecastData = this.generateDataSetForecastData();
44
- const datasets = [forecastData];
45
- if (includeSources) {
46
- // build data from sources in forecastPayload
47
- const sourceData = await this.generateDataSetSourcePayloads();
48
- datasets.unshift(sourceData);
49
- // add last source point as first item in prediction to connect the lines
50
- const lastSourceDataItem = sourceData.data.at(-1);
51
- forecastData.data.unshift(lastSourceDataItem);
52
- }
53
- this.data = {
54
- datasets,
55
- };
56
- return this;
57
- }
58
- buildOptions() {
59
- if (this.options.plugins) {
60
- this.options.plugins.title = this.generateTitle();
61
- this.options.plugins.legend = this.generateLegend();
62
- }
63
- this.options.scales = this.generateScales();
64
- return this;
65
- }
66
- refreshValues() {
67
- this.data = { ...this.data };
68
- this.options = { ...this.options };
69
- }
70
- generateLegend() {
71
- return {
72
- labels: {
73
- pointStyle: 'circle',
74
- usePointStyle: true,
75
- },
76
- };
77
- }
78
- generateScales() {
79
- return {
80
- x: {
81
- grid: {
82
- color: this.themeColors?.gridColor,
83
- },
84
- time: {
85
- unit: 'minute',
86
- },
87
- type: 'time',
88
- },
89
- y: {
90
- grid: {
91
- color: this.themeColors?.gridColor,
92
- },
93
- },
94
- };
95
- }
96
- generateTitle() {
97
- return {
98
- display: true,
99
- text: `Gas Price Forecaster (GWEI over time from ${this.forecastPayload?.values[0].timestamp ? new Date(this.forecastPayload.values[0].timestamp).toLocaleDateString() : ''})`,
100
- };
101
- }
102
- parseTheme(theme) {
103
- const dark = theme.palette.mode === 'dark';
104
- return {
105
- dataSetColorPrimary: theme.palette.primary.light,
106
- dataSetColorSecondary: theme.palette.secondary.light,
107
- gridColor: dark ? theme.palette.grey[800] : theme.palette.grey[300],
108
- };
109
- }
110
- generateDataSetForecastData() {
111
- return {
112
- borderDash: [5],
113
- borderDashOffset: 0.5,
114
- data: this.forecastPayload.values.map((price) => ({ x: price.timestamp ?? 0, y: price.value })),
115
- label: 'Forecast Price',
116
- ...DataPointStyles(this.themeColors?.dataSetColorPrimary),
117
- ...DataLineStyles(this.themeColors?.dataSetColorPrimary),
118
- };
119
- }
120
- async generateDataSetSourcePayloads() {
121
- const { sourcePrices } = await SourcePayloads.build('feePerGas.medium');
122
- return {
123
- data: sourcePrices,
124
- label: 'Source Prices',
125
- ...DataLineStyles(this.themeColors?.dataSetColorSecondary),
126
- ...DataPointStyles(this.themeColors?.dataSetColorSecondary),
127
- };
128
- }
129
- }
130
- //# sourceMappingURL=ForecastLineChartConfigBuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ForecastLineChartConfigBuilder.js","sourceRoot":"","sources":["../../../src/lib/ForecastLineChartConfigBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- export const MockSourcePayloads = () => {
2
- const tenMin = 600000;
3
- return [
4
- {
5
- baseFee: 38.90155387825,
6
- feePerGas: { high: 47.9945864396, low: 39.006868093, medium: 39.306868093, veryHigh: 44.45384380525 },
7
- priorityFeePerGas: { high: 1.0266666666666666, low: -0.41000000000000003, medium: 0.38, veryHigh: 1.3900000000000001 },
8
- schema: 'network.xyo.blockchain.ethereum.gas',
9
- timestamp: Date.now() - tenMin,
10
- },
11
- {
12
- baseFee: 38.90155387825,
13
- feePerGas: { high: 47.9945864396, low: 39.006868093, medium: 100, veryHigh: 44.45384380525 },
14
- priorityFeePerGas: { high: 1.0266666666666666, low: -0.41000000000000003, medium: 0.38, veryHigh: 1.3900000000000001 },
15
- schema: 'network.xyo.blockchain.ethereum.gas',
16
- timestamp: Date.now(),
17
- },
18
- ];
19
- };
20
- //# sourceMappingURL=MockSourcePayloads.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MockSourcePayloads.js","sourceRoot":"","sources":["../../../src/lib/MockSourcePayloads.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,MAAM,GAAG,MAAM,CAAA;IACrB,OAAO;QACL;YACE,OAAO,EAAE,cAAc;YACvB,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE;YACrG,iBAAiB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE;YACtH,MAAM,EAAE,qCAAqC;YAC7C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM;SAC/B;QACD;YACE,OAAO,EAAE,cAAc;YACvB,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE;YAC5F,iBAAiB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE;YACtH,MAAM,EAAE,qCAAqC;YAC7C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB;KACF,CAAA;AACH,CAAC,CAAA"}
@@ -1,41 +0,0 @@
1
- import { MockSourcePayloads } from './MockSourcePayloads';
2
- export class SourcePayloads {
3
- sourcePayloads;
4
- sourcePrices = [];
5
- constructor(sourcePayloads) {
6
- this.sourcePayloads = sourcePayloads;
7
- }
8
- get payloads() {
9
- return this.sourcePayloads;
10
- }
11
- static async build(jsonPath) {
12
- const sourcePayloads = await this.fetchSourcePayloads();
13
- const instance = new this(sourcePayloads);
14
- const paths = jsonPath.split('.');
15
- instance.sourcePrices = sourcePayloads.map((payload) => {
16
- return { x: payload.timestamp, y: instance.jsonPathTraverser(payload, paths) };
17
- });
18
- return instance;
19
- }
20
- // TODO - fetch from archivist
21
- static async fetchSourcePayloads() {
22
- const payloads = await Promise.resolve(MockSourcePayloads());
23
- return payloads;
24
- }
25
- jsonPathTraverser(obj, path) {
26
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
- let result = obj;
28
- for (const key of path) {
29
- if (key in result) {
30
- const foundKey = key;
31
- result = result[foundKey];
32
- }
33
- else {
34
- result = undefined;
35
- break;
36
- }
37
- }
38
- return result;
39
- }
40
- }
41
- //# sourceMappingURL=SourcePayloads.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SourcePayloads.js","sourceRoot":"","sources":["../../../src/lib/SourcePayloads.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,MAAM,OAAO,cAAc;IAGN;IAFnB,YAAY,GAAY,EAAE,CAAA;IAE1B,YAAmB,cAAyB;QAAzB,mBAAc,GAAd,cAAc,CAAW;IAAG,CAAC;IAEhD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAgB;QACjC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;QACvD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,CAAA;QAEzC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,QAAQ,CAAC,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACrD,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAA;QAChF,CAAC,CAAC,CAAA;QACF,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,8BAA8B;IAC9B,MAAM,CAAC,KAAK,CAAC,mBAAmB;QAC9B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;QAC5D,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,iBAAiB,CAAC,GAAY,EAAE,IAAc;QAC5C,8DAA8D;QAC9D,IAAI,MAAM,GAAQ,GAAG,CAAA;QACrB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI,GAAG,IAAI,MAAM,EAAE;gBACjB,MAAM,QAAQ,GAAG,GAA0B,CAAA;gBAC3C,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;aAC1B;iBAAM;gBACL,MAAM,GAAG,SAAS,CAAA;gBAClB,MAAK;aACN;SACF;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA;AAChD,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAIlG,eAAO,MAAM,yBAAyB,EAAE,mBAUvC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DetailsBox.d.ts","sourceRoot":"","sources":["../../../src/components/DetailsBox.tsx"],"names":[],"mappings":";AAAA,OAAO,uBAAuB,CAAA;AAI9B,OAAO,EAAE,YAAY,EAAW,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAqBpD,MAAM,WAAW,4BAA6B,SAAQ,YAAY;IAChE,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAuB1E,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataLineStyles.d.ts","sourceRoot":"","sources":["../../../src/lib/DataLineStyles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,WAAY,MAAM;;;CAG3C,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataPointStyles.d.ts","sourceRoot":"","sources":["../../../src/lib/DataPointStyles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,+BAAgC,MAAM;;;;;;CAMhE,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ForecastLineChartConfigBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/ForecastLineChartConfigBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,EAAE,SAAS,EAAgB,YAAY,EAAE,aAAa,EAAS,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAM9D,UAAU,mBAAmB;IAC3B,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,WAAW;IACnB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;CAClB;AAWD,qBAAa,8BAA8B;IASvC,OAAO,CAAC,OAAO,CAAC;IARlB,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAEtB;IACD,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,CAAmB;IAChD,WAAW,EAAE,WAAW,GAAG,SAAS,CAAA;gBAGlC,KAAK,EAAE,KAAK,EACJ,OAAO,CAAC;;;kBAAiB;IAKnC,IAAI,eAAe;;;MAMlB;WAEY,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,mBAAmB,CAAC,EAAE,mBAAmB;IAUhG,KAAK,CAAC,cAAc,CAAC,EAAE,OAAO;IAM9B,SAAS,CAAC,cAAc,CAAC,EAAE,OAAO;IAsBxC,YAAY;IAUZ,aAAa;IAKb,SAAS,CAAC,cAAc,IAAI,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IASrE,SAAS,CAAC,cAAc,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAmBnF,SAAS,CAAC,aAAa;;;;IASvB,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK;;;;;IASjC,OAAO,CAAC,2BAA2B;YAWrB,6BAA6B;CAS5C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MockSourcePayloads.d.ts","sourceRoot":"","sources":["../../../src/lib/MockSourcePayloads.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;GAkB9B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SourcePayloads.d.ts","sourceRoot":"","sources":["../../../src/lib/SourcePayloads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAIhC,qBAAa,cAAc;IAGN,cAAc,EAAE,OAAO,EAAE;IAF5C,YAAY,EAAE,KAAK,EAAE,CAAK;gBAEP,cAAc,EAAE,OAAO,EAAE;IAE5C,IAAI,QAAQ;;QAEX;WAEY,KAAK,CAAC,QAAQ,EAAE,MAAM;WAYtB,mBAAmB;;;;;;;;;;;;;;;;;IAKhC,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;CAe/C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA;AAChD,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA"}
File without changes
File without changes
File without changes