flexium 0.10.3 → 0.10.6
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/{DrawText-ngwNNh8O.d.ts → DrawText-CVAKQ5wZ.d.cts} +42 -42
- package/dist/{DrawText-ccZrs3Xs.d.cts → DrawText-Dlh1L1Ar.d.ts} +42 -42
- package/dist/advanced.d.cts +1 -1
- package/dist/advanced.d.ts +1 -1
- package/dist/advanced.js +1 -1
- package/dist/advanced.js.map +1 -1
- package/dist/advanced.mjs +1 -1
- package/dist/advanced.mjs.map +1 -1
- package/dist/canvas.d.cts +5 -6
- package/dist/canvas.d.ts +5 -6
- package/dist/canvas.js +1 -1
- package/dist/canvas.mjs +1 -1
- package/dist/chunk-2L2QFYBL.mjs +2 -0
- package/dist/chunk-2L2QFYBL.mjs.map +1 -0
- package/dist/chunk-ANJNQW77.js +2 -0
- package/dist/chunk-ANJNQW77.js.map +1 -0
- package/dist/{chunk-WXEHDEIH.js → chunk-DZ7L3SHV.js} +2 -2
- package/dist/{chunk-WXEHDEIH.js.map → chunk-DZ7L3SHV.js.map} +1 -1
- package/dist/chunk-E5WYPGCV.mjs +3 -0
- package/dist/chunk-E5WYPGCV.mjs.map +1 -0
- package/dist/chunk-ECYYIQEX.mjs +3 -0
- package/dist/chunk-ECYYIQEX.mjs.map +1 -0
- package/dist/chunk-ERIXVRJ4.mjs +3 -0
- package/dist/chunk-ERIXVRJ4.mjs.map +1 -0
- package/dist/chunk-F23GIQDE.mjs +2 -0
- package/dist/chunk-F23GIQDE.mjs.map +1 -0
- package/dist/chunk-FDMJHFN7.mjs +2 -0
- package/dist/chunk-FDMJHFN7.mjs.map +1 -0
- package/dist/chunk-GKJQEOP7.mjs +2 -0
- package/dist/{chunk-PVPY55Z7.mjs.map → chunk-GKJQEOP7.mjs.map} +1 -1
- package/dist/chunk-GYDP6MFV.js +3 -0
- package/dist/chunk-GYDP6MFV.js.map +1 -0
- package/dist/chunk-HB5VPQTB.mjs +2 -0
- package/dist/chunk-HB5VPQTB.mjs.map +1 -0
- package/dist/chunk-NF4RPLCK.js +3 -0
- package/dist/chunk-NF4RPLCK.js.map +1 -0
- package/dist/chunk-OPAAGNBO.mjs +2 -0
- package/dist/{chunk-HLPVL6EK.mjs.map → chunk-OPAAGNBO.mjs.map} +1 -1
- package/dist/chunk-RLLO5M6F.js +3 -0
- package/dist/chunk-RLLO5M6F.js.map +1 -0
- package/dist/{chunk-63AW5ZOC.js → chunk-RMN5IPS5.js} +2 -2
- package/dist/{chunk-63AW5ZOC.js.map → chunk-RMN5IPS5.js.map} +1 -1
- package/dist/chunk-WWEWRI6S.js +2 -0
- package/dist/chunk-WWEWRI6S.js.map +1 -0
- package/dist/chunk-YEBBTVHG.js +2 -0
- package/dist/chunk-YEBBTVHG.js.map +1 -0
- package/dist/chunk-YPVRQKMW.js +2 -0
- package/dist/chunk-YPVRQKMW.js.map +1 -0
- package/dist/{components-CxnAnbpI.d.cts → components-BMbqsbMY.d.cts} +5 -5
- package/dist/{components-B7KQ8C-i.d.ts → components-C83mBQXW.d.ts} +5 -5
- package/dist/{effect-14CxUU8r.d.ts → core-CxHP8991.d.cts} +9 -1
- package/dist/{effect-14CxUU8r.d.cts → core-D0ggvjX3.d.ts} +9 -1
- package/dist/core.d.cts +2 -80
- package/dist/core.d.ts +2 -80
- package/dist/core.js +1 -1
- package/dist/core.mjs +1 -1
- package/dist/dom.d.cts +2 -2
- package/dist/dom.d.ts +2 -2
- package/dist/dom.js +1 -1
- package/dist/dom.js.map +1 -1
- package/dist/dom.mjs +1 -1
- package/dist/dom.mjs.map +1 -1
- package/dist/effect-554ONNZR.js +2 -0
- package/dist/{effect-K45UU3N4.js.map → effect-554ONNZR.js.map} +1 -1
- package/dist/effect-T2GVIS3T.mjs +2 -0
- package/dist/{effect-3LUCHSAZ.mjs.map → effect-T2GVIS3T.mjs.map} +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/interactive.d.cts +5 -5
- package/dist/interactive.d.ts +5 -5
- package/dist/interactive.js +1 -1
- package/dist/interactive.js.map +1 -1
- package/dist/interactive.mjs +1 -1
- package/dist/interactive.mjs.map +1 -1
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/{portal-NLlE-fNZ.d.cts → portal-BK_0Z0hE.d.cts} +2 -2
- package/dist/{portal-CVqrpmHd.d.ts → portal-CbguxtuQ.d.ts} +2 -2
- package/dist/primitives/motion.js +1 -1
- package/dist/primitives/motion.mjs +1 -1
- package/dist/primitives/ui.d.cts +3 -3
- package/dist/primitives/ui.d.ts +3 -3
- package/dist/primitives/ui.js +1 -1
- package/dist/primitives/ui.js.map +1 -1
- package/dist/primitives/ui.mjs +1 -1
- package/dist/primitives/ui.mjs.map +1 -1
- package/dist/primitives.d.cts +4 -5
- package/dist/primitives.d.ts +4 -5
- package/dist/primitives.js +1 -1
- package/dist/primitives.js.map +1 -1
- package/dist/primitives.mjs +1 -1
- package/dist/primitives.mjs.map +1 -1
- package/dist/router.d.cts +3 -3
- package/dist/router.d.ts +3 -3
- package/dist/router.js +1 -1
- package/dist/router.mjs +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/server.mjs +1 -1
- package/dist/server.mjs.map +1 -1
- package/dist/state-DitsMyev.d.cts +96 -0
- package/dist/state-DitsMyev.d.ts +96 -0
- package/dist/state-S3TSPDMB.js +2 -0
- package/dist/state-S3TSPDMB.js.map +1 -0
- package/dist/state-SUVOJZYY.mjs +2 -0
- package/dist/state-SUVOJZYY.mjs.map +1 -0
- package/dist/test-exports.d.cts +37 -7
- package/dist/test-exports.d.ts +37 -7
- package/dist/test-exports.js +1 -1
- package/dist/test-exports.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-3BQXIHYI.mjs +0 -3
- package/dist/chunk-3BQXIHYI.mjs.map +0 -1
- package/dist/chunk-5236IK5I.js +0 -2
- package/dist/chunk-5236IK5I.js.map +0 -1
- package/dist/chunk-AJT35P3Z.js +0 -3
- package/dist/chunk-AJT35P3Z.js.map +0 -1
- package/dist/chunk-AYQMU7XC.js +0 -3
- package/dist/chunk-AYQMU7XC.js.map +0 -1
- package/dist/chunk-B7VP6HBY.mjs +0 -2
- package/dist/chunk-B7VP6HBY.mjs.map +0 -1
- package/dist/chunk-FOPCQGWG.mjs +0 -3
- package/dist/chunk-FOPCQGWG.mjs.map +0 -1
- package/dist/chunk-HLPVL6EK.mjs +0 -2
- package/dist/chunk-KJPIJNFH.mjs +0 -2
- package/dist/chunk-KJPIJNFH.mjs.map +0 -1
- package/dist/chunk-PVPY55Z7.mjs +0 -2
- package/dist/chunk-Q7WT5IIF.mjs +0 -3
- package/dist/chunk-Q7WT5IIF.mjs.map +0 -1
- package/dist/chunk-REM6WIZS.mjs +0 -2
- package/dist/chunk-REM6WIZS.mjs.map +0 -1
- package/dist/chunk-RSI6RYJ7.js +0 -2
- package/dist/chunk-RSI6RYJ7.js.map +0 -1
- package/dist/chunk-WOHSSPKD.js +0 -2
- package/dist/chunk-WOHSSPKD.js.map +0 -1
- package/dist/chunk-XKPRCSXK.js +0 -3
- package/dist/chunk-XKPRCSXK.js.map +0 -1
- package/dist/effect-3LUCHSAZ.mjs +0 -2
- package/dist/effect-K45UU3N4.js +0 -2
- package/dist/signal-2QUI7H7B.js +0 -2
- package/dist/signal-2QUI7H7B.js.map +0 -1
- package/dist/signal-C6936A3J.d.cts +0 -175
- package/dist/signal-C6936A3J.d.ts +0 -175
- package/dist/signal-L3ZWGOVT.mjs +0 -2
- package/dist/signal-L3ZWGOVT.mjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { S as StateValue } from './state-DitsMyev.cjs';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Core Flexium types
|
|
@@ -149,46 +149,46 @@ interface CanvasProps {
|
|
|
149
149
|
* Rectangle drawing props
|
|
150
150
|
*/
|
|
151
151
|
interface DrawRectProps {
|
|
152
|
-
x: number |
|
|
153
|
-
y: number |
|
|
154
|
-
width: number |
|
|
155
|
-
height: number |
|
|
156
|
-
fill?: string |
|
|
157
|
-
stroke?: string |
|
|
158
|
-
strokeWidth?: number |
|
|
159
|
-
opacity?: number |
|
|
152
|
+
x: number | StateValue<number>;
|
|
153
|
+
y: number | StateValue<number>;
|
|
154
|
+
width: number | StateValue<number>;
|
|
155
|
+
height: number | StateValue<number>;
|
|
156
|
+
fill?: string | StateValue<string>;
|
|
157
|
+
stroke?: string | StateValue<string>;
|
|
158
|
+
strokeWidth?: number | StateValue<number>;
|
|
159
|
+
opacity?: number | StateValue<number>;
|
|
160
160
|
}
|
|
161
161
|
/**
|
|
162
162
|
* Circle drawing props
|
|
163
163
|
*/
|
|
164
164
|
interface DrawCircleProps {
|
|
165
|
-
x: number |
|
|
166
|
-
y: number |
|
|
167
|
-
radius: number |
|
|
168
|
-
fill?: string |
|
|
169
|
-
stroke?: string |
|
|
170
|
-
strokeWidth?: number |
|
|
171
|
-
opacity?: number |
|
|
165
|
+
x: number | StateValue<number>;
|
|
166
|
+
y: number | StateValue<number>;
|
|
167
|
+
radius: number | StateValue<number>;
|
|
168
|
+
fill?: string | StateValue<string>;
|
|
169
|
+
stroke?: string | StateValue<string>;
|
|
170
|
+
strokeWidth?: number | StateValue<number>;
|
|
171
|
+
opacity?: number | StateValue<number>;
|
|
172
172
|
}
|
|
173
173
|
/**
|
|
174
174
|
* Path drawing props
|
|
175
175
|
*/
|
|
176
176
|
interface DrawPathProps {
|
|
177
|
-
d: string |
|
|
178
|
-
fill?: string |
|
|
179
|
-
stroke?: string |
|
|
180
|
-
strokeWidth?: number |
|
|
181
|
-
opacity?: number |
|
|
177
|
+
d: string | StateValue<string>;
|
|
178
|
+
fill?: string | StateValue<string>;
|
|
179
|
+
stroke?: string | StateValue<string>;
|
|
180
|
+
strokeWidth?: number | StateValue<number>;
|
|
181
|
+
opacity?: number | StateValue<number>;
|
|
182
182
|
}
|
|
183
183
|
/**
|
|
184
184
|
* Canvas text drawing props
|
|
185
185
|
*/
|
|
186
186
|
interface DrawTextProps {
|
|
187
|
-
x: number |
|
|
188
|
-
y: number |
|
|
189
|
-
text: string |
|
|
190
|
-
fill?: string |
|
|
191
|
-
fontSize?: number |
|
|
187
|
+
x: number | StateValue<number>;
|
|
188
|
+
y: number | StateValue<number>;
|
|
189
|
+
text: string | StateValue<string>;
|
|
190
|
+
fill?: string | StateValue<string>;
|
|
191
|
+
fontSize?: number | StateValue<number>;
|
|
192
192
|
fontFamily?: string;
|
|
193
193
|
fontWeight?: 'normal' | 'bold' | number;
|
|
194
194
|
textAlign?: 'left' | 'center' | 'right';
|
|
@@ -198,28 +198,28 @@ interface DrawTextProps {
|
|
|
198
198
|
* Line drawing props
|
|
199
199
|
*/
|
|
200
200
|
interface DrawLineProps {
|
|
201
|
-
x1: number |
|
|
202
|
-
y1: number |
|
|
203
|
-
x2: number |
|
|
204
|
-
y2: number |
|
|
205
|
-
stroke?: string |
|
|
206
|
-
strokeWidth?: number |
|
|
207
|
-
opacity?: number |
|
|
201
|
+
x1: number | StateValue<number>;
|
|
202
|
+
y1: number | StateValue<number>;
|
|
203
|
+
x2: number | StateValue<number>;
|
|
204
|
+
y2: number | StateValue<number>;
|
|
205
|
+
stroke?: string | StateValue<string>;
|
|
206
|
+
strokeWidth?: number | StateValue<number>;
|
|
207
|
+
opacity?: number | StateValue<number>;
|
|
208
208
|
}
|
|
209
209
|
/**
|
|
210
210
|
* Arc drawing props
|
|
211
211
|
*/
|
|
212
212
|
interface DrawArcProps {
|
|
213
|
-
x: number |
|
|
214
|
-
y: number |
|
|
215
|
-
radius: number |
|
|
216
|
-
startAngle: number |
|
|
217
|
-
endAngle: number |
|
|
213
|
+
x: number | StateValue<number>;
|
|
214
|
+
y: number | StateValue<number>;
|
|
215
|
+
radius: number | StateValue<number>;
|
|
216
|
+
startAngle: number | StateValue<number>;
|
|
217
|
+
endAngle: number | StateValue<number>;
|
|
218
218
|
counterclockwise?: boolean;
|
|
219
|
-
fill?: string |
|
|
220
|
-
stroke?: string |
|
|
221
|
-
strokeWidth?: number |
|
|
222
|
-
opacity?: number |
|
|
219
|
+
fill?: string | StateValue<string>;
|
|
220
|
+
stroke?: string | StateValue<string>;
|
|
221
|
+
strokeWidth?: number | StateValue<number>;
|
|
222
|
+
opacity?: number | StateValue<number>;
|
|
223
223
|
}
|
|
224
224
|
|
|
225
225
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { S as StateValue } from './state-DitsMyev.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Core Flexium types
|
|
@@ -149,46 +149,46 @@ interface CanvasProps {
|
|
|
149
149
|
* Rectangle drawing props
|
|
150
150
|
*/
|
|
151
151
|
interface DrawRectProps {
|
|
152
|
-
x: number |
|
|
153
|
-
y: number |
|
|
154
|
-
width: number |
|
|
155
|
-
height: number |
|
|
156
|
-
fill?: string |
|
|
157
|
-
stroke?: string |
|
|
158
|
-
strokeWidth?: number |
|
|
159
|
-
opacity?: number |
|
|
152
|
+
x: number | StateValue<number>;
|
|
153
|
+
y: number | StateValue<number>;
|
|
154
|
+
width: number | StateValue<number>;
|
|
155
|
+
height: number | StateValue<number>;
|
|
156
|
+
fill?: string | StateValue<string>;
|
|
157
|
+
stroke?: string | StateValue<string>;
|
|
158
|
+
strokeWidth?: number | StateValue<number>;
|
|
159
|
+
opacity?: number | StateValue<number>;
|
|
160
160
|
}
|
|
161
161
|
/**
|
|
162
162
|
* Circle drawing props
|
|
163
163
|
*/
|
|
164
164
|
interface DrawCircleProps {
|
|
165
|
-
x: number |
|
|
166
|
-
y: number |
|
|
167
|
-
radius: number |
|
|
168
|
-
fill?: string |
|
|
169
|
-
stroke?: string |
|
|
170
|
-
strokeWidth?: number |
|
|
171
|
-
opacity?: number |
|
|
165
|
+
x: number | StateValue<number>;
|
|
166
|
+
y: number | StateValue<number>;
|
|
167
|
+
radius: number | StateValue<number>;
|
|
168
|
+
fill?: string | StateValue<string>;
|
|
169
|
+
stroke?: string | StateValue<string>;
|
|
170
|
+
strokeWidth?: number | StateValue<number>;
|
|
171
|
+
opacity?: number | StateValue<number>;
|
|
172
172
|
}
|
|
173
173
|
/**
|
|
174
174
|
* Path drawing props
|
|
175
175
|
*/
|
|
176
176
|
interface DrawPathProps {
|
|
177
|
-
d: string |
|
|
178
|
-
fill?: string |
|
|
179
|
-
stroke?: string |
|
|
180
|
-
strokeWidth?: number |
|
|
181
|
-
opacity?: number |
|
|
177
|
+
d: string | StateValue<string>;
|
|
178
|
+
fill?: string | StateValue<string>;
|
|
179
|
+
stroke?: string | StateValue<string>;
|
|
180
|
+
strokeWidth?: number | StateValue<number>;
|
|
181
|
+
opacity?: number | StateValue<number>;
|
|
182
182
|
}
|
|
183
183
|
/**
|
|
184
184
|
* Canvas text drawing props
|
|
185
185
|
*/
|
|
186
186
|
interface DrawTextProps {
|
|
187
|
-
x: number |
|
|
188
|
-
y: number |
|
|
189
|
-
text: string |
|
|
190
|
-
fill?: string |
|
|
191
|
-
fontSize?: number |
|
|
187
|
+
x: number | StateValue<number>;
|
|
188
|
+
y: number | StateValue<number>;
|
|
189
|
+
text: string | StateValue<string>;
|
|
190
|
+
fill?: string | StateValue<string>;
|
|
191
|
+
fontSize?: number | StateValue<number>;
|
|
192
192
|
fontFamily?: string;
|
|
193
193
|
fontWeight?: 'normal' | 'bold' | number;
|
|
194
194
|
textAlign?: 'left' | 'center' | 'right';
|
|
@@ -198,28 +198,28 @@ interface DrawTextProps {
|
|
|
198
198
|
* Line drawing props
|
|
199
199
|
*/
|
|
200
200
|
interface DrawLineProps {
|
|
201
|
-
x1: number |
|
|
202
|
-
y1: number |
|
|
203
|
-
x2: number |
|
|
204
|
-
y2: number |
|
|
205
|
-
stroke?: string |
|
|
206
|
-
strokeWidth?: number |
|
|
207
|
-
opacity?: number |
|
|
201
|
+
x1: number | StateValue<number>;
|
|
202
|
+
y1: number | StateValue<number>;
|
|
203
|
+
x2: number | StateValue<number>;
|
|
204
|
+
y2: number | StateValue<number>;
|
|
205
|
+
stroke?: string | StateValue<string>;
|
|
206
|
+
strokeWidth?: number | StateValue<number>;
|
|
207
|
+
opacity?: number | StateValue<number>;
|
|
208
208
|
}
|
|
209
209
|
/**
|
|
210
210
|
* Arc drawing props
|
|
211
211
|
*/
|
|
212
212
|
interface DrawArcProps {
|
|
213
|
-
x: number |
|
|
214
|
-
y: number |
|
|
215
|
-
radius: number |
|
|
216
|
-
startAngle: number |
|
|
217
|
-
endAngle: number |
|
|
213
|
+
x: number | StateValue<number>;
|
|
214
|
+
y: number | StateValue<number>;
|
|
215
|
+
radius: number | StateValue<number>;
|
|
216
|
+
startAngle: number | StateValue<number>;
|
|
217
|
+
endAngle: number | StateValue<number>;
|
|
218
218
|
counterclockwise?: boolean;
|
|
219
|
-
fill?: string |
|
|
220
|
-
stroke?: string |
|
|
221
|
-
strokeWidth?: number |
|
|
222
|
-
opacity?: number |
|
|
219
|
+
fill?: string | StateValue<string>;
|
|
220
|
+
stroke?: string | StateValue<string>;
|
|
221
|
+
strokeWidth?: number | StateValue<number>;
|
|
222
|
+
opacity?: number | StateValue<number>;
|
|
223
223
|
}
|
|
224
224
|
|
|
225
225
|
/**
|
package/dist/advanced.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { S as Computed, S as Signal } from './state-DitsMyev.cjs';
|
|
2
2
|
export { r as root, u as untrack } from './owner-QS9tPwPr.cjs';
|
|
3
3
|
export { s as sync } from './sync-Z4QqUDjF.cjs';
|
|
4
4
|
|
package/dist/advanced.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { S as Computed, S as Signal } from './state-DitsMyev.js';
|
|
2
2
|
export { r as root, u as untrack } from './owner-QS9tPwPr.js';
|
|
3
3
|
export { s as sync } from './sync-Z4QqUDjF.js';
|
|
4
4
|
|
package/dist/advanced.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkYPVRQKMW_js=require('./chunk-YPVRQKMW.js'),chunkGYDP6MFV_js=require('./chunk-GYDP6MFV.js');var o={enabled:false,signals:new Map,effects:new Map,components:new Map};function g(){o.enabled=true,typeof window<"u"&&(window.__FLEXIUM_DEVTOOLS__={getState:T,getSignals:()=>Array.from(o.signals.values()),getEffects:()=>Array.from(o.effects.values()),getComponents:()=>Array.from(o.components.values()),subscribe:e=>(()=>{})},console.log("%c[Flexium DevTools] Enabled","color: #10b981; font-weight: bold;"));}function v(){o.enabled=false,o.signals.clear(),o.effects.clear(),o.components.clear(),typeof window<"u"&&delete window.__FLEXIUM_DEVTOOLS__;}function T(){return {...o}}Object.defineProperty(exports,"sync",{enumerable:true,get:function(){return chunkYPVRQKMW_js.e}});Object.defineProperty(exports,"root",{enumerable:true,get:function(){return chunkGYDP6MFV_js.i}});Object.defineProperty(exports,"untrack",{enumerable:true,get:function(){return chunkGYDP6MFV_js.f}});exports.disableDevTools=v;exports.enableDevTools=g;//# sourceMappingURL=advanced.js.map
|
|
2
2
|
//# sourceMappingURL=advanced.js.map
|
package/dist/advanced.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/devtools/index.ts"],"names":["devToolsState","signalIdCounter","effectIdCounter","listeners","enableDevTools","setDevToolsHooks","signal","name","registerSignal","id","value","updateSignalInfo","registerEffect","status","error","updateEffectInfo","getDevToolsState","listener","index","disableDevTools","emit","event","data","e","logError","ErrorCodes","now","info"],"mappings":"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","file":"advanced.js","sourcesContent":["/**\n * Flexium DevTools Integration\n *\n * Provides hooks for browser devtools extension to inspect signals,\n * effects, and component trees.\n *\n * @example\n * ```tsx\n * import { enableDevTools, getDevToolsState } from 'flexium/devtools';\n *\n * // Enable devtools in development\n * if (process.env.NODE_ENV !== 'production') {\n * enableDevTools();\n * }\n * ```\n */\n\nimport { setDevToolsHooks } from '../core/signal'\nimport type { Signal, Computed } from '../core/signal'\nimport { ErrorCodes, logError } from '../core/errors'\n\nexport interface DevToolsState {\n enabled: boolean\n signals: Map<number, SignalInfo>\n effects: Map<number, EffectInfo>\n components: Map<number, ComponentInfo>\n}\n\nexport interface SignalInfo {\n id: number\n name?: string\n value: unknown\n subscribers: number\n createdAt: number\n lastUpdated: number\n updateCount: number\n}\n\nexport interface EffectInfo {\n id: number\n name?: string\n dependencies: number[]\n lastRun: number\n runCount: number\n status: 'idle' | 'running' | 'error'\n error?: Error\n}\n\nexport interface ComponentInfo {\n id: number\n name: string\n props: Record<string, unknown>\n signals: number[]\n effects: number[]\n children: number[]\n parent?: number\n mountedAt: number\n}\n\n// Global devtools state\nconst devToolsState: DevToolsState = {\n enabled: false,\n signals: new Map(),\n effects: new Map(),\n components: new Map(),\n}\n\nlet signalIdCounter = 0\nlet effectIdCounter = 0\nlet componentIdCounter = 0\n\n// Event listeners for devtools\ntype DevToolsEventType =\n | 'signal-create'\n | 'signal-update'\n | 'effect-create'\n | 'effect-run'\n | 'component-mount'\n | 'component-unmount'\ntype DevToolsListener = (event: DevToolsEventType, data: unknown) => void\nconst listeners: DevToolsListener[] = []\n\n/**\n * Enable devtools integration\n * Call this in development mode to enable signal/effect inspection\n */\nexport function enableDevTools(): void {\n devToolsState.enabled = true\n\n // Register hooks with signal system for automatic tracking\n setDevToolsHooks({\n onSignalCreate: (signal, name) => registerSignal(signal, name),\n onSignalUpdate: (id, value) => updateSignalInfo(id, value),\n onEffectCreate: (name) => registerEffect(name),\n onEffectRun: (id, status, error) => updateEffectInfo(id, status, error),\n })\n\n // Expose to window for browser extension\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ; (window as any).__FLEXIUM_DEVTOOLS__ = {\n getState: getDevToolsState,\n getSignals: () => Array.from(devToolsState.signals.values()),\n getEffects: () => Array.from(devToolsState.effects.values()),\n getComponents: () => Array.from(devToolsState.components.values()),\n subscribe: (listener: DevToolsListener) => {\n listeners.push(listener)\n return () => {\n const index = listeners.indexOf(listener)\n if (index > -1) listeners.splice(index, 1)\n }\n },\n }\n\n console.log(\n '%c[Flexium DevTools] Enabled',\n 'color: #10b981; font-weight: bold;'\n )\n }\n}\n\n/**\n * Disable devtools integration\n */\nexport function disableDevTools(): void {\n devToolsState.enabled = false\n devToolsState.signals.clear()\n devToolsState.effects.clear()\n devToolsState.components.clear()\n\n // Unregister hooks\n setDevToolsHooks(null)\n\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete (window as any).__FLEXIUM_DEVTOOLS__\n }\n}\n\n/**\n * Get current devtools state\n */\nexport function getDevToolsState(): DevToolsState {\n return { ...devToolsState }\n}\n\n/**\n * Check if devtools are enabled\n */\nexport function isDevToolsEnabled(): boolean {\n return devToolsState.enabled\n}\n\n// Internal: emit event to listeners\nfunction emit(event: DevToolsEventType, data: unknown): void {\n for (const listener of listeners) {\n try {\n listener(event, data)\n } catch (e) {\n logError(ErrorCodes.DEVTOOLS_LISTENER_ERROR, { event }, e)\n }\n }\n}\n\n/**\n * Register a signal with devtools\n * @internal\n */\nexport function registerSignal(\n signal: Signal<unknown> | Computed<unknown>,\n name?: string\n): number {\n if (!devToolsState.enabled) return -1\n\n const id = signalIdCounter++\n const now = Date.now()\n\n devToolsState.signals.set(id, {\n id,\n name,\n value: signal.peek(),\n subscribers: 0,\n createdAt: now,\n lastUpdated: now,\n updateCount: 0,\n })\n\n emit('signal-create', { id, name })\n return id\n}\n\n/**\n * Update signal info in devtools\n * @internal\n */\nexport function updateSignalInfo(id: number, value: unknown): void {\n if (!devToolsState.enabled) return\n\n const info = devToolsState.signals.get(id)\n if (info) {\n info.value = value\n info.lastUpdated = Date.now()\n info.updateCount++\n emit('signal-update', { id, value })\n }\n}\n\n/**\n * Register an effect with devtools\n * @internal\n */\nexport function registerEffect(name?: string): number {\n if (!devToolsState.enabled) return -1\n\n const id = effectIdCounter++\n\n devToolsState.effects.set(id, {\n id,\n name,\n dependencies: [],\n lastRun: Date.now(),\n runCount: 0,\n status: 'idle',\n })\n\n emit('effect-create', { id, name })\n return id\n}\n\n/**\n * Update effect info in devtools\n * @internal\n */\nexport function updateEffectInfo(\n id: number,\n status: 'idle' | 'running' | 'error',\n error?: Error\n): void {\n if (!devToolsState.enabled) return\n\n const info = devToolsState.effects.get(id)\n if (info) {\n info.status = status\n info.lastRun = Date.now()\n info.runCount++\n if (error) info.error = error\n emit('effect-run', { id, status, error })\n }\n}\n\n/**\n * Register a component with devtools\n * @internal\n */\nexport function registerComponent(\n name: string,\n props: Record<string, unknown>\n): number {\n if (!devToolsState.enabled) return -1\n\n const id = componentIdCounter++\n\n devToolsState.components.set(id, {\n id,\n name,\n props,\n signals: [],\n effects: [],\n children: [],\n mountedAt: Date.now(),\n })\n\n emit('component-mount', { id, name })\n return id\n}\n\n/**\n * Unregister a component from devtools\n * @internal\n */\nexport function unregisterComponent(id: number): void {\n if (!devToolsState.enabled) return\n\n const info = devToolsState.components.get(id)\n if (info) {\n devToolsState.components.delete(id)\n emit('component-unmount', { id, name: info.name })\n }\n}\n\n/**\n * Create a named signal for better devtools visibility\n *\n * @example\n * ```tsx\n * import { createNamedSignal } from 'flexium/devtools';\n * import { signal } from 'flexium/core';\n *\n * // Shows as \"count\" in devtools\n * const count = createNamedSignal('count', 0, signal);\n * ```\n */\nexport function createNamedSignal<T>(\n name: string,\n initialValue: T,\n signalFn: (v: T) => Signal<T>\n): Signal<T> {\n const s = signalFn(initialValue)\n\n if (devToolsState.enabled) {\n registerSignal(s, name)\n }\n\n return s\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/devtools/index.ts"],"names":["devToolsState","enableDevTools","getDevToolsState","listener","disableDevTools"],"mappings":"iHA4DA,IAAMA,EAA+B,CACnC,OAAA,CAAS,MACT,OAAA,CAAS,IAAI,IACb,OAAA,CAAS,IAAI,IACb,UAAA,CAAY,IAAI,GAClB,CAAA,CAqBO,SAASC,CAAAA,EAAuB,CACrCD,CAAAA,CAAc,OAAA,CAAU,KAWpB,OAAO,MAAA,CAAW,GAAA,GAEjB,OAAe,oBAAA,CAAuB,CACvC,SAAUE,CAAAA,CACV,UAAA,CAAY,IAAM,KAAA,CAAM,IAAA,CAAKF,EAAc,OAAA,CAAQ,MAAA,EAAQ,CAAA,CAC3D,UAAA,CAAY,IAAM,KAAA,CAAM,IAAA,CAAKA,EAAc,OAAA,CAAQ,MAAA,EAAQ,CAAA,CAC3D,aAAA,CAAe,IAAM,KAAA,CAAM,IAAA,CAAKA,EAAc,UAAA,CAAW,MAAA,EAAQ,CAAA,CACjE,SAAA,CAAYG,IAEH,IAAM,CAGb,CAAA,CAEJ,EAEA,OAAA,CAAQ,GAAA,CACN,+BACA,oCACF,CAAA,EAEJ,CAKO,SAASC,CAAAA,EAAwB,CACtCJ,CAAAA,CAAc,OAAA,CAAU,MACxBA,CAAAA,CAAc,OAAA,CAAQ,OAAM,CAC5BA,CAAAA,CAAc,QAAQ,KAAA,EAAM,CAC5BA,EAAc,UAAA,CAAW,KAAA,GAKrB,OAAO,MAAA,CAAW,KAEpB,OAAQ,MAAA,CAAe,qBAE3B,CAKO,SAASE,GAAkC,CAChD,OAAO,CAAE,GAAGF,CAAc,CAC5B","file":"advanced.js","sourcesContent":["/**\n * Flexium DevTools Integration\n *\n * Provides hooks for browser devtools extension to inspect signals,\n * effects, and component trees.\n *\n * @example\n * ```tsx\n * import { enableDevTools, getDevToolsState } from 'flexium/devtools';\n *\n * // Enable devtools in development\n * if (process.env.NODE_ENV !== 'production') {\n * enableDevTools();\n * }\n * ```\n */\n\nimport { setDevToolsHooks } from '../core/devtools'\nimport type { StateValue } from '../core/state'\nimport { ErrorCodes, logError } from '../core/errors'\n\nexport interface DevToolsState {\n enabled: boolean\n signals: Map<number, SignalInfo>\n effects: Map<number, EffectInfo>\n components: Map<number, ComponentInfo>\n}\n\nexport interface SignalInfo {\n id: number\n name?: string\n value: unknown\n subscribers: number\n createdAt: number\n lastUpdated: number\n updateCount: number\n}\n\nexport interface EffectInfo {\n id: number\n name?: string\n dependencies: number[]\n lastRun: number\n runCount: number\n status: 'idle' | 'running' | 'error'\n error?: Error\n}\n\nexport interface ComponentInfo {\n id: number\n name: string\n props: Record<string, unknown>\n signals: number[]\n effects: number[]\n children: number[]\n parent?: number\n mountedAt: number\n}\n\n// Global devtools state\nconst devToolsState: DevToolsState = {\n enabled: false,\n signals: new Map(),\n effects: new Map(),\n components: new Map(),\n}\n\nlet signalIdCounter = 0\nlet effectIdCounter = 0\nlet componentIdCounter = 0\n\n// Event listeners for devtools\ntype DevToolsEventType =\n | 'signal-create'\n | 'signal-update'\n | 'effect-create'\n | 'effect-run'\n | 'component-mount'\n | 'component-unmount'\ntype DevToolsListener = (event: DevToolsEventType, data: unknown) => void\nconst listeners: DevToolsListener[] = []\n\n/**\n * Enable devtools integration\n * Call this in development mode to enable signal/effect inspection\n */\nexport function enableDevTools(): void {\n devToolsState.enabled = true\n\n // Register hooks with signal system for automatic tracking\n setDevToolsHooks({\n onSignalCreate: (signal, name) => registerSignal(signal, name),\n onSignalUpdate: (id, value) => updateSignalInfo(id, value),\n onEffectCreate: (name) => registerEffect(name),\n onEffectRun: (id, status, error) => updateEffectInfo(id, status, error),\n })\n\n // Expose to window for browser extension\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ; (window as any).__FLEXIUM_DEVTOOLS__ = {\n getState: getDevToolsState,\n getSignals: () => Array.from(devToolsState.signals.values()),\n getEffects: () => Array.from(devToolsState.effects.values()),\n getComponents: () => Array.from(devToolsState.components.values()),\n subscribe: (listener: DevToolsListener) => {\n listeners.push(listener)\n return () => {\n const index = listeners.indexOf(listener)\n if (index > -1) listeners.splice(index, 1)\n }\n },\n }\n\n console.log(\n '%c[Flexium DevTools] Enabled',\n 'color: #10b981; font-weight: bold;'\n )\n }\n}\n\n/**\n * Disable devtools integration\n */\nexport function disableDevTools(): void {\n devToolsState.enabled = false\n devToolsState.signals.clear()\n devToolsState.effects.clear()\n devToolsState.components.clear()\n\n // Unregister hooks\n setDevToolsHooks(null)\n\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete (window as any).__FLEXIUM_DEVTOOLS__\n }\n}\n\n/**\n * Get current devtools state\n */\nexport function getDevToolsState(): DevToolsState {\n return { ...devToolsState }\n}\n\n/**\n * Check if devtools are enabled\n */\nexport function isDevToolsEnabled(): boolean {\n return devToolsState.enabled\n}\n\n// Internal: emit event to listeners\nfunction emit(event: DevToolsEventType, data: unknown): void {\n for (const listener of listeners) {\n try {\n listener(event, data)\n } catch (e) {\n logError(ErrorCodes.DEVTOOLS_LISTENER_ERROR, { event }, e)\n }\n }\n}\n\n/**\n * Register a signal with devtools\n * @internal\n */\nexport function registerSignal(\n signal: StateValue<unknown>,\n name?: string\n): number {\n if (!devToolsState.enabled) return -1\n\n const id = signalIdCounter++\n const now = Date.now()\n\n devToolsState.signals.set(id, {\n id,\n name,\n value: signal.peek(),\n subscribers: 0,\n createdAt: now,\n lastUpdated: now,\n updateCount: 0,\n })\n\n emit('signal-create', { id, name })\n return id\n}\n\n/**\n * Update signal info in devtools\n * @internal\n */\nexport function updateSignalInfo(id: number, value: unknown): void {\n if (!devToolsState.enabled) return\n\n const info = devToolsState.signals.get(id)\n if (info) {\n info.value = value\n info.lastUpdated = Date.now()\n info.updateCount++\n emit('signal-update', { id, value })\n }\n}\n\n/**\n * Register an effect with devtools\n * @internal\n */\nexport function registerEffect(name?: string): number {\n if (!devToolsState.enabled) return -1\n\n const id = effectIdCounter++\n\n devToolsState.effects.set(id, {\n id,\n name,\n dependencies: [],\n lastRun: Date.now(),\n runCount: 0,\n status: 'idle',\n })\n\n emit('effect-create', { id, name })\n return id\n}\n\n/**\n * Update effect info in devtools\n * @internal\n */\nexport function updateEffectInfo(\n id: number,\n status: 'idle' | 'running' | 'error',\n error?: Error\n): void {\n if (!devToolsState.enabled) return\n\n const info = devToolsState.effects.get(id)\n if (info) {\n info.status = status\n info.lastRun = Date.now()\n info.runCount++\n if (error) info.error = error\n emit('effect-run', { id, status, error })\n }\n}\n\n/**\n * Register a component with devtools\n * @internal\n */\nexport function registerComponent(\n name: string,\n props: Record<string, unknown>\n): number {\n if (!devToolsState.enabled) return -1\n\n const id = componentIdCounter++\n\n devToolsState.components.set(id, {\n id,\n name,\n props,\n signals: [],\n effects: [],\n children: [],\n mountedAt: Date.now(),\n })\n\n emit('component-mount', { id, name })\n return id\n}\n\n/**\n * Unregister a component from devtools\n * @internal\n */\nexport function unregisterComponent(id: number): void {\n if (!devToolsState.enabled) return\n\n const info = devToolsState.components.get(id)\n if (info) {\n devToolsState.components.delete(id)\n emit('component-unmount', { id, name: info.name })\n }\n}\n\n/**\n * Create a named signal for better devtools visibility\n *\n * @example\n * ```tsx\n * import { createNamedSignal } from 'flexium/devtools';\n * import { signal } from 'flexium/core';\n *\n * // Shows as \"count\" in devtools\n * const count = createNamedSignal('count', 0, signal);\n * ```\n */\nexport function createNamedSignal<T>(\n name: string,\n initialValue: T,\n signalFn: (v: T) => StateValue<T>\n): StateValue<T> {\n const s = signalFn(initialValue)\n\n if (devToolsState.enabled) {\n registerSignal(s, name)\n }\n\n return s\n}\n"]}
|
package/dist/advanced.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
export{e as sync}from'./chunk-FDMJHFN7.mjs';export{i as root,f as untrack}from'./chunk-ECYYIQEX.mjs';var o={enabled:false,signals:new Map,effects:new Map,components:new Map};function g(){o.enabled=true,typeof window<"u"&&(window.__FLEXIUM_DEVTOOLS__={getState:T,getSignals:()=>Array.from(o.signals.values()),getEffects:()=>Array.from(o.effects.values()),getComponents:()=>Array.from(o.components.values()),subscribe:e=>(()=>{})},console.log("%c[Flexium DevTools] Enabled","color: #10b981; font-weight: bold;"));}function v(){o.enabled=false,o.signals.clear(),o.effects.clear(),o.components.clear(),typeof window<"u"&&delete window.__FLEXIUM_DEVTOOLS__;}function T(){return {...o}}export{v as disableDevTools,g as enableDevTools};//# sourceMappingURL=advanced.mjs.map
|
|
2
2
|
//# sourceMappingURL=advanced.mjs.map
|
package/dist/advanced.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/devtools/index.ts"],"names":["devToolsState","signalIdCounter","effectIdCounter","listeners","enableDevTools","setDevToolsHooks","signal","name","registerSignal","id","value","updateSignalInfo","registerEffect","status","error","updateEffectInfo","getDevToolsState","listener","index","disableDevTools","emit","event","data","e","logError","ErrorCodes","now","info"],"mappings":"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","file":"advanced.mjs","sourcesContent":["/**\n * Flexium DevTools Integration\n *\n * Provides hooks for browser devtools extension to inspect signals,\n * effects, and component trees.\n *\n * @example\n * ```tsx\n * import { enableDevTools, getDevToolsState } from 'flexium/devtools';\n *\n * // Enable devtools in development\n * if (process.env.NODE_ENV !== 'production') {\n * enableDevTools();\n * }\n * ```\n */\n\nimport { setDevToolsHooks } from '../core/signal'\nimport type { Signal, Computed } from '../core/signal'\nimport { ErrorCodes, logError } from '../core/errors'\n\nexport interface DevToolsState {\n enabled: boolean\n signals: Map<number, SignalInfo>\n effects: Map<number, EffectInfo>\n components: Map<number, ComponentInfo>\n}\n\nexport interface SignalInfo {\n id: number\n name?: string\n value: unknown\n subscribers: number\n createdAt: number\n lastUpdated: number\n updateCount: number\n}\n\nexport interface EffectInfo {\n id: number\n name?: string\n dependencies: number[]\n lastRun: number\n runCount: number\n status: 'idle' | 'running' | 'error'\n error?: Error\n}\n\nexport interface ComponentInfo {\n id: number\n name: string\n props: Record<string, unknown>\n signals: number[]\n effects: number[]\n children: number[]\n parent?: number\n mountedAt: number\n}\n\n// Global devtools state\nconst devToolsState: DevToolsState = {\n enabled: false,\n signals: new Map(),\n effects: new Map(),\n components: new Map(),\n}\n\nlet signalIdCounter = 0\nlet effectIdCounter = 0\nlet componentIdCounter = 0\n\n// Event listeners for devtools\ntype DevToolsEventType =\n | 'signal-create'\n | 'signal-update'\n | 'effect-create'\n | 'effect-run'\n | 'component-mount'\n | 'component-unmount'\ntype DevToolsListener = (event: DevToolsEventType, data: unknown) => void\nconst listeners: DevToolsListener[] = []\n\n/**\n * Enable devtools integration\n * Call this in development mode to enable signal/effect inspection\n */\nexport function enableDevTools(): void {\n devToolsState.enabled = true\n\n // Register hooks with signal system for automatic tracking\n setDevToolsHooks({\n onSignalCreate: (signal, name) => registerSignal(signal, name),\n onSignalUpdate: (id, value) => updateSignalInfo(id, value),\n onEffectCreate: (name) => registerEffect(name),\n onEffectRun: (id, status, error) => updateEffectInfo(id, status, error),\n })\n\n // Expose to window for browser extension\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ; (window as any).__FLEXIUM_DEVTOOLS__ = {\n getState: getDevToolsState,\n getSignals: () => Array.from(devToolsState.signals.values()),\n getEffects: () => Array.from(devToolsState.effects.values()),\n getComponents: () => Array.from(devToolsState.components.values()),\n subscribe: (listener: DevToolsListener) => {\n listeners.push(listener)\n return () => {\n const index = listeners.indexOf(listener)\n if (index > -1) listeners.splice(index, 1)\n }\n },\n }\n\n console.log(\n '%c[Flexium DevTools] Enabled',\n 'color: #10b981; font-weight: bold;'\n )\n }\n}\n\n/**\n * Disable devtools integration\n */\nexport function disableDevTools(): void {\n devToolsState.enabled = false\n devToolsState.signals.clear()\n devToolsState.effects.clear()\n devToolsState.components.clear()\n\n // Unregister hooks\n setDevToolsHooks(null)\n\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete (window as any).__FLEXIUM_DEVTOOLS__\n }\n}\n\n/**\n * Get current devtools state\n */\nexport function getDevToolsState(): DevToolsState {\n return { ...devToolsState }\n}\n\n/**\n * Check if devtools are enabled\n */\nexport function isDevToolsEnabled(): boolean {\n return devToolsState.enabled\n}\n\n// Internal: emit event to listeners\nfunction emit(event: DevToolsEventType, data: unknown): void {\n for (const listener of listeners) {\n try {\n listener(event, data)\n } catch (e) {\n logError(ErrorCodes.DEVTOOLS_LISTENER_ERROR, { event }, e)\n }\n }\n}\n\n/**\n * Register a signal with devtools\n * @internal\n */\nexport function registerSignal(\n signal: Signal<unknown> | Computed<unknown>,\n name?: string\n): number {\n if (!devToolsState.enabled) return -1\n\n const id = signalIdCounter++\n const now = Date.now()\n\n devToolsState.signals.set(id, {\n id,\n name,\n value: signal.peek(),\n subscribers: 0,\n createdAt: now,\n lastUpdated: now,\n updateCount: 0,\n })\n\n emit('signal-create', { id, name })\n return id\n}\n\n/**\n * Update signal info in devtools\n * @internal\n */\nexport function updateSignalInfo(id: number, value: unknown): void {\n if (!devToolsState.enabled) return\n\n const info = devToolsState.signals.get(id)\n if (info) {\n info.value = value\n info.lastUpdated = Date.now()\n info.updateCount++\n emit('signal-update', { id, value })\n }\n}\n\n/**\n * Register an effect with devtools\n * @internal\n */\nexport function registerEffect(name?: string): number {\n if (!devToolsState.enabled) return -1\n\n const id = effectIdCounter++\n\n devToolsState.effects.set(id, {\n id,\n name,\n dependencies: [],\n lastRun: Date.now(),\n runCount: 0,\n status: 'idle',\n })\n\n emit('effect-create', { id, name })\n return id\n}\n\n/**\n * Update effect info in devtools\n * @internal\n */\nexport function updateEffectInfo(\n id: number,\n status: 'idle' | 'running' | 'error',\n error?: Error\n): void {\n if (!devToolsState.enabled) return\n\n const info = devToolsState.effects.get(id)\n if (info) {\n info.status = status\n info.lastRun = Date.now()\n info.runCount++\n if (error) info.error = error\n emit('effect-run', { id, status, error })\n }\n}\n\n/**\n * Register a component with devtools\n * @internal\n */\nexport function registerComponent(\n name: string,\n props: Record<string, unknown>\n): number {\n if (!devToolsState.enabled) return -1\n\n const id = componentIdCounter++\n\n devToolsState.components.set(id, {\n id,\n name,\n props,\n signals: [],\n effects: [],\n children: [],\n mountedAt: Date.now(),\n })\n\n emit('component-mount', { id, name })\n return id\n}\n\n/**\n * Unregister a component from devtools\n * @internal\n */\nexport function unregisterComponent(id: number): void {\n if (!devToolsState.enabled) return\n\n const info = devToolsState.components.get(id)\n if (info) {\n devToolsState.components.delete(id)\n emit('component-unmount', { id, name: info.name })\n }\n}\n\n/**\n * Create a named signal for better devtools visibility\n *\n * @example\n * ```tsx\n * import { createNamedSignal } from 'flexium/devtools';\n * import { signal } from 'flexium/core';\n *\n * // Shows as \"count\" in devtools\n * const count = createNamedSignal('count', 0, signal);\n * ```\n */\nexport function createNamedSignal<T>(\n name: string,\n initialValue: T,\n signalFn: (v: T) => Signal<T>\n): Signal<T> {\n const s = signalFn(initialValue)\n\n if (devToolsState.enabled) {\n registerSignal(s, name)\n }\n\n return s\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/devtools/index.ts"],"names":["devToolsState","enableDevTools","getDevToolsState","listener","disableDevTools"],"mappings":"qGA4DA,IAAMA,EAA+B,CACnC,OAAA,CAAS,MACT,OAAA,CAAS,IAAI,IACb,OAAA,CAAS,IAAI,IACb,UAAA,CAAY,IAAI,GAClB,CAAA,CAqBO,SAASC,CAAAA,EAAuB,CACrCD,CAAAA,CAAc,OAAA,CAAU,KAWpB,OAAO,MAAA,CAAW,GAAA,GAEjB,OAAe,oBAAA,CAAuB,CACvC,SAAUE,CAAAA,CACV,UAAA,CAAY,IAAM,KAAA,CAAM,IAAA,CAAKF,EAAc,OAAA,CAAQ,MAAA,EAAQ,CAAA,CAC3D,UAAA,CAAY,IAAM,KAAA,CAAM,IAAA,CAAKA,EAAc,OAAA,CAAQ,MAAA,EAAQ,CAAA,CAC3D,aAAA,CAAe,IAAM,KAAA,CAAM,IAAA,CAAKA,EAAc,UAAA,CAAW,MAAA,EAAQ,CAAA,CACjE,SAAA,CAAYG,IAEH,IAAM,CAGb,CAAA,CAEJ,EAEA,OAAA,CAAQ,GAAA,CACN,+BACA,oCACF,CAAA,EAEJ,CAKO,SAASC,CAAAA,EAAwB,CACtCJ,CAAAA,CAAc,OAAA,CAAU,MACxBA,CAAAA,CAAc,OAAA,CAAQ,OAAM,CAC5BA,CAAAA,CAAc,QAAQ,KAAA,EAAM,CAC5BA,EAAc,UAAA,CAAW,KAAA,GAKrB,OAAO,MAAA,CAAW,KAEpB,OAAQ,MAAA,CAAe,qBAE3B,CAKO,SAASE,GAAkC,CAChD,OAAO,CAAE,GAAGF,CAAc,CAC5B","file":"advanced.mjs","sourcesContent":["/**\n * Flexium DevTools Integration\n *\n * Provides hooks for browser devtools extension to inspect signals,\n * effects, and component trees.\n *\n * @example\n * ```tsx\n * import { enableDevTools, getDevToolsState } from 'flexium/devtools';\n *\n * // Enable devtools in development\n * if (process.env.NODE_ENV !== 'production') {\n * enableDevTools();\n * }\n * ```\n */\n\nimport { setDevToolsHooks } from '../core/devtools'\nimport type { StateValue } from '../core/state'\nimport { ErrorCodes, logError } from '../core/errors'\n\nexport interface DevToolsState {\n enabled: boolean\n signals: Map<number, SignalInfo>\n effects: Map<number, EffectInfo>\n components: Map<number, ComponentInfo>\n}\n\nexport interface SignalInfo {\n id: number\n name?: string\n value: unknown\n subscribers: number\n createdAt: number\n lastUpdated: number\n updateCount: number\n}\n\nexport interface EffectInfo {\n id: number\n name?: string\n dependencies: number[]\n lastRun: number\n runCount: number\n status: 'idle' | 'running' | 'error'\n error?: Error\n}\n\nexport interface ComponentInfo {\n id: number\n name: string\n props: Record<string, unknown>\n signals: number[]\n effects: number[]\n children: number[]\n parent?: number\n mountedAt: number\n}\n\n// Global devtools state\nconst devToolsState: DevToolsState = {\n enabled: false,\n signals: new Map(),\n effects: new Map(),\n components: new Map(),\n}\n\nlet signalIdCounter = 0\nlet effectIdCounter = 0\nlet componentIdCounter = 0\n\n// Event listeners for devtools\ntype DevToolsEventType =\n | 'signal-create'\n | 'signal-update'\n | 'effect-create'\n | 'effect-run'\n | 'component-mount'\n | 'component-unmount'\ntype DevToolsListener = (event: DevToolsEventType, data: unknown) => void\nconst listeners: DevToolsListener[] = []\n\n/**\n * Enable devtools integration\n * Call this in development mode to enable signal/effect inspection\n */\nexport function enableDevTools(): void {\n devToolsState.enabled = true\n\n // Register hooks with signal system for automatic tracking\n setDevToolsHooks({\n onSignalCreate: (signal, name) => registerSignal(signal, name),\n onSignalUpdate: (id, value) => updateSignalInfo(id, value),\n onEffectCreate: (name) => registerEffect(name),\n onEffectRun: (id, status, error) => updateEffectInfo(id, status, error),\n })\n\n // Expose to window for browser extension\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ; (window as any).__FLEXIUM_DEVTOOLS__ = {\n getState: getDevToolsState,\n getSignals: () => Array.from(devToolsState.signals.values()),\n getEffects: () => Array.from(devToolsState.effects.values()),\n getComponents: () => Array.from(devToolsState.components.values()),\n subscribe: (listener: DevToolsListener) => {\n listeners.push(listener)\n return () => {\n const index = listeners.indexOf(listener)\n if (index > -1) listeners.splice(index, 1)\n }\n },\n }\n\n console.log(\n '%c[Flexium DevTools] Enabled',\n 'color: #10b981; font-weight: bold;'\n )\n }\n}\n\n/**\n * Disable devtools integration\n */\nexport function disableDevTools(): void {\n devToolsState.enabled = false\n devToolsState.signals.clear()\n devToolsState.effects.clear()\n devToolsState.components.clear()\n\n // Unregister hooks\n setDevToolsHooks(null)\n\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete (window as any).__FLEXIUM_DEVTOOLS__\n }\n}\n\n/**\n * Get current devtools state\n */\nexport function getDevToolsState(): DevToolsState {\n return { ...devToolsState }\n}\n\n/**\n * Check if devtools are enabled\n */\nexport function isDevToolsEnabled(): boolean {\n return devToolsState.enabled\n}\n\n// Internal: emit event to listeners\nfunction emit(event: DevToolsEventType, data: unknown): void {\n for (const listener of listeners) {\n try {\n listener(event, data)\n } catch (e) {\n logError(ErrorCodes.DEVTOOLS_LISTENER_ERROR, { event }, e)\n }\n }\n}\n\n/**\n * Register a signal with devtools\n * @internal\n */\nexport function registerSignal(\n signal: StateValue<unknown>,\n name?: string\n): number {\n if (!devToolsState.enabled) return -1\n\n const id = signalIdCounter++\n const now = Date.now()\n\n devToolsState.signals.set(id, {\n id,\n name,\n value: signal.peek(),\n subscribers: 0,\n createdAt: now,\n lastUpdated: now,\n updateCount: 0,\n })\n\n emit('signal-create', { id, name })\n return id\n}\n\n/**\n * Update signal info in devtools\n * @internal\n */\nexport function updateSignalInfo(id: number, value: unknown): void {\n if (!devToolsState.enabled) return\n\n const info = devToolsState.signals.get(id)\n if (info) {\n info.value = value\n info.lastUpdated = Date.now()\n info.updateCount++\n emit('signal-update', { id, value })\n }\n}\n\n/**\n * Register an effect with devtools\n * @internal\n */\nexport function registerEffect(name?: string): number {\n if (!devToolsState.enabled) return -1\n\n const id = effectIdCounter++\n\n devToolsState.effects.set(id, {\n id,\n name,\n dependencies: [],\n lastRun: Date.now(),\n runCount: 0,\n status: 'idle',\n })\n\n emit('effect-create', { id, name })\n return id\n}\n\n/**\n * Update effect info in devtools\n * @internal\n */\nexport function updateEffectInfo(\n id: number,\n status: 'idle' | 'running' | 'error',\n error?: Error\n): void {\n if (!devToolsState.enabled) return\n\n const info = devToolsState.effects.get(id)\n if (info) {\n info.status = status\n info.lastRun = Date.now()\n info.runCount++\n if (error) info.error = error\n emit('effect-run', { id, status, error })\n }\n}\n\n/**\n * Register a component with devtools\n * @internal\n */\nexport function registerComponent(\n name: string,\n props: Record<string, unknown>\n): number {\n if (!devToolsState.enabled) return -1\n\n const id = componentIdCounter++\n\n devToolsState.components.set(id, {\n id,\n name,\n props,\n signals: [],\n effects: [],\n children: [],\n mountedAt: Date.now(),\n })\n\n emit('component-mount', { id, name })\n return id\n}\n\n/**\n * Unregister a component from devtools\n * @internal\n */\nexport function unregisterComponent(id: number): void {\n if (!devToolsState.enabled) return\n\n const info = devToolsState.components.get(id)\n if (info) {\n devToolsState.components.delete(id)\n emit('component-unmount', { id, name: info.name })\n }\n}\n\n/**\n * Create a named signal for better devtools visibility\n *\n * @example\n * ```tsx\n * import { createNamedSignal } from 'flexium/devtools';\n * import { signal } from 'flexium/core';\n *\n * // Shows as \"count\" in devtools\n * const count = createNamedSignal('count', 0, signal);\n * ```\n */\nexport function createNamedSignal<T>(\n name: string,\n initialValue: T,\n signalFn: (v: T) => StateValue<T>\n): StateValue<T> {\n const s = signalFn(initialValue)\n\n if (devToolsState.enabled) {\n registerSignal(s, name)\n }\n\n return s\n}\n"]}
|
package/dist/canvas.d.cts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
export { e as effect } from './
|
|
1
|
+
export { e as effect } from './core-CxHP8991.cjs';
|
|
2
2
|
export { r as root } from './owner-QS9tPwPr.cjs';
|
|
3
|
-
import {
|
|
4
|
-
export { b as
|
|
5
|
-
export { C as Canvas, f as CanvasProps, b as DrawArc, i as DrawArcProps, a as DrawCircle, h as DrawCircleProps, c as DrawLine, j as DrawLineProps, d as DrawPath, k as DrawPathProps, D as DrawRect, g as DrawRectProps, e as DrawText, l as DrawTextProps } from './DrawText-ccZrs3Xs.cjs';
|
|
3
|
+
import { S as StateValue } from './state-DitsMyev.cjs';
|
|
4
|
+
export { C as Canvas, f as CanvasProps, b as DrawArc, i as DrawArcProps, a as DrawCircle, h as DrawCircleProps, c as DrawLine, j as DrawLineProps, d as DrawPath, k as DrawPathProps, D as DrawRect, g as DrawRectProps, e as DrawText, l as DrawTextProps } from './DrawText-CVAKQ5wZ.cjs';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* Canvas renderer - renders canvas primitives to canvas context
|
|
@@ -19,6 +18,6 @@ declare function renderCanvasChildren(ctx: CanvasRenderingContext2D, children: a
|
|
|
19
18
|
/**
|
|
20
19
|
* Unwrap a value that might be a Signal
|
|
21
20
|
*/
|
|
22
|
-
declare function unwrapSignal<T>(value: T |
|
|
21
|
+
declare function unwrapSignal<T>(value: T | StateValue<T>): T;
|
|
23
22
|
|
|
24
|
-
export { Signal, renderCanvasChildren, unwrapSignal };
|
|
23
|
+
export { StateValue as Computed, StateValue as Signal, renderCanvasChildren, unwrapSignal };
|
package/dist/canvas.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
export { e as effect } from './
|
|
1
|
+
export { e as effect } from './core-D0ggvjX3.js';
|
|
2
2
|
export { r as root } from './owner-QS9tPwPr.js';
|
|
3
|
-
import {
|
|
4
|
-
export { b as
|
|
5
|
-
export { C as Canvas, f as CanvasProps, b as DrawArc, i as DrawArcProps, a as DrawCircle, h as DrawCircleProps, c as DrawLine, j as DrawLineProps, d as DrawPath, k as DrawPathProps, D as DrawRect, g as DrawRectProps, e as DrawText, l as DrawTextProps } from './DrawText-ngwNNh8O.js';
|
|
3
|
+
import { S as StateValue } from './state-DitsMyev.js';
|
|
4
|
+
export { C as Canvas, f as CanvasProps, b as DrawArc, i as DrawArcProps, a as DrawCircle, h as DrawCircleProps, c as DrawLine, j as DrawLineProps, d as DrawPath, k as DrawPathProps, D as DrawRect, g as DrawRectProps, e as DrawText, l as DrawTextProps } from './DrawText-Dlh1L1Ar.js';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* Canvas renderer - renders canvas primitives to canvas context
|
|
@@ -19,6 +18,6 @@ declare function renderCanvasChildren(ctx: CanvasRenderingContext2D, children: a
|
|
|
19
18
|
/**
|
|
20
19
|
* Unwrap a value that might be a Signal
|
|
21
20
|
*/
|
|
22
|
-
declare function unwrapSignal<T>(value: T |
|
|
21
|
+
declare function unwrapSignal<T>(value: T | StateValue<T>): T;
|
|
23
22
|
|
|
24
|
-
export { Signal, renderCanvasChildren, unwrapSignal };
|
|
23
|
+
export { StateValue as Computed, StateValue as Signal, renderCanvasChildren, unwrapSignal };
|
package/dist/canvas.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkANJNQW77_js=require('./chunk-ANJNQW77.js');require('./chunk-YEBBTVHG.js'),require('./chunk-YPVRQKMW.js');var chunkWWEWRI6S_js=require('./chunk-WWEWRI6S.js'),chunkGYDP6MFV_js=require('./chunk-GYDP6MFV.js');Object.defineProperty(exports,"Canvas",{enumerable:true,get:function(){return chunkANJNQW77_js.d}});Object.defineProperty(exports,"DrawArc",{enumerable:true,get:function(){return chunkANJNQW77_js.g}});Object.defineProperty(exports,"DrawCircle",{enumerable:true,get:function(){return chunkANJNQW77_js.f}});Object.defineProperty(exports,"DrawLine",{enumerable:true,get:function(){return chunkANJNQW77_js.h}});Object.defineProperty(exports,"DrawPath",{enumerable:true,get:function(){return chunkANJNQW77_js.i}});Object.defineProperty(exports,"DrawRect",{enumerable:true,get:function(){return chunkANJNQW77_js.e}});Object.defineProperty(exports,"DrawText",{enumerable:true,get:function(){return chunkANJNQW77_js.j}});Object.defineProperty(exports,"renderCanvasChildren",{enumerable:true,get:function(){return chunkANJNQW77_js.c}});Object.defineProperty(exports,"unwrapSignal",{enumerable:true,get:function(){return chunkANJNQW77_js.b}});Object.defineProperty(exports,"effect",{enumerable:true,get:function(){return chunkWWEWRI6S_js.c}});Object.defineProperty(exports,"root",{enumerable:true,get:function(){return chunkGYDP6MFV_js.i}});//# sourceMappingURL=canvas.js.map
|
|
2
2
|
//# sourceMappingURL=canvas.js.map
|
package/dist/canvas.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{d as Canvas,g as DrawArc,f as DrawCircle,h as DrawLine,i as DrawPath,e as DrawRect,j as DrawText,c as renderCanvasChildren,b as unwrapSignal}from'./chunk-
|
|
1
|
+
export{d as Canvas,g as DrawArc,f as DrawCircle,h as DrawLine,i as DrawPath,e as DrawRect,j as DrawText,c as renderCanvasChildren,b as unwrapSignal}from'./chunk-F23GIQDE.mjs';import'./chunk-2L2QFYBL.mjs';import'./chunk-FDMJHFN7.mjs';export{c as effect}from'./chunk-HB5VPQTB.mjs';export{i as root}from'./chunk-ECYYIQEX.mjs';//# sourceMappingURL=canvas.mjs.map
|
|
2
2
|
//# sourceMappingURL=canvas.mjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {d as d$2,b as b$1,a as a$1,c as c$1}from'./chunk-FDMJHFN7.mjs';import {c,a}from'./chunk-HB5VPQTB.mjs';import {d as d$1,e}from'./chunk-ECYYIQEX.mjs';function U(e){return e&&(typeof e=="object"||typeof e=="function")?g in e:false}function X(e){return typeof e=="function"?(e()):U(e)?e():e}function Y(e,t){let[a,n]=d(void 0),[r,s]=d(void 0),[u,o]=d(false),[l,y]=d("unresolved"),p=null,x=async(c,R=false)=>{R?(y("refreshing"),o(true)):(y("pending"),o(true)),s(void 0);let C=t(c,{value:a.peek(),refetching:R});p=C;try{let T=await C;p===C&&(n(T),y("ready"),o(!1));}catch(T){p===C&&(s(T),y("errored"),o(false));}};c(()=>{let c=X(e);x(c,false);});let v=function(){return a()};return Object.defineProperties(v,{value:{get:()=>a(),enumerable:true,configurable:true},loading:{get:()=>u(),enumerable:true,configurable:true},error:{get:()=>r(),enumerable:true,configurable:true},state:{get:()=>l(),enumerable:true,configurable:true},latest:{get:()=>a.peek(),enumerable:true,configurable:true},peek:{value:()=>a.peek(),enumerable:false,configurable:true},[g]:{value:v,enumerable:false,configurable:false}}),[v,{mutate:c=>n(c),refetch:()=>{let c=X(e);x(c,true);}}]}var m=new Map,w=new Map,b=new Map,h={enabled:true,maxIdleTime:300*1e3,checkInterval:60*1e3,minAccessCount:0},k=null;function M(){return k}function N(e){k=e;}(typeof window<"u"||typeof globalThis<"u")&&setTimeout(()=>{h.enabled&&!k&&(k=setInterval(E,h.checkInterval),k&&typeof k=="object"&&"unref"in k&&typeof k.unref=="function"&&k.unref());},0);var ge=1e4,te=false,Z=new WeakMap;function P(e){if(typeof e=="string")return e;let t=Z.get(e);if(t!==void 0)return t;try{let a=JSON.stringify(e);return Z.set(e,a),a}catch{return String(e)}}function ee(e,t){t&&(w.has(t)||w.set(t,new Set),w.get(t).add(e));}function _(e,t){if(!t)return;let a=w.get(t);a&&(a.delete(e),a.size===0&&w.delete(t));}function I(e,t,a){let n=Date.now(),r=b.get(e);r?(r.lastAccessed=n,r.accessCount++,r.referenceCount++,t&&r.namespace!==t&&(r.namespace&&_(e,r.namespace),r.namespace=t,ee(e,t))):(b.set(e,{key:e,namespace:t,createdAt:n,lastAccessed:n,accessCount:1,referenceCount:1,signalRef:a&&typeof WeakRef<"u"?new WeakRef(a):void 0}),ee(e,t));}var H=null;function ne(e){H=e;}function E(){if(!h.enabled||!H)return;let e=Date.now(),t=[];for(let[a,n]of b.entries()){if(n.signalRef&&typeof WeakRef<"u"&&!n.signalRef.deref()){t.push(a);continue}e-n.lastAccessed>h.maxIdleTime&&n.referenceCount===0&&n.accessCount>=h.minAccessCount&&t.push(a);}for(let a of t)H(a);t.length>0&&typeof process<"u"&&process.env?.NODE_ENV!=="production"&&console.log(`[Flexium] Auto-cleaned ${t.length} idle states`);}function ae(){return te}function W(e){te=e;}function re(){return ge}var z=0,f=new WeakMap,se=new WeakMap,be=new WeakMap;function S(e,t,a){let n=se.get(e);n||(n=new Map,se.set(e,n));let r=n.get(t);if(!r){let s=a!==void 0?a:Reflect.get(e,t);r=O(s),n.set(t,r);}return r}function O(e,t,a$1){let n={_value:e,subsHead:void 0,depsHead:void 0,version:0,nodeType:t?2:1,computeFn:t,flags:t?12:0,lastCleanEpoch:0,key:a$1},r=function(){let o=f.get(r),l=d$1();return l&&l!==r&&a.connect(r,l),o.computeFn?A(o,r):o._value},s=r;return f.set(s,n),a$1&&be.set(s,a$1),Object.defineProperty(s,"subsHead",{get:()=>f.get(s).subsHead,set:o=>{f.get(s).subsHead=o;},enumerable:false,configurable:true}),Object.defineProperty(s,"depsHead",{get:()=>f.get(s).depsHead,set:o=>{f.get(s).depsHead=o;},enumerable:false,configurable:true}),Object.defineProperty(s,"version",{get:()=>f.get(s).version,enumerable:false,configurable:true}),Object.defineProperty(s,"nodeType",{get:()=>f.get(s).nodeType,enumerable:false,configurable:true}),Object.defineProperty(s,"flags",{get:()=>f.get(s).flags||0,set:o=>{f.get(s).flags=o;},enumerable:false,configurable:true}),s.peek=()=>{let o=f.get(s);return o.computeFn?A(o,s,true):o._value},t||(s.set=o=>{let l=f.get(s),y=l._value,p=typeof o=="function"?o(y):o;l._value!==p&&(l._value=p,l.version=++z,K(s,l));}),s.execute=()=>{let o=f.get(s);o.computeFn&&(o.flags=(o.flags||0)|4|8,K(s,o));},s.notify=()=>{let o=f.get(s);K(s,o);},new Proxy(s,Se)}function A(e$1,t,a$1=false){if(!e$1.computeFn)return e$1._value;let n=e$1.flags||0,r=n&12;if(!a$1&&r===0)return e$1._value;if((n&4)===0&&(n&8)!==0&&!me(e$1))return e$1.flags=n&-9,e$1._value;e$1.flags=n&-13,a.disconnectDependencies(t);let s=d$1();e(t);try{let u=e$1.computeFn();e$1._value!==u&&(e$1._value=u,e$1.version=++z),e$1.lastCleanEpoch=z;}finally{e(s);}return e$1._value}function me(e,t){if(!e.depsHead)return true;let a=e.depsHead;for(;a;){let n=a.dep;if(n.version>(e.lastCleanEpoch||0))return true;if(n.nodeType===2){let r=f.get(n);if(((r.flags||0)&12)!==0){let u=n.version;if(A(r,n,true),n.version!==u&&n.version>(e.lastCleanEpoch||0))return true}}a=a.nextDep;}return false}function K(e,t){if(d$2()===0){if(t.subsHead){let a=false,n=t.subsHead;for(;n;){let r=n.sub;r.nodeType===2?r.execute&&r.execute():(b$1(r),a||(a=true,a$1())),n=n.nextSub;}}}else {let a=t.subsHead;for(;a;)a.sub&&c$1(a.sub),a=a.nextSub;}}var Se={get(e,t){let a$1=f.get(e);if(t===g)return e;if(a$1.key&&I(a$1.key),t==="peek")return e.peek;if(t==="set"&&!a$1.computeFn)return e.set;let n=a$1.computeFn?A(a$1,e):a$1._value,r=d$1();if(r&&r!==e&&a.connect(e,r),t===Symbol.toPrimitive||t==="valueOf")return ()=>n;if(t===Symbol.iterator&&Array.isArray(n))return S(n,"length")(),S(n,"iterate")(),n[Symbol.iterator].bind(n);if(t==="prototype"||t==="name"||t==="caller"||t==="arguments"){if(typeof n=="function")return n[t];if(n===null||typeof n!="object")return}if(n!==null&&typeof n=="object"){let u=Reflect.get(n,t);return typeof u=="function"?Array.isArray(n)&&["push","pop","shift","unshift","splice","sort","reverse"].includes(t)?function(...l){let y=u.apply(n,l),p=f.get(e),x=p.computeFn?A(p,e):p._value;return n===x&&(S(n,"length").set(n.length),S(n,"iterate")()),y}:Array.isArray(n)?u.bind(n):n[t].bind(n):(S(n,t,u)(),u!==null&&typeof u=="object"?ie(u):u)}let s=n[t];return typeof s=="function"?s.bind(n):s},set(e,t,a){let n=f.get(e);if(n.computeFn)throw new Error("Cannot set computed signal");let r=n._value;if(r!==null&&typeof r=="object"){let s=Reflect.set(r,t,a);return s&&S(r,t).set(a),s}return false},has(e,t){if(t===g)return true;let a=f.get(e),n=a.computeFn?A(a,e):a._value;return n===null?false:typeof n=="object"?Reflect.has(n,t):false},ownKeys(e){let t=f.get(e),a=t.computeFn?A(t,e):t._value;if(a===null||typeof a!="object")return [];Array.isArray(a)&&S(a,"length")(),S(a,"iterate")();let n=Reflect.ownKeys(a),r=Reflect.ownKeys(e),s=["prototype","name","length"],u=[...n];for(let o of s)r.includes(o)&&!u.includes(o)&&Reflect.getOwnPropertyDescriptor(e,o)&&u.push(o);return u},getPrototypeOf(e){let t=f.get(e),a=t.computeFn?A(t,e):t._value;return a!==null&&typeof a=="object"?Reflect.getPrototypeOf(a):Object.prototype},getOwnPropertyDescriptor(e,t){if(t===g)return {configurable:true,enumerable:false,value:e};let a=f.get(e),n=a.computeFn?A(a,e):a._value;if(t==="prototype"||t==="name"||t==="caller"||t==="arguments"){if(t==="prototype"){let s=Reflect.getOwnPropertyDescriptor(e,t);return s||void 0}if(n!==null&&typeof n=="object"){let s=Reflect.getOwnPropertyDescriptor(n,t);if(s)return {...s,configurable:true,enumerable:true}}if(typeof n=="function"){let s=Reflect.getOwnPropertyDescriptor(n,t);if(s)return {...s,configurable:true,enumerable:true}}return}if(n===null||typeof n!="object")return;let r=Reflect.getOwnPropertyDescriptor(n,t);if(r)return {...r,configurable:true,enumerable:true}}},ve={get(e,t,a){if(t===g)return e;let n=Reflect.get(e,t,a);return S(e,t,n)(),n!==null&&typeof n=="object"?ie(n):n},set(e,t,a,n){let r=Reflect.set(e,t,a,n);return r&&S(e,t).set(a),r},has(e,t){return t===g?true:Reflect.has(e,t)}},oe=new WeakMap;function ie(e){let t=oe.get(e);return t||(t=new Proxy(e,ve),oe.set(e,t)),t}var ue=new WeakMap;function ce(e,t){if(typeof e=="object"&&e!==null){let a=ue.get(e);return a||(a=O(e,void 0,t),ue.set(e,a),a)}return O(e,void 0,t)}function j(e,t){return O(void 0,e,t)}function le(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&g in e?e[g]:null}var fe=null;function L(e){fe=e;}function de(){return fe}function Fe(){return {id:Symbol("component"),hookIndex:0,hooks:[]}}function He(e){e.hookIndex=0;}var g=Symbol.for("flexium.stateSignal");function B(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&g in e}function ze(e){return B(e)}function Le(e){return le(e)}function Be(e,t){return B(e)?e.peek()===t:false}function Ge(e){return B(e)?!!e.peek():false}function Te(e,t){let a=de();if(a&&!t?.key){let i=a,c=i.hookIndex++;if(c<i.hooks.length)return i.hooks[c];let R=a;L(null);let C=d(e,t);return L(R),i.hooks.push(C),C}let n=t?.key,r=n?P(n):void 0,s=Array.isArray(n)&&n.length>0?String(n[0]):void 0,u=t?.params;if(r&&m.has(r)){let i=m.get(r);I(r,s,i.proxy);let c=[i.proxy];return i.setter&&c.push(i.setter),i.refetch&&c.push(i.refetch),i.status&&c.push(i.status),i.error&&c.push(i.error),c}let o,l,y,p,x;if(typeof e=="function"){let i=e,c=u!==void 0?()=>i(u):i,R;try{R=c();}catch{}if(i.constructor.name==="AsyncFunction"||R instanceof Promise){let[T,pe]=Y(c,async ye=>ye);y=pe.refetch,o=j(()=>T(),r),p=j(()=>T.loading?"loading":T.error?"error":T.state==="unresolved"?"idle":"success",r),x=j(()=>T.error,r);}else o=j(c,r);}else o=ce(e,r),l=i=>{let c=o[g];typeof i=="function"?c.set(i(c.peek())):c.set(i);};let v=[o];return l&&v.push(l),y&&(v.splice(1,0,y),p&&v.push(p),x&&v.push(x)),r&&(m.set(r,{proxy:o,setter:l,refetch:y,status:p,error:x,createdAt:Date.now(),lastAccessed:Date.now(),accessCount:1,referenceCount:1,key:r,namespace:s}),I(r,s,o),typeof process<"u"&&process.env?.NODE_ENV!=="production"&&!ae()&&m.size>=re()&&(W(true),console.warn(`[Flexium] Registry size warning: ${m.size}`))),v}var d=Te;d.delete=function(e){let t=P(e),a=b.get(t);return a?.namespace&&_(t,a.namespace),b.delete(t),m.delete(t)};d.clear=function(){m.clear(),w.clear(),b.clear(),W(false);};d.has=function(e){return m.has(P(e))};d.clearByPrefix=function(e){let t=P(e),a=0,n=[];for(let[r]of b.entries()){if(r===t){n.push(r);continue}if(t.endsWith("]")){let s=t.slice(0,-1);r.startsWith(s)&&r.length>s.length&&r[s.length]===","&&n.push(r);}else r.startsWith(t)&&n.push(r);}for(let r of n)d.delete(r)&&a++;return a};d.getStats=function(){let e={};for(let[a,n]of w.entries())e[a]=n.size;let t=0;for(let a of b.values())t+=a.accessCount;return {total:m.size,byNamespace:e,topNamespaces:Object.entries(e).map(([a,n])=>({namespace:a,count:n})).sort((a,n)=>n.count-a.count).slice(0,10),averageAccessCount:b.size?t/b.size:0}};d.getNamespaceStats=function(e){let t=P(e),a=Array.isArray(e)&&e.length>0?String(e[0]):t,n=[],r=0;for(let[s,u]of b.entries()){let o=false;if(s===t)o=true;else if(t.endsWith("]")){let l=t.slice(0,-1);s.startsWith(l)&&s.length>l.length&&s[l.length]===","&&(o=true);}else s.startsWith(t)&&(o=true);o&&(n.push({key:s,accessCount:u.accessCount,createdAt:u.createdAt}),r+=u.accessCount);}return {namespace:a,count:n.length,totalAccessCount:r,averageAccessCount:n.length?r/n.length:0,states:n}};Object.defineProperty(d,"size",{get:()=>m.size,enumerable:true});d.enableAutoCleanup=e=>{Object.assign(h,e,{enabled:true});let t=M();t&&clearInterval(t);let a=setInterval(E,h.checkInterval);N(a);};d.disableAutoCleanup=()=>{h.enabled=false;let e=M();e&&clearInterval(e),N(null);};Object.defineProperty(d,"isAutoCleanupEnabled",{get:()=>h.enabled,enumerable:true});ne(e=>d.delete(e));function $e(e){return {current:e}}export{Y as a,L as b,Fe as c,He as d,g as e,B as f,ze as g,Le as h,Be as i,Ge as j,d as k,$e as l};//# sourceMappingURL=chunk-2L2QFYBL.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-2L2QFYBL.mjs.map
|