iobroker.javascript 9.2.1 → 9.2.3

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 (84) hide show
  1. package/README.md +10 -16
  2. package/admin/assets/{AiChatPanel-Cc1KscBJ.js → AiChatPanel-C4zUsNmN.js} +15 -15
  3. package/admin/assets/{ScriptEditor-6qrtvwPL.js → ScriptEditor-C6W68ya0.js} +1 -1
  4. package/admin/assets/ScriptEditorVanillaMonaco-DYTcDqp_.js +3 -0
  5. package/admin/assets/cronHoverProvider-Bg0Vz-1E.js +2 -0
  6. package/admin/assets/index-45IwpC7_.js +1 -0
  7. package/admin/assets/{index-BZxCaQhO.js → index-BXfqctma.js} +1 -1
  8. package/admin/assets/{index-CYbVtccs.js → index-CUau9-il.js} +83 -83
  9. package/admin/assets/{index-DsW7vBcg.js → index-crBQrXKG.js} +1 -1
  10. package/admin/assets/{index-CexrwGGC.js → index-qoSy77Bg.js} +41 -37
  11. package/admin/assets/{localSharedImportMap-BCwqnmn4.js → localSharedImportMap-CVlAGiIu.js} +1 -1
  12. package/admin/assets/stateHoverProvider-BYBqzJuX.js +9 -0
  13. package/admin/assets/{virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-DNrEsMrg.js → virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-CeYV4czE.js} +2 -2
  14. package/admin/custom/assets/Components-jfkoGyES.js +1 -0
  15. package/admin/custom/assets/ConfigCustomJavascriptSet__loadShare___mf_0_emotion_mf_1_react__loadShare__.mjs-sg07E3QA.js +1 -0
  16. package/admin/custom/assets/ConfigCustomJavascriptSet__loadShare___mf_0_emotion_mf_1_styled__loadShare__.mjs-CwjI4A-J.js +1 -0
  17. package/admin/custom/assets/{ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs-0SjJESw9.js → ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs-BW9Qbxx5.js} +1 -1
  18. package/admin/custom/assets/{ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs_commonjs-proxy-CInLgMWW.js → ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs_commonjs-proxy-2W2BYT2K.js} +1 -1
  19. package/admin/custom/assets/{ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-CorOEig8.js → ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-D8zcZsJo.js} +1 -1
  20. package/admin/custom/assets/DefaultPropsProvider-CfKHPa-G.js +1 -0
  21. package/admin/custom/assets/{TextField-DNzklBSl.js → TextField-CxPfV5Sr.js} +12 -12
  22. package/admin/custom/assets/{ThemeProvider-B4G3jidj.js → ThemeProvider-DSTCckLJ.js} +4 -4
  23. package/admin/custom/assets/{createSvgIcon-ZdrQ8zSU.js → createSvgIcon-b2B2NI3g.js} +1 -1
  24. package/admin/custom/assets/createTheme-MsdB8zt7.js +8 -0
  25. package/admin/custom/assets/defaultTheme-CmVP-QNF.js +1 -0
  26. package/admin/custom/assets/emotion-cache.browser.esm-BgJfNZJN.js +1 -0
  27. package/admin/custom/assets/emotion-react.browser.esm-chZAeh_-.js +1 -0
  28. package/admin/custom/assets/emotion-serialize.esm-BUa21YfQ.js +1 -0
  29. package/admin/custom/assets/emotion-styled.browser.esm-Yi13plpH.js +1 -0
  30. package/admin/custom/assets/emotion-use-insertion-effect-with-fallbacks.browser.esm-CEPeBbh9.js +1 -0
  31. package/admin/custom/assets/extends-CF3RwP-h.js +1 -0
  32. package/admin/custom/assets/index-17vbGv00.js +1 -0
  33. package/admin/custom/assets/{index-iRHaQfi-.js → index-B5DqCD_a.js} +1 -1
  34. package/admin/custom/assets/{index-DNKzDki_.js → index-CS_GBN2m.js} +159 -159
  35. package/admin/custom/assets/{index-NItS-TWp.js → index-ChQotUCl.js} +1 -1
  36. package/admin/custom/assets/{index-YBvFYuP6.js → index-CzRngQHl.js} +1 -1
  37. package/admin/custom/assets/index-DLNtxshy.js +1 -0
  38. package/admin/custom/assets/{index-Dp7A3XHd.js → index-DV76KW3-.js} +4 -4
  39. package/admin/custom/assets/{index-D0iTiVVG.js → index-DlQbqHom.js} +1 -1
  40. package/admin/custom/assets/{index-BptSiKBK.js → index-FTmk0JJx.js} +5 -5
  41. package/admin/custom/assets/index-qs6J40Tp.js +964 -0
  42. package/admin/custom/assets/{jsx-runtime-DfVU3AZG.js → jsx-runtime-BplTyRFk.js} +1 -1
  43. package/admin/custom/assets/localSharedImportMap-BeObsVNc.js +1 -0
  44. package/admin/custom/assets/useTheme-BV4xOYIL.js +1 -0
  45. package/admin/custom/assets/useTheme-ldICnlmf.js +1 -0
  46. package/admin/custom/assets/{virtualExposes-jSvr-kK3.js → virtualExposes-wYe_Np-4.js} +1 -1
  47. package/admin/custom/assets/{virtual_mf-REMOTE_ENTRY_ID_ConfigCustomJavascriptSet__customComponents_js-Br3IlnqO.js → virtual_mf-REMOTE_ENTRY_ID_ConfigCustomJavascriptSet__customComponents_js-BcRVut8U.js} +2 -2
  48. package/admin/custom/customComponents.js +1 -1
  49. package/admin/google-blockly/own/blocks_system.js +34 -0
  50. package/admin/google-blockly/own/blocks_words.js +4 -0
  51. package/admin/google-blockly/own/field_oid.js +151 -2
  52. package/admin/mf-manifest.json +1 -1
  53. package/admin/remoteEntry.js +1 -1
  54. package/admin/tab.html +10 -8
  55. package/build/lib/eventObj.js +21 -12
  56. package/build/lib/eventObj.js.map +1 -1
  57. package/build/lib/sandbox.js +168 -58
  58. package/build/lib/sandbox.js.map +1 -1
  59. package/build/lib/scheduler.js +18 -13
  60. package/build/lib/scheduler.js.map +1 -1
  61. package/build/main.js +224 -135
  62. package/build/main.js.map +1 -1
  63. package/build/types.d.ts +14 -6
  64. package/docs/de/README.md +2 -0
  65. package/docs/de/blockly.md +669 -8
  66. package/docs/en/blockly.md +33 -0
  67. package/io-package.json +27 -1
  68. package/package.json +1 -1
  69. package/admin/assets/ScriptEditorVanillaMonaco-bJua4sm1.js +0 -3
  70. package/admin/assets/index-SHs7_wDh.js +0 -1
  71. package/admin/assets/stateHoverProvider-CGChzV5W.js +0 -3
  72. package/admin/custom/assets/Components-B9ZyjeRI.js +0 -1
  73. package/admin/custom/assets/DefaultPropsProvider-CGb21NGY.js +0 -1
  74. package/admin/custom/assets/createTheme-Wd4QxQE0.js +0 -8
  75. package/admin/custom/assets/defaultTheme-F2iJF2G2.js +0 -1
  76. package/admin/custom/assets/index-AZB1OHDH.js +0 -1
  77. package/admin/custom/assets/index-C0RmLaAj.js +0 -1
  78. package/admin/custom/assets/index-sozs10Ij.js +0 -960
  79. package/admin/custom/assets/localSharedImportMap-BxT0VwTO.js +0 -1
  80. package/admin/custom/assets/useTheme-BfhDdtAr.js +0 -1
  81. package/admin/custom/assets/useTheme-DWZ6jNyq.js +0 -1
  82. /package/admin/custom/assets/{index-huvZQhZw.js → index-D_5kZmfw.js} +0 -0
  83. /package/admin/custom/assets/{index-CmJ8HzSc.js → index-DpJ18x6R.js} +0 -0
  84. /package/admin/custom/assets/{leaflet-src-k2rCV-Ix.js → leaflet-src-B472P7Y1.js} +0 -0
