@allternit/viz 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +217 -0
  2. package/dist/charts/canvas-renderer.d.ts +40 -0
  3. package/dist/charts/canvas-renderer.d.ts.bak +40 -0
  4. package/dist/charts/canvas-renderer.d.ts.map +1 -0
  5. package/dist/charts/canvas-renderer.js +580 -0
  6. package/dist/charts/canvas-renderer.js.bak +580 -0
  7. package/dist/charts/canvas-renderer.js.map +1 -0
  8. package/dist/charts/svg-renderer.d.ts +21 -0
  9. package/dist/charts/svg-renderer.d.ts.bak +21 -0
  10. package/dist/charts/svg-renderer.d.ts.map +1 -0
  11. package/dist/charts/svg-renderer.js +285 -0
  12. package/dist/charts/svg-renderer.js.bak +285 -0
  13. package/dist/charts/svg-renderer.js.map +1 -0
  14. package/dist/index.d.ts +34 -0
  15. package/dist/index.d.ts.bak +34 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +35 -0
  18. package/dist/index.js.bak +35 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/types.d.ts +342 -0
  21. package/dist/types.d.ts.bak +342 -0
  22. package/dist/types.d.ts.map +1 -0
  23. package/dist/types.js +39 -0
  24. package/dist/types.js.bak +39 -0
  25. package/dist/types.js.map +1 -0
  26. package/dist/utils/data-processor.d.ts +64 -0
  27. package/dist/utils/data-processor.d.ts.bak +64 -0
  28. package/dist/utils/data-processor.d.ts.map +1 -0
  29. package/dist/utils/data-processor.js +326 -0
  30. package/dist/utils/data-processor.js.bak +326 -0
  31. package/dist/utils/data-processor.js.map +1 -0
  32. package/package.json +41 -0
  33. package/src/charts/canvas-renderer.ts +735 -0
  34. package/src/charts/canvas-renderer.ts.bak +735 -0
  35. package/src/charts/svg-renderer.test.ts.bak +837 -0
  36. package/src/charts/svg-renderer.ts +380 -0
  37. package/src/charts/svg-renderer.ts.bak +380 -0
  38. package/src/index.ts +64 -0
  39. package/src/index.ts.bak +64 -0
  40. package/src/types.ts +410 -0
  41. package/src/types.ts.bak +410 -0
  42. package/src/utils/data-processor.test.ts.bak +720 -0
  43. package/src/utils/data-processor.ts +420 -0
  44. package/src/utils/data-processor.ts.bak +420 -0
  45. package/tsconfig.json +22 -0
