@coherent.js/core 1.0.0-beta.2

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 (116) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +130 -0
  3. package/dist/coherent.d.ts +472 -0
  4. package/dist/coherent.d.ts.map +1 -0
  5. package/dist/coherent.js +590 -0
  6. package/dist/coherent.js.map +1 -0
  7. package/dist/components/component-system.d.ts +1138 -0
  8. package/dist/components/component-system.d.ts.map +1 -0
  9. package/dist/components/component-system.js +2220 -0
  10. package/dist/components/component-system.js.map +1 -0
  11. package/dist/components/lifecycle.d.ts +212 -0
  12. package/dist/components/lifecycle.d.ts.map +1 -0
  13. package/dist/components/lifecycle.js +525 -0
  14. package/dist/components/lifecycle.js.map +1 -0
  15. package/dist/core/html-utils.d.ts +14 -0
  16. package/dist/core/html-utils.d.ts.map +1 -0
  17. package/dist/core/html-utils.js +166 -0
  18. package/dist/core/html-utils.js.map +1 -0
  19. package/dist/core/object-factory.d.ts +38 -0
  20. package/dist/core/object-factory.d.ts.map +1 -0
  21. package/dist/core/object-factory.js +63 -0
  22. package/dist/core/object-factory.js.map +1 -0
  23. package/dist/core/object-utils.d.ts +77 -0
  24. package/dist/core/object-utils.d.ts.map +1 -0
  25. package/dist/core/object-utils.js +502 -0
  26. package/dist/core/object-utils.js.map +1 -0
  27. package/dist/dev/dev-tools.d.ts +194 -0
  28. package/dist/dev/dev-tools.d.ts.map +1 -0
  29. package/dist/dev/dev-tools.js +846 -0
  30. package/dist/dev/dev-tools.js.map +1 -0
  31. package/dist/forms/validation.d.ts +271 -0
  32. package/dist/forms/validation.d.ts.map +1 -0
  33. package/dist/forms/validation.js +573 -0
  34. package/dist/forms/validation.js.map +1 -0
  35. package/dist/index.cjs +5281 -0
  36. package/dist/index.cjs.map +7 -0
  37. package/dist/index.js +5204 -0
  38. package/dist/index.js.map +7 -0
  39. package/dist/performance/bundle-optimizer.d.ts +95 -0
  40. package/dist/performance/bundle-optimizer.d.ts.map +1 -0
  41. package/dist/performance/bundle-optimizer.js +192 -0
  42. package/dist/performance/bundle-optimizer.js.map +1 -0
  43. package/dist/performance/cache-manager.d.ts +107 -0
  44. package/dist/performance/cache-manager.d.ts.map +1 -0
  45. package/dist/performance/cache-manager.js +314 -0
  46. package/dist/performance/cache-manager.js.map +1 -0
  47. package/dist/performance/component-cache.d.ts +120 -0
  48. package/dist/performance/component-cache.d.ts.map +1 -0
  49. package/dist/performance/component-cache.js +364 -0
  50. package/dist/performance/component-cache.js.map +1 -0
  51. package/dist/performance/monitor.d.ts +189 -0
  52. package/dist/performance/monitor.d.ts.map +1 -0
  53. package/dist/performance/monitor.js +347 -0
  54. package/dist/performance/monitor.js.map +1 -0
  55. package/dist/rendering/base-renderer.d.ts +140 -0
  56. package/dist/rendering/base-renderer.d.ts.map +1 -0
  57. package/dist/rendering/base-renderer.js +409 -0
  58. package/dist/rendering/base-renderer.js.map +1 -0
  59. package/dist/rendering/css-manager.d.ts +73 -0
  60. package/dist/rendering/css-manager.d.ts.map +1 -0
  61. package/dist/rendering/css-manager.js +176 -0
  62. package/dist/rendering/css-manager.js.map +1 -0
  63. package/dist/rendering/dom-renderer.d.ts +62 -0
  64. package/dist/rendering/dom-renderer.d.ts.map +1 -0
  65. package/dist/rendering/dom-renderer.js +252 -0
  66. package/dist/rendering/dom-renderer.js.map +1 -0
  67. package/dist/rendering/html-renderer.d.ts +67 -0
  68. package/dist/rendering/html-renderer.d.ts.map +1 -0
  69. package/dist/rendering/html-renderer.js +444 -0
  70. package/dist/rendering/html-renderer.js.map +1 -0
  71. package/dist/rendering/renderer-config.d.ts +282 -0
  72. package/dist/rendering/renderer-config.d.ts.map +1 -0
  73. package/dist/rendering/renderer-config.js +144 -0
  74. package/dist/rendering/renderer-config.js.map +1 -0
  75. package/dist/rendering/streaming-renderer.d.ts +117 -0
  76. package/dist/rendering/streaming-renderer.d.ts.map +1 -0
  77. package/dist/rendering/streaming-renderer.js +326 -0
  78. package/dist/rendering/streaming-renderer.js.map +1 -0
  79. package/dist/rendering/vdom-diff.d.ts +47 -0
  80. package/dist/rendering/vdom-diff.d.ts.map +1 -0
  81. package/dist/rendering/vdom-diff.js +416 -0
  82. package/dist/rendering/vdom-diff.js.map +1 -0
  83. package/dist/routing/router.d.ts +241 -0
  84. package/dist/routing/router.d.ts.map +1 -0
  85. package/dist/routing/router.js +648 -0
  86. package/dist/routing/router.js.map +1 -0
  87. package/dist/state/reactive-state.d.ts +166 -0
  88. package/dist/state/reactive-state.d.ts.map +1 -0
  89. package/dist/state/reactive-state.js +546 -0
  90. package/dist/state/reactive-state.js.map +1 -0
  91. package/dist/state/state-manager.d.ts +45 -0
  92. package/dist/state/state-manager.d.ts.map +1 -0
  93. package/dist/state/state-manager.js +151 -0
  94. package/dist/state/state-manager.js.map +1 -0
  95. package/dist/types/constants.d.ts +8 -0
  96. package/dist/types/constants.d.ts.map +1 -0
  97. package/dist/types/constants.js +36 -0
  98. package/dist/types/constants.js.map +1 -0
  99. package/dist/utils/dependency-utils.d.ts +43 -0
  100. package/dist/utils/dependency-utils.d.ts.map +1 -0
  101. package/dist/utils/dependency-utils.js +105 -0
  102. package/dist/utils/dependency-utils.js.map +1 -0
  103. package/dist/utils/error-handler.d.ts +148 -0
  104. package/dist/utils/error-handler.d.ts.map +1 -0
  105. package/dist/utils/error-handler.js +468 -0
  106. package/dist/utils/error-handler.js.map +1 -0
  107. package/dist/utils/normalization.d.ts +3 -0
  108. package/dist/utils/normalization.d.ts.map +1 -0
  109. package/dist/utils/normalization.js +24 -0
  110. package/dist/utils/normalization.js.map +1 -0
  111. package/dist/utils/validation.d.ts +10 -0
  112. package/dist/utils/validation.d.ts.map +1 -0
  113. package/dist/utils/validation.js +32 -0
  114. package/dist/utils/validation.js.map +1 -0
  115. package/package.json +44 -0
  116. package/types/index.d.ts +734 -0
