juxscript 1.0.87 → 1.0.88
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/lib/componentsv2/index.d.ts +10 -1
- package/lib/componentsv2/index.d.ts.map +1 -1
- package/lib/componentsv2/index.js +5 -1
- package/lib/componentsv2/index.js.map +1 -1
- package/lib/componentsv2/index.ts +6 -1
- package/lib/componentsv2/juxerror/component.d.ts +28 -0
- package/lib/componentsv2/juxerror/component.d.ts.map +1 -0
- package/lib/componentsv2/juxerror/component.js +101 -0
- package/lib/componentsv2/juxerror/component.js.map +1 -0
- package/lib/componentsv2/juxerror/component.ts +125 -0
- package/lib/componentsv2/juxerror/engine.d.ts +35 -0
- package/lib/componentsv2/juxerror/engine.d.ts.map +1 -0
- package/lib/componentsv2/juxerror/engine.js +190 -0
- package/lib/componentsv2/juxerror/engine.js.map +1 -0
- package/lib/componentsv2/juxerror/engine.ts +241 -0
- package/lib/componentsv2/juxerror/skin.d.ts +11 -0
- package/lib/componentsv2/juxerror/skin.d.ts.map +1 -0
- package/lib/componentsv2/juxerror/skin.js +180 -0
- package/lib/componentsv2/juxerror/skin.js.map +1 -0
- package/lib/componentsv2/juxerror/skin.ts +200 -0
- package/lib/componentsv2/juxerror/structure.css +351 -0
- package/lib/componentsv2/stubs/ComponentSkin.ts.stub +2 -1
- package/package.json +1 -1
|
@@ -2,7 +2,8 @@ import { List } from './list/component.js';
|
|
|
2
2
|
import { Grid } from './grid/component.js';
|
|
3
3
|
import { Input } from './input/component.js';
|
|
4
4
|
import { Element } from './element/component.js';
|
|
5
|
-
|
|
5
|
+
import { JuxError } from './juxerror/component.js';
|
|
6
|
+
export { List, Grid, Input, Element, JuxError };
|
|
6
7
|
export declare const tree: () => Record<string, any>;
|
|
7
8
|
export declare const use: (query: string) => any;
|
|
8
9
|
export declare const engines: () => string[];
|
|
@@ -21,6 +22,14 @@ export declare const juxV2: {
|
|
|
21
22
|
List: typeof List;
|
|
22
23
|
Grid: typeof Grid;
|
|
23
24
|
Input: typeof Input;
|
|
25
|
+
JuxError: typeof JuxError;
|
|
26
|
+
Element: typeof Element;
|
|
27
|
+
reflection: {
|
|
28
|
+
tree: () => Record<string, any>;
|
|
29
|
+
use: (query: string) => any;
|
|
30
|
+
engines: () => string[];
|
|
31
|
+
log: () => void;
|
|
32
|
+
};
|
|
24
33
|
events: import("./base/GlobalBus.js").JuxGlobalBus;
|
|
25
34
|
plugins: {
|
|
26
35
|
ServerSQLitePlugin: (config: import("./plugins/ServerSQLitePlugin.js").ServerSQLiteConfig) => import("./base/BaseEngine.js").JuxServiceContract<import("./base/BaseEngine.js").BaseEngine<any>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGnD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAwChD,eAAO,MAAM,IAAI,2BAmGhB,CAAC;AAEF,eAAO,MAAM,GAAG,GAAI,OAAO,MAAM,QA8BhC,CAAC;AAEF,eAAO,MAAM,OAAO,gBAOnB,CAAC;AAEF,eAAO,MAAM,GAAG,YAsBf,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM;;iBArEQ,MAAM;;;CA0EhC,CAAC;AASF,eAAO,MAAM,KAAK;;;;;;;;qBAnFS,MAAM;;;;;;;;;;;CAiGhC,CAAC"}
|
|
@@ -7,8 +7,9 @@ import { List } from './list/component.js';
|
|
|
7
7
|
import { Grid } from './grid/component.js';
|
|
8
8
|
import { Input } from './input/component.js';
|
|
9
9
|
import { Element } from './element/component.js';
|
|
10
|
+
import { JuxError } from './juxerror/component.js';
|
|
10
11
|
// Export individually
|
|
11
|
-
export { List, Grid, Input, Element };
|
|
12
|
+
export { List, Grid, Input, Element, JuxError };
|
|
12
13
|
/**
|
|
13
14
|
* Curated documentation for core framework capabilities.
|
|
14
15
|
* These strings are appended to the reflection data in juxDef.tree.
|
|
@@ -208,6 +209,9 @@ export const juxV2 = {
|
|
|
208
209
|
List,
|
|
209
210
|
Grid,
|
|
210
211
|
Input,
|
|
212
|
+
JuxError,
|
|
213
|
+
Element,
|
|
214
|
+
reflection: juxDef,
|
|
211
215
|
events: GlobalBus,
|
|
212
216
|
plugins: {
|
|
213
217
|
ServerSQLitePlugin,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC,CAAC,uBAAuB;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAGrE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,sBAAsB;AACtB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,10 @@ import { Input } from './input/component.js';
|
|
|
12
12
|
|
|
13
13
|
import { Element } from './element/component.js';
|
|
14
14
|
|
|
15
|
+
import { JuxError } from './juxerror/component.js';
|
|
16
|
+
|
|
15
17
|
// Export individually
|
|
16
|
-
export { List, Grid, Input, Element };
|
|
18
|
+
export { List, Grid, Input, Element, JuxError };
|
|
17
19
|
|
|
18
20
|
/**
|
|
19
21
|
* Curated documentation for core framework capabilities.
|
|
@@ -241,6 +243,9 @@ export const juxV2 = {
|
|
|
241
243
|
List,
|
|
242
244
|
Grid,
|
|
243
245
|
Input,
|
|
246
|
+
JuxError,
|
|
247
|
+
Element,
|
|
248
|
+
reflection: juxDef,
|
|
244
249
|
events: GlobalBus,
|
|
245
250
|
plugins: {
|
|
246
251
|
ServerSQLitePlugin,
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { JuxErrorEngine, JuxErrorOptions } from './engine.js';
|
|
2
|
+
import { JuxErrorSkin } from './skin.js';
|
|
3
|
+
export type JuxErrorComponent = JuxErrorEngine & {
|
|
4
|
+
render: (target?: string | HTMLElement) => JuxErrorComponent;
|
|
5
|
+
injectCSS: (id: string, cssContent: string) => void;
|
|
6
|
+
installGlobalHandler: () => JuxErrorComponent;
|
|
7
|
+
uninstallGlobalHandler: () => JuxErrorComponent;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Factory Function
|
|
11
|
+
* usage: jux.error('my-error').render().installGlobalHandler()
|
|
12
|
+
*
|
|
13
|
+
* Strategy: FUNCTIONAL COMPOSITION
|
|
14
|
+
* We instantiate the pure Logic (Engine) and the View (Skin).
|
|
15
|
+
* We augment the Engine instance with a function, .render(), that delegates to the Skin method, renderSkin().
|
|
16
|
+
* This keeps the Engine class pure/headless, while offering a convenient API.
|
|
17
|
+
*/
|
|
18
|
+
export declare function JuxError(id?: string, options?: JuxErrorOptions): JuxErrorComponent;
|
|
19
|
+
export declare namespace JuxError {
|
|
20
|
+
var getInstance: () => JuxErrorComponent;
|
|
21
|
+
var show: (error: Error | string) => void;
|
|
22
|
+
var showCompileError: (file: string, line: number, message: string, code?: string) => void;
|
|
23
|
+
var showNetworkError: (url: string, status: number, message: string) => void;
|
|
24
|
+
var dismiss: () => void;
|
|
25
|
+
}
|
|
26
|
+
export { JuxErrorEngine, JuxErrorSkin };
|
|
27
|
+
export type { JuxErrorState, StackFrame } from './engine.js';
|
|
28
|
+
//# sourceMappingURL=component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAC7C,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,KAAK,iBAAiB,CAAC;IAC7D,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;IAC9C,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;CACnD,CAAC;AAMF;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,EAAE,GAAE,MAAoB,EAAE,OAAO,GAAE,eAAoB,GAAG,iBAAiB,CAuDnG;yBAvDe,QAAQ;2BA8DG,iBAAiB;sBAYpB,KAAK,GAAG,MAAM,KAAG,IAAI;iCAOV,MAAM,QAAQ,MAAM,WAAW,MAAM,SAAS,MAAM,KAAG,IAAI;gCAO5D,MAAM,UAAU,MAAM,WAAW,MAAM,KAAG,IAAI;uBAOzD,IAAI;;AAI3B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;AACxC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { JuxErrorEngine } from './engine.js';
|
|
2
|
+
import { JuxErrorSkin } from './skin.js';
|
|
3
|
+
// Module-level singleton reference
|
|
4
|
+
let _instance = null;
|
|
5
|
+
let _cleanupGlobalHandler = null;
|
|
6
|
+
/**
|
|
7
|
+
* Factory Function
|
|
8
|
+
* usage: jux.error('my-error').render().installGlobalHandler()
|
|
9
|
+
*
|
|
10
|
+
* Strategy: FUNCTIONAL COMPOSITION
|
|
11
|
+
* We instantiate the pure Logic (Engine) and the View (Skin).
|
|
12
|
+
* We augment the Engine instance with a function, .render(), that delegates to the Skin method, renderSkin().
|
|
13
|
+
* This keeps the Engine class pure/headless, while offering a convenient API.
|
|
14
|
+
*/
|
|
15
|
+
export function JuxError(id = 'jux-error', options = {}) {
|
|
16
|
+
// 1. Create the Logic
|
|
17
|
+
const engine = new JuxErrorEngine(id, options);
|
|
18
|
+
// Registration (Debug/Introspection)
|
|
19
|
+
if (typeof window !== 'undefined') {
|
|
20
|
+
// @ts-ignore
|
|
21
|
+
window.juxEngines = window.juxEngines || {};
|
|
22
|
+
// @ts-ignore
|
|
23
|
+
window.juxEngines[id] = engine;
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
window.juxEnginesKeys = Object.keys(window.juxEngines);
|
|
26
|
+
}
|
|
27
|
+
// 2. Create the View (wired to the engine)
|
|
28
|
+
const skin = new JuxErrorSkin(engine);
|
|
29
|
+
// 3. Augment the Engine with Render capability
|
|
30
|
+
// @ts-ignore - Dynamic augmentation
|
|
31
|
+
engine.render = (target) => {
|
|
32
|
+
const container = typeof target === 'string'
|
|
33
|
+
? document.getElementById(target)
|
|
34
|
+
: target || document.body;
|
|
35
|
+
if (container) {
|
|
36
|
+
skin.renderSkin(container);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
console.warn(`Jux Error: Target ${target} not found.`);
|
|
40
|
+
}
|
|
41
|
+
return engine;
|
|
42
|
+
};
|
|
43
|
+
// 4. Augment with Styling capability
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
engine.injectCSS = (id, cssContent) => skin.injectCSS(id, cssContent);
|
|
46
|
+
// 5. Augment with Global Handler capability
|
|
47
|
+
// @ts-ignore
|
|
48
|
+
engine.installGlobalHandler = () => {
|
|
49
|
+
if (!_cleanupGlobalHandler) {
|
|
50
|
+
_cleanupGlobalHandler = JuxErrorEngine.installGlobalHandler(engine);
|
|
51
|
+
}
|
|
52
|
+
return engine;
|
|
53
|
+
};
|
|
54
|
+
// @ts-ignore
|
|
55
|
+
engine.uninstallGlobalHandler = () => {
|
|
56
|
+
if (_cleanupGlobalHandler) {
|
|
57
|
+
_cleanupGlobalHandler();
|
|
58
|
+
_cleanupGlobalHandler = null;
|
|
59
|
+
}
|
|
60
|
+
return engine;
|
|
61
|
+
};
|
|
62
|
+
return engine;
|
|
63
|
+
}
|
|
64
|
+
// --- Static Singleton API ---
|
|
65
|
+
/**
|
|
66
|
+
* Get or create the singleton error overlay instance
|
|
67
|
+
*/
|
|
68
|
+
JuxError.getInstance = () => {
|
|
69
|
+
if (!_instance) {
|
|
70
|
+
_instance = JuxError('jux-error-singleton')
|
|
71
|
+
.render()
|
|
72
|
+
.installGlobalHandler();
|
|
73
|
+
}
|
|
74
|
+
return _instance;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Quick show - uses singleton
|
|
78
|
+
*/
|
|
79
|
+
JuxError.show = (error) => {
|
|
80
|
+
JuxError.getInstance().show(error);
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Quick compile error - uses singleton
|
|
84
|
+
*/
|
|
85
|
+
JuxError.showCompileError = (file, line, message, code) => {
|
|
86
|
+
JuxError.getInstance().showCompileError(file, line, message, code);
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Quick network error - uses singleton
|
|
90
|
+
*/
|
|
91
|
+
JuxError.showNetworkError = (url, status, message) => {
|
|
92
|
+
JuxError.getInstance().showNetworkError(url, status, message);
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Quick dismiss - uses singleton
|
|
96
|
+
*/
|
|
97
|
+
JuxError.dismiss = () => {
|
|
98
|
+
JuxError.getInstance().dismiss();
|
|
99
|
+
};
|
|
100
|
+
export { JuxErrorEngine, JuxErrorSkin };
|
|
101
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { JuxErrorEngine, JuxErrorOptions } from './engine.js';
|
|
2
|
+
import { JuxErrorSkin } from './skin.js';
|
|
3
|
+
|
|
4
|
+
// Define the Component Type (Engine + Render Capability)
|
|
5
|
+
export type JuxErrorComponent = JuxErrorEngine & {
|
|
6
|
+
render: (target?: string | HTMLElement) => JuxErrorComponent;
|
|
7
|
+
injectCSS: (id: string, cssContent: string) => void;
|
|
8
|
+
installGlobalHandler: () => JuxErrorComponent;
|
|
9
|
+
uninstallGlobalHandler: () => JuxErrorComponent;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
// Module-level singleton reference
|
|
13
|
+
let _instance: JuxErrorComponent | null = null;
|
|
14
|
+
let _cleanupGlobalHandler: (() => void) | null = null;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Factory Function
|
|
18
|
+
* usage: jux.error('my-error').render().installGlobalHandler()
|
|
19
|
+
*
|
|
20
|
+
* Strategy: FUNCTIONAL COMPOSITION
|
|
21
|
+
* We instantiate the pure Logic (Engine) and the View (Skin).
|
|
22
|
+
* We augment the Engine instance with a function, .render(), that delegates to the Skin method, renderSkin().
|
|
23
|
+
* This keeps the Engine class pure/headless, while offering a convenient API.
|
|
24
|
+
*/
|
|
25
|
+
export function JuxError(id: string = 'jux-error', options: JuxErrorOptions = {}): JuxErrorComponent {
|
|
26
|
+
// 1. Create the Logic
|
|
27
|
+
const engine = new JuxErrorEngine(id, options);
|
|
28
|
+
|
|
29
|
+
// Registration (Debug/Introspection)
|
|
30
|
+
if (typeof window !== 'undefined') {
|
|
31
|
+
// @ts-ignore
|
|
32
|
+
window.juxEngines = window.juxEngines || {};
|
|
33
|
+
// @ts-ignore
|
|
34
|
+
window.juxEngines[id] = engine;
|
|
35
|
+
// @ts-ignore
|
|
36
|
+
window.juxEnginesKeys = Object.keys(window.juxEngines);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// 2. Create the View (wired to the engine)
|
|
40
|
+
const skin = new JuxErrorSkin(engine);
|
|
41
|
+
|
|
42
|
+
// 3. Augment the Engine with Render capability
|
|
43
|
+
// @ts-ignore - Dynamic augmentation
|
|
44
|
+
engine.render = (target?: string | HTMLElement) => {
|
|
45
|
+
const container = typeof target === 'string'
|
|
46
|
+
? document.getElementById(target)
|
|
47
|
+
: target || document.body;
|
|
48
|
+
|
|
49
|
+
if (container) {
|
|
50
|
+
skin.renderSkin(container);
|
|
51
|
+
} else {
|
|
52
|
+
console.warn(`Jux Error: Target ${target} not found.`);
|
|
53
|
+
}
|
|
54
|
+
return engine as JuxErrorComponent;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
// 4. Augment with Styling capability
|
|
58
|
+
// @ts-ignore
|
|
59
|
+
engine.injectCSS = (id: string, cssContent: string) => skin.injectCSS(id, cssContent);
|
|
60
|
+
|
|
61
|
+
// 5. Augment with Global Handler capability
|
|
62
|
+
// @ts-ignore
|
|
63
|
+
engine.installGlobalHandler = () => {
|
|
64
|
+
if (!_cleanupGlobalHandler) {
|
|
65
|
+
_cleanupGlobalHandler = JuxErrorEngine.installGlobalHandler(engine);
|
|
66
|
+
}
|
|
67
|
+
return engine as JuxErrorComponent;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
// @ts-ignore
|
|
71
|
+
engine.uninstallGlobalHandler = () => {
|
|
72
|
+
if (_cleanupGlobalHandler) {
|
|
73
|
+
_cleanupGlobalHandler();
|
|
74
|
+
_cleanupGlobalHandler = null;
|
|
75
|
+
}
|
|
76
|
+
return engine as JuxErrorComponent;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
return engine as JuxErrorComponent;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// --- Static Singleton API ---
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Get or create the singleton error overlay instance
|
|
86
|
+
*/
|
|
87
|
+
JuxError.getInstance = (): JuxErrorComponent => {
|
|
88
|
+
if (!_instance) {
|
|
89
|
+
_instance = JuxError('jux-error-singleton')
|
|
90
|
+
.render()
|
|
91
|
+
.installGlobalHandler();
|
|
92
|
+
}
|
|
93
|
+
return _instance;
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Quick show - uses singleton
|
|
98
|
+
*/
|
|
99
|
+
JuxError.show = (error: Error | string): void => {
|
|
100
|
+
JuxError.getInstance().show(error);
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Quick compile error - uses singleton
|
|
105
|
+
*/
|
|
106
|
+
JuxError.showCompileError = (file: string, line: number, message: string, code?: string): void => {
|
|
107
|
+
JuxError.getInstance().showCompileError(file, line, message, code);
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Quick network error - uses singleton
|
|
112
|
+
*/
|
|
113
|
+
JuxError.showNetworkError = (url: string, status: number, message: string): void => {
|
|
114
|
+
JuxError.getInstance().showNetworkError(url, status, message);
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Quick dismiss - uses singleton
|
|
119
|
+
*/
|
|
120
|
+
JuxError.dismiss = (): void => {
|
|
121
|
+
JuxError.getInstance().dismiss();
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
export { JuxErrorEngine, JuxErrorSkin };
|
|
125
|
+
export type { JuxErrorState, StackFrame } from './engine.js';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { BaseEngine, BaseState } from '../base/BaseEngine.js';
|
|
2
|
+
export interface StackFrame {
|
|
3
|
+
file: string;
|
|
4
|
+
line: number;
|
|
5
|
+
column: number;
|
|
6
|
+
function: string;
|
|
7
|
+
code?: string;
|
|
8
|
+
isUserCode: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface JuxErrorState extends BaseState {
|
|
11
|
+
title: string;
|
|
12
|
+
message: string;
|
|
13
|
+
stack: StackFrame[];
|
|
14
|
+
rawStack: string;
|
|
15
|
+
timestamp: number;
|
|
16
|
+
errorType: 'runtime' | 'compile' | 'network' | 'validation' | 'unknown';
|
|
17
|
+
culpritFrame: StackFrame | null;
|
|
18
|
+
expanded: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface JuxErrorOptions {
|
|
21
|
+
autoShow?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare class JuxErrorEngine extends BaseEngine<JuxErrorState, JuxErrorOptions> {
|
|
24
|
+
#private;
|
|
25
|
+
constructor(id?: string, options?: JuxErrorOptions);
|
|
26
|
+
protected prepareState(id: string, options: JuxErrorOptions): JuxErrorState;
|
|
27
|
+
show(error: Error | string, type?: JuxErrorState['errorType']): this;
|
|
28
|
+
showCompileError(file: string, line: number, message: string, code?: string): this;
|
|
29
|
+
showNetworkError(url: string, status: number, message: string): this;
|
|
30
|
+
showValidationError(field: string, message: string): this;
|
|
31
|
+
dismiss(): this;
|
|
32
|
+
toggleExpanded(): this;
|
|
33
|
+
static installGlobalHandler(engine: JuxErrorEngine): () => void;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAG9D,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;IACxE,YAAY,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,cAAe,SAAQ,UAAU,CAAC,aAAa,EAAE,eAAe,CAAC;;gBAC9D,EAAE,GAAE,MAAoB,EAAE,OAAO,GAAE,eAAoB;IAInE,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,aAAa;IAuB3E,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,IAAI,GAAE,aAAa,CAAC,WAAW,CAAa,GAAG,IAAI;IAqB/E,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IA0BlF,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAiBpE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAiBzD,OAAO,IAAI,IAAI;IAMf,cAAc,IAAI,IAAI;IA2EtB,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,IAAI;CAuBlE"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var _JuxErrorEngine_instances, _JuxErrorEngine_parseStack, _JuxErrorEngine_parseStackLine, _JuxErrorEngine_cleanFilePath, _JuxErrorEngine_isUserCode, _JuxErrorEngine_findCulprit;
|
|
7
|
+
import { BaseEngine } from '../base/BaseEngine.js';
|
|
8
|
+
export class JuxErrorEngine extends BaseEngine {
|
|
9
|
+
constructor(id = 'jux-error', options = {}) {
|
|
10
|
+
super(id, options);
|
|
11
|
+
_JuxErrorEngine_instances.add(this);
|
|
12
|
+
}
|
|
13
|
+
prepareState(id, options) {
|
|
14
|
+
return {
|
|
15
|
+
// BaseState requirements
|
|
16
|
+
id,
|
|
17
|
+
classes: ['jux-error'],
|
|
18
|
+
visible: false,
|
|
19
|
+
disabled: false,
|
|
20
|
+
loading: false,
|
|
21
|
+
attributes: {},
|
|
22
|
+
// JuxErrorState specifics
|
|
23
|
+
title: '',
|
|
24
|
+
message: '',
|
|
25
|
+
stack: [],
|
|
26
|
+
rawStack: '',
|
|
27
|
+
timestamp: 0,
|
|
28
|
+
errorType: 'unknown',
|
|
29
|
+
culpritFrame: null,
|
|
30
|
+
expanded: false
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
// --- Public API ---
|
|
34
|
+
show(error, type = 'runtime') {
|
|
35
|
+
const err = typeof error === 'string' ? new Error(error) : error;
|
|
36
|
+
const stack = __classPrivateFieldGet(this, _JuxErrorEngine_instances, "m", _JuxErrorEngine_parseStack).call(this, err.stack || '');
|
|
37
|
+
const culprit = __classPrivateFieldGet(this, _JuxErrorEngine_instances, "m", _JuxErrorEngine_findCulprit).call(this, stack);
|
|
38
|
+
this.updateState({
|
|
39
|
+
visible: true,
|
|
40
|
+
title: err.name || 'Error',
|
|
41
|
+
message: err.message,
|
|
42
|
+
stack,
|
|
43
|
+
rawStack: err.stack || '',
|
|
44
|
+
timestamp: Date.now(),
|
|
45
|
+
errorType: type,
|
|
46
|
+
culpritFrame: culprit,
|
|
47
|
+
expanded: false
|
|
48
|
+
});
|
|
49
|
+
this.emit('error:show', { type, message: err.message });
|
|
50
|
+
return this;
|
|
51
|
+
}
|
|
52
|
+
showCompileError(file, line, message, code) {
|
|
53
|
+
const culprit = {
|
|
54
|
+
file,
|
|
55
|
+
line,
|
|
56
|
+
column: 0,
|
|
57
|
+
function: '<compile>',
|
|
58
|
+
code,
|
|
59
|
+
isUserCode: true
|
|
60
|
+
};
|
|
61
|
+
this.updateState({
|
|
62
|
+
visible: true,
|
|
63
|
+
title: 'Compile Error',
|
|
64
|
+
message,
|
|
65
|
+
stack: [culprit],
|
|
66
|
+
rawStack: '',
|
|
67
|
+
timestamp: Date.now(),
|
|
68
|
+
errorType: 'compile',
|
|
69
|
+
culpritFrame: culprit,
|
|
70
|
+
expanded: false
|
|
71
|
+
});
|
|
72
|
+
this.emit('error:compile', { file, line, message });
|
|
73
|
+
return this;
|
|
74
|
+
}
|
|
75
|
+
showNetworkError(url, status, message) {
|
|
76
|
+
this.updateState({
|
|
77
|
+
visible: true,
|
|
78
|
+
title: `Network Error (${status})`,
|
|
79
|
+
message: `${message}\n\nURL: ${url}`,
|
|
80
|
+
stack: [],
|
|
81
|
+
rawStack: '',
|
|
82
|
+
timestamp: Date.now(),
|
|
83
|
+
errorType: 'network',
|
|
84
|
+
culpritFrame: null,
|
|
85
|
+
expanded: false
|
|
86
|
+
});
|
|
87
|
+
this.emit('error:network', { url, status, message });
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
90
|
+
showValidationError(field, message) {
|
|
91
|
+
this.updateState({
|
|
92
|
+
visible: true,
|
|
93
|
+
title: 'Validation Error',
|
|
94
|
+
message: `${field}: ${message}`,
|
|
95
|
+
stack: [],
|
|
96
|
+
rawStack: '',
|
|
97
|
+
timestamp: Date.now(),
|
|
98
|
+
errorType: 'validation',
|
|
99
|
+
culpritFrame: null,
|
|
100
|
+
expanded: false
|
|
101
|
+
});
|
|
102
|
+
this.emit('error:validation', { field, message });
|
|
103
|
+
return this;
|
|
104
|
+
}
|
|
105
|
+
dismiss() {
|
|
106
|
+
this.updateState({ visible: false });
|
|
107
|
+
this.emit('error:dismiss', {});
|
|
108
|
+
return this;
|
|
109
|
+
}
|
|
110
|
+
toggleExpanded() {
|
|
111
|
+
this.updateState({ expanded: !this.state.expanded });
|
|
112
|
+
this.emit('error:toggle', { expanded: this.state.expanded });
|
|
113
|
+
return this;
|
|
114
|
+
}
|
|
115
|
+
// --- Global Error Handler ---
|
|
116
|
+
static installGlobalHandler(engine) {
|
|
117
|
+
const errorHandler = (event) => {
|
|
118
|
+
engine.show(event.error || event.message, 'runtime');
|
|
119
|
+
event.preventDefault();
|
|
120
|
+
};
|
|
121
|
+
const rejectionHandler = (event) => {
|
|
122
|
+
const error = event.reason instanceof Error
|
|
123
|
+
? event.reason
|
|
124
|
+
: new Error(String(event.reason));
|
|
125
|
+
engine.show(error, 'runtime');
|
|
126
|
+
event.preventDefault();
|
|
127
|
+
};
|
|
128
|
+
window.addEventListener('error', errorHandler);
|
|
129
|
+
window.addEventListener('unhandledrejection', rejectionHandler);
|
|
130
|
+
// Return cleanup function
|
|
131
|
+
return () => {
|
|
132
|
+
window.removeEventListener('error', errorHandler);
|
|
133
|
+
window.removeEventListener('unhandledrejection', rejectionHandler);
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
_JuxErrorEngine_instances = new WeakSet(), _JuxErrorEngine_parseStack = function _JuxErrorEngine_parseStack(rawStack) {
|
|
138
|
+
const lines = rawStack.split('\n').slice(1);
|
|
139
|
+
const frames = [];
|
|
140
|
+
for (const line of lines) {
|
|
141
|
+
const frame = __classPrivateFieldGet(this, _JuxErrorEngine_instances, "m", _JuxErrorEngine_parseStackLine).call(this, line.trim());
|
|
142
|
+
if (frame)
|
|
143
|
+
frames.push(frame);
|
|
144
|
+
}
|
|
145
|
+
return frames;
|
|
146
|
+
}, _JuxErrorEngine_parseStackLine = function _JuxErrorEngine_parseStackLine(line) {
|
|
147
|
+
// Chrome/V8: "at functionName (file:line:column)" or "at file:line:column"
|
|
148
|
+
const chromeMatch = line.match(/^at\s+(?:(.+?)\s+\()?(.+?):(\d+):(\d+)\)?$/);
|
|
149
|
+
if (chromeMatch) {
|
|
150
|
+
const [, func, file, lineNum, col] = chromeMatch;
|
|
151
|
+
return {
|
|
152
|
+
function: func || '<anonymous>',
|
|
153
|
+
file: __classPrivateFieldGet(this, _JuxErrorEngine_instances, "m", _JuxErrorEngine_cleanFilePath).call(this, file),
|
|
154
|
+
line: parseInt(lineNum, 10),
|
|
155
|
+
column: parseInt(col, 10),
|
|
156
|
+
isUserCode: __classPrivateFieldGet(this, _JuxErrorEngine_instances, "m", _JuxErrorEngine_isUserCode).call(this, file)
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
// Firefox: "functionName@file:line:column"
|
|
160
|
+
const firefoxMatch = line.match(/^(.*)@(.+?):(\d+):(\d+)$/);
|
|
161
|
+
if (firefoxMatch) {
|
|
162
|
+
const [, func, file, lineNum, col] = firefoxMatch;
|
|
163
|
+
return {
|
|
164
|
+
function: func || '<anonymous>',
|
|
165
|
+
file: __classPrivateFieldGet(this, _JuxErrorEngine_instances, "m", _JuxErrorEngine_cleanFilePath).call(this, file),
|
|
166
|
+
line: parseInt(lineNum, 10),
|
|
167
|
+
column: parseInt(col, 10),
|
|
168
|
+
isUserCode: __classPrivateFieldGet(this, _JuxErrorEngine_instances, "m", _JuxErrorEngine_isUserCode).call(this, file)
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
return null;
|
|
172
|
+
}, _JuxErrorEngine_cleanFilePath = function _JuxErrorEngine_cleanFilePath(file) {
|
|
173
|
+
return file
|
|
174
|
+
.replace(/^https?:\/\/[^/]+/, '')
|
|
175
|
+
.replace(/\?.*$/, '');
|
|
176
|
+
}, _JuxErrorEngine_isUserCode = function _JuxErrorEngine_isUserCode(file) {
|
|
177
|
+
const nonUserPatterns = [
|
|
178
|
+
/node_modules/,
|
|
179
|
+
/^\[native code\]/,
|
|
180
|
+
/<anonymous>/,
|
|
181
|
+
/^internal\//,
|
|
182
|
+
/^node:/,
|
|
183
|
+
/extensions\//,
|
|
184
|
+
/juxscript\/lib\/componentsv2/
|
|
185
|
+
];
|
|
186
|
+
return !nonUserPatterns.some(p => p.test(file));
|
|
187
|
+
}, _JuxErrorEngine_findCulprit = function _JuxErrorEngine_findCulprit(stack) {
|
|
188
|
+
return stack.find(frame => frame.isUserCode) || stack[0] || null;
|
|
189
|
+
};
|
|
190
|
+
//# sourceMappingURL=engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["engine.ts"],"names":[],"mappings":"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"}
|