@@ -0,0 +1,342 @@
1
+ /**
2
+ * A2R Data Visualization Types
3
+ */
4
+ /**
5
+ * Chart Types
6
+ */
7
+ export type ChartType = 'line' | 'bar' | 'column' | 'area' | 'pie' | 'donut' | 'scatter' | 'bubble' | 'radar' | 'heatmap' | 'treemap' | 'sankey' | 'gauge' | 'candlestick';
8
+ /**
9
+ * Chart Configuration
10
+ */
11
+ export interface ChartConfig {
12
+ /** Chart type */
13
+ type: ChartType;
14
+ /** Chart title */
15
+ title?: string;
16
+ /** Chart subtitle */
17
+ subtitle?: string;
18
+ /** Width in pixels */
19
+ width?: number;
20
+ /** Height in pixels */
21
+ height?: number;
22
+ /** X-axis configuration */
23
+ xAxis?: AxisConfig;
24
+ /** Y-axis configuration */
25
+ yAxis?: AxisConfig;
26
+ /** Legend configuration */
27
+ legend?: LegendConfig;
28
+ /** Tooltip configuration */
29
+ tooltip?: TooltipConfig;
30
+ /** Chart colors */
31
+ colors?: string[];
32
+ /** Theme */
33
+ theme?: 'light' | 'dark';
34
+ /** Enable animations */
35
+ animation?: boolean;
36
+ /** Enable stacking (for bar/area) */
37
+ stacking?: boolean;
38
+ /** Show data labels */
39
+ dataLabels?: boolean;
40
+ /** Chart-specific options */
41
+ options?: Record<string, unknown>;
42
+ }
43
+ /**
44
+ * Axis Configuration
45
+ */
46
+ export interface AxisConfig {
47
+ /** Axis title */
48
+ title?: string;
49
+ /** Axis type */
50
+ type?: 'category' | 'number' | 'datetime' | 'logarithmic';
51
+ /** Minimum value */
52
+ min?: number;
53
+ /** Maximum value */
54
+ max?: number;
55
+ /** Tick interval */
56
+ tickInterval?: number;
57
+ /** Label format */
58
+ labelFormat?: string;
59
+ /** Categories (for category axis) */
60
+ categories?: string[];
61
+ /** Grid lines */
62
+ grid?: GridConfig;
63
+ /** Opposite side */
64
+ opposite?: boolean;
65
+ /** Reversed */
66
+ reversed?: boolean;
67
+ }
68
+ /**
69
+ * Grid Configuration
70
+ */
71
+ export interface GridConfig {
72
+ /** Show grid */
73
+ enabled?: boolean;
74
+ /** Grid color */
75
+ color?: string;
76
+ /** Dash style */
77
+ dashStyle?: string;
78
+ }
79
+ /**
80
+ * Legend Configuration
81
+ */
82
+ export interface LegendConfig {
83
+ /** Show legend */
84
+ enabled?: boolean;
85
+ /** Legend position */
86
+ position?: 'top' | 'bottom' | 'left' | 'right';
87
+ /** Legend alignment */
88
+ align?: 'left' | 'center' | 'right';
89
+ }
90
+ /**
91
+ * Tooltip Configuration
92
+ */
93
+ export interface TooltipConfig {
94
+ /** Show tooltip */
95
+ enabled?: boolean;
96
+ /** Shared tooltip */
97
+ shared?: boolean;
98
+ /** Follow cursor */
99
+ followCursor?: boolean;
100
+ /** Formatter function */
101
+ formatter?: string;
102
+ }
103
+ /**
104
+ * Data Series
105
+ */
106
+ export interface DataSeries {
107
+ /** Series ID */
108
+ id: string;
109
+ /** Series name */
110
+ name: string;
111
+ /** Series type (can override chart type) */
112
+ type?: ChartType;
113
+ /** Series data */
114
+ data: DataPoint[];
115
+ /** Series color */
116
+ color?: string;
117
+ /** Y-axis index (for multi-axis) */
118
+ yAxis?: number;
119
+ /** Series options */
120
+ options?: Record<string, unknown>;
121
+ }
122
+ /**
123
+ * Data Point
124
+ */
125
+ export interface DataPoint {
126
+ /** X value */
127
+ x?: string | number | Date;
128
+ /** Y value */
129
+ y?: number;
130
+ /** Category name (for pie/donut) */
131
+ name?: string;
132
+ /** Value (for pie/donut) */
133
+ value?: number;
134
+ /** Additional properties */
135
+ [key: string]: unknown;
136
+ }
137
+ /**
138
+ * Dashboard Configuration
139
+ */
140
+ export interface DashboardConfig {
141
+ /** Dashboard ID */
142
+ id: string;
143
+ /** Dashboard title */
144
+ title: string;
145
+ /** Layout grid columns */
146
+ columns?: number;
147
+ /** Widgets */
148
+ widgets: WidgetConfig[];
149
+ /** Refresh interval (seconds) */
150
+ refreshInterval?: number;
151
+ /** Theme */
152
+ theme?: 'light' | 'dark';
153
+ }
154
+ /**
155
+ * Widget Configuration
156
+ */
157
+ export interface WidgetConfig {
158
+ /** Widget ID */
159
+ id: string;
160
+ /** Widget type */
161
+ type: 'chart' | 'metric' | 'table' | 'text' | 'image';
162
+ /** Widget title */
163
+ title?: string;
164
+ /** Grid position */
165
+ position: GridPosition;
166
+ /** Widget data source */
167
+ dataSource?: DataSource;
168
+ /** Widget-specific config */
169
+ config?: ChartConfig | MetricConfig | TableConfig;
170
+ }
171
+ /**
172
+ * Grid Position
173
+ */
174
+ export interface GridPosition {
175
+ /** Column start (1-based) */
176
+ x: number;
177
+ /** Row start (1-based) */
178
+ y: number;
179
+ /** Width in columns */
180
+ w: number;
181
+ /** Height in rows */
182
+ h: number;
183
+ }
184
+ /**
185
+ * Metric Configuration
186
+ */
187
+ export interface MetricConfig {
188
+ /** Metric value format */
189
+ format?: 'number' | 'currency' | 'percentage' | 'duration';
190
+ /** Decimal places */
191
+ decimals?: number;
192
+ /** Prefix */
193
+ prefix?: string;
194
+ /** Suffix */
195
+ suffix?: string;
196
+ /** Comparison to previous period */
197
+ comparison?: boolean;
198
+ /** Trend indicator */
199
+ trend?: 'up' | 'down' | 'neutral';
200
+ /** Color by trend */
201
+ colorByTrend?: boolean;
202
+ }
203
+ /**
204
+ * Table Configuration
205
+ */
206
+ export interface TableConfig {
207
+ /** Columns */
208
+ columns: TableColumn[];
209
+ /** Enable pagination */
210
+ pagination?: boolean;
211
+ /** Page size */
212
+ pageSize?: number;
213
+ /** Enable sorting */
214
+ sortable?: boolean;
215
+ /** Enable filtering */
216
+ filterable?: boolean;
217
+ /** Enable search */
218
+ searchable?: boolean;
219
+ }
220
+ /**
221
+ * Table Column
222
+ */
223
+ export interface TableColumn {
224
+ /** Column ID */
225
+ id: string;
226
+ /** Column header */
227
+ header: string;
228
+ /** Column type */
229
+ type?: 'text' | 'number' | 'date' | 'currency' | 'percentage' | 'badge';
230
+ /** Column width */
231
+ width?: number | string;
232
+ /** Align */
233
+ align?: 'left' | 'center' | 'right';
234
+ /** Format string */
235
+ format?: string;
236
+ /** Sortable */
237
+ sortable?: boolean;
238
+ }
239
+ /**
240
+ * Data Source
241
+ */
242
+ export interface DataSource {
243
+ /** Source type */
244
+ type: 'static' | 'api' | 'websocket' | 'query';
245
+ /** Source configuration */
246
+ config: Record<string, unknown>;
247
+ /** Data transform pipeline */
248
+ transforms?: DataTransform[];
249
+ /** Polling interval (seconds) */
250
+ pollingInterval?: number;
251
+ }
252
+ /**
253
+ * Data Transform
254
+ */
255
+ export interface DataTransform {
256
+ /** Transform type */
257
+ type: 'filter' | 'map' | 'reduce' | 'aggregate' | 'sort' | 'limit';
258
+ /** Transform configuration */
259
+ config: Record<string, unknown>;
260
+ }
261
+ /**
262
+ * Chart Renderer
263
+ */
264
+ export interface ChartRenderer {
265
+ /** Render chart to SVG */
266
+ renderSVG(config: ChartConfig, series: DataSeries[]): string;
267
+ /** Render chart to Canvas */
268
+ renderCanvas(config: ChartConfig, series: DataSeries[]): HTMLCanvasElement;
269
+ /** Get chart metadata */
270
+ getMetadata(type: ChartType): ChartMetadata;
271
+ }
272
+ /**
273
+ * Chart Metadata
274
+ */
275
+ export interface ChartMetadata {
276
+ /** Chart type */
277
+ type: ChartType;
278
+ /** Display name */
279
+ name: string;
280
+ /** Description */
281
+ description: string;
282
+ /** Supported axes */
283
+ axes: ('x' | 'y' | 'z')[];
284
+ /** Required data structure */
285
+ dataStructure: string;
286
+ /** Use cases */
287
+ useCases: string[];
288
+ }
289
+ /**
290
+ * Export Options
291
+ */
292
+ export interface ExportOptions {
293
+ /** Export format */
294
+ format: 'png' | 'svg' | 'pdf' | 'csv' | 'json';
295
+ /** Export filename */
296
+ filename?: string;
297
+ /** Export dimensions */
298
+ width?: number;
299
+ height?: number;
300
+ /** Background color */
301
+ backgroundColor?: string;
302
+ }
303
+ /**
304
+ * Visualization Event
305
+ */
306
+ export interface VizEvent {
307
+ /** Event type */
308
+ type: 'click' | 'hover' | 'select' | 'zoom' | 'pan';
309
+ /** Target element */
310
+ target: string;
311
+ /** Event data */
312
+ data: Record<string, unknown>;
313
+ /** Timestamp */
314
+ timestamp: number;
315
+ }
316
+ /**
317
+ * Chart Palette
318
+ */
319
+ export interface ChartPalette {
320
+ /** Primary colors */
321
+ primary: string[];
322
+ /** Secondary colors */
323
+ secondary: string[];
324
+ /** Semantic colors */
325
+ semantic: {
326
+ success: string;
327
+ warning: string;
328
+ error: string;
329
+ info: string;
330
+ };
331
+ /** Background colors */
332
+ background: string[];
333
+ /** Text colors */
334
+ text: {
335
+ primary: string;
336
+ secondary: string;
337
+ muted: string;
338
+ };
339
+ }
340
+ /** Predefined palettes */
341
+ export declare const palettes: Record<string, ChartPalette>;
342
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,39 @@
1
+ /**
2
+ * A2R Data Visualization Types
3
+ */
4
+ /** Predefined palettes */
5
+ export const palettes = {
6
+ default: {
7
+ primary: ['#3b82f6', '#10b981', '#f59e0b', '#ef4444', '#8b5cf6', '#ec4899'],
8
+ secondary: ['#60a5fa', '#34d399', '#fbbf24', '#f87171', '#a78bfa', '#f472b6'],
9
+ semantic: {
10
+ success: '#10b981',
11
+ warning: '#f59e0b',
12
+ error: '#ef4444',
13
+ info: '#3b82f6',
14
+ },
15
+ background: ['#ffffff', '#f3f4f6', '#e5e7eb', '#d1d5db'],
16
+ text: {
17
+ primary: '#111827',
18
+ secondary: '#4b5563',
19
+ muted: '#9ca3af',
20
+ },
21
+ },
22
+ dark: {
23
+ primary: ['#60a5fa', '#34d399', '#fbbf24', '#f87171', '#a78bfa', '#f472b6'],
24
+ secondary: ['#93c5fd', '#6ee7b7', '#fcd34d', '#fca5a5', '#c4b5fd', '#fbcfe8'],
25
+ semantic: {
26
+ success: '#34d399',
27
+ warning: '#fbbf24',
28
+ error: '#f87171',
29
+ info: '#60a5fa',
30
+ },
31
+ background: ['#1f2937', '#111827', '#374151', '#4b5563'],
32
+ text: {
33
+ primary: '#f9fafb',
34
+ secondary: '#d1d5db',
35
+ muted: '#9ca3af',
36
+ },
37
+ },
38
+ };
39
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,39 @@
1
+ /**
2
+ * A2R Data Visualization Types
3
+ */
4
+ /** Predefined palettes */
5
+ export const palettes = {
6
+ default: {
7
+ primary: ['#3b82f6', '#10b981', '#f59e0b', '#ef4444', '#8b5cf6', '#ec4899'],
8
+ secondary: ['#60a5fa', '#34d399', '#fbbf24', '#f87171', '#a78bfa', '#f472b6'],
9
+ semantic: {
10
+ success: '#10b981',
11
+ warning: '#f59e0b',
12
+ error: '#ef4444',
13
+ info: '#3b82f6',
14
+ },
15
+ background: ['#ffffff', '#f3f4f6', '#e5e7eb', '#d1d5db'],
16
+ text: {
17
+ primary: '#111827',
18
+ secondary: '#4b5563',
19
+ muted: '#9ca3af',
20
+ },
21
+ },
22
+ dark: {
23
+ primary: ['#60a5fa', '#34d399', '#fbbf24', '#f87171', '#a78bfa', '#f472b6'],
24
+ secondary: ['#93c5fd', '#6ee7b7', '#fcd34d', '#fca5a5', '#c4b5fd', '#fbcfe8'],
25
+ semantic: {
26
+ success: '#34d399',
27
+ warning: '#fbbf24',
28
+ error: '#f87171',
29
+ info: '#60a5fa',
30
+ },
31
+ background: ['#1f2937', '#111827', '#374151', '#4b5563'],
32
+ text: {
33
+ primary: '#f9fafb',
34
+ secondary: '#d1d5db',
35
+ muted: '#9ca3af',
36
+ },
37
+ },
38
+ };
39
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqXH,0BAA0B;AAC1B,MAAM,CAAC,MAAM,QAAQ,GAAiC;IACpD,OAAO,EAAE;QACP,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;QAC3E,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;QAC7E,QAAQ,EAAE;YACR,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;SAChB;QACD,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;QACxD,IAAI,EAAE;YACJ,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,SAAS;SACjB;KACF;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;QAC3E,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;QAC7E,QAAQ,EAAE;YACR,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;SAChB;QACD,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;QACxD,IAAI,EAAE;YACJ,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,SAAS;SACjB;KACF;CACF,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Data Processor Utility
3
+ *
4
+ * Provides data transformation and normalization functions for charts.
5
+ */
6
+ import type { DataPoint, DataSeries } from '../types';
7
+ /**
8
+ * Normalize data points to standard format
9
+ */
10
+ export declare function normalizeDataPoints(data: DataPoint[]): DataPoint[];
11
+ /**
12
+ * Normalize data series
13
+ */
14
+ export declare function normalizeSeries(series: DataSeries[]): DataSeries[];
15
+ /**
16
+ * Aggregate data by categories
17
+ */
18
+ export declare function aggregateByCategory(data: DataPoint[], aggregator?: 'sum' | 'avg' | 'min' | 'max' | 'count'): Map<string, number>;
19
+ /**
20
+ * Sort data points by value or category
21
+ */
22
+ export declare function sortDataPoints(data: DataPoint[], by?: 'value' | 'category', order?: 'asc' | 'desc'): DataPoint[];
23
+ /**
24
+ * Filter data points by value range
25
+ */
26
+ export declare function filterByRange(data: DataPoint[], min?: number, max?: number): DataPoint[];
27
+ /**
28
+ * Calculate statistics for data points
29
+ */
30
+ export declare function calculateStats(data: DataPoint[]): {
31
+ min: number;
32
+ max: number;
33
+ sum: number;
34
+ avg: number;
35
+ count: number;
36
+ };
37
+ /**
38
+ * Process time series data
39
+ */
40
+ export declare function processTimeSeries(data: DataPoint[], options?: {
41
+ interval?: 'hour' | 'day' | 'week' | 'month' | 'year';
42
+ fillGaps?: boolean;
43
+ aggregation?: 'sum' | 'avg' | 'last';
44
+ }): DataPoint[];
45
+ /**
46
+ * Calculate moving average
47
+ */
48
+ export declare function movingAverage(data: DataPoint[], windowSize: number): DataPoint[];
49
+ /**
50
+ * Detect outliers using IQR method
51
+ */
52
+ export declare function detectOutliers(data: DataPoint[], threshold?: number): {
53
+ inliers: DataPoint[];
54
+ outliers: DataPoint[];
55
+ };
56
+ /**
57
+ * Normalize values to 0-1 range
58
+ */
59
+ export declare function normalizeValues(data: DataPoint[], min?: number, max?: number): DataPoint[];
60
+ /**
61
+ * Calculate percent change between consecutive points
62
+ */
63
+ export declare function calculatePercentChange(data: DataPoint[]): DataPoint[];
64
+ //# sourceMappingURL=data-processor.d.ts.map
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Data Processor Utility
3
+ *
4
+ * Provides data transformation and normalization functions for charts.
5
+ */
6
+ import type { DataPoint, DataSeries } from '../types';
7
+ /**
8
+ * Normalize data points to standard format
9
+ */
10
+ export declare function normalizeDataPoints(data: DataPoint[]): DataPoint[];
11
+ /**
12
+ * Normalize data series
13
+ */
14
+ export declare function normalizeSeries(series: DataSeries[]): DataSeries[];
15
+ /**
16
+ * Aggregate data by categories
17
+ */
18
+ export declare function aggregateByCategory(data: DataPoint[], aggregator?: 'sum' | 'avg' | 'min' | 'max' | 'count'): Map<string, number>;
19
+ /**
20
+ * Sort data points by value or category
21
+ */
22
+ export declare function sortDataPoints(data: DataPoint[], by?: 'value' | 'category', order?: 'asc' | 'desc'): DataPoint[];
23
+ /**
24
+ * Filter data points by value range
25
+ */
26
+ export declare function filterByRange(data: DataPoint[], min?: number, max?: number): DataPoint[];
27
+ /**
28
+ * Calculate statistics for data points
29
+ */
30
+ export declare function calculateStats(data: DataPoint[]): {
31
+ min: number;
32
+ max: number;
33
+ sum: number;
34
+ avg: number;
35
+ count: number;
36
+ };
37
+ /**
38
+ * Process time series data
39
+ */
40
+ export declare function processTimeSeries(data: DataPoint[], options?: {
41
+ interval?: 'hour' | 'day' | 'week' | 'month' | 'year';
42
+ fillGaps?: boolean;
43
+ aggregation?: 'sum' | 'avg' | 'last';
44
+ }): DataPoint[];
45
+ /**
46
+ * Calculate moving average
47
+ */
48
+ export declare function movingAverage(data: DataPoint[], windowSize: number): DataPoint[];
49
+ /**
50
+ * Detect outliers using IQR method
51
+ */
52
+ export declare function detectOutliers(data: DataPoint[], threshold?: number): {
53
+ inliers: DataPoint[];
54
+ outliers: DataPoint[];
55
+ };
56
+ /**
57
+ * Normalize values to 0-1 range
58
+ */
59
+ export declare function normalizeValues(data: DataPoint[], min?: number, max?: number): DataPoint[];
60
+ /**
61
+ * Calculate percent change between consecutive points
62
+ */
63
+ export declare function calculatePercentChange(data: DataPoint[]): DataPoint[];
64
+ //# sourceMappingURL=data-processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-processor.d.ts","sourceRoot":"","sources":["../../src/utils/data-processor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAMlE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAKlE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,EAAE,EACjB,UAAU,GAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAe,GAC1D,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAqCrB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,EAAE,EACjB,EAAE,GAAE,OAAO,GAAG,UAAoB,EAClC,KAAK,GAAE,KAAK,GAAG,MAAe,GAC7B,SAAS,EAAE,CAoBb;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,SAAS,EAAE,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,GACX,SAAS,EAAE,CAOb;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAaA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,SAAS,EAAE,EACjB,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;CACjC,GACL,SAAS,EAAE,CAmEb;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,SAAS,EAAE,EACjB,UAAU,EAAE,MAAM,GACjB,SAAS,EAAE,CAyBb;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,EAAE,EACjB,SAAS,GAAE,MAAY,GACtB;IAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAAC,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,CA0BjD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,EAAE,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,GACX,SAAS,EAAE,CAcb;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAuBrE"}