apprun 3.35.0 → 3.36.1
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/CHANGELOG.md +28 -0
- package/README.md +134 -16
- package/WHATSNEW.md +28 -12
- package/apprun-book.jpg +0 -0
- package/apprun.d.ts +9 -6
- package/cli/app.js +29 -0
- package/cli/index.html +13 -0
- package/{apprun-cli.js → cli/index.js} +8 -14
- package/dist/apprun-dev-tools.js +1 -2
- package/dist/apprun-dev-tools.js.map +1 -1
- package/dist/apprun-html.esm.js +7 -7
- package/dist/apprun-html.esm.js.map +1 -1
- package/dist/apprun-html.js +1 -1
- package/dist/apprun-html.js.map +1 -1
- package/dist/apprun-play-html.esm.js +7 -7
- package/dist/apprun-play-html.esm.js.map +1 -1
- package/dist/apprun-play.js +1 -1
- package/dist/apprun-play.js.map +1 -1
- package/dist/apprun.esm.js +1 -1
- package/dist/apprun.esm.js.map +1 -1
- package/dist/apprun.js +1 -1
- package/dist/apprun.js.map +1 -1
- package/esm/app.js +60 -12
- package/esm/app.js.map +1 -1
- package/esm/apprun-dev-tools.js +1 -7
- package/esm/apprun-dev-tools.js.map +1 -1
- package/esm/apprun-html.js +8 -4
- package/esm/apprun-html.js.map +1 -1
- package/esm/apprun.js +81 -17
- package/esm/apprun.js.map +1 -1
- package/esm/component.js +60 -19
- package/esm/component.js.map +1 -1
- package/esm/decorator.js +22 -5
- package/esm/decorator.js.map +1 -1
- package/esm/directive.js +64 -13
- package/esm/directive.js.map +1 -1
- package/esm/router.js +263 -22
- package/esm/router.js.map +1 -1
- package/esm/type-utils.js +91 -0
- package/esm/type-utils.js.map +1 -0
- package/esm/types.js +32 -11
- package/esm/types.js.map +1 -1
- package/esm/vdom-my-new.js +329 -0
- package/esm/vdom-my-new.js.map +1 -0
- package/esm/vdom-my-prop-attr.js +227 -0
- package/esm/vdom-my-prop-attr.js.map +1 -0
- package/esm/vdom-my.js +77 -88
- package/esm/vdom-my.js.map +1 -1
- package/esm/version.js +15 -0
- package/esm/version.js.map +1 -0
- package/esm/web-component.js +30 -10
- package/esm/web-component.js.map +1 -1
- package/index.html +1 -1
- package/jest.config.js +3 -8
- package/jest.setup.js +29 -3
- package/jsx-runtime.js +1 -1
- package/jsx-runtime.js.map +1 -1
- package/package.json +7 -7
- package/src/app.ts +58 -12
- package/src/apprun-dev-tools.tsx +1 -7
- package/src/apprun-html.ts +8 -4
- package/src/apprun.ts +97 -20
- package/src/component.ts +62 -20
- package/src/decorator.ts +23 -6
- package/src/directive.ts +64 -13
- package/src/router.ts +282 -20
- package/src/type-utils.ts +130 -0
- package/src/types.ts +33 -12
- package/src/vdom-my-new.ts +311 -0
- package/src/vdom-my-prop-attr.ts +241 -0
- package/src/vdom-my.ts +82 -71
- package/src/version.ts +16 -0
- package/src/web-component.ts +31 -11
- package/cli/export.js +0 -92
- package/cli/import.js +0 -68
package/esm/app.js
CHANGED
|
@@ -3,16 +3,30 @@
|
|
|
3
3
|
*
|
|
4
4
|
* This file provides:
|
|
5
5
|
* 1. App class - The core event system implementation with pub/sub capabilities
|
|
6
|
-
* - on(): Subscribe to events
|
|
7
|
-
* - off(): Unsubscribe from events
|
|
8
|
-
* - run(): Publish events synchronously
|
|
9
|
-
* - runAsync(): Publish events asynchronously
|
|
10
|
-
* - query():
|
|
6
|
+
* - on(): Subscribe to events with options (once, delay, global)
|
|
7
|
+
* - off(): Unsubscribe from events with proper cleanup
|
|
8
|
+
* - run(): Publish events synchronously with error handling
|
|
9
|
+
* - runAsync(): Publish events asynchronously with Promise support, returns handler values
|
|
10
|
+
* - query(): Deprecated alias for runAsync() - use runAsync() instead
|
|
11
11
|
*
|
|
12
12
|
* 2. Default app singleton - Global event bus instance
|
|
13
13
|
* - Created once and reused across the application
|
|
14
|
-
* - Stored in global scope (window/global)
|
|
15
|
-
* -
|
|
14
|
+
* - Stored in global scope (window/global) with version tracking
|
|
15
|
+
* - Prevents duplicate instances across different versions
|
|
16
|
+
*
|
|
17
|
+
* Features:
|
|
18
|
+
* - Event wildcards support (events ending with '*')
|
|
19
|
+
* - Delayed event execution with timeout management
|
|
20
|
+
* - Once-only event subscriptions
|
|
21
|
+
* - Async event handling with Promise.all
|
|
22
|
+
* - Global event bus shared across components
|
|
23
|
+
* - Memory leak prevention with proper cleanup
|
|
24
|
+
*
|
|
25
|
+
* Type Safety Improvements (v3.35.1):
|
|
26
|
+
* - Added validation for event handler functions
|
|
27
|
+
* - Enhanced error handling in event execution
|
|
28
|
+
* - Improved null checks in delayed event handling
|
|
29
|
+
* - Better error reporting for invalid handlers
|
|
16
30
|
*
|
|
17
31
|
* Usage:
|
|
18
32
|
* ```ts
|
|
@@ -21,10 +35,16 @@
|
|
|
21
35
|
* // Handle event
|
|
22
36
|
* });
|
|
23
37
|
*
|
|
24
|
-
* // Publish events
|
|
38
|
+
* // Publish events (fire-and-forget)
|
|
25
39
|
* app.run('event-name', ...args);
|
|
40
|
+
*
|
|
41
|
+
* // Get return values from event handlers
|
|
42
|
+
* app.runAsync('event-name', data).then(results => {
|
|
43
|
+
* // Handle results array
|
|
44
|
+
* });
|
|
26
45
|
* ```
|
|
27
46
|
*/
|
|
47
|
+
import { APPRUN_VERSION_GLOBAL } from './version';
|
|
28
48
|
export class App {
|
|
29
49
|
constructor() {
|
|
30
50
|
this._events = {};
|
|
@@ -45,11 +65,20 @@ export class App {
|
|
|
45
65
|
console.assert(subscribers && subscribers.length > 0, 'No subscriber for event: ' + name);
|
|
46
66
|
subscribers.forEach((sub) => {
|
|
47
67
|
const { fn, options } = sub;
|
|
68
|
+
if (!fn || typeof fn !== 'function') {
|
|
69
|
+
console.error(`AppRun event handler for '${name}' is not a function:`, fn);
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
48
72
|
if (options.delay) {
|
|
49
73
|
this.delay(name, fn, args, options);
|
|
50
74
|
}
|
|
51
75
|
else {
|
|
52
|
-
|
|
76
|
+
try {
|
|
77
|
+
Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
console.error(`Error in event handler for '${name}':`, error);
|
|
81
|
+
}
|
|
53
82
|
}
|
|
54
83
|
return !sub.options.once;
|
|
55
84
|
});
|
|
@@ -63,7 +92,12 @@ export class App {
|
|
|
63
92
|
clearTimeout(options._t);
|
|
64
93
|
options._t = setTimeout(() => {
|
|
65
94
|
clearTimeout(options._t);
|
|
66
|
-
|
|
95
|
+
try {
|
|
96
|
+
Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
console.error(`Error in delayed event handler for '${name}':`, error);
|
|
100
|
+
}
|
|
67
101
|
}, options.delay);
|
|
68
102
|
}
|
|
69
103
|
runAsync(name, ...args) {
|
|
@@ -71,11 +105,25 @@ export class App {
|
|
|
71
105
|
console.assert(subscribers && subscribers.length > 0, 'No subscriber for event: ' + name);
|
|
72
106
|
const promises = subscribers.map(sub => {
|
|
73
107
|
const { fn, options } = sub;
|
|
74
|
-
|
|
108
|
+
if (!fn || typeof fn !== 'function') {
|
|
109
|
+
console.error(`AppRun async event handler for '${name}' is not a function:`, fn);
|
|
110
|
+
return Promise.resolve(null);
|
|
111
|
+
}
|
|
112
|
+
try {
|
|
113
|
+
return Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
console.error(`Error in async event handler for '${name}':`, error);
|
|
117
|
+
return Promise.reject(error);
|
|
118
|
+
}
|
|
75
119
|
});
|
|
76
120
|
return Promise.all(promises);
|
|
77
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* @deprecated Use runAsync() instead. app.query() will be removed in a future version.
|
|
124
|
+
*/
|
|
78
125
|
query(name, ...args) {
|
|
126
|
+
console.warn('app.query() is deprecated. Use app.runAsync() instead.');
|
|
79
127
|
return this.runAsync(name, ...args);
|
|
80
128
|
}
|
|
81
129
|
getSubscribers(name, events) {
|
|
@@ -92,7 +140,7 @@ export class App {
|
|
|
92
140
|
return subscribers;
|
|
93
141
|
}
|
|
94
142
|
}
|
|
95
|
-
const AppRunVersions =
|
|
143
|
+
const AppRunVersions = APPRUN_VERSION_GLOBAL;
|
|
96
144
|
let _app;
|
|
97
145
|
const root = (typeof window !== 'undefined' ? window :
|
|
98
146
|
typeof global !== 'undefined' ? global :
|
package/esm/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/esm/apprun-dev-tools.js
CHANGED
|
@@ -2,12 +2,6 @@ var _a;
|
|
|
2
2
|
import app from './app';
|
|
3
3
|
import toHTML from './vdom-to-html';
|
|
4
4
|
import { _createEventTests, _createStateTests } from './apprun-dev-tools-tests';
|
|
5
|
-
import yaml from 'js-yaml';
|
|
6
|
-
function replacer(key, value) {
|
|
7
|
-
if (typeof value === 'function')
|
|
8
|
-
return value.toString(); // value.toString();
|
|
9
|
-
return ['', null].includes(value) || (typeof value === 'object' && (value.length === 0 || Object.keys(value).length === 0)) ? undefined : value;
|
|
10
|
-
}
|
|
11
5
|
function createProxy(obj) {
|
|
12
6
|
const handler = {
|
|
13
7
|
get(target, property, receiver) {
|
|
@@ -96,7 +90,7 @@ const viewComponents = state => {
|
|
|
96
90
|
return app.h("li", null,
|
|
97
91
|
app.h("div", null, component.constructor.name),
|
|
98
92
|
app.h("div", null,
|
|
99
|
-
app.h("pre", null, htmlEncode(
|
|
93
|
+
app.h("pre", null, htmlEncode(JSON.stringify(component_def, null, 2)))),
|
|
100
94
|
app.h("br", null));
|
|
101
95
|
}));
|
|
102
96
|
return app.h("ul", null, state.map(({ element, comps }) => app.h("li", null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apprun-dev-tools.js","sourceRoot":"","sources":["../src/apprun-dev-tools.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"apprun-dev-tools.js","sourceRoot":"","sources":["../src/apprun-dev-tools.tsx"],"names":[],"mappings":";AAAA,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEhF,SAAS,WAAW,CAAC,GAAG;IACtB,MAAM,OAAO,GAAG;QACd,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;YAE5B,yBAAyB;YACzB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEtD,yDAAyD;YACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAChD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,oDAAoD;oBACpD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACN,+BAA+B;oBAC/B,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,OAAO,IAAI,QAAQ,GAAG,CAAA;QACxB,CAAC;KAEF,CAAC;IAEF,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,UAAU,CAAC,KAAK;IACvB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;SACrC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,OAAO,CAAC,SAAS;IACxB,IAAI,IAAI,CAAC;IACT,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AAEpB,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAChC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,GAAG,KAAK,cAAc,CAAC,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AAEH,SAAS,MAAM,CAAC,IAAI;IAClB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;IAC1D,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;6BACQ,QAAQ,CAAC,QAAQ,CAAC,IAAI;;;;;;mBAMhC,IAAI;;;UAGb,CAAC,CAAC;IACV,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,cAAc,GAAG,GAAG,EAAE;IAC1B,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC7B,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IACzB,OAAO,UAAU,CAAC;AACpB,CAAC,CAAA;AACD,MAAM,WAAW,GAAG,OAAO,CAAC,EAAE,CAAC;IAC5B,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;IAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IACjE,GAAG;IACH,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CACvE,CAAC;AAEP,MAAM,cAAc,GAAG,KAAK,CAAC,EAAE;IAC7B,MAAM,UAAU,GAAG,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,kBACpC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QAE1B,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEtD,MAAM,aAAa,GAAG;YACpB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,SAAS,CAAC,MAAM;SACzB,CAAC;QAEF,OAAO;YACL,mBAAM,SAAS,CAAC,WAAW,CAAC,IAAI,CAAO;YACvC;gBAAK,mBAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAO,CAAM;YAC1E,iBAAM,CACH,CAAC;IAER,CAAC,CAAC,CACC,CAAC;IAEN,OAAO,kBACJ,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACjC,mBAAM,WAAW,CAAC,OAAO,CAAC,CAAO;QACjC,MAAC,UAAU,IAAC,UAAU,EAAE,KAAK,GAAI,CAC9B,CAAC,CACH,CAAA;AACP,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE;IACzB,MAAM,UAAU,GAAG,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,kBACpC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,mBAAM,SAAS,CAAC,WAAW,CAAC,IAAI,CAAO,CACpC,CAAC,CACH,CAAC;IAEN,MAAM,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,kBACpC,MAAM,IAAI,MAAM;SACd,MAAM,CAAC,KAAK,CAAC,EAAE,CACd,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC;SAChD,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAC9B,mBAAM,KAAK,CAAO;QAClB,MAAC,UAAU,IAAC,UAAU,EAAE,UAAU,GAAI,CACnC,CAAC,CACL,CAAC;IAEN,OAAO;QACL,mCAAwB;QACxB,MAAC,MAAM,IAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAI;QACvC,kCAAuB;QACvB,MAAC,MAAM,IAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAI,CACpC,CAAA;AACR,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,KAAM,EAAE,EAAE;IACzB,MAAM,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC,CAAA;IACpC,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAE/B,MAAM,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACvE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;YAC/B,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAC9B,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CACjC,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAClC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAEpE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC;aACtD,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC;aACvD,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,KAAM,EAAE,EAAE;IAC7B,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,EAAE,CAAC;IAEhB,IAAI,UAAU,YAAY,GAAG,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5G,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACnC,MAAM,OAAO,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;AACH,CAAC,CAAA;AAED,IAAI,SAAS,GAAG,MAAM,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,0CAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC;AACnF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;IAClB,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE;QAC1D,WAAW,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE;QAClD,OAAO,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;IACzB,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC,EAAG,EAAE,EAAG,EAAE,EAAE;;QAC/D,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,SAAS,GAAG,CAAC,CAAC;QAChB,CAAC;aAAM,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;YACxB,SAAS,GAAG,CAAC,CAAC;QAChB,CAAC;aAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;YAC1B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,SAAS,IAAI,CAAC,CAAC;YACjB,CAAC;iBAAM,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;gBACxB,SAAS,IAAI,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,SAAS,IAAI,CAAC,CAAC;YACjB,CAAC;iBAAM,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;gBACxB,SAAS,IAAI,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACvC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,0CAAE,OAAO,CAAC,sBAAsB,EAAE,GAAG,SAAS,EAAE,CAAC,CAAA;IACvE,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,4BAA4B,CAAC,GAAG,CAAC,oBAAoB;IAC1D,GAAG,EAAE,CAAC,iBAAiB,EAAE;CAC1B,CAAA;AAED,MAAM,CAAC,4BAA4B,CAAC,GAAG,CAAC,iCAAiC;IACvE,CAAC,CAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;CAC7B,CAAA;AAED,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE;IAC9B,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;IACzC,IAAI,OAAO;QAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;;QACzB,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnC,CAAC,CAAA;AAED,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;AAE5F,MAAM,QAAQ,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;AACxD,IAAI,QAAQ,EAAE,CAAC;IACb,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC,OAAO,EAAE,CAAC;IAClE,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,GAAG,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAChD,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;gBAAE,gBAAgB,GAAG,IAAI,CAAC;iBACjD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;gBAAE,gBAAgB,GAAG,KAAK,CAAC;iBACtD,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACrC,iDAAiD;gBACjD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;gBAClC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;oBAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAAC,CAAC;qBAC3B,CAAC;oBACJ,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;oBACtC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YACxC,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO;YAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAA;QAED,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;YAClB,IAAI,gBAAgB,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC;gBACzB,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;gBACrB,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpB,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;gBAC9B,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;oBAC7B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
package/esm/apprun-html.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import app from './apprun';
|
|
2
|
+
import { safeGlobalAssign } from './type-utils';
|
|
2
3
|
export { app, Component, on, update, event, customElement, ROUTER_404_EVENT, ROUTER_EVENT, safeHTML } from './apprun';
|
|
3
4
|
import { createElement, render, Fragment, html, svg, run } from './vdom-lit-html';
|
|
4
5
|
export { html, svg, render, run };
|
|
@@ -7,9 +8,12 @@ app.render = render;
|
|
|
7
8
|
app.Fragment = Fragment;
|
|
8
9
|
export default app;
|
|
9
10
|
if (typeof window === 'object') {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
const globalWindow = window;
|
|
12
|
+
safeGlobalAssign(globalWindow, {
|
|
13
|
+
'React': globalWindow['_React'] || app,
|
|
14
|
+
'html': html,
|
|
15
|
+
'svg': svg,
|
|
16
|
+
'run': run
|
|
17
|
+
});
|
|
14
18
|
}
|
|
15
19
|
//# sourceMappingURL=apprun-html.js.map
|
package/esm/apprun-html.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apprun-html.js","sourceRoot":"","sources":["../src/apprun-html.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,EACL,GAAG,EAAE,SAAS,EAAwB,EAAE,EAAE,MAAM,EAAE,KAAK,EACvD,aAAa,EACb,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EACzC,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;AAEjC,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC;AAClC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AACpB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAExB,eAAe,GAAG,CAAC;AAEnB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;IAC/B,MAAM,
|
|
1
|
+
{"version":3,"file":"apprun-html.js","sourceRoot":"","sources":["../src/apprun-html.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAqB,MAAM,cAAc,CAAC;AACnE,OAAO,EACL,GAAG,EAAE,SAAS,EAAwB,EAAE,EAAE,MAAM,EAAE,KAAK,EACvD,aAAa,EACb,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EACzC,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;AAEjC,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC;AAClC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AACpB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAExB,eAAe,GAAG,CAAC;AAEnB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,MAA2B,CAAC;IACjD,gBAAgB,CAAC,YAAY,EAAE;QAC7B,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG;QACtC,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;AACL,CAAC"}
|
package/esm/apprun.js
CHANGED
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
* 3. Initializes global app instance with:
|
|
8
8
|
* - Virtual DOM rendering
|
|
9
9
|
* - Component system
|
|
10
|
-
* - Router
|
|
10
|
+
* - Router with improved null safety
|
|
11
11
|
* - Web component support
|
|
12
|
+
* - Type-safe React integration
|
|
12
13
|
*
|
|
13
14
|
* Key exports:
|
|
14
15
|
* - app: Global event system instance
|
|
@@ -17,6 +18,22 @@
|
|
|
17
18
|
* - Router events and configuration
|
|
18
19
|
* - Web component registration
|
|
19
20
|
*
|
|
21
|
+
* Features:
|
|
22
|
+
* - Event-driven architecture with pub/sub pattern
|
|
23
|
+
* - Virtual DOM rendering with multiple renderer support
|
|
24
|
+
* - Component lifecycle management
|
|
25
|
+
* - Client-side routing with hash/path support
|
|
26
|
+
* - Web Components integration
|
|
27
|
+
* - React compatibility layer
|
|
28
|
+
* - TypeScript support with strong typing
|
|
29
|
+
*
|
|
30
|
+
* Type Safety Improvements (v3.35.1):
|
|
31
|
+
* - Added null checks for DOM event targets
|
|
32
|
+
* - Improved global window object assignments with proper typing
|
|
33
|
+
* - Enhanced React integration parameter validation
|
|
34
|
+
* - Better error handling for invalid event handlers
|
|
35
|
+
* - Safer element access with proper type assertions
|
|
36
|
+
*
|
|
20
37
|
* Usage:
|
|
21
38
|
* ```ts
|
|
22
39
|
* import { app, Component } from 'apprun';
|
|
@@ -37,13 +54,14 @@ import { Component } from './component';
|
|
|
37
54
|
import { on, update, customElement } from './decorator';
|
|
38
55
|
import webComponent from './web-component';
|
|
39
56
|
import { route, ROUTER_EVENT, ROUTER_404_EVENT } from './router';
|
|
57
|
+
import { APPRUN_VERSION } from './version';
|
|
40
58
|
export { App, app, Component, on, update, Fragment, safeHTML };
|
|
41
59
|
export { update as event };
|
|
42
60
|
export { ROUTER_EVENT, ROUTER_404_EVENT };
|
|
43
61
|
export { customElement };
|
|
44
62
|
export default app;
|
|
45
63
|
if (!app.start) {
|
|
46
|
-
app.version =
|
|
64
|
+
app.version = APPRUN_VERSION;
|
|
47
65
|
app.h = app.createElement = createElement;
|
|
48
66
|
app.render = render;
|
|
49
67
|
app.Fragment = Fragment;
|
|
@@ -59,8 +77,13 @@ if (!app.start) {
|
|
|
59
77
|
component.start(element, opts);
|
|
60
78
|
return component;
|
|
61
79
|
};
|
|
80
|
+
app.once = app.once || ((name, fn, options = {}) => {
|
|
81
|
+
app.on(name, fn, Object.assign(Object.assign({}, options), { once: true }));
|
|
82
|
+
});
|
|
83
|
+
// Deprecated: app.query is deprecated in favor of app.runAsync
|
|
84
|
+
app.query = app.query || app.runAsync;
|
|
62
85
|
const NOOP = _ => { };
|
|
63
|
-
|
|
86
|
+
app.on('/', NOOP);
|
|
64
87
|
app.on('debug', _ => NOOP);
|
|
65
88
|
app.on(ROUTER_EVENT, NOOP);
|
|
66
89
|
app.on(ROUTER_404_EVENT, NOOP);
|
|
@@ -68,36 +91,53 @@ if (!app.start) {
|
|
|
68
91
|
app.on('route', url => app['route'] && app['route'](url));
|
|
69
92
|
if (typeof document === 'object') {
|
|
70
93
|
document.addEventListener("DOMContentLoaded", () => {
|
|
71
|
-
const
|
|
94
|
+
const no_init_route = document.body.hasAttribute('apprun-no-init') || app['no-init-route'] || false;
|
|
72
95
|
const use_hash = app.find('#') || app.find('#/') || false;
|
|
73
96
|
// console.log(`AppRun ${app.version} started with ${use_hash ? 'hash' : 'path'} routing. Initial load: ${init_load ? 'disabled' : 'enabled'}.`);
|
|
74
97
|
window.addEventListener('hashchange', () => route(location.hash));
|
|
75
98
|
window.addEventListener('popstate', () => route(location.pathname));
|
|
76
99
|
if (use_hash) {
|
|
77
|
-
|
|
100
|
+
!no_init_route && route(location.hash);
|
|
78
101
|
}
|
|
79
102
|
else {
|
|
80
|
-
|
|
103
|
+
!no_init_route && (() => {
|
|
104
|
+
const basePath = app.basePath || '';
|
|
105
|
+
let initialPath = location.pathname;
|
|
106
|
+
// Strip base path if present
|
|
107
|
+
if (basePath && initialPath.startsWith(basePath)) {
|
|
108
|
+
initialPath = initialPath.substring(basePath.length);
|
|
109
|
+
if (!initialPath.startsWith('/'))
|
|
110
|
+
initialPath = '/' + initialPath;
|
|
111
|
+
}
|
|
112
|
+
route(initialPath);
|
|
113
|
+
})();
|
|
81
114
|
document.body.addEventListener('click', e => {
|
|
82
115
|
const element = e.target;
|
|
116
|
+
if (!element)
|
|
117
|
+
return;
|
|
83
118
|
const menu = (element.tagName === 'A' ? element : element.closest('a'));
|
|
84
119
|
if (menu &&
|
|
85
|
-
menu.origin === location.origin
|
|
120
|
+
menu.origin === location.origin &&
|
|
121
|
+
menu.pathname) {
|
|
86
122
|
e.preventDefault();
|
|
87
|
-
|
|
88
|
-
|
|
123
|
+
// Handle base path for navigation
|
|
124
|
+
const basePath = app.basePath || '';
|
|
125
|
+
const fullPath = basePath + menu.pathname;
|
|
126
|
+
history.pushState(null, '', fullPath);
|
|
127
|
+
route(menu.pathname); // Route with relative path (without base path)
|
|
89
128
|
}
|
|
90
129
|
});
|
|
91
130
|
}
|
|
92
131
|
});
|
|
93
132
|
}
|
|
94
133
|
if (typeof window === 'object') {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
134
|
+
const globalWindow = window;
|
|
135
|
+
globalWindow['Component'] = Component;
|
|
136
|
+
globalWindow['_React'] = globalWindow['React'];
|
|
137
|
+
globalWindow['React'] = app;
|
|
138
|
+
globalWindow['on'] = on;
|
|
139
|
+
globalWindow['customElement'] = customElement;
|
|
140
|
+
globalWindow['safeHTML'] = safeHTML;
|
|
101
141
|
}
|
|
102
142
|
app.use_render = (render, mode = 0) => {
|
|
103
143
|
if (mode === 0) {
|
|
@@ -108,18 +148,42 @@ if (!app.start) {
|
|
|
108
148
|
}
|
|
109
149
|
};
|
|
110
150
|
app.use_react = (React, ReactDOM) => {
|
|
151
|
+
if (!React || !ReactDOM) {
|
|
152
|
+
console.error('AppRun use_react: React and ReactDOM parameters are required');
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
if (typeof React.createElement !== 'function') {
|
|
156
|
+
console.error('AppRun use_react: Invalid React object - createElement method not found');
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
if (!React.Fragment) {
|
|
160
|
+
console.error('AppRun use_react: Invalid React object - Fragment not found');
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
111
163
|
app.h = app.createElement = React.createElement;
|
|
112
164
|
app.Fragment = React.Fragment;
|
|
113
|
-
|
|
165
|
+
// React 18+ uses createRoot API
|
|
114
166
|
if (React.version && React.version.startsWith('18')) {
|
|
167
|
+
if (!ReactDOM.createRoot || typeof ReactDOM.createRoot !== 'function') {
|
|
168
|
+
console.error('AppRun use_react: ReactDOM.createRoot not found in React 18+');
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
115
171
|
app.render = (el, vdom) => {
|
|
116
|
-
if (!el ||
|
|
172
|
+
if (!el || vdom === undefined)
|
|
117
173
|
return;
|
|
118
174
|
if (!el._root)
|
|
119
175
|
el._root = ReactDOM.createRoot(el);
|
|
120
176
|
el._root.render(vdom);
|
|
121
177
|
};
|
|
122
178
|
}
|
|
179
|
+
else {
|
|
180
|
+
// Legacy React versions
|
|
181
|
+
if (!ReactDOM.render || typeof ReactDOM.render !== 'function') {
|
|
182
|
+
console.error('AppRun use_react: ReactDOM.render not found in legacy React');
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
app.render = (el, vdom) => ReactDOM.render(vdom, el);
|
|
186
|
+
}
|
|
123
187
|
};
|
|
124
188
|
}
|
|
125
189
|
//# sourceMappingURL=apprun.js.map
|
package/esm/apprun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apprun.js","sourceRoot":"","sources":["../src/apprun.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"apprun.js","sourceRoot":"","sources":["../src/apprun.ts"],"names":[],"mappings":"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"}
|
package/esm/component.js
CHANGED
|
@@ -3,19 +3,38 @@
|
|
|
3
3
|
*
|
|
4
4
|
* This file provides the Component class which is the foundation for:
|
|
5
5
|
* 1. State Management
|
|
6
|
-
* - Maintains component state
|
|
7
|
-
* - Handles state updates
|
|
8
|
-
* - Supports state history
|
|
6
|
+
* - Maintains component state with history support
|
|
7
|
+
* - Handles state updates with async/iterator support
|
|
8
|
+
* - Supports state history navigation (prev/next)
|
|
9
|
+
* - Promise and async iterator state handling
|
|
9
10
|
*
|
|
10
11
|
* 2. View Rendering
|
|
11
|
-
* - Renders virtual DOM to real DOM
|
|
12
|
+
* - Renders virtual DOM to real DOM with directives
|
|
12
13
|
* - Handles component lifecycle (mounted, rendered, unload)
|
|
13
14
|
* - Supports shadow DOM and web components
|
|
15
|
+
* - DOM change tracking with MutationObserver
|
|
16
|
+
* - View transition API support
|
|
14
17
|
*
|
|
15
18
|
* 3. Event Handling
|
|
16
|
-
* - Local and global event subscription
|
|
19
|
+
* - Local and global event subscription management
|
|
17
20
|
* - Event handler registration via decorators
|
|
18
|
-
* - Action to state updates
|
|
21
|
+
* - Action to state updates with error handling
|
|
22
|
+
* - Support for event options (delay, once, global)
|
|
23
|
+
*
|
|
24
|
+
* Features:
|
|
25
|
+
* - Component caching for debugging
|
|
26
|
+
* - Element tracking for cleanup
|
|
27
|
+
* - History navigation support
|
|
28
|
+
* - Global vs local event routing
|
|
29
|
+
* - Async state handling
|
|
30
|
+
* - Memory leak prevention
|
|
31
|
+
* - Component unmounting with cleanup
|
|
32
|
+
*
|
|
33
|
+
* Type Safety Improvements (v3.35.1):
|
|
34
|
+
* - Enhanced element access with null checks and warnings
|
|
35
|
+
* - Improved action validation and error handling
|
|
36
|
+
* - Better error reporting in component actions
|
|
37
|
+
* - Safer DOM element queries with fallback warnings
|
|
19
38
|
*
|
|
20
39
|
* Usage:
|
|
21
40
|
* ```ts
|
|
@@ -34,6 +53,7 @@
|
|
|
34
53
|
import app, { App } from './app';
|
|
35
54
|
import { Reflect } from './decorator';
|
|
36
55
|
import directive from './directive';
|
|
56
|
+
import { safeQuerySelector, safeGetElementById } from './type-utils';
|
|
37
57
|
const componentCache = new Map();
|
|
38
58
|
if (!app.find('get-components'))
|
|
39
59
|
app.on('get-components', o => o.components = componentCache);
|
|
@@ -53,9 +73,11 @@ export class Component {
|
|
|
53
73
|
if (typeof document !== 'object')
|
|
54
74
|
return;
|
|
55
75
|
const el = (typeof this.element === 'string' && this.element) ?
|
|
56
|
-
|
|
57
|
-
if (!el)
|
|
76
|
+
safeGetElementById(this.element) || safeQuerySelector(this.element) : this.element;
|
|
77
|
+
if (!el) {
|
|
78
|
+
console.warn(`Component element not found: ${this.element}`);
|
|
58
79
|
return;
|
|
80
|
+
}
|
|
59
81
|
const tracking_attr = '_c';
|
|
60
82
|
if (!this.unload) {
|
|
61
83
|
el.removeAttribute && el.removeAttribute(tracking_attr);
|
|
@@ -220,8 +242,10 @@ export class Component {
|
|
|
220
242
|
name.startsWith('#') || name.startsWith('/') || name.startsWith('@'));
|
|
221
243
|
}
|
|
222
244
|
add_action(name, action, options = {}) {
|
|
223
|
-
if (!action || typeof action !== 'function')
|
|
245
|
+
if (!action || typeof action !== 'function') {
|
|
246
|
+
console.warn(`Component action for '${name}' is not a valid function:`, action);
|
|
224
247
|
return;
|
|
248
|
+
}
|
|
225
249
|
if (options.global)
|
|
226
250
|
this._global_events.push(name);
|
|
227
251
|
this.on(name, (...p) => {
|
|
@@ -232,16 +256,29 @@ export class Component {
|
|
|
232
256
|
current_state: this.state,
|
|
233
257
|
options
|
|
234
258
|
});
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
259
|
+
try {
|
|
260
|
+
const newState = action(this.state, ...p);
|
|
261
|
+
app['debug'] && app.run('debug', {
|
|
262
|
+
component: this,
|
|
263
|
+
_: '<',
|
|
264
|
+
event: name, p,
|
|
265
|
+
newState,
|
|
266
|
+
state: this.state,
|
|
267
|
+
options
|
|
268
|
+
});
|
|
269
|
+
this.setState(newState, options);
|
|
270
|
+
}
|
|
271
|
+
catch (error) {
|
|
272
|
+
console.error(`Error in component action '${name}':`, error);
|
|
273
|
+
app['debug'] && app.run('debug', {
|
|
274
|
+
component: this,
|
|
275
|
+
_: '!',
|
|
276
|
+
event: name, p,
|
|
277
|
+
error,
|
|
278
|
+
state: this.state,
|
|
279
|
+
options
|
|
280
|
+
});
|
|
281
|
+
}
|
|
245
282
|
}, options);
|
|
246
283
|
}
|
|
247
284
|
add_actions() {
|
|
@@ -308,7 +345,11 @@ export class Component {
|
|
|
308
345
|
this._app.runAsync(name, ...args);
|
|
309
346
|
}
|
|
310
347
|
// obsolete
|
|
348
|
+
/**
|
|
349
|
+
* @deprecated Use runAsync() instead. query() will be removed in a future version.
|
|
350
|
+
*/
|
|
311
351
|
query(event, ...args) {
|
|
352
|
+
console.warn('component.query() is deprecated. Use component.runAsync() instead.');
|
|
312
353
|
return this.runAsync(event, ...args);
|
|
313
354
|
}
|
|
314
355
|
unmount() {
|