@@ -0,0 +1,364 @@
1
+ /**
2
+ * Advanced Component Caching System for Coherent.js
3
+ * Provides intelligent caching with dependency tracking and invalidation
4
+ */
5
+ import { deepClone } from '../core/object-utils.js';
6
+ /**
7
+ * Cache entry structure
8
+ */
9
+ class CacheEntry {
10
+ constructor(key, component, deps = [], options = {}) {
11
+ this.key = key;
12
+ this.component = deepClone(component);
13
+ this.deps = new Set(deps);
14
+ this.createdAt = Date.now();
15
+ this.lastAccessed = Date.now();
16
+ this.accessCount = 1;
17
+ this.ttl = options.ttl || 300000; // 5 minutes default
18
+ this.persistent = options.persistent || false;
19
+ }
20
+ isExpired() {
21
+ return !this.persistent && (Date.now() - this.createdAt) > this.ttl;
22
+ }
23
+ touch() {
24
+ this.lastAccessed = Date.now();
25
+ this.accessCount++;
26
+ }
27
+ hasDependency(dep) {
28
+ return this.deps.has(dep);
29
+ }
30
+ addDependency(dep) {
31
+ this.deps.add(dep);
32
+ }
33
+ removeDependency(dep) {
34
+ this.deps.delete(dep);
35
+ }
36
+ }
37
+ /**
38
+ * Component Cache Manager with intelligent invalidation
39
+ */
40
+ export class ComponentCache {
41
+ constructor(options = {}) {
42
+ this.options = {
43
+ maxSize: options.maxSize || 1000,
44
+ defaultTTL: options.defaultTTL || 300000,
45
+ cleanupInterval: options.cleanupInterval || 60000, // 1 minute
46
+ enableStats: options.enableStats !== false,
47
+ ...options
48
+ };
49
+ this.cache = new Map();
50
+ this.dependencies = new Map(); // dependency -> Set of cache keys
51
+ this.stats = {
52
+ hits: 0,
53
+ misses: 0,
54
+ evictions: 0,
55
+ cleanups: 0,
56
+ invalidations: 0
57
+ };
58
+ // Start periodic cleanup
59
+ if (this.options.cleanupInterval > 0) {
60
+ this.cleanupTimer = setInterval(() => {
61
+ this.cleanup();
62
+ }, this.options.cleanupInterval);
63
+ }
64
+ }
65
+ /**
66
+ * Generate cache key from component and props
67
+ */
68
+ generateKey(component, props = {}, context = {}) {
69
+ if (typeof component === 'string') {
70
+ return `str:${component}`;
71
+ }
72
+ if (typeof component === 'function') {
73
+ return `fn:${component.name || 'anonymous'}:${JSON.stringify(_props)}`;
74
+ }
75
+ if (typeof component === 'object' && component !== null) {
76
+ const serialized = this.serializeComponent(component);
77
+ const propsHash = Object.keys(_props).length > 0 ? `:${JSON.stringify(_props)}` : '';
78
+ const contextHash = Object.keys(_context).length > 0 ? `:${JSON.stringify(_context)}` : '';
79
+ return `obj:${serialized}${propsHash}${contextHash}`;
80
+ }
81
+ return `primitive:${String(component)}`;
82
+ }
83
+ /**
84
+ * Serialize component for cache key generation
85
+ */
86
+ serializeComponent(component, maxDepth = 3, currentDepth = 0) {
87
+ if (currentDepth > maxDepth) {
88
+ return '[DEEP]';
89
+ }
90
+ if (typeof component !== 'object' || component === null) {
91
+ return String(component);
92
+ }
93
+ if (Array.isArray(component)) {
94
+ return `[${component.map(item => this.serializeComponent(item, maxDepth, currentDepth + 1)).join(',')}]`;
95
+ }
96
+ const entries = Object.entries(component);
97
+ if (entries.length === 1) {
98
+ const [key, value] = entries[0];
99
+ const serializedValue = typeof value === 'object'
100
+ ? this.serializeComponent(value, maxDepth, currentDepth + 1)
101
+ : String(value);
102
+ return `${key}:${serializedValue}`;
103
+ }
104
+ return '[COMPLEX]';
105
+ }
106
+ /**
107
+ * Get component from cache
108
+ */
109
+ get(key, dependencies = []) {
110
+ const _entry = this.cache.get(key);
111
+ if (!entry) {
112
+ this.stats.misses++;
113
+ return null;
114
+ }
115
+ if (entry.isExpired()) {
116
+ this.cache.delete(key);
117
+ this.removeDependencyMappings(key);
118
+ this.stats.misses++;
119
+ return null;
120
+ }
121
+ entry.touch();
122
+ this.stats.hits++;
123
+ // Update dependency tracking
124
+ dependencies.forEach(dep => {
125
+ if (!entry.hasDependency(dep)) {
126
+ entry.addDependency(dep);
127
+ this.addDependencyMapping(dep, key);
128
+ }
129
+ });
130
+ return deepClone(entry.component);
131
+ }
132
+ /**
133
+ * Set component in cache
134
+ */
135
+ set(key, component, options = {}) {
136
+ // Enforce size limit
137
+ if (this.cache.size >= this.options.maxSize) {
138
+ this.evictLeastUsed();
139
+ }
140
+ const deps = options.dependencies || [];
141
+ const _entry = new CacheEntry(key, component, deps, {
142
+ ttl: options.ttl || this.options.defaultTTL,
143
+ persistent: options.persistent || false
144
+ });
145
+ this.cache.set(key, entry);
146
+ // Update dependency mappings
147
+ deps.forEach(dep => {
148
+ this.addDependencyMapping(dep, key);
149
+ });
150
+ return true;
151
+ }
152
+ /**
153
+ * Check if component exists in cache
154
+ */
155
+ has(key) {
156
+ const _entry = this.cache.get(key);
157
+ return entry && !entry.isExpired();
158
+ }
159
+ /**
160
+ * Invalidate cache entries by dependency
161
+ */
162
+ invalidate(dependency) {
163
+ const dependentKeys = this.dependencies.get(dependency);
164
+ if (!dependentKeys) {
165
+ return 0;
166
+ }
167
+ let invalidated = 0;
168
+ for (const key of dependentKeys) {
169
+ if (this.cache.delete(key)) {
170
+ invalidated++;
171
+ this.stats.invalidations++;
172
+ }
173
+ }
174
+ this.dependencies.delete(dependency);
175
+ return invalidated;
176
+ }
177
+ /**
178
+ * Invalidate multiple dependencies
179
+ */
180
+ invalidateMultiple(dependencies) {
181
+ let totalInvalidated = 0;
182
+ dependencies.forEach(dep => {
183
+ totalInvalidated += this.invalidate(dep);
184
+ });
185
+ return totalInvalidated;
186
+ }
187
+ /**
188
+ * Clear entire cache
189
+ */
190
+ clear() {
191
+ const size = this.cache.size;
192
+ this.cache.clear();
193
+ this.dependencies.clear();
194
+ return size;
195
+ }
196
+ /**
197
+ * Add dependency mapping
198
+ */
199
+ addDependencyMapping(dependency, key) {
200
+ if (!this.dependencies.has(dependency)) {
201
+ this.dependencies.set(dependency, new Set());
202
+ }
203
+ this.dependencies.get(dependency).add(key);
204
+ }
205
+ /**
206
+ * Remove dependency mappings for a cache key
207
+ */
208
+ removeDependencyMappings(key) {
209
+ for (const [dep, keys] of this.dependencies.entries()) {
210
+ keys.delete(key);
211
+ if (keys.size === 0) {
212
+ this.dependencies.delete(dep);
213
+ }
214
+ }
215
+ }
216
+ /**
217
+ * Evict least recently used entry
218
+ */
219
+ evictLeastUsed() {
220
+ let oldestKey = null;
221
+ let oldestTime = Date.now();
222
+ for (const [key, entry] of this.cache.entries()) {
223
+ if (!entry.persistent && entry.lastAccessed < oldestTime) {
224
+ oldestTime = entry.lastAccessed;
225
+ oldestKey = key;
226
+ }
227
+ }
228
+ if (oldestKey) {
229
+ this.cache.delete(oldestKey);
230
+ this.removeDependencyMappings(oldestKey);
231
+ this.stats.evictions++;
232
+ }
233
+ }
234
+ /**
235
+ * Cleanup expired entries
236
+ */
237
+ cleanup() {
238
+ const before = this.cache.size;
239
+ const expiredKeys = [];
240
+ for (const [key, entry] of this.cache.entries()) {
241
+ if (entry.isExpired()) {
242
+ expiredKeys.push(key);
243
+ }
244
+ }
245
+ expiredKeys.forEach(key => {
246
+ this.cache.delete(key);
247
+ this.removeDependencyMappings(key);
248
+ });
249
+ const cleaned = before - this.cache.size;
250
+ if (cleaned > 0) {
251
+ this.stats.cleanups++;
252
+ }
253
+ return cleaned;
254
+ }
255
+ /**
256
+ * Get cache statistics
257
+ */
258
+ getStats() {
259
+ const totalRequests = this.stats.hits + this.stats.misses;
260
+ return {
261
+ size: this.cache.size,
262
+ maxSize: this.options.maxSize,
263
+ hits: this.stats.hits,
264
+ misses: this.stats.misses,
265
+ hitRate: totalRequests > 0 ? (this.stats.hits / totalRequests * 100).toFixed(2) : 0,
266
+ evictions: this.stats.evictions,
267
+ cleanups: this.stats.cleanups,
268
+ invalidations: this.stats.invalidations,
269
+ dependencies: this.dependencies.size,
270
+ memoryUsage: this.estimateMemoryUsage()
271
+ };
272
+ }
273
+ /**
274
+ * Estimate memory usage (rough approximation)
275
+ */
276
+ estimateMemoryUsage() {
277
+ let totalSize = 0;
278
+ for (const entry of this.cache.values()) {
279
+ // Rough estimate: 1KB per component + overhead
280
+ totalSize += JSON.stringify(entry.component).length + 500;
281
+ }
282
+ return Math.round(totalSize / 1024); // Return in KB
283
+ }
284
+ /**
285
+ * Get hot path components (most accessed)
286
+ */
287
+ getHotComponents(limit = 10) {
288
+ const entries = Array.from(this.cache.entries());
289
+ return entries
290
+ .sort((a, b) => b[1].accessCount - a[1].accessCount)
291
+ .slice(0, limit)
292
+ .map(([key, entry]) => ({
293
+ key,
294
+ accessCount: entry.accessCount,
295
+ component: entry.component,
296
+ dependencies: Array.from(entry.deps)
297
+ }));
298
+ }
299
+ /**
300
+ * Get cache recommendations
301
+ */
302
+ getRecommendations() {
303
+ const stats = this.getStats();
304
+ const recommendations = [];
305
+ if (stats.hitRate < 50) {
306
+ recommendations.push({
307
+ type: 'low-hit-rate',
308
+ message: `Hit rate is ${stats.hitRate}%. Consider increasing cache size or TTL.`,
309
+ priority: 'HIGH'
310
+ });
311
+ }
312
+ if (stats.evictions > stats.hits * 0.1) {
313
+ recommendations.push({
314
+ type: 'frequent-evictions',
315
+ message: 'Frequent evictions detected. Consider increasing maxSize.',
316
+ priority: 'MEDIUM'
317
+ });
318
+ }
319
+ if (stats.invalidations > stats.hits * 0.05) {
320
+ recommendations.push({
321
+ type: 'frequent-invalidations',
322
+ message: 'Frequent invalidations. Review dependency tracking.',
323
+ priority: 'LOW'
324
+ });
325
+ }
326
+ return recommendations;
327
+ }
328
+ /**
329
+ * Destroy cache and cleanup
330
+ */
331
+ destroy() {
332
+ if (this.cleanupTimer) {
333
+ clearInterval(this.cleanupTimer);
334
+ }
335
+ this.clear();
336
+ }
337
+ }
338
+ /**
339
+ * Create a new component cache instance
340
+ */
341
+ export function createComponentCache(options = {}) {
342
+ return new ComponentCache(options);
343
+ }
344
+ /**
345
+ * Memoization decorator for components
346
+ */
347
+ export function memoize(component, keyGenerator, options = {}) {
348
+ const cache = new ComponentCache({
349
+ maxSize: options.maxSize || 100,
350
+ defaultTTL: options.ttl || 300000
351
+ });
352
+ return function memoizedComponent(...args) {
353
+ const key = keyGenerator ? keyGenerator(...args) : JSON.stringify(args);
354
+ const cached = cache.get(key, options.dependencies);
355
+ if (cached) {
356
+ return cached;
357
+ }
358
+ const result = typeof component === 'function' ? component(...args) : component;
359
+ cache.set(key, result, options);
360
+ return result;
361
+ };
362
+ }
363
+ export default ComponentCache;
364
+ //# sourceMappingURL=component-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-cache.js","sourceRoot":"","sources":["../../../../src/performance/component-cache.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
1
+ export class PerformanceMonitor {
2
+ metrics: {
3
+ renderTimes: never[];
4
+ componentCounts: Map<any, any>;
5
+ memoryUsage: never[];
6
+ cachePerformance: never[];
7
+ errors: never[];
8
+ };
9
+ startTime: number;
10
+ isMonitoring: boolean;
11
+ start(): void;
12
+ stop(): {
13
+ summary: {
14
+ uptime: string;
15
+ totalRenders: number;
16
+ averageRenderTime: string | number;
17
+ errorRate: string | number;
18
+ memoryEfficiency: string;
19
+ };
20
+ performance: {
21
+ renderTimes: {
22
+ min?: undefined;
23
+ max?: undefined;
24
+ median?: undefined;
25
+ p95?: undefined;
26
+ p99?: undefined;
27
+ } | {
28
+ min: any;
29
+ max: any;
30
+ median: any;
31
+ p95: any;
32
+ p99: any;
33
+ };
34
+ topComponents: {
35
+ component: any;
36
+ count: any;
37
+ }[];
38
+ slowestComponents: {
39
+ component: any;
40
+ avgTime: string;
41
+ maxTime: string;
42
+ count: any;
43
+ }[];
44
+ memoryTrends: {
45
+ direction?: undefined;
46
+ rate?: undefined;
47
+ currentHeap?: undefined;
48
+ trend?: undefined;
49
+ } | {
50
+ direction: string;
51
+ rate: string;
52
+ currentHeap: string;
53
+ trend: number;
54
+ };
55
+ };
56
+ caching: any;
57
+ recommendations: {
58
+ priority: string;
59
+ issue: string;
60
+ suggestion: string;
61
+ impact: string;
62
+ }[];
63
+ rawMetrics: {
64
+ recentRenders: never[];
65
+ recentErrors: never[];
66
+ memorySnapshots: never[];
67
+ };
68
+ };
69
+ measureRender(component: any, props: any, renderFn: any): any;
70
+ recordRenderMetric(metric: any): void;
71
+ recordError(error: any, component: any): void;
72
+ collectSystemMetrics(): void;
73
+ getComponentName(component: any): any;
74
+ generateReport(): {
75
+ summary: {
76
+ uptime: string;
77
+ totalRenders: number;
78
+ averageRenderTime: string | number;
79
+ errorRate: string | number;
80
+ memoryEfficiency: string;
81
+ };
82
+ performance: {
83
+ renderTimes: {
84
+ min?: undefined;
85
+ max?: undefined;
86
+ median?: undefined;
87
+ p95?: undefined;
88
+ p99?: undefined;
89
+ } | {
90
+ min: any;
91
+ max: any;
92
+ median: any;
93
+ p95: any;
94
+ p99: any;
95
+ };
96
+ topComponents: {
97
+ component: any;
98
+ count: any;
99
+ }[];
100
+ slowestComponents: {
101
+ component: any;
102
+ avgTime: string;
103
+ maxTime: string;
104
+ count: any;
105
+ }[];
106
+ memoryTrends: {
107
+ direction?: undefined;
108
+ rate?: undefined;
109
+ currentHeap?: undefined;
110
+ trend?: undefined;
111
+ } | {
112
+ direction: string;
113
+ rate: string;
114
+ currentHeap: string;
115
+ trend: number;
116
+ };
117
+ };
118
+ caching: any;
119
+ recommendations: {
120
+ priority: string;
121
+ issue: string;
122
+ suggestion: string;
123
+ impact: string;
124
+ }[];
125
+ rawMetrics: {
126
+ recentRenders: never[];
127
+ recentErrors: never[];
128
+ memorySnapshots: never[];
129
+ };
130
+ };
131
+ calculateAverageRenderTime(): string | 0;
132
+ calculateErrorRate(): string | 0;
133
+ calculateMemoryEfficiency(): string;
134
+ getRenderTimeStats(): {
135
+ min?: undefined;
136
+ max?: undefined;
137
+ median?: undefined;
138
+ p95?: undefined;
139
+ p99?: undefined;
140
+ } | {
141
+ min: any;
142
+ max: any;
143
+ median: any;
144
+ p95: any;
145
+ p99: any;
146
+ };
147
+ getTopComponentsByUsage(limit?: number): {
148
+ component: any;
149
+ count: any;
150
+ }[];
151
+ getSlowestComponents(limit?: number): {
152
+ component: any;
153
+ avgTime: string;
154
+ maxTime: string;
155
+ count: any;
156
+ }[];
157
+ getMemoryTrends(): {
158
+ direction?: undefined;
159
+ rate?: undefined;
160
+ currentHeap?: undefined;
161
+ trend?: undefined;
162
+ } | {
163
+ direction: string;
164
+ rate: string;
165
+ currentHeap: string;
166
+ trend: number;
167
+ };
168
+ generatePerformanceRecommendations(): {
169
+ priority: string;
170
+ issue: string;
171
+ suggestion: string;
172
+ impact: string;
173
+ }[];
174
+ calculateTrend(values: any): number;
175
+ getRealtimeStats(): {
176
+ currentRenderRate: string;
177
+ avgRecentRenderTime: string;
178
+ memoryUsage: string;
179
+ cacheHitRate: any;
180
+ activeComponents: number;
181
+ };
182
+ /**
183
+ * Record component render performance
184
+ */
185
+ recordRender(componentName: any, startTime: any, endTime: any, metadata?: {}): void;
186
+ renderTimes: any;
187
+ }
188
+ export const performanceMonitor: PerformanceMonitor;
189
+ //# sourceMappingURL=monitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../../../src/performance/monitor.js"],"names":[],"mappings":"AAYA;IAEQ;;;;;;MAMC;IAED,kBAA2B;IAC3B,sBAAyB;IAG7B,cAIC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAIC;IAGD,8DAwBC;IAED,sCAcC;IAED,8CAOC;IAED,6BA2BC;IAED,sCASC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8BC;IAED,yCAKC;IAED,iCAKC;IAED,oCA6BC;IAED;;;;;;;;;;;;MAYC;IAED;;;QAKC;IAED;;;;;QAkBC;IAED;;;;;;;;;;MAYC;IAED;;;;;QA2DC;IAED,oCAUC;IAGD;;;;;;MAeC;IAED;;OAEG;IACH,oFAyCC;IAPO,iBAAgD;CAQ3D;AAGD,oDAA2D"}