package/build/types.d.ts CHANGED
@@ -129,8 +129,10 @@ export interface JsScript {
129
129
  script: Script;
130
130
  onStopTimeout: number;
131
131
  onStopCb: (cb: () => void) => void;
132
- intervals: NodeJS.Timeout[];
133
- timeouts: NodeJS.Timeout[];
132
+ /** IO-10: Set for O(1) add/delete vs Array O(n) indexOf+splice */
133
+ intervals: Set<NodeJS.Timeout>;
134
+ /** IO-10: Set for O(1) add/delete vs Array O(n) indexOf+splice */
135
+ timeouts: Set<NodeJS.Timeout>;
134
136
  schedules: IobSchedule[];
135
137
  wizards: string[];
136
138
  name: string;
@@ -705,16 +707,22 @@ export interface JavascriptContext {
705
707
  subscriptions: SubscriptionResult[];
706
708
  subscriptionsFile: FileSubscriptionResult[];
707
709
  subscriptionsObject: SubscribeObject[];
710
+ /** O(1) dispatch map – pattern → list of subscribers (kept in sync with subscriptionsObject) */
711
+ subscriptionsObjectMap: Map<string, SubscribeObject[]>;
712
+ /** IO-9: Cache for sendTo broadcast – adapterName → instance ids, invalidated on system.adapter.* object change */
713
+ sendToInstanceCache: Map<string, string[]>;
708
714
  subscribedPatterns: Record<string, number>;
709
715
  subscribedPatternsFile: Record<string, number>;
710
- adapterSubs: Record<string, string[]>;
716
+ adapterSubs: Record<string, Set<string>>;
711
717
  cacheObjectEnums: Record<string, { enumIds: string[]; enumNames: string[] }>;
712
718
  isEnums: boolean; // If some subscription wants enum
713
- channels: Record<string, string[]> | null;
714
- devices: Record<string, string[]> | null;
719
+ channels: Record<string, Set<string>> | null;
720
+ devices: Record<string, Set<string>> | null;
715
721
  scheduler: Scheduler | null;
716
722
  timers: { [scriptName: string]: JavascriptTimer[] };
717
- enums: string[];
723
+ /** Reverse-index: scriptName → Set<stateId> for O(1) timer cleanup in stopScript */
724
+ timersByScript: Map<string, Set<string>>;
725
+ enums: Set<string>;
718
726
  timerId: number;
719
727
  names: { [name: string]: string | string[] }; // name: id
720
728
  scripts: Record<string, JsScript>;
package/docs/de/README.md CHANGED
@@ -6,6 +6,8 @@
6
6
 
7
7
  - [Blockly](blockly.md)
8
8
  - [Benutzung](usage.md)
9
+ - [JavaScript-Referenz](../en/javascript.md) (nur auf Englisch verfügbar)
10
+ - [Upgrade-Anleitung](../en/upgrade-guide.md) (nur auf Englisch verfügbar)
9
11
 
10
12
  ## KI-Codegenerator - Unterstützung eigener API-Endpunkte
11
13