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.
Files changed (75) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +134 -16
  3. package/WHATSNEW.md +28 -12
  4. package/apprun-book.jpg +0 -0
  5. package/apprun.d.ts +9 -6
  6. package/cli/app.js +29 -0
  7. package/cli/index.html +13 -0
  8. package/{apprun-cli.js → cli/index.js} +8 -14
  9. package/dist/apprun-dev-tools.js +1 -2
  10. package/dist/apprun-dev-tools.js.map +1 -1
  11. package/dist/apprun-html.esm.js +7 -7
  12. package/dist/apprun-html.esm.js.map +1 -1
  13. package/dist/apprun-html.js +1 -1
  14. package/dist/apprun-html.js.map +1 -1
  15. package/dist/apprun-play-html.esm.js +7 -7
  16. package/dist/apprun-play-html.esm.js.map +1 -1
  17. package/dist/apprun-play.js +1 -1
  18. package/dist/apprun-play.js.map +1 -1
  19. package/dist/apprun.esm.js +1 -1
  20. package/dist/apprun.esm.js.map +1 -1
  21. package/dist/apprun.js +1 -1
  22. package/dist/apprun.js.map +1 -1
  23. package/esm/app.js +60 -12
  24. package/esm/app.js.map +1 -1
  25. package/esm/apprun-dev-tools.js +1 -7
  26. package/esm/apprun-dev-tools.js.map +1 -1
  27. package/esm/apprun-html.js +8 -4
  28. package/esm/apprun-html.js.map +1 -1
  29. package/esm/apprun.js +81 -17
  30. package/esm/apprun.js.map +1 -1
  31. package/esm/component.js +60 -19
  32. package/esm/component.js.map +1 -1
  33. package/esm/decorator.js +22 -5
  34. package/esm/decorator.js.map +1 -1
  35. package/esm/directive.js +64 -13
  36. package/esm/directive.js.map +1 -1
  37. package/esm/router.js +263 -22
  38. package/esm/router.js.map +1 -1
  39. package/esm/type-utils.js +91 -0
  40. package/esm/type-utils.js.map +1 -0
  41. package/esm/types.js +32 -11
  42. package/esm/types.js.map +1 -1
  43. package/esm/vdom-my-new.js +329 -0
  44. package/esm/vdom-my-new.js.map +1 -0
  45. package/esm/vdom-my-prop-attr.js +227 -0
  46. package/esm/vdom-my-prop-attr.js.map +1 -0
  47. package/esm/vdom-my.js +77 -88
  48. package/esm/vdom-my.js.map +1 -1
  49. package/esm/version.js +15 -0
  50. package/esm/version.js.map +1 -0
  51. package/esm/web-component.js +30 -10
  52. package/esm/web-component.js.map +1 -1
  53. package/index.html +1 -1
  54. package/jest.config.js +3 -8
  55. package/jest.setup.js +29 -3
  56. package/jsx-runtime.js +1 -1
  57. package/jsx-runtime.js.map +1 -1
  58. package/package.json +7 -7
  59. package/src/app.ts +58 -12
  60. package/src/apprun-dev-tools.tsx +1 -7
  61. package/src/apprun-html.ts +8 -4
  62. package/src/apprun.ts +97 -20
  63. package/src/component.ts +62 -20
  64. package/src/decorator.ts +23 -6
  65. package/src/directive.ts +64 -13
  66. package/src/router.ts +282 -20
  67. package/src/type-utils.ts +130 -0
  68. package/src/types.ts +33 -12
  69. package/src/vdom-my-new.ts +311 -0
  70. package/src/vdom-my-prop-attr.ts +241 -0
  71. package/src/vdom-my.ts +82 -71
  72. package/src/version.ts +16 -0
  73. package/src/web-component.ts +31 -11
  74. package/cli/export.js +0 -92
  75. 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(): Alias for runAsync
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
- * - Version tracked to prevent duplicate instances
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
- Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);
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
- Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);
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
- return Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);
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 = 'AppRun-3.3.11';
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;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,MAAM,OAAO,GAAG;IAiBd;QACE,IAAI,CAAC,OAAO,GAAG,EAAsF,CAAC;IACxG,CAAC;IAED,EAAE,CAAC,IAAY,EAAE,EAA2B,EAAE,UAAwB,EAAE;QACtE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,EAA2B;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAE7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,GAAG,IAAW;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5D,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,2BAA2B,GAAG,IAAI,CAAC,CAAC;QAC1F,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;YAC5B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9F,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,EAA2B,EAAE,UAAwB,EAAE;QACxE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,kCAAO,OAAO,KAAE,IAAI,EAAE,IAAI,IAAG,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,IAAY,EAAE,EAA2B,EAAE,IAAW,EAAE,OAAqB;QACzF,IAAI,OAAO,CAAC,EAAE;YAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE;YAC3B,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9F,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,GAAG,IAAW;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5D,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,2BAA2B,GAAG,IAAI,CAAC,CAAC;QAC1F,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACrC,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;YAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrG,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,GAAG,IAAW;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IACtC,CAAC;IAEO,cAAc,CAAC,IAAY,EAAE,MAAwF;QAC3H,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAEvC,2EAA2E;QAC3E,yEAAyE;QACzE,kDAAkD;QAClD,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;aAC1F,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;aACnC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,iCACtD,GAAG,KACN,OAAO,kCAAO,GAAG,CAAC,OAAO,KAAE,KAAK,EAAE,IAAI,OACtC,CAAC,CAAC,CAAC,CAAC;QACR,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAED,MAAM,cAAc,GAAG,eAAe,CAAC;AACvC,IAAI,IAAS,CAAC;AACd,MAAM,IAAI,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACpD,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAQ,CAAC;AAEpD,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;IACrC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;AAClB,CAAC;KAAM,CAAC;IACN,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACjB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;IAChB,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;AACxC,CAAC;AACD,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -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(yaml.dump(component_def, { replacer })))),
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":";AAAA,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,SAAS,QAAQ,CAAC,GAAG,EAAE,KAAK;IAC1B,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,oBAAoB;IAC9E,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AAClJ,CAAC;AAED,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,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,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"}
1
+ {"version":3,"file":"apprun-dev-tools.js","sourceRoot":"","sources":["../src/apprun-dev-tools.tsx"],"names":[],"mappings":"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"}
@@ -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
- window['React'] = window['_React'] || app;
11
- window['html'] = html;
12
- window['svg'] = svg;
13
- window['run'] = run;
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
@@ -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,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;IAC1C,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;IACpB,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;AACtB,CAAC"}
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 = '3.35.0';
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
- // app.on('$', NOOP);
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 init_load = document.body.hasAttribute('apprun-no-init') || app['no-init-route'] || false;
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
- init_load && route(location.hash);
100
+ !no_init_route && route(location.hash);
78
101
  }
79
102
  else {
80
- init_load && route(location.pathname);
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
- history.pushState(null, '', menu.pathname);
88
- route(menu.pathname);
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
- window['Component'] = Component;
96
- window['_React'] = window['React'];
97
- window['React'] = app;
98
- window['on'] = on;
99
- window['customElement'] = customElement;
100
- window['safeHTML'] = safeHTML;
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
- app.render = (el, vdom) => ReactDOM.render(vdom, el);
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 || !vdom)
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":"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"}
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
- document.getElementById(this.element) || document.querySelector(this.element) : this.element;
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
- const newState = action(this.state, ...p);
236
- app['debug'] && app.run('debug', {
237
- component: this,
238
- _: '<',
239
- event: name, p,
240
- newState,
241
- state: this.state,
242
- options
243
- });
244
- this.setState(newState, options);
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() {